Generated reference › API — ICoreEssentials/UI/Icons
kind: generated#api#icoreessentials-ui-icons

API — ICoreEssentials/UI/Icons

The public contract of 3 header(s) under ICoreEssentials/UI/Icons — 1 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.

ICoreThemedIconArt.h#

ICoreEssentials/UI/Icons/ICoreThemedIconArt.h

The icon tier's ART RULES -- the half of themed icons that is about colour and markup rather than about a toolkit.

Two questions live here, and neither has ever needed a toolkit to answer:

  • is this icon monochrome line art, so it must be tinted, or is it

coloured art that must be left alone?

  • what does a block's authored SVG markup look like once the active

theme's tokens are substituted into it?

Both were implemented inside Backends/Qt/Icons/ICoreThemedIcon.cpp, beside the QIcon engines, and both are Qt-free bodies: a path test and a string substitution over ICoreRgba tokens. Sitting in a backend directory made them unavailable to every OTHER backend for no reason at all -- and

Declares no class of its own — see the file.

ICoreThemedIconFactory.h#

ICoreEssentials/UI/Icons/ICoreThemedIconFactory.h

Themed icons, in a spelling every backend can answer.

⚠ WHY THIS EXISTS BESIDE ICoreIcons RATHER THAN INSIDE IT.

ICoreIcons::themed() / ::blockArt() / ::subsystemGlyph() return a raw QIcon, and ICoreThemedIcon.h includes <QIcon>, <QPainter> and <QIconEngine> to say so. That is not a wrapper leak that can be tidied away: those factories build a QIcon around a live QIconEngine, and P7.8 declined to convert the engines deliberately -- QIcon heap-owns its engine and clone()s it, so a by-value wrapper has both the wrong lifetime and the wrong identity (ICoreIcon.h records the reasoning and calls it permanent).

The consequence only becomes visible with a second backend: no AppKit build can define any of them, and a caller on that backend cannot even INCLUDE

Declares no class of its own — see the file.

ICoreThemedIconRequest.h#

ICoreEssentials/UI/Icons/ICoreThemedIconRequest.h

ICoreThemedIconRequest#

ICoreThemedIconRequest.h:31 · struct · 0 declaration(s)

What a widget was asked for by setThemedIcon(), and the one function that turns it into pixels.

struct ICoreThemedIconRequest {
public:
    // Empty means no themed icon was asked for; icoreBakeThemedIcon() then
    // answers a null icon and the seat keeps whatever setIcon() gave it.
    ICoreString svgPath;
    // The raster size the two-argument verb names. Unused by the one-argument
    // verb, which takes the tier's own size.
    int size = 16;
    // true: flood with the caption's ink (two-argument verb).
    // false: the tier's own themed icon (one-argument verb).
    bool captionInk = true;
};
};