/* newbutton.h */


#ifndef LUI_NEWBUTTON_H
#define LUI_NEWBUTTON_H



typedef struct lui_newbutton {
   Window window;
   int x, y;
   int width, height;
   int framewidth;

   int toggle;                  /* 0 = momentary button */
                                /* 1 = toggle button, no light */
                                /* 2 = toggle button with indicator light */
   char *label;                 /* text label */
   int state;                   /* 1 = on/pressed, 0 = off */
   int highlight;               /* 1 = pointer is in window, 0 = not */
   unsigned long color;         /* background pixel value when state=1 */
   float red, green, blue;      /* background color when state=1 */

   void *userdata;              /* pointer to user data */
   int (*callback)( struct lui_newbutton *, int ); /* user callback func*/
   int mousebutton;             /* which mouse button was pressed */
   int            indexowner;

   int context_index;           /* for example, Vis5D context */
   int index;                   /* user data */
   int special;          /* MJK, this is so the right mouse button can toggle
                            this if set to 1 */
} LUI_NEWBUTTON;




extern LUI_NEWBUTTON *LUI_PushButtonCreate( Window parent,
                int x, int y, int width, int height, char *label );


extern LUI_NEWBUTTON *LUI_ToggleButtonCreate( Window parent,
                int x, int y, int width, int height, char *label );

extern LUI_NEWBUTTON *LUI_CheckButtonCreate( Window parent,
                int x, int y, int width, int height, char *label );


extern void LUI_ButtonColor( LUI_NEWBUTTON *b,
                             double red, double green, double blue );


extern void LUI_ButtonSetState( LUI_NEWBUTTON *b, int state );


extern int LUI_ButtonGetState( LUI_NEWBUTTON *b );


extern void LUI_ButtonCallback( LUI_NEWBUTTON *b, int (*callback)() );


extern void LUI_ButtonIndex( LUI_NEWBUTTON *b, int index );

extern void LUI_ButtonContextIndex( LUI_NEWBUTTON *b, int index );

extern void LUI_NewButtonDestroy( LUI_NEWBUTTON *button );



#endif



syntax highlighted by Code2HTML, v. 0.9.1