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

API — ICoreEssentials/UI/Backends/WinUI/Motion

The public contract of 3 header(s) under ICoreEssentials/UI/Backends/WinUI/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
ICoreWinUIMotionDriver.h—0—
ICoreWinUIMotionOwners.h—0—
ICoreWinUIMotionRuntime.h—0—

ICoreWinUIMotionDriver.h#

ICoreEssentials/UI/Backends/WinUI/Motion/ICoreWinUIMotionDriver.h

Declares no class of its own — see the file.

ICoreWinUIMotionOwners.h#

ICoreEssentials/UI/Backends/WinUI/Motion/ICoreWinUIMotionOwners.h

"Stop every animation belonging to this widget" on the WinUI backend (W7.1) -- the peer of Backends/Qt/Motion/ICoreQtMotionOwners.h and Backends/AppKit/Motion/ICoreAppKitMotionOwners.h.

⚠ WHAT IT IS FOR. ICoreGraphicsCommands::stopChildAnimationsOf* has 23 call sites, every one quieting an object about to be torn down or handed back to a pool. The Qt seat answered it with the object tree until the Motion tier came off toolkit animations, and answers it from a registry now. This backend has no object tree at all.

⚠ AND THE FAILURE IS NOT A CRASH, WHICH IS WHY IT NEEDS A SEAT RATHER THAN A NO-OP. Destruction is already covered -- an animation whose wrapper dies stops in its own destructor. RECYCLING IS NOT: a pooled object survives, and a fade still running against it resumes on whatever the pool hands out next.

Declares no class of its own — see the file.

ICoreWinUIMotionRuntime.h#

ICoreEssentials/UI/Backends/WinUI/Motion/ICoreWinUIMotionRuntime.h

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

⚠ IT DECIDES NOTHING, AND THAT IS THE DIFFERENCE FROM ITS TWO PEERS.

Both older runtimes hold a clock, a hook table and the dispatch ordering over it -- roughly eighty lines of std::map reasoning that only builds on their own platform and that no suite has ever driven. W7.1 moved every one of those decisions to UI/Portable/ICoreMotionRuntimeCore, where 92 checks and six negative controls run 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, not one per animation --

File-scope declarations#

// Called once per tick with the animation's current sample. `sample.finished`
// is true on the last call, which happens exactly once for a run that is not
// cancelled.
using ICoreWinUIMotionHook = std::function<void(const ICoreAnimationSample& sample)>;