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

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.

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)>;