|
Public Attributes |
|
Gan_ImageFormat | format |
| | format of image: grey-level, RGB colour etc.
|
|
Gan_Type | type |
| | type of pixel values: unsigned char, float etc.
|
|
unsigned long | height |
| | image dimensions
|
|
unsigned long | width |
| | image dimensions
|
| unsigned long | stride |
| unsigned char * | pix_data_ptr |
|
size_t | pix_data_size |
| | allocated size of image data in bytes
|
|
Gan_Bool | pix_data_alloc |
| | flag indicating whether image data was dynamically allocated
|
|
union { |
| union { |
| unsigned char ** uc |
| short ** s |
| unsigned short ** us |
| int ** i |
| unsigned int ** ui |
| float ** f |
| double ** d |
| Gan_BitWord ** b |
| void *** p |
| } gl |
| union { |
| Gan_GLAPixel_uc ** uc |
| Gan_GLAPixel_s ** s |
| Gan_GLAPixel_us ** us |
| Gan_GLAPixel_i ** i |
| Gan_GLAPixel_ui ** ui |
| Gan_GLAPixel_f ** f |
| Gan_GLAPixel_d ** d |
| } gla |
| union { |
| Gan_RGBPixel_uc ** uc |
| Gan_RGBPixel_s ** s |
| Gan_RGBPixel_us ** us |
| Gan_RGBPixel_i ** i |
| Gan_RGBPixel_ui ** ui |
| Gan_RGBPixel_f ** f |
| Gan_RGBPixel_d ** d |
| } rgb |
| union { |
| Gan_RGBAPixel_uc ** uc |
| Gan_RGBAPixel_s ** s |
| Gan_RGBAPixel_us ** us |
| Gan_RGBAPixel_i ** i |
| Gan_RGBAPixel_ui ** ui |
| Gan_RGBAPixel_f ** f |
| Gan_RGBAPixel_d ** d |
| } rgba |
| union { |
| Gan_Vector2_f ** f |
| Gan_Vector2 ** d |
| Gan_Vector2_s ** s |
| Gan_Vector2_i ** i |
| } vfield2D |
| union { |
| Gan_Vector3_f ** f |
| Gan_Vector3 ** d |
| Gan_Vector3_s ** s |
| Gan_Vector3_i ** i |
| } vfield3D |
| } | row_data |
| | pointers to start of each row
|
|
void * | row_data_ptr |
| | generic pointer to row pointer data
|
|
size_t | row_data_size |
| | allocated number of row pointers in bytes
|
|
Gan_BitArray * | ba |
| | array of bit arrays for binary images
|
|
unsigned int | offset_x |
| | user-defined offsets
|
|
unsigned int | offset_y |
| | user-defined offsets
|
|
Gan_Bool | row_data_alloc |
| | flag indicating whether row pointer array was dynamically allocated
|
|
Gan_Bool | struct_alloc |
| | flag indicating whether image structure was dynamically allocated
|
|
void(* | data_free_func )(void *) |
| | function to free image data, defaulting to free() if this field is NULL
|
|
void(* | free_func )(struct Gan_Image *img) |
| | function to free image
|
|
union { |
| union { |
| Gan_Bool(* uc )(struct Gan_Image *, unsigned row, unsigned col, unsigned char pix) |
| Gan_Bool(* s )(struct Gan_Image *, unsigned row, unsigned col, short pix) |
| Gan_Bool(* us )(struct Gan_Image *, unsigned row, unsigned col, unsigned short pix) |
| Gan_Bool(* i )(struct Gan_Image *, unsigned row, unsigned col, int pix) |
| Gan_Bool(* ui )(struct Gan_Image *, unsigned row, unsigned col, unsigned int pix) |
| Gan_Bool(* f )(struct Gan_Image *, unsigned row, unsigned col, float pix) |
| Gan_Bool(* d )(struct Gan_Image *, unsigned row, unsigned col, double pix) |
| Gan_Bool(* b )(struct Gan_Image *, unsigned row, unsigned col, Gan_Bool pix) |
| Gan_Bool(* p )(struct Gan_Image *, unsigned row, unsigned col, void *pix) |
| } gl |
| union { |
| Gan_Bool(* uc )(struct Gan_Image *, unsigned row, unsigned col, Gan_GLAPixel_uc *pix) |
| Gan_Bool(* s )(struct Gan_Image *, unsigned row, unsigned col, Gan_GLAPixel_s *pix) |
| Gan_Bool(* us )(struct Gan_Image *, unsigned row, unsigned col, Gan_GLAPixel_us *pix) |
| Gan_Bool(* i )(struct Gan_Image *, unsigned row, unsigned col, Gan_GLAPixel_i *pix) |
| Gan_Bool(* ui )(struct Gan_Image *, unsigned row, unsigned col, Gan_GLAPixel_ui *pix) |
| Gan_Bool(* f )(struct Gan_Image *, unsigned row, unsigned col, Gan_GLAPixel_f *pix) |
| Gan_Bool(* d )(struct Gan_Image *, unsigned row, unsigned col, Gan_GLAPixel_d *pix) |
| } gla |
| union { |
| Gan_Bool(* uc )(struct Gan_Image *, unsigned row, unsigned col, Gan_RGBPixel_uc *pix) |
| Gan_Bool(* s )(struct Gan_Image *, unsigned row, unsigned col, Gan_RGBPixel_s *pix) |
| Gan_Bool(* us )(struct Gan_Image *, unsigned row, unsigned col, Gan_RGBPixel_us *pix) |
| Gan_Bool(* i )(struct Gan_Image *, unsigned row, unsigned col, Gan_RGBPixel_i *pix) |
| Gan_Bool(* ui )(struct Gan_Image *, unsigned row, unsigned col, Gan_RGBPixel_ui *pix) |
| Gan_Bool(* d )(struct Gan_Image *, unsigned row, unsigned col, Gan_RGBPixel_d *pix) |
| Gan_Bool(* f )(struct Gan_Image *, unsigned row, unsigned col, Gan_RGBPixel_f *pix) |
| } rgb |
| union { |
| Gan_Bool(* uc )(struct Gan_Image *, unsigned row, unsigned col, Gan_RGBAPixel_uc *pix) |
| Gan_Bool(* s )(struct Gan_Image *, unsigned row, unsigned col, Gan_RGBAPixel_s *pix) |
| Gan_Bool(* us )(struct Gan_Image *, unsigned row, unsigned col, Gan_RGBAPixel_us *pix) |
| Gan_Bool(* i )(struct Gan_Image *, unsigned row, unsigned col, Gan_RGBAPixel_i *pix) |
| Gan_Bool(* ui )(struct Gan_Image *, unsigned row, unsigned col, Gan_RGBAPixel_ui *pix) |
| Gan_Bool(* d )(struct Gan_Image *, unsigned row, unsigned col, Gan_RGBAPixel_d *pix) |
| Gan_Bool(* f )(struct Gan_Image *, unsigned row, unsigned col, Gan_RGBAPixel_f *pix) |
| } rgba |
| union { |
| Gan_Bool(* f )(struct Gan_Image *, unsigned row, unsigned col, Gan_Vector2_f *pix) |
| Gan_Bool(* d )(struct Gan_Image *, unsigned row, unsigned col, Gan_Vector2 *pix) |
| Gan_Bool(* s )(struct Gan_Image *, unsigned row, unsigned col, Gan_Vector2_s *pix) |
| Gan_Bool(* i )(struct Gan_Image *, unsigned row, unsigned col, Gan_Vector2_i *pix) |
| } vfield2D |
| union { |
| Gan_Bool(* f )(struct Gan_Image *, unsigned row, unsigned col, Gan_Vector3_f *pix) |
| Gan_Bool(* d )(struct Gan_Image *, unsigned row, unsigned col, Gan_Vector3 *pix) |
| Gan_Bool(* s )(struct Gan_Image *, unsigned row, unsigned col, Gan_Vector3_s *pix) |
| Gan_Bool(* i )(struct Gan_Image *, unsigned row, unsigned col, Gan_Vector3_i *pix) |
| } vfield3D |
| } | set_pix |
| | set image pixel for each format
|
|
union { |
| union { |
| unsigned char(* uc )(struct Gan_Image *, unsigned row, unsigned col) |
| short(* s )(struct Gan_Image *, unsigned row, unsigned col) |
| unsigned short(* us )(struct Gan_Image *, unsigned row, unsigned col) |
| int(* i )(struct Gan_Image *, unsigned row, unsigned col) |
| unsigned int(* ui )(struct Gan_Image *, unsigned row, unsigned col) |
| float(* f )(struct Gan_Image *, unsigned row, unsigned col) |
| double(* d )(struct Gan_Image *, unsigned row, unsigned col) |
| Gan_Bool(* b )(struct Gan_Image *, unsigned row, unsigned col) |
| void *(* p )(struct Gan_Image *, unsigned row, unsigned col) |
| } gl |
| union { |
| Gan_GLAPixel_uc(* uc )(struct Gan_Image *, unsigned row, unsigned col) |
| Gan_GLAPixel_s(* s )(struct Gan_Image *, unsigned row, unsigned col) |
| Gan_GLAPixel_us(* us )(struct Gan_Image *, unsigned row, unsigned col) |
| Gan_GLAPixel_i(* i )(struct Gan_Image *, unsigned row, unsigned col) |
| Gan_GLAPixel_ui(* ui )(struct Gan_Image *, unsigned row, unsigned col) |
| Gan_GLAPixel_f(* f )(struct Gan_Image *, unsigned row, unsigned col) |
| Gan_GLAPixel_d(* d )(struct Gan_Image *, unsigned row, unsigned col) |
| } gla |
| union { |
| Gan_RGBPixel_uc(* uc )(struct Gan_Image *, unsigned row, unsigned col) |
| Gan_RGBPixel_s(* s )(struct Gan_Image *, unsigned row, unsigned col) |
| Gan_RGBPixel_us(* us )(struct Gan_Image *, unsigned row, unsigned col) |
| Gan_RGBPixel_i(* i )(struct Gan_Image *, unsigned row, unsigned col) |
| Gan_RGBPixel_ui(* ui )(struct Gan_Image *, unsigned row, unsigned col) |
| Gan_RGBPixel_f(* f )(struct Gan_Image *, unsigned row, unsigned col) |
| Gan_RGBPixel_d(* d )(struct Gan_Image *, unsigned row, unsigned col) |
| } rgb |
| union { |
| Gan_RGBAPixel_uc(* uc )(struct Gan_Image *, unsigned row, unsigned col) |
| Gan_RGBAPixel_s(* s )(struct Gan_Image *, unsigned row, unsigned col) |
| Gan_RGBAPixel_us(* us )(struct Gan_Image *, unsigned row, unsigned col) |
| Gan_RGBAPixel_i(* i )(struct Gan_Image *, unsigned row, unsigned col) |
| Gan_RGBAPixel_ui(* ui )(struct Gan_Image *, unsigned row, unsigned col) |
| Gan_RGBAPixel_f(* f )(struct Gan_Image *, unsigned row, unsigned col) |
| Gan_RGBAPixel_d(* d )(struct Gan_Image *, unsigned row, unsigned col) |
| } rgba |
| union { |
| Gan_Vector2_f(* f )(struct Gan_Image *, unsigned row, unsigned col) |
| Gan_Vector2(* d )(struct Gan_Image *, unsigned row, unsigned col) |
| Gan_Vector2_s(* s )(struct Gan_Image *, unsigned row, unsigned col) |
| Gan_Vector2_i(* i )(struct Gan_Image *, unsigned row, unsigned col) |
| } vfield2D |
| union { |
| Gan_Vector3_f(* f )(struct Gan_Image *, unsigned row, unsigned col) |
| Gan_Vector3(* d )(struct Gan_Image *, unsigned row, unsigned col) |
| Gan_Vector3_s(* s )(struct Gan_Image *, unsigned row, unsigned col) |
| Gan_Vector3_i(* i )(struct Gan_Image *, unsigned row, unsigned col) |
| } vfield3D |
| } | get_pix |
| | get image pixel for each format
|
|
union { |
| union { |
| Gan_Bool(* uc )(struct Gan_Image *, unsigned char pix) |
| Gan_Bool(* s )(struct Gan_Image *, short pix) |
| Gan_Bool(* us )(struct Gan_Image *, unsigned short pix) |
| Gan_Bool(* i )(struct Gan_Image *, int pix) |
| Gan_Bool(* ui )(struct Gan_Image *, unsigned int pix) |
| Gan_Bool(* f )(struct Gan_Image *, float pix) |
| Gan_Bool(* d )(struct Gan_Image *, double pix) |
| Gan_Bool(* b )(struct Gan_Image *, Gan_Bool pix) |
| Gan_Bool(* p )(struct Gan_Image *, void *pix) |
| } gl |
| union { |
| Gan_Bool(* uc )(struct Gan_Image *, Gan_GLAPixel_uc *pix) |
| Gan_Bool(* s )(struct Gan_Image *, Gan_GLAPixel_s *pix) |
| Gan_Bool(* us )(struct Gan_Image *, Gan_GLAPixel_us *pix) |
| Gan_Bool(* i )(struct Gan_Image *, Gan_GLAPixel_i *pix) |
| Gan_Bool(* ui )(struct Gan_Image *, Gan_GLAPixel_ui *pix) |
| Gan_Bool(* f )(struct Gan_Image *, Gan_GLAPixel_f *pix) |
| Gan_Bool(* d )(struct Gan_Image *, Gan_GLAPixel_d *pix) |
| } gla |
| union { |
| Gan_Bool(* uc )(struct Gan_Image *, Gan_RGBPixel_uc *pix) |
| Gan_Bool(* s )(struct Gan_Image *, Gan_RGBPixel_s *pix) |
| Gan_Bool(* us )(struct Gan_Image *, Gan_RGBPixel_us *pix) |
| Gan_Bool(* i )(struct Gan_Image *, Gan_RGBPixel_i *pix) |
| Gan_Bool(* ui )(struct Gan_Image *, Gan_RGBPixel_ui *pix) |
| Gan_Bool(* f )(struct Gan_Image *, Gan_RGBPixel_f *pix) |
| Gan_Bool(* d )(struct Gan_Image *, Gan_RGBPixel_d *pix) |
| } rgb |
| union { |
| Gan_Bool(* uc )(struct Gan_Image *, Gan_RGBAPixel_uc *pix) |
| Gan_Bool(* s )(struct Gan_Image *, Gan_RGBAPixel_s *pix) |
| Gan_Bool(* us )(struct Gan_Image *, Gan_RGBAPixel_us *pix) |
| Gan_Bool(* i )(struct Gan_Image *, Gan_RGBAPixel_i *pix) |
| Gan_Bool(* ui )(struct Gan_Image *, Gan_RGBAPixel_ui *pix) |
| Gan_Bool(* f )(struct Gan_Image *, Gan_RGBAPixel_f *pix) |
| Gan_Bool(* d )(struct Gan_Image *, Gan_RGBAPixel_d *pix) |
| } rgba |
| union { |
| Gan_Bool(* f )(struct Gan_Image *, Gan_Vector2_f *pix) |
| Gan_Bool(* d )(struct Gan_Image *, Gan_Vector2 *pix) |
| Gan_Bool(* s )(struct Gan_Image *, Gan_Vector2_s *pix) |
| Gan_Bool(* i )(struct Gan_Image *, Gan_Vector2_i *pix) |
| } vfield2D |
| union { |
| Gan_Bool(* f )(struct Gan_Image *, Gan_Vector3_f *pix) |
| Gan_Bool(* d )(struct Gan_Image *, Gan_Vector3 *pix) |
| Gan_Bool(* s )(struct Gan_Image *, Gan_Vector3_s *pix) |
| Gan_Bool(* i )(struct Gan_Image *, Gan_Vector3_i *pix) |
| } vfield3D |
| } | fill_const |
| | fill image with constant value
|
|
Gan_Image *(* | copy )(struct Gan_Image *, struct Gan_Image *) |
| | copy image
|