Generated reference › API — ICoreEssentials/UI/Backends/Web/Values
kind: generated#api#icoreessentials-ui-backends-web-values

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.

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 cursor VALUE and nothing else: the window seat assigns it to the canvas element's style. A shape is a keyword; an image is url(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. mac says which reading applies: pass what the page's

Declares no class of its own — see the file.