GATE
images.h File Reference

Generic raster image memory layout structures. More...

Classes

struct  gate_image_databuffer_class
 
struct  gate_rasterimage_class
 

Macros

#define GATE_IMAGE_PIXELFORMAT_DEFAULT   0x0000
 
#define GATE_IMAGE_PIXELFORMAT_RGBA   0x0001 /* little endian: 0xaabbggrr */
 
#define GATE_IMAGE_PIXELFORMAT_RGB32   0x0002 /* little endian: 0x00bbggrr */
 
#define GATE_IMAGE_PIXELFORMAT_BGRA   0x0003 /* little endian: 0xaarrggbb */
 
#define GATE_IMAGE_PIXELFORMAT_BGR32   0x0004 /* little endian: 0x00rrggbb */
 
#define GATE_IMAGE_PIXELFORMAT_RGB24   0x0011
 
#define GATE_IMAGE_PIXELFORMAT_BGR24   0x0012
 
#define GATE_IMAGE_PIXELFORMAT_RGB555   0x0021 /* 0rrrrrgggggbbbbb */
 
#define GATE_IMAGE_PIXELFORMAT_RGB565   0x0022 /* rrrrrggggggbbbbb */
 
#define GATE_IMAGE_PIXELFORMAT_ARGB4   0x0023 /* aaaarrrrggggbbbb */
 
#define GATE_IMAGE_PIXELFORMAT_YUV2   0x0024 /* */
 
#define GATE_IMAGE_PIXELFORMAT_PAL8   0x0031 /* b + r * 6 + g * 36 */
 
#define GATE_IMAGE_PIXELFORMAT_GRAY8   0x0032 /* */
 
#define GATE_IMAGE_PIXELFORMAT_UNKNOWN   0xffff
 
#define GATE_IMAGE_FLAG_QUALITYMASK   0x000000ff /* image quality from 0 (lowest) to 255 (highest) */
 
#define GATE_IMAGE_FLAG_DEPTHMASK   0x0000ff00 /* area of bit depth of image */
 
#define GATE_IMAGE_FLAG_PALETTE   0x00010000 /* enables color palette */
 
#define GATE_IMAGE_FLAG_NOALPHA   0x00020000 /* disables/ignores alphachannel */
 
#define GATE_IMAGE_FLAG_ENCODE_DEPTH(value)   ((gate_uint32_t)(value & 0xff) << 8)
 
#define GATE_IMAGE_FLAG_DECODE_DEPTH(flags)   (((gate_uint32_t)value >> 8) & 0xff)
 
#define GATE_IMAGE_FLAG_ENCODE_QUALITY(value)   ((gate_uint32_t)value & 0xff)
 
#define GATE_IMAGE_FLAG_DECODE_QUALITY(flags)   ((gate_uint32_t)flags & 0xff)
 

Typedefs

typedef struct gate_image_databuffer_class gate_image_databuffer_t
 
typedef gate_uint8_t *(* gate_rasterimage_get_ptr_t) (gate_uint8_t *data, unsigned width, unsigned height, unsigned x, unsigned y)
 
typedef void(* gate_rasterimage_write_pixel_t) (gate_uint8_t *data, gate_color_t const *col)
 
typedef void(* gate_rasterimage_read_pixel_t) (gate_uint8_t const *data, gate_color_t *col)
 
typedef struct gate_rasterimage_class gate_rasterimage_t
 
typedef gate_result_t(* gate_image_reader_t) (gate_stream_t *srcstream, gate_rasterimage_t *image, gate_uint32_t flags)
 
typedef gate_result_t(* gate_image_writer_t) (gate_rasterimage_t const *image, gate_stream_t *deststream, gate_uint32_t flags)
 

Functions

GATE_GRAPHICS_API gate_rasterimage_tgate_rasterimage_create (gate_rasterimage_t *image, gate_uint16_t pixel_format, unsigned width, unsigned height, gate_color_t const *copypixels)
 
GATE_GRAPHICS_API void gate_rasterimage_release (gate_rasterimage_t *image)
 
GATE_GRAPHICS_API gate_rasterimage_tgate_rasterimage_duplicate (gate_rasterimage_t *dest_image, gate_rasterimage_t const *src_image)
 
GATE_GRAPHICS_API gate_rasterimage_tgate_rasterimage_copy (gate_rasterimage_t *dest_image, gate_rasterimage_t const *src_image)
 
GATE_GRAPHICS_API gate_rasterimage_tgate_rasterimage_convert (gate_rasterimage_t *dest_image, gate_uint16_t pixel_format, gate_rasterimage_t const *src_image)
 
GATE_GRAPHICS_API void * gate_rasterimage_get_pixel_ptr (gate_rasterimage_t const *image, unsigned x, unsigned y)
 
GATE_GRAPHICS_API void * gate_rasterimage_get_line_ptr (gate_rasterimage_t const *image, unsigned y)
 
GATE_GRAPHICS_API gate_uint16_t gate_rasterimage_format (gate_rasterimage_t const *image)
 
GATE_GRAPHICS_API unsigned int gate_rasterimage_width (gate_rasterimage_t const *image)
 
GATE_GRAPHICS_API unsigned int gate_rasterimage_height (gate_rasterimage_t const *image)
 
GATE_GRAPHICS_API gate_result_t gate_rasterimage_get_pixel (gate_rasterimage_t const *image, unsigned x, unsigned y, gate_color_t *out_pixel)
 
GATE_GRAPHICS_API gate_result_t gate_rasterimage_set_pixel (gate_rasterimage_t *image, unsigned x, unsigned y, gate_color_t const *pixel)
 
GATE_GRAPHICS_API gate_result_t gate_rasterimage_paste_image (gate_rasterimage_t *dst_image, gate_rasterimage_t const *src_image, gate_int32_t dst_x, gate_int32_t dst_y, gate_int32_t src_x, gate_int32_t src_y, gate_int32_t width, gate_int32_t height, gate_bool_t transparent)
 
GATE_GRAPHICS_API gate_bool_t gate_rasterimage_is_empty (gate_rasterimage_t const *image)
 
GATE_GRAPHICS_API gate_result_t gate_rasterimage_to_grayscale (gate_rasterimage_t *image)
 
GATE_GRAPHICS_API gate_result_t gate_rasterimage_to_monochrome (gate_rasterimage_t *image)
 
GATE_GRAPHICS_API gate_result_t gate_rasterimage_clear (gate_rasterimage_t *dest, gate_color_t const *clear_color)
 
GATE_GRAPHICS_API gate_result_t gate_rasterimage_rotate_left (gate_rasterimage_t *dest, gate_rasterimage_t const *src)
 
GATE_GRAPHICS_API gate_result_t gate_rasterimage_rotate_right (gate_rasterimage_t *dest, gate_rasterimage_t const *src)
 
GATE_GRAPHICS_API gate_result_t gate_rasterimage_roll_over (gate_rasterimage_t *dest, gate_rasterimage_t const *src)
 
GATE_GRAPHICS_API gate_result_t gate_rasterimage_flip_x (gate_rasterimage_t *dest, gate_rasterimage_t const *src)
 
GATE_GRAPHICS_API gate_result_t gate_rasterimage_flip_y (gate_rasterimage_t *dest, gate_rasterimage_t const *src)
 
GATE_GRAPHICS_API gate_result_t gate_rasterimage_resample (gate_rasterimage_t *dest, gate_rasterimage_t const *src)
 

Detailed Description

Generic raster image memory layout structures.