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.
| Header | Defines | Declarations | Bases |
|---|---|---|---|
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)>;