Banjo API 0.0.1
C99 game development API
Loading...
Searching...
No Matches
pixel.h File Reference
#include <banjo/api.h>
Include dependency graph for pixel.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define BJ_PIXEL_TYPE_INDEX   0x01
#define BJ_PIXEL_TYPE_BITFIELD   0x02
#define BJ_PIXEL_TYPE_BYTES   0x03
#define BJ_PIXEL_ORDER_RGB   0x01
#define BJ_PIXEL_ORDER_XRGB   BJ_PIXEL_ORDER_RGB
#define BJ_PIXEL_ORDER_BGR   0x02
#define BJ_PIXEL_ORDER_XBGR   BJ_PIXEL_ORDER_BGR
#define BJ_PIXEL_ORDER_RGBX   0x03
#define BJ_PIXEL_ORDER_BGRX   0x04
#define BJ_PIXEL_ORDER_ARGB   0x05
#define BJ_PIXEL_ORDER_ABGR   0x06
#define BJ_PIXEL_ORDER_RGBA   0x07
#define BJ_PIXEL_ORDER_BGRA   0x08
#define BJ_PIXEL_LAYOUT_1555   0x00
#define BJ_PIXEL_LAYOUT_8888   0x01
#define BJ_PIXEL_LAYOUT_565   0x02
#define BJ_PIXEL_MODE_MAKE(bpp, type, layout, order)
#define BJ_PIXEL_MODE_MAKE_INDEXED(bpp)
#define BJ_PIXEL_MODE_MAKE_BITFIELD_16(layout, order)
#define BJ_PIXEL_MODE_MAKE_BITFIELD_32(layout, order)
#define BJ_PIXEL_MODE_MAKE_BYTES(bpp, order)
#define BJ_PIXEL_GET_BPP(fmt)
#define BJ_PIXEL_GET_TYPE(fmt)
#define BJ_PIXEL_GET_LAYOUT(fmt)
#define BJ_PIXEL_GET_ORDER(fmt)

Enumerations

enum  bj_pixel_mode {
  BJ_PIXEL_MODE_UNKNOWN = 0x00u , BJ_PIXEL_MODE_INDEXED_1 = 0x00000101u , BJ_PIXEL_MODE_INDEXED_4 = 0x00000104u , BJ_PIXEL_MODE_INDEXED_8 = 0x00000108u ,
  BJ_PIXEL_MODE_XRGB1555 = 0x01000210u , BJ_PIXEL_MODE_RGB565 = 0x01020210u , BJ_PIXEL_MODE_XRGB8888 = 0x01010220u , BJ_PIXEL_MODE_BGR24 = 0x02000318u
}

Functions

void bj_make_pixel_rgb (bj_pixel_mode mode, uint32_t value, uint8_t *p_red, uint8_t *p_green, uint8_t *p_blue)
uint32_t bj_get_pixel_value (bj_pixel_mode mode, uint8_t red, uint8_t green, uint8_t blue)
int bj_compute_pixel_mode (uint8_t bpp, uint32_t red_mask, uint32_t green_mask, uint32_t blue_mask)
size_t bj_compute_bitmap_stride (size_t width, bj_pixel_mode mode)

Detailed Description

Header file for general pixel manipulation facilities.