FastLED 3.10.6
Loading...
Searching...
No Matches

◆ loadAndScaleRGB16()

void fl::PixelIterator::loadAndScaleRGB16 ( u16 * r_out,
u16 * g_out,
u16 * b_out )
inline

One pixel at the source's own precision, wire-ordered.

For an ordinary PixelController that is its 8-bit pixel widened exactly; for a colour-managed source it is the s16.16 device drive quantized once, to 16 bits rather than to 8 and back up.

Definition at line 316 of file pixel_iterator.h.

316 {
317 if (mLoadAndScaleRGB16 != nullptr) {
318 mLoadAndScaleRGB16(mPixelController, r_out, g_out, b_out);
319 return;
320 }
321 // The source has no wider pixel than its 8-bit one. Widening exactly,
322 // here rather than in a per-source thunk.
323 u8 r8, g8, b8;
324 loadAndScaleRGB(&r8, &g8, &b8);
325 *r_out = fl::map8_to_16(r8);
326 *g_out = fl::map8_to_16(g8);
327 *b_out = fl::map8_to_16(b8);
328 }
void loadAndScaleRGB(u8 *r_out, u8 *g_out, u8 *b_out) FL_NO_EXCEPT
loadAndScaleRGB16Function mLoadAndScaleRGB16
u16 map8_to_16(u8 x) FL_NO_EXCEPT
Definition intmap.h:48
unsigned char u8
Definition stdint.h:131

References fl::FL_NO_EXCEPT, loadAndScaleRGB(), fl::map8_to_16(), mLoadAndScaleRGB16, and mPixelController.

Referenced by writeHD108(), writeLPD6803Wide(), and writeLPD8806Wide().

+ Here is the call graph for this function:
+ Here is the caller graph for this function: