5#ifndef NEO_SOLID_FX_HPP
6#define NEO_SOLID_FX_HPP
8#include <mlab/bin_data.hpp>
9#include <mlab/unique_tracker.hpp>
15 class solid_fx :
public mlab::uniquely_tracked {
26 [[nodiscard]]
inline rgb color()
const;
30 [[nodiscard]] std::function<void(std::chrono::milliseconds)>
44 [[nodiscard]] std::string
to_string()
const;
Definition: solid_fx.hpp:15
std::recursive_mutex _color_mutex
Definition: solid_fx.hpp:17
rgb color() const
Definition: solid_fx.hpp:58
solid_fx(neo::rgb color=neo::rgb{0, 0, 0})
Definition: solid_fx.hpp:56
std::function< void(std::chrono::milliseconds)> make_steady_timer_callback(transmittable_rgb_strip &strip, rmt_channel_t channel) const
Definition: solid_fx.cpp:32
solid_fx & operator=(solid_fx &&other) noexcept
Definition: solid_fx.cpp:15
neo::rgb _color
Definition: solid_fx.hpp:16
void render_frame(transmittable_rgb_strip &strip, rmt_channel_t channel) const
Definition: solid_fx.cpp:22
void set_color(rgb c)
Definition: solid_fx.hpp:63
Definition: any_fx.cpp:81
mlab::bin_stream & operator>>(mlab::bin_stream &s, neo::any_fx_config &fx_cfg)
Definition: any_fx.cpp:83
Definition: solid_fx.hpp:37
std::string to_string() const
Definition: solid_fx.cpp:44
solid_fx_config()=default
void apply(solid_fx &s_fx) const
Definition: solid_fx.hpp:68
neo::rgb color
Definition: solid_fx.hpp:38