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.
| Header | Defines | Declarations | Bases |
|---|---|---|---|
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; aGWeakRefanswers "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.handBackends/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 isICoreGtk4MotionDriver::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)>;