FastLED 3.9.15
Loading...
Searching...
No Matches
pixel_iterator_adapters.h File Reference

Detailed Description

Adapter layer bridging PixelIterator to encoder input iterators.

This file provides adapters that convert PixelIterator (which handles scaling, gamma, dithering) into input iterators yielding raw CRGB/Rgbw pixels that can be consumed by the new encoder functions.

Key concepts:

  • PixelIterator: Stateful iterator with scaling/gamma/dithering
  • ScaledPixelIterator: STL-compliant input iterator wrapping PixelIterator
  • Allows new encoders to work with both raw pixel arrays and PixelIterator

Definition in file pixel_iterator_adapters.h.

#include "fl/stl/stdint.h"
#include "fl/stl/array.h"
#include "fl/stl/pair.h"
#include "fl/stl/iterator.h"
#include "fl/stl/noexcept.h"
+ Include dependency graph for pixel_iterator_adapters.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  fl::detail::ScaledPixelIteratorBrightness
 Input iterator adapter for PixelIterator yielding brightness values. More...
 
class  fl::detail::ScaledPixelIteratorRGB
 Input iterator adapter for PixelIterator yielding 3-byte pixel data. More...
 
class  fl::detail::ScaledPixelIteratorRGB16
 Input iterator adapter for PixelIterator yielding 16-bit RGB pixel data. More...
 
class  fl::detail::ScaledPixelIteratorRGBW
 Input iterator adapter for PixelIterator yielding 4-byte pixel data. More...
 
class  fl::detail::ScaledPixelIteratorRGBWW
 Input iterator adapter yielding 5-byte RGBWW pixels (issue #2558). More...
 

Namespaces

namespace  fl
 Base definition for an LED controller.
 
namespace  fl::detail
 Compile-time linker keep-alive hook for a single fl::Bus.
 

Functions

pair< detail::ScaledPixelIteratorBrightness, detail::ScaledPixelIteratorBrightnessfl::makeScaledBrightnessRange (PixelIterator *pixels) FL_NOEXCEPT
 Create brightness input iterator range from PixelIterator.
 
pair< detail::ScaledPixelIteratorRGB, detail::ScaledPixelIteratorRGBfl::makeScaledPixelRangeRGB (PixelIterator *pixels) FL_NOEXCEPT
 Create RGB input iterator range from PixelIterator.
 
pair< detail::ScaledPixelIteratorRGB16, detail::ScaledPixelIteratorRGB16fl::makeScaledPixelRangeRGB16 (PixelIterator *pixels) FL_NOEXCEPT
 Create 16-bit RGB input iterator range from PixelIterator.
 
pair< detail::ScaledPixelIteratorRGBW, detail::ScaledPixelIteratorRGBWfl::makeScaledPixelRangeRGBW (PixelIterator *pixels) FL_NOEXCEPT
 Create RGBW input iterator range from PixelIterator.
 
pair< detail::ScaledPixelIteratorRGBWW, detail::ScaledPixelIteratorRGBWWfl::makeScaledPixelRangeRGBWW (PixelIterator *pixels) FL_NOEXCEPT
 Create RGBWW input iterator range from PixelIterator (issue #2558)