19#if FASTLED_HAS_ENGINE_EVENTS
21 const bool has_listener = ptr && ptr->
_hasListener(
this);
33#if FASTLED_HAS_ENGINE_EVENTS
39#if FASTLED_HAS_ENGINE_EVENTS
41 for (
auto &item : mListeners) {
42 auto listener = item.listener;
43 listener->onPlatformPreLoop();
45 for (
auto &item : mListeners) {
46 auto listener = item.listener;
47 listener->onPlatformPreLoop2();
52 auto predicate = [listener](
const Pair &pair) {
53 return pair.listener == listener;
55 return mListeners.find_if(predicate) != mListeners.end();
62 for (
auto it = mListeners.begin(); it != mListeners.end(); ++it) {
63 if (it->priority < priority) {
65 EngineEvents::Pair pair = EngineEvents::Pair(listener, priority);
66 mListeners.insert(it, pair);
70 EngineEvents::Pair pair = EngineEvents::Pair(listener, priority);
71 mListeners.push_back(pair);
75 auto predicate = [listener](
const Pair &pair) {
76 return pair.listener == listener;
78 auto it = mListeners.find_if(predicate);
79 if (it != mListeners.end()) {
87 ListenerList copy = mListeners;
88 for (
auto &item : copy) {
89 auto listener = item.listener;
90 listener->onBeginFrame();
97 ListenerList copy = mListeners;
98 for (
auto &item : copy) {
99 auto listener = item.listener;
100 listener->onEndShowLeds();
107 ListenerList copy = mListeners;
108 for (
auto &item : copy) {
109 auto listener = item.listener;
110 listener->onEndFrame();
117 ListenerList copy = mListeners;
118 for (
auto &item : copy) {
119 auto listener = item.listener;
120 listener->onStripAdded(strip, num_leds);
128 ListenerList copy = mListeners;
129 for (
auto &item : copy) {
130 auto listener = item.listener;
131 listener->onCanvasUiSet(strip,
screenmap);
138 ListenerList copy = mListeners;
139 for (
auto &item : copy) {
140 auto listener = item.listener;
virtual ~Listener() FL_NOEXCEPT
~EngineEvents() FL_NOEXCEPT
void _onStripAdded(CLEDController *strip, fl::u32 num_leds) FL_NOEXCEPT
EngineEvents() FL_NOEXCEPT
void _onCanvasUiSet(CLEDController *strip, const ScreenMap &xymap) FL_NOEXCEPT
void _addListener(Listener *listener, int priority) FL_NOEXCEPT
void _onEndShowLeds() FL_NOEXCEPT
void _onPlatformPreLoop() FL_NOEXCEPT
void _removeListener(Listener *listener) FL_NOEXCEPT
bool _hasListener(Listener *listener) FL_NOEXCEPT
void _onBeginFrame() FL_NOEXCEPT
void _onEndFrame() FL_NOEXCEPT
void _onExit() FL_NOEXCEPT
static T & instance() FL_NOEXCEPT
fl::CLEDController CLEDController
Base definition for an LED controller.