API — ICoreEssentials/UI/Backends/Web/Motion
The public contract of 3 header(s) under ICoreEssentials/UI/Backends/Web/Motion — 1 class/struct definition(s), 10 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 |
|---|---|---|---|
ICoreWebMotionDriver.h | ICoreWebMotionDriver | 10 | — |
ICoreWebMotionOwners.h | — | 0 | — |
ICoreWebMotionRuntime.h | — | 0 | — |
ICoreWebMotionDriver.h#
ICoreEssentials/UI/Backends/Web/Motion/ICoreWebMotionDriver.h
ICoreWebMotionDriver#
ICoreWebMotionDriver.h:28 · class · pImpl · 10 declaration(s)
Where the web backend's animation ticks come from (web backend, WB7.1) -- the peer of ../../Gtk4/Motion/ICoreGtk4MotionDriver.h, with the same surface so the copied runtime (ICoreWebMotionRuntime) ...
class ICoreWebMotionDriver {
public:
using Tick = std::function<void(long long nowMs)>;
ICoreWebMotionDriver();
~ICoreWebMotionDriver();
ICoreWebMotionDriver(const ICoreWebMotionDriver&) = delete;
ICoreWebMotionDriver& operator=(const ICoreWebMotionDriver&) = delete;
void setTick(Tick tick);
void start();
void stop();
[[nodiscard]] bool isRunning() const;
[[nodiscard]] long long nowMs() const;
enum class Source { None, FrameClock, Timeout };
[[nodiscard]] Source source() const;
private:
class Impl; // the two-line residue; state lives here
std::unique_ptr<Impl> impl;
};
ICoreWebMotionOwners.h#
ICoreEssentials/UI/Backends/Web/Motion/ICoreWebMotionOwners.h
Which widget an animation belongs to, so the animation stops when its widget dies (web backend, WB7.1). The surface and the rules are UI/Backends/Gtk4/Motion/ICoreGtk4MotionOwners.h's, which keeps the reasoning; the web version watches ICoreWebNode rather than a GtkWidget's "destroy".
Backend-private: nothing outside UI/Backends/Web/ includes it.
Declares no class of its own — see the file.
ICoreWebMotionRuntime.h#
ICoreEssentials/UI/Backends/Web/Motion/ICoreWebMotionRuntime.h
The web seat's copy of UI/Backends/Gtk4/Motion/ICoreGtk4MotionRuntime.h (web backend, WB7.1), with the backend renamed: it names no toolkit, so its rules and their reasoning are the original's, which stays the authority. What is new on the web is only the driver underneath (ICoreWebMotionDriver: the browser's requestAnimationFrame).
File-scope declarations#
// The web seat's copy of UI/Backends/Gtk4/Motion/ICoreGtk4MotionRuntime.h (web backend,
// WB7.1), with the backend renamed: it names no
// toolkit, so its rules and their reasoning are the original's, which stays the
// authority. What is new on the web is only the driver underneath
// (ICoreWebMotionDriver: the browser's requestAnimationFrame).
using ICoreWebMotionHook = std::function<void(const ICoreAnimationSample& sample)>;