Abstract clock interface for the motion runtime. More...
#include <phosphor-animation/include/PhosphorAnimation/IMotionClock.h>
Public Member Functions | |
| virtual | ~IMotionClock ()=default |
| IMotionClock (const IMotionClock &)=delete | |
| IMotionClock & | operator= (const IMotionClock &)=delete |
| IMotionClock (IMotionClock &&)=delete | |
| IMotionClock & | operator= (IMotionClock &&)=delete |
| virtual std::chrono::nanoseconds | now () const =0 |
| Monotonically non-decreasing steady-clock reading (nanoseconds). | |
| virtual qreal | refreshRate () const =0 |
| Nominal refresh rate in Hz, or zero if unknown. | |
| virtual void | requestFrame ()=0 |
| Schedule another paint tick. Idempotent within a single frame. | |
| virtual const void * | epochIdentity () const |
| Opaque epoch identity for rebindClock compatibility. | |
Static Public Member Functions | |
| static const void * | steadyClockEpoch () |
| Shared sentinel for std::chrono::steady_clock-backed clocks. | |
| static bool | epochCompatible (const IMotionClock *a, const IMotionClock *b) |
| True iff both clocks are non-null and share the same non-null epochIdentity. | |
Protected Member Functions | |
| IMotionClock ()=default | |
Abstract clock interface for the motion runtime.
Pull-model: consumers read now() during their paint cycle. One clock per output/window to support mixed refresh rates.
|
virtualdefault |
|
delete |
|
delete |
|
protecteddefault |
|
inlinestatic |
True iff both clocks are non-null and share the same non-null epochIdentity.
|
inlinevirtual |
Opaque epoch identity for rebindClock compatibility.
nullptr (default) = incompatible with rebind onto any other clock. Clocks sharing the same non-null identity are rebase-safe.
Reimplemented in PhosphorAnimation::QtQuickClock.
|
pure virtual |
Monotonically non-decreasing steady-clock reading (nanoseconds).
Implemented in PhosphorAnimation::QtQuickClock.
|
delete |
|
delete |
|
pure virtual |
Nominal refresh rate in Hz, or zero if unknown.
Implemented in PhosphorAnimation::QtQuickClock.
|
pure virtual |
Schedule another paint tick. Idempotent within a single frame.
Implemented in PhosphorAnimation::QtQuickClock.
|
static |
Shared sentinel for std::chrono::steady_clock-backed clocks.