Most of the data types in EZwgl are hidden from the user. There are only a few special data types an application programmer needs to be aware of. The important ones are the prototypes for callbacks and event handlers. Below is a list of these data types.
/* these can only be used as pointers */ typedef void EZ_Widget; typedef void EZ_LabelPixmap; typedef void EZ_TextProperty; typedef void EZ_TextProp; typedef void EZ_Item; typedef void EZ_TreeNode; typedef void EZ_Timer; typedef void EZ_Bitmap; typedef void EZ_Pixmap; typedef void EZ_Input; /* used in the GL */ typedef void EZ_GLImage; typedef float EZ_Vector[4]; typedef float EZ_Vector3[3]; typedef float EZ_Matrix[4][4]; typedef float EZ_Material; typedef float EZ_LightSrc; typedef float EZ_LightModel; /* prototypes for func ptrs */ typedef void (*EZ_CallBack)(void *object, void *data)); typedef void (*EZ_InputCallback)(void *object, void *data, int fd, int mask)); typedef void (*EZ_EventHandler)(void *object, void *data, int etype, XEvent *event)); typedef void (*EZ_MessageHandler)(void *msgIn, void *client_data); typedef int (*EZ_DnDEncoder)(void *object, void *data, char **msg,int *len, int *needfree)); typedef int (*EZ_DnDDecoder)(void *object, void *data, char *msg,int len)); typedef void *(*EZ_DirTreeNodeCreator)(char *path, void *data); typedef void (*EZ_MessageHandler)(void *msgIn, void *client_data); typedef void (*EZ_WorkAreaGeometryManager)(void *GMData, EZ_Item **data, int nitems, int Rx,int Ry,int Rw, int Rh, int xsp, int ysp, int *w_ret, int *h_ret));