| 349 | /// @note Protocol: 16-bit RGB with gamma correction and brightness control |
| 350 | template <typename CONTAINER_UIN8_T> |
| 351 | void writeHD108(CONTAINER_UIN8_T* out) FL_NOEXCEPT { |
| 352 | auto back_ins = fl::back_inserter(*out); |
| 353 | |
| 354 | #if FASTLED_HD_COLOR_MIXING |
| 355 | // HD mode: per-LED brightness |
| 356 | auto pixel_range = makeScaledPixelRangeRGB(this); |
| 357 | auto brightness_range = makeScaledBrightnessRange(this); |
| 358 | encodeHD108_HD(pixel_range.first, pixel_range.second, |
| 359 | brightness_range.first, back_ins); |
| 360 | #else |
| 361 | // Standard mode: global brightness (255 = full) |
| 362 | auto pixel_range = makeScaledPixelRangeRGB(this); |
| 363 | encodeHD108(pixel_range.first, pixel_range.second, |
| 364 | back_ins, 255); |
| 365 | #endif |
| 366 | } |
| 367 | |
| 368 | private: |
| 369 | // vtable emulation |
no test coverage detected