96 return mPixels == other.mPixels;
103 return !(*
this == other);
173 return mPixels == other.mPixels;
178 return !(*
this == other);
221 if (!
mHasValue && !other.mHasValue)
return true;
222 if (
mHasValue != other.mHasValue)
return false;
223 return mPixels == other.mPixels;
227 return !(*
this == other);
238#if FASTLED_HD_COLOR_MIXING
251class ScaledPixelIteratorBrightness {
280 ScaledPixelIteratorBrightness tmp = *
this;
366 return mPixels == other.mPixels;
373 return !(*
this == other);
401inline pair<detail::ScaledPixelIteratorRGBW, detail::ScaledPixelIteratorRGBW>
410inline pair<detail::ScaledPixelIteratorRGBWW, detail::ScaledPixelIteratorRGBWW>
418#if FASTLED_HD_COLOR_MIXING
435inline detail::ScaledPixelIteratorBrightness
437 return detail::ScaledPixelIteratorBrightness(pixels);
444inline pair<detail::ScaledPixelIteratorRGB16, detail::ScaledPixelIteratorRGB16>
A fixed-size array implementation similar to std::array.
void advance() FL_NO_EXCEPT
Advance to next pixel (or mark as end)
PixelIterator * mPixels
Underlying PixelIterator.
ScaledPixelIteratorRGB16(PixelIterator *pixels) FL_NO_EXCEPT
Construct from PixelIterator.
ScaledPixelIteratorRGB16 operator++(int) FL_NO_EXCEPT
Post-increment operator.
array< u16, 3 > mCurrent
Current pixel value (cached, wire order, 16-bit)
const array< u16, 3 > & reference
const array< u16, 3 > & operator*() const FL_NO_EXCEPT
Dereference operator.
bool operator!=(const ScaledPixelIteratorRGB16 &other) const FL_NO_EXCEPT
Inequality comparison.
bool mHasValue
true if current pixel is valid
array< u16, 3 > value_type
const array< u16, 3 > * pointer
ptrdiff_t difference_type
ScaledPixelIteratorRGB16 & operator++() FL_NO_EXCEPT
Pre-increment operator.
ScaledPixelIteratorRGB16() FL_NO_EXCEPT
Sentinel constructor (end iterator)
const array< u16, 3 > * operator->() const FL_NO_EXCEPT
Arrow operator.
input_iterator_tag iterator_category
bool operator==(const ScaledPixelIteratorRGB16 &other) const FL_NO_EXCEPT
Equality comparison.
Input iterator adapter for PixelIterator yielding 16-bit RGB pixel data.
PixelIterator * mPixels
Underlying PixelIterator.
ScaledPixelIteratorRGB(PixelIterator *pixels) FL_NO_EXCEPT
Construct from PixelIterator.
const array< u8, 3 > * operator->() const FL_NO_EXCEPT
Arrow operator.
bool operator!=(const ScaledPixelIteratorRGB &other) const FL_NO_EXCEPT
Inequality comparison.
array< u8, 3 > value_type
ScaledPixelIteratorRGB & operator++() FL_NO_EXCEPT
Pre-increment operator.
input_iterator_tag iterator_category
bool operator==(const ScaledPixelIteratorRGB &other) const FL_NO_EXCEPT
Equality comparison.
array< u8, 3 > mCurrent
Current pixel value (cached, wire order)
const array< u8, 3 > & reference
void advance() FL_NO_EXCEPT
Advance to next pixel (or mark as end)
const array< u8, 3 > & operator*() const FL_NO_EXCEPT
Dereference operator.
ScaledPixelIteratorRGB operator++(int) FL_NO_EXCEPT
Post-increment operator.
const array< u8, 3 > * pointer
ScaledPixelIteratorRGB() FL_NO_EXCEPT
Sentinel constructor (end iterator)
ptrdiff_t difference_type
bool mHasValue
true if current pixel is valid
Input iterator adapter for PixelIterator yielding 3-byte pixel data.
array< u8, 4 > mCurrent
Current pixel value (cached, wire order)
ScaledPixelIteratorRGBW(PixelIterator *pixels) FL_NO_EXCEPT
Construct from PixelIterator.
const array< u8, 4 > * pointer
bool operator!=(const ScaledPixelIteratorRGBW &other) const FL_NO_EXCEPT
Inequality comparison.
const array< u8, 4 > * operator->() const FL_NO_EXCEPT
Arrow operator.
input_iterator_tag iterator_category
ptrdiff_t difference_type
bool operator==(const ScaledPixelIteratorRGBW &other) const FL_NO_EXCEPT
Equality comparison.
const array< u8, 4 > & reference
bool mHasValue
true if current pixel is valid
array< u8, 4 > value_type
ScaledPixelIteratorRGBW() FL_NO_EXCEPT
Sentinel constructor (end iterator)
ScaledPixelIteratorRGBW operator++(int) FL_NO_EXCEPT
Post-increment operator.
const array< u8, 4 > & operator*() const FL_NO_EXCEPT
Dereference operator.
PixelIterator * mPixels
Underlying PixelIterator.
ScaledPixelIteratorRGBW & operator++() FL_NO_EXCEPT
Pre-increment operator.
Input iterator adapter for PixelIterator yielding 4-byte pixel data.
const array< u8, 5 > & reference
ScaledPixelIteratorRGBWW & operator++() FL_NO_EXCEPT
ScaledPixelIteratorRGBWW(PixelIterator *pixels) FL_NO_EXCEPT
const array< u8, 5 > * operator->() const FL_NO_EXCEPT
const array< u8, 5 > * pointer
array< u8, 5 > value_type
ScaledPixelIteratorRGBWW() FL_NO_EXCEPT
ptrdiff_t difference_type
bool operator!=(const ScaledPixelIteratorRGBWW &other) const FL_NO_EXCEPT
const array< u8, 5 > & operator*() const FL_NO_EXCEPT
bool operator==(const ScaledPixelIteratorRGBWW &other) const FL_NO_EXCEPT
ScaledPixelIteratorRGBWW operator++(int) FL_NO_EXCEPT
input_iterator_tag iterator_category
Input iterator adapter yielding 5-byte RGBWW pixels (issue #2558).
pair< typename fl::decay< T1 >::type, typename fl::decay< T2 >::type > make_pair(T1 &&t, T2 &&u) FL_NO_EXCEPT
Compile-time linker keep-alive hook for a single fl::Bus.
u8 u8 fract8 blur_amount FL_NO_EXCEPT
pair< detail::ScaledPixelIteratorRGB16, detail::ScaledPixelIteratorRGB16 > makeScaledPixelRangeRGB16(PixelIterator *pixels) FL_NO_EXCEPT
Create 16-bit RGB input iterator range from PixelIterator.
pair< detail::ScaledPixelIteratorRGBW, detail::ScaledPixelIteratorRGBW > makeScaledPixelRangeRGBW(PixelIterator *pixels) FL_NO_EXCEPT
Create RGBW input iterator range from PixelIterator.
pair< detail::ScaledPixelIteratorRGB, detail::ScaledPixelIteratorRGB > makeScaledPixelRangeRGB(PixelIterator *pixels) FL_NO_EXCEPT
Create RGB input iterator range from PixelIterator.
pair< detail::ScaledPixelIteratorRGBWW, detail::ScaledPixelIteratorRGBWW > makeScaledPixelRangeRGBWW(PixelIterator *pixels) FL_NO_EXCEPT
Create RGBWW input iterator range from PixelIterator (issue #2558)
Base definition for an LED controller.
fl::PixelIterator PixelIterator