Table of Contents

Class ColorResolver

Namespace
SharpConsoleUI.Helpers
Assembly
SharpConsoleUI.dll

Provides centralized color resolution logic for controls. Resolution chain: explicit value → theme slot → Color.Transparent. null and Color.Default are treated identically (both mean "no explicit value").

public static class ColorResolver
Inheritance
ColorResolver
Inherited Members

Methods

ResolveBackground(Color?, IContainer?)

Resolves a generic background color: explicit value → Color.Transparent. Controls without a specific theme slot are transparent by default. The container parameter is accepted for API consistency but not used — generic controls have no theme slot to fall back to.

public static Color ResolveBackground(Color? explicitValue, IContainer? container)

Parameters

explicitValue Color?
container IContainer

Returns

Color

ResolveBarGraphBackground(Color?, IContainer?)

Resolves bar graph background: explicit → theme BarGraphBackgroundColor → Color.Transparent.

public static Color ResolveBarGraphBackground(Color? explicitValue, IContainer? container)

Parameters

explicitValue Color?
container IContainer

Returns

Color

ResolveButtonBackground(Color?, IContainer?)

Resolves button background: explicit → theme ButtonBackgroundColor → Color.Transparent.

public static Color ResolveButtonBackground(Color? explicitValue, IContainer? container)

Parameters

explicitValue Color?
container IContainer

Returns

Color

ResolveButtonDisabledBackground(Color?, IContainer?)

Resolves disabled button background: explicit → theme ButtonDisabledBackgroundColor → Color.Transparent.

public static Color ResolveButtonDisabledBackground(Color? explicitValue, IContainer? container)

Parameters

explicitValue Color?
container IContainer

Returns

Color

ResolveButtonDisabledForeground(Color?, IContainer?, Color)

Resolves disabled button foreground color.

public static Color ResolveButtonDisabledForeground(Color? explicitValue, IContainer? container, Color defaultColor = default)

Parameters

explicitValue Color?
container IContainer
defaultColor Color

Returns

Color

ResolveButtonFocusedBackground(Color?, IContainer?)

Resolves focused button background: explicit → theme ButtonFocusedBackgroundColor → Color.Transparent.

public static Color ResolveButtonFocusedBackground(Color? explicitValue, IContainer? container)

Parameters

explicitValue Color?
container IContainer

Returns

Color

ResolveButtonFocusedForeground(Color?, IContainer?, Color)

Resolves focused button foreground color.

public static Color ResolveButtonFocusedForeground(Color? explicitValue, IContainer? container, Color defaultColor = default)

Parameters

explicitValue Color?
container IContainer
defaultColor Color

Returns

Color

ResolveButtonForeground(Color?, IContainer?, Color)

Resolves button foreground color.

public static Color ResolveButtonForeground(Color? explicitValue, IContainer? container, Color defaultColor = default)

Parameters

explicitValue Color?
container IContainer
defaultColor Color

Returns

Color

ResolveCheckboxBackground(Color?, IContainer?)

Resolves checkbox background: explicit → theme CheckboxBackgroundColor → Color.Transparent.

public static Color ResolveCheckboxBackground(Color? explicitValue, IContainer? container)

Parameters

explicitValue Color?
container IContainer

Returns

Color

ResolveCheckboxDisabledBackground(Color?, IContainer?)

Resolves disabled checkbox background: explicit → theme CheckboxDisabledBackgroundColor → Color.Transparent.

public static Color ResolveCheckboxDisabledBackground(Color? explicitValue, IContainer? container)

Parameters

explicitValue Color?
container IContainer

Returns

Color

ResolveCheckboxFocusedBackground(Color?, IContainer?)

Resolves focused checkbox background: explicit → theme CheckboxFocusedBackgroundColor → Color.Transparent.

public static Color ResolveCheckboxFocusedBackground(Color? explicitValue, IContainer? container)

Parameters

explicitValue Color?
container IContainer

Returns

Color

