36 template<
size_t V_PIXEL_SIZE,
typename T_COLOR_OBJECT,
typename T_COPY>
47 static const uint8_t*
getPixelAddress(
const uint8_t* pPixels, uint16_t indexPixel)
52 static void replicatePixel(uint8_t* pPixelDest,
const uint8_t* pPixelSrc, uint16_t count)
54 T_COPY* pDest =
reinterpret_cast<T_COPY*
>(pPixelDest);
55 T_COPY* pEnd = pDest + (count *
PixelSize /
sizeof(T_COPY));
56 const T_COPY* pEndSrc =
reinterpret_cast<const T_COPY*
>(pPixelSrc) +
PixelSize /
sizeof(T_COPY);
60 const T_COPY* pSrc =
reinterpret_cast<const T_COPY*
>(pPixelSrc);
61 while (pSrc < pEndSrc)
68 static void movePixelsInc(uint8_t* pPixelDest,
const uint8_t* pPixelSrc, uint16_t count)
70 const T_COPY* pSrc =
reinterpret_cast<const T_COPY*
>(pPixelSrc);
71 T_COPY* pDest =
reinterpret_cast<T_COPY*
>(pPixelDest);
72 T_COPY* pEnd = pDest + (count *
PixelSize /
sizeof(T_COPY));
80 static void movePixelsDec(uint8_t* pPixelDest,
const uint8_t* pPixelSrc, uint16_t count)
82 const T_COPY* pSrc =
reinterpret_cast<const T_COPY*
>(pPixelSrc);
83 const T_COPY* pSrcBack = pSrc + (count *
PixelSize /
sizeof(T_COPY));
84 T_COPY* pDest =
reinterpret_cast<T_COPY*
>(pPixelDest);
85 T_COPY* pDestBack = pDest + (count *
PixelSize /
sizeof(T_COPY));
87 while (pDestBack > pDest)
89 *--pDestBack = *--pSrcBack;
99 template<
size_t V_PIXEL_SIZE,
typename T_COLOR_OBJECT,
typename T_COPY>
107 const uint8_t* pSrc =
reinterpret_cast<const uint8_t*
>(pPixelSrc);
109 while (pPixelDest < pEnd)
111 *pPixelDest++ = pgm_read_byte(pSrc++);
121 template<
size_t V_PIXEL_SIZE,
typename T_COLOR_OBJECT,
typename T_COPY>
128 uint16_t* pDest =
reinterpret_cast<uint16_t*
>(pPixelDest);
130 const uint16_t* pSrc =
reinterpret_cast<const uint16_t*
>(pPixelSrc);
134 *pDest++ = pgm_read_word(pSrc++);
#define PGM_VOID_P
Definition: NeoUtil.h:42
Definition: NeoByteElements.h:101
static void movePixelsInc_P(uint8_t *pPixelDest, PGM_VOID_P pPixelSrc, uint16_t count)
Definition: NeoByteElements.h:104
Definition: NeoByteElements.h:38
static void replicatePixel(uint8_t *pPixelDest, const uint8_t *pPixelSrc, uint16_t count)
Definition: NeoByteElements.h:52
static const uint8_t * getPixelAddress(const uint8_t *pPixels, uint16_t indexPixel)
Definition: NeoByteElements.h:47
static uint8_t * getPixelAddress(uint8_t *pPixels, uint16_t indexPixel)
Definition: NeoByteElements.h:43
static void movePixelsDec(uint8_t *pPixelDest, const uint8_t *pPixelSrc, uint16_t count)
Definition: NeoByteElements.h:80
T_COLOR_OBJECT ColorObject
Definition: NeoByteElements.h:41
static void movePixelsInc(uint8_t *pPixelDest, const uint8_t *pPixelSrc, uint16_t count)
Definition: NeoByteElements.h:68
static const size_t PixelSize
Definition: NeoByteElements.h:40
Definition: NeoByteElements.h:123
static void movePixelsInc_P(uint8_t *pPixelDest, PGM_VOID_P pPixelSrc, uint16_t count)
Definition: NeoByteElements.h:126