public PaletteTripleOverride(IPaletteTriple normalTriple,
IPaletteTriple overrideTriple,
PaletteState overrideState)
{
Debug.Assert(normalTriple != null);
Debug.Assert(overrideTriple != null);
// Validate incoming references
if (normalTriple == null) throw new ArgumentNullException("normalTriple");
if (overrideTriple == null) throw new ArgumentNullException("overrideTriple");
// Create the triple override instances
_overrideBack = new PaletteBackInheritOverride(normalTriple.PaletteBack, overrideTriple.PaletteBack);
_overrideBorder = new PaletteBorderInheritOverride(normalTriple.PaletteBorder, overrideTriple.PaletteBorder);
_overrideContent = new PaletteContentInheritOverride(normalTriple.PaletteContent, overrideTriple.PaletteContent);
// Do not apply an override by default
Apply = false;
// Always override the state
Override = true;
OverrideState = overrideState;
}