ResolveDatePickerBackground(Color?, IContainer?)

Resolves date picker background: explicit → theme DatePickerBackgroundColor → Color.Transparent.

public static Color ResolveDatePickerBackground(Color? explicitValue, IContainer? container)

Parameters

explicitValue Color?
container IContainer

Returns

Color

ResolveDatePickerFocusedBackground(Color?, IContainer?)

Resolves date picker focused background: explicit → theme DatePickerFocusedBackgroundColor → Color.Transparent.

public static Color ResolveDatePickerFocusedBackground(Color? explicitValue, IContainer? container)

Parameters

explicitValue Color?
container IContainer

Returns

Color

ResolveDatePickerFocusedForeground(Color?, IContainer?, Color)

Resolves date picker focused foreground color.

public static Color ResolveDatePickerFocusedForeground(Color? explicitValue, IContainer? container, Color defaultColor = default)

Parameters

explicitValue Color?
container IContainer
defaultColor Color

Returns

Color

ResolveDatePickerForeground(Color?, IContainer?, Color)

Resolves date picker foreground color.

public static Color ResolveDatePickerForeground(Color? explicitValue, IContainer? container, Color defaultColor = default)

Parameters

explicitValue Color?
container IContainer
defaultColor Color

Returns

Color

ResolveDatePickerSegmentBackground(Color?, IContainer?)

Resolves date picker segment background: explicit → theme DatePickerSegmentBackgroundColor → Color.Transparent.

public static Color ResolveDatePickerSegmentBackground(Color? explicitValue, IContainer? container)

Parameters

explicitValue Color?
container IContainer

Returns

Color

ResolveDatePickerSegmentForeground(Color?, IContainer?, Color)

Resolves date picker segment foreground color.

public static Color ResolveDatePickerSegmentForeground(Color? explicitValue, IContainer? container, Color defaultColor = default)

Parameters

explicitValue Color?
container IContainer
defaultColor Color

Returns

Color

ResolveDropdownBackground(Color?, IContainer?, Color)

Resolves dropdown background: explicit → theme MenuDropdownBackgroundColor → fallback.

public static Color ResolveDropdownBackground(Color? explicitValue, IContainer? container, Color defaultColor = default)

Parameters

explicitValue Color?
container IContainer
defaultColor Color

Returns

Color

ResolveDropdownForeground(Color?, IContainer?, Color)

Resolves dropdown foreground color.

public static Color ResolveDropdownForeground(Color? explicitValue, IContainer? container, Color defaultColor = default)

Parameters

explicitValue Color?
container IContainer
defaultColor Color

Returns

Color

ResolveDropdownHighlightBackground(Color?, IContainer?, Color)

Resolves dropdown highlight background: explicit → theme MenuDropdownHighlightBackgroundColor → fallback.

public static Color ResolveDropdownHighlightBackground(Color? explicitValue, IContainer? container, Color defaultColor = default)

Parameters

explicitValue Color?
container IContainer
defaultColor Color

Returns

Color

ResolveDropdownHighlightForeground(Color?, IContainer?, Color)

Resolves dropdown highlight foreground color.

public static Color ResolveDropdownHighlightForeground(Color? explicitValue, IContainer? container, Color defaultColor = default)

Parameters

explicitValue Color?
container IContainer
defaultColor Color

Returns

Color

ResolveForeground(Color?, IContainer?, Color)

Resolves a foreground color using the standard fallback chain: explicit value → container foreground → theme window foreground → default.

public static Color ResolveForeground(Color? explicitValue, IContainer? container, Color defaultColor = default)

Parameters

explicitValue Color?
container IContainer
defaultColor Color

Returns

Color

ResolveLineGraphBackground(Color?, IContainer?)

Resolves line graph background: explicit → theme LineGraphBackgroundColor → Color.Transparent.

public static Color ResolveLineGraphBackground(Color? explicitValue, IContainer? container)

Parameters

explicitValue Color?
container IContainer

Returns

Color

ResolveListBackground(Color?, IContainer?)

