Skip to content

ui::EarlyPalette

Header: winui/ui/themes/EarlyPalette.hpp.

The colors of an early Windows scheme: ten in Windows 1.x, thirteen in Windows 2.x. The three 2.x-only colors are std::optional and empty in a Windows 1.x palette. Where the theme needs a border color and a 1.x palette has none, it uses window_frame.

Every value in the four factories below is the one that Windows release shipped.

A palette is the input to Theme::early(), which derives the whole early-Windows theme from it. Replace the whole palette instead of single colors. The four palettes are four distinct looks, and mixing colors between them gives a scheme no Windows release had.

Example:

// The default Windows 2.03 color look for the whole window.
window.pin_theme(ui::Theme::early(ui::EarlyPalette::windows_2x_color()));

// Windows 1.01 on a monochrome display. Its row has no border slots, so the window border
// is drawn in `window_frame`.
window.pin_theme(ui::Theme::early(ui::EarlyPalette::windows_1x_mono()));

scrollbar

Color scrollbar

The scroll bar's trough. The thumb is drawn separately.

background

Color background

The desktop.

active_caption

Color active_caption

The active window's caption.

inactive_caption

Color inactive_caption

An inactive window's caption.

Color menu

The menu bar and menus.

window

Color window

The page, dialogs included.

window_frame

Color window_frame

Every 1px frame, the era's only depth cue.

Color menu_text

Menu text.

window_text

Color window_text

Text on window.

caption_text

Color caption_text

Caption title text.

active_border

std::optional<Color> active_border {}

The active window's border (Windows 2.x).

inactive_border

std::optional<Color> inactive_border {}

An inactive window's border (Windows 2.x).

app_workspace

std::optional<Color> app_workspace {}

The background behind MDI child windows (Windows 2.x).

windows_2x_color

static EarlyPalette windows_2x_color()

Windows 2.03 on a color display: the default, and the one to pick if only one early-Windows palette is wanted. Windows 2.03 uses it on every color adapter. A cyan desktop and cyan menu bar, and a blue caption with white text over a white page.

windows_2x_mono

static EarlyPalette windows_2x_mono()

Windows 2.03 on a monochrome display, the same on every monochrome adapter.

windows_1x_mono

static EarlyPalette windows_1x_mono()

Windows 1.01 on a monochrome display: the safest single choice for a Windows 1.x look. All of that release's monochrome display drivers use these colors.

The three 2.x-only colors stay nullopt.

windows_1x_color

static EarlyPalette windows_1x_color()

Windows 1.01 on a color display, as its EGA drivers ship it: a red scroll-bar trough on a white window under a blue caption.

Photos of the Windows 1.01 retail box show yellow-green troughs and pale cyan windows instead, likely a scheme picked for the shot.