Generated reference › API — ICoreEssentials/UI/Backends/Gtk4/Motion
kind: generated#api#icoreessentials-ui-backends-gtk4-motion

API — ICoreEssentials/UI/Backends/Gtk4/Motion

The public contract of 3 header(s) under ICoreEssentials/UI/Backends/Gtk4/Motion — 0 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.

HeaderDefinesDeclarationsBases
ICoreGtk4MotionDriver.h—0—
ICoreGtk4MotionOwners.h—0—
ICoreGtk4MotionRuntime.h—0—

ICoreGtk4MotionDriver.h#

ICoreEssentials/UI/Backends/Gtk4/Motion/ICoreGtk4MotionDriver.h

Declares no class of its own — see the file.

ICoreGtk4MotionOwners.h#

ICoreEssentials/UI/Backends/Gtk4/Motion/ICoreGtk4MotionOwners.h

Which widget an animation belongs to, so a widget about to be recycled can have its motion quieted (L7.1) -- the peer of Backends/WinUI/Motion/ICoreWinUIMotionOwners.h.

⚠ IT DECIDES NOTHING EITHER. The table, the tokens and the "self or descendant" walk are UI/Portable/ICoreMotionOwnerRegistry's. What is this backend's is one question -- is this GtkWidget inside that one -- and the weak keying that makes asking it safe.

⚠⚠ THE OWNER IS KEYED ON THE GtkWidget, NOT ON THE WRAPPER, and it is held WEAKLY. A recycled panel's wrapper can be freed and the allocator can hand the same address back, which is exactly the "same key, different object" mistake this tier is prone to; a GWeakRef answers "is this still alive" where a raw pointer cannot. The zone already owns that primitive --

Declares no class of its own — see the file.

ICoreGtk4MotionRuntime.h#

ICoreEssentials/UI/Backends/Gtk4/Motion/ICoreGtk4MotionRuntime.h

The one place animations are TICKED on this backend (L7.1) -- the peer of Backends/WinUI/Motion/ICoreWinUIMotionRuntime.h, Backends/AppKit/Motion/ICoreAppKitMotionRuntime.h and Backends/Qt/Motion/ICoreQtMotionRuntime.h.

⚠ IT DECIDES NOTHING. Every run-table, ordering and reentrancy decision is UI/Portable/ICoreMotionRuntimeCore's, proved with no toolkit at all. What is left here is the two things that are genuinely this backend's: WHICH core and driver the process has -- one each, because a frame subscription is a real resource -- and WHAT "now" means, which is ICoreGtk4MotionDriver::nowMs() and not a wall clock.

⚠ THE POLICY IS APPLIED BY THE CALLER AND IT COLLAPSES RATHER THAN SKIPS. With animations turned off a run has a duration of ZERO: it still starts,

File-scope declarations#

// The one place animations are TICKED on this backend (L7.1) -- the peer of
// `Backends/WinUI/Motion/ICoreWinUIMotionRuntime.h`,
// `Backends/AppKit/Motion/ICoreAppKitMotionRuntime.h` and
// `Backends/Qt/Motion/ICoreQtMotionRuntime.h`.
// 
// ⚠ IT DECIDES NOTHING. Every run-table, ordering and reentrancy decision is
using ICoreGtk4MotionHook = std::function<void(const ICoreAnimationSample& sample)>;