25#include "AbstractTimer.h"
42 typedef ParameterSlot<Ramp> Parameter;
66 virtual float put(
float value);
69 virtual float mapTo(
float toLow,
float toHigh);
81 virtual float to()
const {
return _to; }
87 virtual void to(
float to);
90 virtual float from()
const {
return _from; }
115 virtual float speed()
const;
121 virtual void start();
131 virtual void go(
float from,
float to,
float durationOrSpeed, easing_function
easing=0);
139 virtual void go(
float to,
float durationOrSpeed, easing_function
easing=0);
146 virtual void go(
float to, easing_function
easing=0);
152 uint8_t
mode()
const {
return _mode; }
155 virtual bool finished() {
return (_finishedState == JUST_FINISHED); }
161 virtual void setTime(
float time);
170 [[deprecated(
"Use go(float,easing_function) instead.")]]
171 virtual void start(
float to,
float durationOrSpeed, easing_function
easing=0);
174 [[deprecated(
"Use go(float,float,easing_function) instead.")]]
175 virtual void start(
float from,
float to,
float durationOrSpeed, easing_function
easing=0);
186 virtual void begin();
192 case EVENT_FINISH:
return finished();
198 void _durationOrSpeed(
float durationOrSpeed);
199 float _durationOrSpeed()
const;
202 virtual float _time()
const;
214 easing_function _easing;
216#if PQ_OPTIMIZE_FOR_CPU
225 uint8_t _finishedState : 2;
228 bool _valueNeedsUpdate : 1;
Definition AbstractTimer.h:29
virtual float duration() const
Returns duration.
Definition AbstractTimer.h:48
The main Plaquette static class containing all the units.
Definition PqCore.h:63
static Engine & primary()
Returns the main instance of Plaquette.
Definition PqCore.cpp:30
Provides a ramping / tweening mechanism that allows smooth transitions between two values.
Definition Ramp.h:40
virtual float get()
Returns value of ramp.
Definition Ramp.cpp:44
virtual float from() const
Returns initial value of the ramp.
Definition Ramp.h:90
virtual void onFinish(EventCallback callback)
Registers event callback on finish event.
Definition Ramp.h:158
virtual float put(float value)
Forces value in the ramp.
Definition Ramp.cpp:57
virtual float mapTo(float toLow, float toHigh)
Maps value to new range.
Definition Ramp.cpp:73
float speedToDuration(float speed) const
Returns duration based on speed.
Definition Ramp.cpp:231
virtual bool eventTriggered(EventType eventType)
Returns true iff an event of a certain type has been triggered.
Definition Ramp.h:190
Parameter Speed()
Returns speed (rate of change) as a parameter.
Definition Ramp.h:118
virtual float speed() const
Returns speed (rate of change) of the ramp in change-per-second.
Definition Ramp.cpp:128
void noEasing()
Remove easing function (linear/no easing).
Definition Ramp.h:78
uint8_t mode() const
Returns the mode of the component (RAMP_DURATION or RAMP_SPEED).
Definition Ramp.h:152
float durationToSpeed(float duration) const
Returns speed based on duration.
Definition Ramp.cpp:219
void easing(easing_function easing)
Sets easing function to apply to ramp.
Definition Ramp.cpp:77
virtual void setTime(float time)
Forces current time (in seconds).
Definition Ramp.cpp:214
float duration() const override
Returns the duration of the ramp (in seconds).
Definition Ramp.h:106
virtual void go(float from, float to, float durationOrSpeed, easing_function easing=0)
Starts a new ramp.
Definition Ramp.cpp:149
virtual float to() const
Returns destination value of the ramp,.
Definition Ramp.h:81
virtual void start()
Starts/restarts the ramp. Will repeat the last ramp.
Definition Ramp.cpp:136
virtual void fromTo(float from, float to)
Assign initial and final values of the ramp.
Definition Ramp.cpp:93
virtual bool finished()
Returns true iff the ramp just finished its process this step.
Definition Ramp.h:155
A generic class representing a unit in the system.
Definition PqCore.h:373
virtual void onEvent(EventCallback callback, EventType eventType)
Registers event callback.
Definition PqCore.cpp:240
virtual bool eventTriggered(EventType eventType)
Returns true iff an event of a certain type has been triggered.
Definition PqCore.h:409
Engine * engine() const
Returns the engine that owns this unit.
Definition PqCore.h:420