Main Page   Modules   Compound List   File List   Compound Members   File Members  

Gan_Image Struct Reference
[Image Package]

structure definition for image More...

#include <image_defs.h>

List of all members.

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_BitArrayba
 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


Detailed Description

structure definition for image


Member Data Documentation

union { ... } Gan_Image::gl
 

grey-level formats

union { ... } Gan_Image::gl
 

grey-level formats

union { ... } Gan_Image::gl
 

grey-level formats

union { ... } Gan_Image::gl
 

grey level

union { ... } Gan_Image::gla
 

grey-level formats with slpha channels

union { ... } Gan_Image::gla
 

grey-level formats with alpha channels

union { ... } Gan_Image::gla
 

grey-level formats with alpha channels

union { ... } Gan_Image::gla
 

grey level with alpha channel

unsigned char* Gan_Image::pix_data_ptr
 

generic pointer to pixel data, as a byte pointer so that we can do pointer arithmetic in bytes with it

union { ... } Gan_Image::rgb
 

RGB colour formats.

union { ... } Gan_Image::rgb
 

RGB colour formats.

union { ... } Gan_Image::rgb
 

RGB colour formats.

union { ... } Gan_Image::rgb
 

RGB colour.

union { ... } Gan_Image::rgba
 

RGB colour formats with alpha channels.

union { ... } Gan_Image::rgba
 

RGB colour formats with alpha channels.

union { ... } Gan_Image::rgba
 

RGB colour formats with alpha channels.

union { ... } Gan_Image::rgba
 

RGB colour with alpha channel.

unsigned long Gan_Image::stride
 

stride of image, i.e. number of bytes in memory between the start of each row; stride >= width*(size of pixel)

union { ... } Gan_Image::vfield2D
 

2D vector field formats

union { ... } Gan_Image::vfield2D
 

2D vector field formats

union { ... } Gan_Image::vfield2D
 

2D vector field formats

union { ... } Gan_Image::vfield2D
 

2D vector field

union { ... } Gan_Image::vfield3D
 

3D vector field formats

union { ... } Gan_Image::vfield3D
 

3D vector field formats

union { ... } Gan_Image::vfield3D
 

3D vector field formats

union { ... } Gan_Image::vfield3D
 

3D vector field


The documentation for this struct was generated from the following file:
Generated on Mon Oct 13 16:14:46 2003 by doxygen1.3-rc1