4#define FASTLED_INTERNAL
30 const CRGB &colorTemperature) {
31#if defined(NO_CORRECTION) && (NO_CORRECTION == 1)
36 for (uint8_t i = 0; i < 3; ++i) {
37 uint8_t cc = colorCorrection.raw[i];
38 uint8_t ct = colorTemperature.raw[i];
39 if (cc > 0 && ct > 0) {
42 uint32_t work = (((uint16_t)cc) + 1);
43 work *= (((uint16_t)ct) + 1);
46 adj.raw[i] = work & 0xFF;
56 blend8(p1.b, p2.b, amountOfP2));
61 uint8_t max_component = 0;
62 for (
int i = 0; i < 3; ++i) {
63 if (upper.raw[i] > max_component) {
64 max_component = upper.raw[i];
69 uint8_t amountOf2 = 255 - max_component;
82 "Upscaling only works with a src matrix that is rectangular");
104 ret.r =
lerp8by8(r, other.r, amountOf2);
105 ret.g =
lerp8by8(g, other.g, amountOf2);
106 ret.b =
lerp8by8(b, other.b, amountOf2);
UISlider scale("Scale", 1.0f, 0.0f, 1.0f, 0.01f)
central include file for FastLED, defines the CFastLED class/object
Demonstrates how to mix noise generation with color palettes on a 2D LED matrix.
Str & append(const T &val)
XyMapType getType() const
uint16_t getWidth() const
uint16_t getHeight() const
Defines the red, green, and blue (RGB) pixel struct.
uint8_t fract8
ANSI: unsigned short _Fract.
LIB8STATIC uint8_t lerp8by8(uint8_t a, uint8_t b, fract8 frac)
Linear interpolation between two unsigned 8-bit values, with 8-bit fraction.
LIB8STATIC_ALWAYS_INLINE uint8_t qadd8(uint8_t i, uint8_t j)
Add one byte to another, saturating at 0xFF.
LIB8STATIC uint8_t blend8(uint8_t a, uint8_t b, uint8_t amountOfB)
Blend a variable proportion (0-255) of one byte to another.
LIB8STATIC void nscale8x3(uint8_t &r, uint8_t &g, uint8_t &b, fract8 scale)
Scale three one-byte values by a fourth one, which is treated as the numerator of a fraction whose de...
Fast, efficient 8-bit math functions specifically designed for high-performance LED programming.
#define FASTLED_NAMESPACE_END
Implements the FastLED namespace macros.
void downscale(const CRGB *src, const XYMap &srcXY, CRGB *dst, const XYMap &dstXY)
void bilinearExpand(const CRGB *input, CRGB *output, uint16_t inputWidth, uint16_t inputHeight, fl::XYMap xyMap)
static void downscale(const CRGB *src, const fl::XYMap &srcXY, CRGB *dst, const fl::XYMap &dstXY)
Downscale an CRGB matrix (or strip) to the smaller size.
FASTLED_FORCE_INLINE CRGB()=default
Default constructor.
CRGB & operator+=(const CRGB &rhs)
Add one CRGB to another, saturating at 0xFF for each channel.
CRGB & nscale8(uint8_t scaledown)
Scale down a RGB to N/256ths of its current brightness, using "plain math" dimming rules.
static CRGB blend(const CRGB &p1, const CRGB &p2, fract8 amountOfP2)
static CRGB computeAdjustment(uint8_t scale, const CRGB &colorCorrection, const CRGB &colorTemperature)
Calculates the combined color adjustment to the LEDs at a given scale, color correction,...
CRGB lerp8(const CRGB &other, fract8 amountOf2) const
Return a new CRGB object after performing a linear interpolation between this object and the passed i...
static void upscale(const CRGB *src, const fl::XYMap &srcXY, CRGB *dst, const fl::XYMap &dstXY)
static CRGB blendAlphaMaxChannel(const CRGB &upper, const CRGB &lower)
CRGB & fadeToBlackBy(uint8_t fadefactor)
fadeToBlackBy is a synonym for nscale8(), as a fade instead of a scale