makepad/widgets/themes/windows-2000
Admin 7b121c847a draw and widgets: app-drawn captions, kept render targets, lazy CJK and emoji fonts
Every makepad window draws its own caption under the WM, with the chrome
its theme declares; a window may drag from anywhere (not while
fullscreen), and declares what a double click on its caption does
(maximise or true fullscreen). An app's theme pick and own theme tokens stand over the window
system's sheet. Kept render targets keep their picture between frames and
while a pipeline compiles, and carry their name in the GPU ledger. Every
font family falls back to lazy CJK and emoji faces (widgets/fonts, a copy,
is deleted); glyphs a kept draw list shows stay in use. One cell width
table for monospace grids (libs/cell_width). Media: one glass
PlayerControls + VideoPlayer. RecentList for the places an app opened.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-14 07:24:22 +02:00
..
icons draw and widgets: app-drawn captions, kept render targets, lazy CJK and emoji fonts 2026-10-14 07:24:22 +02:00
theme.splash draw, widgets: the library is makepad-widgets-core plus a crate per widget family, eighty new widgets and the storybook, relief-lit skeuomorphic surfaces, the feedback panel, keyboard focus and tooltips clear of the cursor 2026-09-26 20:10:50 +02:00
widgets.splash widgets (button): a style sheet's own button face shows the colour the app paints on it -- apps light a latch (the page they are on, a mute that is down) by setting draw_bg.color, and a sheet that replaces the Button pixel with a face of its own drew its own colour whatever was painted, so under those sheets an ON latch could not be told from an OFF one. The button draw gains color_default (each variant's own resting fill; Flatter, GradientX, Primary, Secondary, Tertiary, Outline and Danger state theirs) and three helpers for sheets: host_face moves a face colour by how far the host moved color from color_default (the sheet's bevels, gloss and grain stay), host_over does that to a finished premultiplied face inside the button's rect (m = the room the sheet grew its quad by), laying the host's colour under a face that lets the ground through (glass, a frame-only face) as far as the host moved it, and host_alpha lets a face the host keeps transparent go transparent. At the default every helper returns the sheet's face unchanged; the stock pixel does not call them, so the base themes draw as before. Windows 2000 and NeXTSTEP fill their bevelled face with host_face (what Stage laid over them from its palette until now). New sheet check button_faces_take_the_host_colour: every Button* face a sheet replaces reads the host's colour (host_over, host_face or face_fill); the library's sheets are held to it, and the README says so. Checked: cargo test --release -p makepad-widgets-core (683), -p makepad-widgets; hidden, muted Stage under Windows 2000 and NeXTSTEP: the lit page tab, mute and VJ category show lit. 2026-09-30 17:14:37 +02:00