|
FastLED 3.9.15
|
Manages and renders multiple visual effects (Fx) for LED strips.
The FxEngine class is responsible for:
Definition at line 33 of file fx_engine.h.
#include <fx_engine.h>
Collaboration diagram for fl::FxEngine:Public Types | |
| typedef fl::FixedMap< int, FxPtr, FASTLED_FX_ENGINE_MAX_FX > | IntFxMap |
Public Member Functions | |
| FxEngine (uint16_t numLeds, bool interpolate=true) | |
| Constructs an FxEngine with the specified number of LEDs. | |
| ~FxEngine () | |
| Destructor for FxEngine. | |
| IntFxMap & | _getEffects () |
| int | addFx (Fx &effect) |
| Adds a new effect to the engine. | |
| int | addFx (FxPtr effect) |
| Adds a new effect to the engine. | |
| bool | draw (fl::u32 now, CRGB *outputBuffer) |
| Renders the current effect or transition to the output buffer. | |
| int | getCurrentFxId () const |
| FxPtr | getFx (int index) |
| Retrieves an effect from the engine without removing it. | |
| bool | nextFx (uint16_t transition_ms=500) |
| Transitions to the next effect in the sequence. | |
| FxPtr | removeFx (int index) |
| Requests removal of an effect from the engine, which might not happen immediately (for example the Fx needs to finish a transition). | |
| bool | setNextFx (int index, uint16_t duration) |
| Sets the next effect to transition to. | |
| void | setSpeed (float scale) |
| Sets the speed of the fx engine, which will impact the speed of all effects. | |
Private Attributes | |
| FxCompositor | mCompositor |
| Handles effect transitions and rendering. | |
| int | mCounter = 0 |
| int | mCurrId |
| Id of the current effect. | |
| uint16_t | mDuration = 0 |
| Duration of the current transition. | |
| bool | mDurationSet |
| Flag indicating if a new transition has been set. | |
| IntFxMap | mEffects |
| Collection of effects. | |
| bool | mInterpolate = true |
| TimeWarp | mTimeFunction |