19template<
typename Signature>
class function;
22template<
typename T>
struct vec2;
29template<
typename T>
class LUT;
41 float cm_led_diameter = 0.5f,
45 float cm_led_diameter = 0.2f,
94 static
bool ParseJson(const
char *jsonStrScreenMap,
98 static
bool ParseJson(const
char *jsonStrScreenMap,
u32 getLength() const FL_NOEXCEPT
static void toJson(const fl::flat_map< string, ScreenMap > &, fl::json *doc) FL_NOEXCEPT
static ScreenMap DefaultStrip(int numLeds, float cm_between_leds=1.5f, float cm_led_diameter=0.2f, float completion=.9f) FL_NOEXCEPT
void setSourceXYMap(const fl::shared_ptr< XYMap > &xymap) FL_NOEXCEPT
Set the source XYMap (used for pixel transformation during encoding)
static void toJsonStr(const fl::flat_map< string, ScreenMap > &, string *jsonBuffer) FL_NOEXCEPT
const XYMapPtr & getSourceXYMapPtr() const FL_NOEXCEPT
Get the source XYMap shared pointer if available.
static const vec2f & empty() FL_NOEXCEPT
void setDiameter(float diameter) FL_NOEXCEPT
vec2f getBounds() const FL_NOEXCEPT
const XYMap * getXYMap() const FL_NOEXCEPT
Get the source XYMap as a raw const pointer.
LUTXYFLOATPtr mLookUpTable
static bool ParseJson(const char *jsonStrScreenMap, fl::flat_map< string, ScreenMap > *segmentMaps, string *err=nullptr) FL_NOEXCEPT
bool hasSourceXYMap() const FL_NOEXCEPT
Check if source XYMap is available.
void addOffset(const vec2f &p) FL_NOEXCEPT
ScreenMap & addOffsetY(float y) FL_NOEXCEPT
void set(u16 index, const vec2f &p) FL_NOEXCEPT
float getDiameter() const FL_NOEXCEPT
vec2f mapToIndex(u32 x) const FL_NOEXCEPT
ScreenMap & operator=(const ScreenMap &other) FL_NOEXCEPT
ScreenMap & addOffsetX(float x) FL_NOEXCEPT
static ScreenMap Circle(int numLeds, float cm_between_leds=1.5f, float cm_led_diameter=0.5f, float completion=1.0f) FL_NOEXCEPT
const vec2f & operator[](u32 x) const FL_NOEXCEPT
shared_ptr< LUTXYFLOAT > LUTXYFLOATPtr
shared_ptr< XYMap > XYMapPtr
Base definition for an LED controller.