9#include "platforms/ui_defs.h"
11#ifndef FASTLED_HAS_UI_SLIDER
12#define FASTLED_HAS_UI_SLIDER 0
15#ifndef FASTLED_HAS_UI_BUTTON
16#define FASTLED_HAS_UI_BUTTON 0
19#ifndef FASTLED_HAS_UI_CHECKBOX
20#define FASTLED_HAS_UI_CHECKBOX 0
23#ifndef FASTLED_HAS_UI_NUMBER_FIELD
24#define FASTLED_HAS_UI_NUMBER_FIELD 0
27#ifndef FASTLED_HAS_UI_TITLE
28#define FASTLED_HAS_UI_TITLE 0
31#ifndef FASTLED_HAS_UI_DESCRIPTION
32#define FASTLED_HAS_UI_DESCRIPTION 0
39#if !FASTLED_HAS_UI_SLIDER
45 float max = 255,
float step = -1.f)
66 operator float()
const {
return mValue; }
67 operator uint8_t()
const {
return static_cast<uint8_t
>(
mValue); }
68 operator uint16_t()
const {
return static_cast<uint16_t
>(
mValue); }
69 operator int()
const {
return static_cast<int>(
mValue); }
70 template <
typename T> T
as()
const {
return static_cast<T
>(
mValue); }
92#if !FASTLED_HAS_UI_BUTTON
101 operator bool()
const {
return false; }
106#if !FASTLED_HAS_UI_CHECKBOX
115 operator int()
const {
return mValue ? 1 : 0; }
132#if !FASTLED_HAS_UI_NUMBER_FIELD
144 operator double()
const {
return mValue; }
145 operator int()
const {
return static_cast<int>(
mValue); }
163#if !FASTLED_HAS_UI_TITLE
173#if !FASTLED_HAS_UI_DESCRIPTION
183#define FASTLED_UI_DEFINE_OPERATORS(UI_CLASS) \
184 FASTLED_DEFINE_POD_COMPARISON_OPERATOR(UI_CLASS, >=) \
185 FASTLED_DEFINE_POD_COMPARISON_OPERATOR(UI_CLASS, <=) \
186 FASTLED_DEFINE_POD_COMPARISON_OPERATOR(UI_CLASS, >) \
187 FASTLED_DEFINE_POD_COMPARISON_OPERATOR(UI_CLASS, <) \
188 FASTLED_DEFINE_POD_COMPARISON_OPERATOR(UI_CLASS, ==) \
189 FASTLED_DEFINE_POD_COMPARISON_OPERATOR(UI_CLASS, !=)
void setValue(bool value)
UICheckbox & operator=(bool value)
UICheckbox & operator=(int value)
UICheckbox(const char *name, bool value=false)
UIDescription(const char *name)
UINumberField & operator=(double value)
UINumberField & operator=(int value)
UINumberField(const char *name, double value, double min=0, double max=100)
void setValue(double value)
UISlider & operator=(int value)
UISlider(const char *name, float value=128.0f, float min=1, float max=255, float step=-1.f)
void setValue(float value)
UISlider & operator=(float value)
float value_normalized() const
UITitle(const char *name)
#define ALMOST_EQUAL(a, b, small)
Implements the FastLED namespace macros.
Implements a simple red square effect for 2D LED grids.
#define FASTLED_UI_DEFINE_OPERATORS(UI_CLASS)
#define FASTLED_UNUSED(x)