FastLED 3.10.8
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 422 of file pixel_iterator.h.

422 {
423 if (mLoadAndScaleRGB16 != nullptr) {
424 mLoadAndScaleRGB16(mPixelController, r_out, g_out, b_out);
425 return;
426 }
427 // The source has no wider pixel than its 8-bit one. Widening exactly,
428 // here rather than in a per-source thunk.
429 u8 r8, g8, b8;
430 loadAndScaleRGB(&r8, &g8, &b8);
431 *r_out = fl::map8_to_16(r8);
432 *g_out = fl::map8_to_16(g8);
433 *b_out = fl::map8_to_16(b8);
434 }
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: