GFXprim
2D bitmap graphics library with emphasis on speed and correctness
Loading...
Searching...
No Matches
gp_get_set_bytes.h File Reference

Helper macros to get and set bytes. More...

Go to the source code of this file.

Macros

#define GP_SWAP_BYTES2(v)
 Swaps 2 lower bytes in a pixel if pixel is in foreign endianity.
 
#define GP_SWAP_BYTES3(v)
 Swaps 3 lower bytes in a pixel if pixel is in foreign endianity.
 
#define GP_SWAP_BYTES4(v)
 Swaps 4 lower bytes in a pixel if pixel is in foreign endianity.
 
#define GP_GET_BYTES1(src)
 Align safe get byte.
 
#define GP_SET_BYTES1(dst, byte)
 Align safe set byte.
 
#define GP_GET_BYTES2_LE(src)
 Little endian align usafe get bytes.
 
#define GP_SET_BYTES2_LE(dst, bytes)
 Little endian align usafe set bytes.
 
#define GP_GET_BYTES2_BE(src)
 Big endian align usafe get bytes.
 
#define GP_SET_BYTES2_BE(dst, bytes)
 Big endian align usafe set bytes.
 
#define GP_GET_BYTES4_BE(src)
 Big endian align usafe get bytes.
 
#define GP_SET_BYTES4_BE(dst, bytes)
 Big endian align usafe set bytes.
 
#define GP_GET_BYTES4_LE(src)
 Little endian align usafe get bytes.
 
#define GP_SET_BYTES4_LE(dst, bytes)
 Little endian align usafe set bytes.
 

Detailed Description

Helper macros to get and set bytes.

Definition in file gp_get_set_bytes.h.

Macro Definition Documentation

◆ GP_GET_BYTES1

#define GP_GET_BYTES1 ( src)
Value:
(*((uint8_t *)(src)))

Align safe get byte.

Reads a byte from a buffer.

Parameters
bufA pointer to a starting byte of the buffer.

Definition at line 55 of file gp_get_set_bytes.h.

Referenced by gp_getpixel_raw_8BPP().

◆ GP_GET_BYTES2_BE

#define GP_GET_BYTES2_BE ( src)
Value:
(*((uint16_t *)(src)))

Big endian align usafe get bytes.

Reads two bytes from a buffer in a big endian order.

Parameters
bufA pointer to a starting byte of the buffer.

Definition at line 101 of file gp_get_set_bytes.h.

Referenced by gp_getpixel_raw_16BPP_BE().

◆ GP_GET_BYTES2_LE

#define GP_GET_BYTES2_LE ( src)
Value:
(*((uint16_t *)(src)))

Little endian align usafe get bytes.

Reads two bytes from a buffer in a little endian order.

Parameters
bufA pointer to a starting byte of the buffer.

Definition at line 75 of file gp_get_set_bytes.h.

Referenced by gp_getpixel_raw_16BPP().

◆ GP_GET_BYTES4_BE

#define GP_GET_BYTES4_BE ( src)
Value:
*((uint32_t *)src)

Big endian align usafe get bytes.

Reads two bytes from a buffer in a big endian order.

Parameters
bufA pointer to a starting byte of the buffer.

Definition at line 127 of file gp_get_set_bytes.h.

◆ GP_GET_BYTES4_LE

#define GP_GET_BYTES4_LE ( src)
Value:
*((uint32_t *)src)

Little endian align usafe get bytes.

Reads two bytes from a buffer in a little endian order.

Parameters
bufA pointer to a starting byte of the buffer.

Definition at line 153 of file gp_get_set_bytes.h.

Referenced by gp_getpixel_raw_32BPP().

◆ GP_SET_BYTES1

#define GP_SET_BYTES1 ( dst,
byte )
Value:
*((uint8_t *)(dst)) = (byte)

Align safe set byte.

Writes a byte into a buffer buffer.

Parameters
bufA pointer to a starting byte of the buffer.
byteA value to be written.

Definition at line 65 of file gp_get_set_bytes.h.

Referenced by gp_putpixel_raw_8BPP().

◆ GP_SET_BYTES2_BE

#define GP_SET_BYTES2_BE ( dst,
bytes )
Value:
*((uint16_t *)(dst)) = (bytes)

Big endian align usafe set bytes.

Writes two bytes from to a buffer in a big endian order.

Parameters
bufA pointer to a starting byte of the buffer.

Definition at line 114 of file gp_get_set_bytes.h.

Referenced by gp_putpixel_raw_16BPP_BE().

◆ GP_SET_BYTES2_LE

#define GP_SET_BYTES2_LE ( dst,
bytes )
Value:
*((uint16_t *)(dst)) = (bytes)

Little endian align usafe set bytes.

Writes two bytes from to a buffer in a little endian order.

Parameters
bufA pointer to a starting byte of the buffer.

Definition at line 88 of file gp_get_set_bytes.h.

Referenced by gp_putpixel_raw_16BPP().

◆ GP_SET_BYTES4_BE

#define GP_SET_BYTES4_BE ( dst,
bytes )
Value:
*((uint32_t *)(dst)) = (bytes)

Big endian align usafe set bytes.

Writes four bytes from to a buffer in a big endian order.

Parameters
bufA pointer to a starting byte of the buffer.

Definition at line 140 of file gp_get_set_bytes.h.

◆ GP_SET_BYTES4_LE

#define GP_SET_BYTES4_LE ( dst,
bytes )
Value:
*((uint32_t *)(dst)) = (bytes)

Little endian align usafe set bytes.

Writes four bytes from to a buffer in a little endian order.

Parameters
bufA pointer to a starting byte of the buffer.

Definition at line 166 of file gp_get_set_bytes.h.

Referenced by gp_putpixel_raw_32BPP().

◆ GP_SWAP_BYTES2

#define GP_SWAP_BYTES2 ( v)
Value:
( \
(((v) & 0xff00)>>8) | \
(((v) & 0x00ff)<<8) \
)

Swaps 2 lower bytes in a pixel if pixel is in foreign endianity.

Parameters
vA pixel value.

Definition at line 20 of file gp_get_set_bytes.h.

◆ GP_SWAP_BYTES3

#define GP_SWAP_BYTES3 ( v)
Value:
( \
((v) & 0x00ff00) | \
(((v) & 0x0000ff)<<16) | \
(((v) & 0xff0000)>>16) \
)

Swaps 3 lower bytes in a pixel if pixel is in foreign endianity.

Parameters
vA pixel value.

Definition at line 30 of file gp_get_set_bytes.h.

◆ GP_SWAP_BYTES4

#define GP_SWAP_BYTES4 ( v)
Value:
( \
(((v) & 0xff000000)>>24) | \
(((v) & 0x00ff0000)>>8) | \
(((v) & 0x0000ff00)<<8) | \
(((v) & 0x000000ff)<<24) \
)

Swaps 4 lower bytes in a pixel if pixel is in foreign endianity.

Parameters
vA pixel value.

Definition at line 41 of file gp_get_set_bytes.h.