Resolves list background: explicit → theme ListBackgroundColor → Color.Transparent.

public static Color ResolveListBackground(Color? explicitValue, IContainer? container)

Parameters

explicitValue Color?
container IContainer

Returns

Color

ResolveMenuBarBackground(Color?, IContainer?)

Resolves menu bar background: explicit → theme MenuBarBackgroundColor → Color.Transparent.

public static Color ResolveMenuBarBackground(Color? explicitValue, IContainer? container)

Parameters

explicitValue Color?
container IContainer

Returns

Color

ResolveMenuBarForeground(Color?, IContainer?, Color)

Resolves menu bar foreground color.

public static Color ResolveMenuBarForeground(Color? explicitValue, IContainer? container, Color defaultColor = default)

Parameters

explicitValue Color?
container IContainer
defaultColor Color

Returns

Color

ResolveMenuBarHighlightBackground(Color?, IContainer?, Color)

Resolves menu bar highlight background: explicit → theme MenuBarHighlightBackgroundColor → fallback.

public static Color ResolveMenuBarHighlightBackground(Color? explicitValue, IContainer? container, Color defaultColor = default)

Parameters

explicitValue Color?
container IContainer
defaultColor Color

Returns

Color

ResolveMenuBarHighlightForeground(Color?, IContainer?, Color)

Resolves menu bar highlight foreground color.

public static Color ResolveMenuBarHighlightForeground(Color? explicitValue, IContainer? container, Color defaultColor = default)

Parameters

explicitValue Color?
container IContainer
defaultColor Color

Returns

Color

ResolveMultilineEditBackground(Color?, IContainer?)

Resolves multiline edit background: explicit → theme PromptInputBackgroundColor → Color.Transparent.

public static Color ResolveMultilineEditBackground(Color? explicitValue, IContainer? container)

Parameters

explicitValue Color?
container IContainer

Returns

Color

ResolveMultilineEditFocusedBackground(Color?, IContainer?)

Resolves focused multiline edit background: explicit → theme PromptInputFocusedBackgroundColor → Color.Transparent.

public static Color ResolveMultilineEditFocusedBackground(Color? explicitValue, IContainer? container)

Parameters

explicitValue Color?
container IContainer

Returns

Color

ResolveSparklineBackground(Color?, IContainer?)

Resolves sparkline background: explicit → theme SparklineBackgroundColor → Color.Transparent.

public static Color ResolveSparklineBackground(Color? explicitValue, IContainer? container)

Parameters

explicitValue Color?
container IContainer

Returns

Color

ResolveStartMenuBackground(Color?, ITheme?)

Resolves Start menu background: explicit → theme MenuDropdownBackgroundColor → Color.Grey15.

public static Color ResolveStartMenuBackground(Color? explicitValue, ITheme? theme)

Parameters

explicitValue Color?
theme ITheme

Returns

Color

ResolveStartMenuForeground(Color?, ITheme?)

Resolves Start menu foreground: explicit → theme MenuDropdownForegroundColor → Color.Grey93.

public static Color ResolveStartMenuForeground(Color? explicitValue, ITheme? theme)

Parameters

explicitValue Color?
theme ITheme

Returns

Color

ResolveStartMenuHeaderBackground(Color?, IContainer?)

Resolves Start menu header background: explicit → theme StartMenuHeaderBackgroundColor → MenuDropdownBackgroundColor → Color.Grey15.

public static Color ResolveStartMenuHeaderBackground(Color? explicitValue, IContainer? container)

Parameters

explicitValue Color?
container IContainer

Returns

Color

ResolveStartMenuHeaderForeground(Color?, IContainer?)

Resolves Start menu header foreground: explicit → theme StartMenuHeaderForegroundColor → MenuDropdownForegroundColor → Color.Grey93.

public static Color ResolveStartMenuHeaderForeground(Color? explicitValue, IContainer? container)

Parameters

explicitValue Color?
container IContainer

Returns

Color

