API — ICoreEssentials/UI/Backends/Web/Values
The public contract of 6 header(s) under ICoreEssentials/UI/Backends/Web/Values — 2 class/struct definition(s), 0 declaration(s). Each section shows the header's banner and its public (and protected-virtual) surface exactly as the file writes it.
| Header | Defines | Declarations | Bases |
|---|---|---|---|
ICoreWebCursorAccess.h | — | 0 | — |
ICoreWebFontAccess.h | ICoreWebFontRequest, ICoreWebFontFace | 0 | — |
ICoreWebIconAccess.h | — | 0 | — |
ICoreWebKeySequenceAccess.h | — | 0 | — |
ICoreWebPixmapAccess.h | — | 0 | — |
ICoreWebReservedChords.h | — | 0 | — |
ICoreWebCursorAccess.h#
ICoreEssentials/UI/Backends/Web/Values/ICoreWebCursorAccess.h
Backend-internal access to an ICoreCursor, and the pointer state the event seat feeds.
⚠ A CURSOR ON THE WEB IS A CSS
cursorVALUE and nothing else: the window seat assigns it to the canvas element's style. A shape is a keyword; an image isurl(data:image/png;base64,...) x y, default-- the fallback keyword is mandatory in CSS, and without it the whole declaration is dropped.⚠ NOTHING ABOVE THE BACKEND ZONE MAY INCLUDE THIS.
Declares no class of its own — see the file.
ICoreWebFontAccess.h#
ICoreEssentials/UI/Backends/Web/Values/ICoreWebFontAccess.h
Backend-internal access to what an ICoreFont asks for, and the text measurement every text-drawing seat in this zone shares.
⚠ THE BUFFER HOLDS A REQUEST, NOT A FACE -- the same decision the GTK4 seat took and argued in UI/Backends/Gtk4/Values/ICoreGtk4FontAccess.h. A browser resolves a CSS font list to a face at DRAW time and will not say which face it picked, so there is no face to hold even if one wanted to.
⚠ ONE MEASURER. The painter, ICoreFontMetrics and the rich-text reader all measure through the functions below, so a label cannot be laid out by one rule and drawn by another. Every measurement is Canvas2D's measureText on a shared scratch context -- the same engine that will draw the text.
⚠ NOTHING ABOVE THE BACKEND ZONE MAY INCLUDE THIS.
ICoreWebFontRequest#
ICoreWebFontAccess.h:22 · struct · 0 declaration(s)
struct ICoreWebFontRequest {
public:
std::string family; // empty = the platform UI family
double pointSize = -1.0; // exactly one of these two is positive
int pixelSize = -1;
int weight = 400; // 100..1000, the CSS scale
bool italic = false;
bool underline = false;
bool strikeOut = false;
int stretch = 0; // percent; 0 = "any"
bool kerning = true;
bool fixedPitch = false;
bool allUppercase = false;
double letterSpacingPercent = 100.0;
bool monospaceStyleHint = false;
};
};
ICoreWebFontFace#
ICoreWebFontAccess.h:51 · struct · 0 declaration(s)
Everything a draw or a measurement needs, resolved once.
struct ICoreWebFontFace {
public:
std::string css; // the CSS `font` shorthand
double letterSpacing = 0.0; // px, added after every glyph
bool kerning = true;
bool allUppercase = false;
bool underline = false;
bool strikeOut = false;
double pixelSize = 0.0;
double ascent = 0.0; // the font's, not any text's
double descent = 0.0;
};
};
ICoreWebIconAccess.h#
ICoreEssentials/UI/Backends/Web/Values/ICoreWebIconAccess.h
The web backend's copy of UI/Backends/Gtk4/Values/ICoreGtk4IconAccess.h.
⚠ THIS FILE NAMES NO TOOLKIT, AND IT IS THE GTK4 SEAT'S CODE WITH THE BACKEND NAME CHANGED. The reasoning behind every line -- the measurements, the traps, the value semantics -- is in the comments of that file, and is not repeated here (one fact, one place). A change to the shared behaviour belongs in BOTH copies; the web and GTK4 value tiers are expected to agree to the bit.
Declares no class of its own — see the file.
ICoreWebKeySequenceAccess.h#
ICoreEssentials/UI/Backends/Web/Values/ICoreWebKeySequenceAccess.h
The web backend's copy of UI/Backends/Gtk4/Values/ICoreGtk4KeySequenceAccess.h.
⚠ THIS FILE NAMES NO TOOLKIT, AND IT IS THE GTK4 SEAT'S CODE WITH THE BACKEND NAME CHANGED. The reasoning behind every line -- the measurements, the traps, the value semantics -- is in the comments of that file, and is not repeated here (one fact, one place). A change to the shared behaviour belongs in BOTH copies; the web and GTK4 value tiers are expected to agree to the bit.
Declares no class of its own — see the file.
ICoreWebPixmapAccess.h#
ICoreEssentials/UI/Backends/Web/Values/ICoreWebPixmapAccess.h
Backend-internal access to the canvas behind an ICorePixmap.
⚠ THE PIXELS LIVE IN AN OffscreenCanvas, NOT IN LINEAR MEMORY. Drawing a pixmap is then one drawImage() with no copy across the wasm boundary, and a pixmap painter paints straight into it. The cost is paid only by the readers that want bytes -- toPackedPixels(), save(), a cursor image -- which is the rare direction.
⚠ NOTHING ABOVE THE BACKEND ZONE MAY INCLUDE THIS.
Declares no class of its own — see the file.
ICoreWebReservedChords.h#
ICoreEssentials/UI/Backends/Web/Values/ICoreWebReservedChords.h
The key chords a browser keeps for itself and never delivers to a page.
⚠ preventDefault() CANNOT TAKE THESE BACK. The browser acts on them before the page's keydown handler runs, or does not run the handler at all: a shortcut bound to one simply never fires, and the user gets a new tab or a closed window instead. So the shortcut and menu seats ask this table before they bind, and a chord it names is refused out loud rather than registered and left dead.
⚠ THE CHORD IS AN ICoreKeySequence CHORD, IN ITS NUMBERING -- and in that numbering "Ctrl" on macOS is the COMMAND key (the convention every backend of this tree follows, and the one "Ctrl+C" means copy by). So "Ctrl+T" is Cmd+T on a Mac and Ctrl+T elsewhere, and both open a tab; "Meta" on a Mac is the physical Control key.
macsays which reading applies: pass what the page's
Declares no class of its own — see the file.