4#define FASTLED_INTERNAL
31#if defined(NO_CORRECTION) && (NO_CORRECTION == 1)
36 for (
fl::u8 i = 0; i < 3; ++i) {
37 fl::u8 cc = colorCorrection.raw[i];
38 fl::u8 ct = colorTemperature.raw[i];
39 if (cc > 0 && ct > 0) {
44 const fl::u16 scaledCorrection = (fl::u16(cc) + 1U) *
scale;
45 fl::u32 work = fl::u32(scaledCorrection) * (fl::u16(ct) + 1U);
47 adj.raw[i] = work & 0xFF;
56 return CRGB(fl::blend8(p1.r, p2.r, amountOfP2), fl::blend8(p1.g, p2.g, amountOfP2),
57 fl::blend8(p1.b, p2.b, amountOfP2));
63 for (
int i = 0; i < 3; ++i) {
64 if (upper.raw[i] > max_component) {
65 max_component = upper.raw[i];
70 fl::u8 amountOf2 = 255 - max_component;
82 fl::u16 w = srcXY.getWidth();
83 fl::u16 h = srcXY.getHeight();
88 nscale8x3(r,
g, b, scaledown);
103 ret.r =
lerp8by8(r, other.r, amountOf2);
105 ret.b =
lerp8by8(b, other.b, amountOf2);
111 nscale8x3(r,
g, b, 255 - fadefactor);
fl::UISlider scale("Scale", 4,.1, 4,.1)
string & append(const bitset_fixed< N > &bs) FL_NO_EXCEPT
Legacy compatibility header for 8-bit math functions.
Internal FastLED header for implementation files.
LIB8STATIC fl::u8 lerp8by8(fl::u8 a, fl::u8 b, fract8 frac) FL_NO_EXCEPT
Linear interpolation between two unsigned 8-bit values, with 8-bit fraction.
#define FL_WARN_IF(COND,...)
u8 u8 fract8 blur_amount FL_NO_EXCEPT
void upscale(const CRGB *input, CRGB *output, u16 inputWidth, u16 inputHeight, const fl::XYMap &xyMap) FL_NO_EXCEPT
u8 fract8
Fixed-Point Fractional Types.
void downscale(const CRGB *src, const XYMap &srcXY, CRGB *dst, const XYMap &dstXY) FL_NO_EXCEPT
static CRGB blendAlphaMaxChannel(const CRGB &upper, const CRGB &lower) FL_NO_EXCEPT
CRGB & fadeToBlackBy(u8 fadefactor) FL_NO_EXCEPT
fadeToBlackBy is a synonym for nscale8(), as a fade instead of a scale
CRGB lerp8(const CRGB &other, fract8 amountOf2) const FL_NO_EXCEPT
Return a new CRGB object after performing a linear interpolation between this object and the passed i...
static CRGB blend(const CRGB &p1, const CRGB &p2, fract8 amountOfP2) FL_NO_EXCEPT
CRGB & nscale8(u8 scaledown) FL_NO_EXCEPT
Scale down a RGB to N/256ths of its current brightness, using "plain math" dimming rules.
FASTLED_FORCE_INLINE CRGB() FL_NO_EXCEPT
Default constructor.
CRGB & operator+=(const CRGB &rhs) FL_NO_EXCEPT
Add one CRGB to another, saturating at 0xFF for each channel.
static CRGB computeAdjustment(u8 scale, const CRGB &colorCorrection, const CRGB &colorTemperature) FL_NO_EXCEPT
Calculates the combined color adjustment to the LEDs at a given scale, color correction,...
static void downscale(const CRGB *src, const XYMap &srcXY, CRGB *dst, const XYMap &dstXY) FL_NO_EXCEPT
Downscale a CRGB matrix (or strip) to the smaller size.
string toString() const FL_NO_EXCEPT
static void upscale(const CRGB *src, const XYMap &srcXY, CRGB *dst, const XYMap &dstXY) FL_NO_EXCEPT