MCPcopy Create free account
hub / github.com/FastLED/FastLED / CRGB16

Class CRGB16

src/fl/gfx/crgb16.h:9–35  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

7namespace fl {
8
9struct CRGB16 {
10 typedef u8x8 fp;
11 u8x8 r, g, b;
12 CRGB16() FL_NOEXCEPT = default;
13 CRGB16(u8x8 rv, u8x8 gv, u8x8 bv) : r(rv), g(gv), b(bv) {}
14 CRGB16& nscale8(u8 scale) {
15 r = u8x8::from_raw(static_cast<u16>((static_cast<u32>(r.raw()) * scale) >> 8));
16 g = u8x8::from_raw(static_cast<u16>((static_cast<u32>(g.raw()) * scale) >> 8));
17 b = u8x8::from_raw(static_cast<u16>((static_cast<u32>(b.raw()) * scale) >> 8));
18 return *this;
19 }
20 CRGB16& nscale(u8x8 scale) {
21 r = r * scale;
22 g = g * scale;
23 b = b * scale;
24 return *this;
25 }
26 CRGB16& operator+=(const CRGB16& rhs) {
27 u32 nr = static_cast<u32>(r.raw()) + rhs.r.raw();
28 u32 ng = static_cast<u32>(g.raw()) + rhs.g.raw();
29 u32 nb = static_cast<u32>(b.raw()) + rhs.b.raw();
30 r = u8x8::from_raw(nr > 0xFFFF ? u16(0xFFFF) : static_cast<u16>(nr));
31 g = u8x8::from_raw(ng > 0xFFFF ? u16(0xFFFF) : static_cast<u16>(ng));
32 b = u8x8::from_raw(nb > 0xFFFF ? u16(0xFFFF) : static_cast<u16>(nb));
33 return *this;
34 }
35};
36
37} // namespace fl

Callers 6

zeroMethod · 0.85
makeMethod · 0.85
promote_rgb_to_hdFunction · 0.85
ColorFromPaletteHDImplFunction · 0.85
FL_TEST_FILEFunction · 0.85
blur.cppFile · 0.85

Calls 1

rawMethod · 0.45

Tested by

no test coverage detected