blokdots::color
Color parsing, mixing, and mapping helpers for blokdots::Color values.
C++
#include "blokdots.h"#Functions
#isHexDigit
C++
bool isHexDigit(char c);true if valid hex digit
#hexVal
C++
uint8_t hexVal(char c);#parseHexRGB
C++
bool parseHexRGB(const char hex, uint8_t r, uint8_t g, uint8_t b);Returns true on success
#parseHexColor
C++
bool parseHexColor(const char hex, blokdots::Color out);NEW: parse directly into blokdots::Color
#parseHexOr
C++
blokdots::Color parseHexOr(const char hex, blokdots::Color fallback);NEW: convenience version that returns a default on failure (generator-friendly)
#clampU8
C++
uint8_t clampU8(int32_t x);#mapToU8
C++
uint8_t mapToU8(int32_t v, int32_t inMin, int32_t inMax, bool invert);Map v from [inMin..inMax] to [0..255], clamp, optional invert.
#lerpU8
C++
uint8_t lerpU8(uint8_t a, uint8_t b, uint8_t t);Mix two uint8 by t in [0..255] with rounding.
#mixRGB
C++
void mixRGB(uint8_t rMin, uint8_t gMin, uint8_t bMin, uint8_t rMax, uint8_t gMax, uint8_t bMax, uint8_t t, uint8_t rOut, uint8_t gOut, uint8_t bOut);Existing API (kept)
#mix
C++
blokdots::Color mix(blokdots::Color minC, blokdots::Color maxC, uint8_t t);NEW: mix colors as structs (cleaner call sites + codegen)
#mapColorRGB
C++
void mapColorRGB(int32_t v, int32_t inMin, int32_t inMax, uint8_t rMin, uint8_t gMin, uint8_t bMin, uint8_t rMax, uint8_t gMax, uint8_t bMax, bool invert, uint8_t rOut, uint8_t gOut, uint8_t bOut);Existing API (kept)
#mapColor
C++
blokdots::Color mapColor(int32_t v, int32_t inMin, int32_t inMax, blokdots::Color minC, blokdots::Color maxC, bool invert);NEW: map value directly to a blokdots::Color
#pack24
C++
uint32_t pack24(blokdots::Color c);Useful for NeoPixel, storage, comparisons, etc.
#unpack24
C++
blokdots::Color unpack24(uint32_t rgb);#equals
C++
bool equals(blokdots::Color a, blokdots::Color b);