ResolveStartMenuHighlightBackground(Color?, ITheme?)

Resolves Start menu highlight background: explicit → theme MenuDropdownHighlightBackgroundColor → Color.DarkBlue.

public static Color ResolveStartMenuHighlightBackground(Color? explicitValue, ITheme? theme)

Parameters

explicitValue Color?
theme ITheme

Returns

Color

ResolveStartMenuHighlightForeground(Color?, ITheme?)

Resolves Start menu highlight foreground: explicit → theme MenuDropdownHighlightForegroundColor → Color.White.

public static Color ResolveStartMenuHighlightForeground(Color? explicitValue, ITheme? theme)

Parameters

explicitValue Color?
theme ITheme

Returns

Color

ResolveStartMenuInfoStripForeground(Color?, IContainer?)

Resolves Start menu info strip foreground: explicit → theme StartMenuInfoStripForegroundColor → Color.DarkGray.

public static Color ResolveStartMenuInfoStripForeground(Color? explicitValue, IContainer? container)

Parameters

explicitValue Color?
container IContainer

Returns

Color

ResolveStartMenuSectionHeaderBackground(Color?, IContainer?)

Resolves Start menu section header background: explicit → theme StartMenuSectionHeaderBackgroundColor → Color.Transparent.

public static Color ResolveStartMenuSectionHeaderBackground(Color? explicitValue, IContainer? container)

Parameters

explicitValue Color?
container IContainer

Returns

Color

ResolveStatusBarBackground(Color?, IContainer?)

Resolves status bar background: explicit → theme StatusBarBackgroundColor → Color.Transparent.

public static Color ResolveStatusBarBackground(Color? explicitValue, IContainer? container)

Parameters

explicitValue Color?
container IContainer

Returns

Color

ResolveStatusBarForeground(Color?, IContainer?, Color)

Resolves status bar foreground color.

public static Color ResolveStatusBarForeground(Color? explicitValue, IContainer? container, Color defaultColor = default)

Parameters

explicitValue Color?
container IContainer
defaultColor Color

Returns

Color

ResolveStatusBarShortcutForeground(Color?, IContainer?, Color)

Resolves status bar shortcut foreground color.

public static Color ResolveStatusBarShortcutForeground(Color? explicitValue, IContainer? container, Color defaultColor = default)

Parameters

explicitValue Color?
container IContainer
defaultColor Color

Returns

Color

ResolveTabContentBorder(Color?, IContainer?, Color)

Resolves tab content border color.

public static Color ResolveTabContentBorder(Color? explicitValue, IContainer? container, Color defaultColor = default)

Parameters

explicitValue Color?
container IContainer
defaultColor Color

Returns

Color

ResolveTabHeaderActiveBackground(Color?, IContainer?)

Resolves active tab header background: explicit → theme TabHeaderActiveBackgroundColor → Color.Transparent.

public static Color ResolveTabHeaderActiveBackground(Color? explicitValue, IContainer? container)

Parameters

explicitValue Color?
container IContainer

Returns

Color

ResolveTabHeaderActiveForeground(Color?, IContainer?, Color)

Resolves active tab header foreground color.

public static Color ResolveTabHeaderActiveForeground(Color? explicitValue, IContainer? container, Color defaultColor = default)

Parameters

explicitValue Color?
container IContainer
defaultColor Color

Returns

Color

ResolveTabHeaderBackground(Color?, IContainer?)

Resolves inactive tab header background: explicit → theme TabHeaderBackgroundColor → Color.Transparent.

public static Color ResolveTabHeaderBackground(Color? explicitValue, IContainer? container)

Parameters

explicitValue Color?
container IContainer

Returns

Color

ResolveTabHeaderDisabledBackground(Color?, IContainer?)

Resolves disabled tab header background: explicit → theme TabHeaderDisabledBackgroundColor → Color.Transparent.

public static Color ResolveTabHeaderDisabledBackground(Color? explicitValue, IContainer? container)

Parameters

