## 2.1 Data Types

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.

    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_Input;

    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;

    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  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_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));

HTML Documentation Maintainance:`Arturo Espinosa <arturo@nuclecu.unam.mx>`