explicitValue Color?
container IContainer

Returns

Color

ResolveTabHeaderDisabledForeground(Color?, IContainer?, Color)

Resolves disabled tab header foreground color.

public static Color ResolveTabHeaderDisabledForeground(Color? explicitValue, IContainer? container, Color defaultColor = default)

Parameters

explicitValue Color?
container IContainer
defaultColor Color

Returns

Color

ResolveTabHeaderForeground(Color?, IContainer?, Color)

Resolves inactive tab header foreground color.

public static Color ResolveTabHeaderForeground(Color? explicitValue, IContainer? container, Color defaultColor = default)

Parameters

explicitValue Color?
container IContainer
defaultColor Color

Returns

Color

ResolveTimePickerBackground(Color?, IContainer?)

Resolves time picker background: explicit → theme TimePickerBackgroundColor → Color.Transparent.

public static Color ResolveTimePickerBackground(Color? explicitValue, IContainer? container)

Parameters

explicitValue Color?
container IContainer

Returns

Color

ResolveTimePickerDisabledForeground(Color?, IContainer?, Color)

Resolves time picker disabled foreground color.

public static Color ResolveTimePickerDisabledForeground(Color? explicitValue, IContainer? container, Color defaultColor = default)

Parameters

explicitValue Color?
container IContainer
defaultColor Color

Returns

Color

ResolveTimePickerFocusedBackground(Color?, IContainer?)

Resolves time picker focused background: explicit → theme TimePickerFocusedBackgroundColor → Color.Transparent.

public static Color ResolveTimePickerFocusedBackground(Color? explicitValue, IContainer? container)

Parameters

explicitValue Color?
container IContainer

Returns

Color

ResolveTimePickerFocusedForeground(Color?, IContainer?, Color)

Resolves time picker focused foreground color.

public static Color ResolveTimePickerFocusedForeground(Color? explicitValue, IContainer? container, Color defaultColor = default)

Parameters

explicitValue Color?
container IContainer
defaultColor Color

Returns

Color

ResolveTimePickerForeground(Color?, IContainer?, Color)

Resolves time picker foreground color.

public static Color ResolveTimePickerForeground(Color? explicitValue, IContainer? container, Color defaultColor = default)

Parameters

explicitValue Color?
container IContainer
defaultColor Color

Returns

Color

ResolveTimePickerSegmentBackground(Color?, IContainer?)

Resolves time picker segment background: explicit → theme TimePickerSegmentBackgroundColor → Color.Transparent.

public static Color ResolveTimePickerSegmentBackground(Color? explicitValue, IContainer? container)

Parameters

explicitValue Color?
container IContainer

Returns

Color

ResolveTimePickerSegmentForeground(Color?, IContainer?, Color)

Resolves time picker segment foreground color.

public static Color ResolveTimePickerSegmentForeground(Color? explicitValue, IContainer? container, Color defaultColor = default)

Parameters

explicitValue Color?
container IContainer
defaultColor Color

Returns

Color

ResolveTreeBackground(Color?, IContainer?)

Resolves tree background: explicit → theme TreeBackgroundColor → Color.Transparent.

public static Color ResolveTreeBackground(Color? explicitValue, IContainer? container)

Parameters

explicitValue Color?
container IContainer

Returns

Color

ResolveTreeSelectionBackground(Color?, IContainer?)

Resolves tree selection background (focused): explicit → theme TreeSelectionBackgroundColor → Color.Transparent.

public static Color ResolveTreeSelectionBackground(Color? explicitValue, IContainer? container)

Parameters

explicitValue Color?
container IContainer

Returns

Color

ResolveTreeUnfocusedSelectionBackground(Color?, IContainer?)

Resolves tree unfocused selection background: explicit → theme TreeUnfocusedSelectionBackgroundColor → Color.Transparent.

public static Color ResolveTreeUnfocusedSelectionBackground(Color? explicitValue, IContainer? container)

Parameters

explicitValue Color?
container IContainer

Returns

Color