X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Flibgame%2Fgadgets.h;h=47de5776bf05761aea91167e1e5acfcac5b70000;hb=4bab1dda973bbcc46ca5ca9e2792b3bceb6694b9;hp=8c8d6c353bfd9b70a24a7792e9e8d11f9c394417;hpb=4d4b9cf009d4aefe9e167ac6b838c468513684ab;p=rocksndiamonds.git diff --git a/src/libgame/gadgets.h b/src/libgame/gadgets.h index 8c8d6c35..47de5776 100644 --- a/src/libgame/gadgets.h +++ b/src/libgame/gadgets.h @@ -1,15 +1,13 @@ -/*********************************************************** -* Artsoft Retro-Game Library * -*----------------------------------------------------------* -* (c) 1994-2006 Artsoft Entertainment * -* Holger Schemel * -* Detmolder Strasse 189 * -* 33604 Bielefeld * -* Germany * -* e-mail: info@artsoft.org * -*----------------------------------------------------------* -* gadgets.h * -***********************************************************/ +// ============================================================================ +// Artsoft Retro-Game Library +// ---------------------------------------------------------------------------- +// (c) 1995-2014 by Artsoft Entertainment +// Holger Schemel +// info@artsoft.org +// http://www.artsoft.org/ +// ---------------------------------------------------------------------------- +// gadgets.h +// ============================================================================ #ifndef GADGETS_H #define GADGETS_H @@ -110,6 +108,10 @@ #define GDI_ACTIVE 45 #define GDI_DIRECT_DRAW 46 +/* gadget deactivation hack */ +#define GDI_ACTIVE_POS(a) ((a) < 0 ? POS_OFFSCREEN : (a)) + + typedef void (*gadget_function)(void *); struct GadgetBorder @@ -135,7 +137,7 @@ struct GadgetDecoration struct GadgetEvent { - unsigned long type; /* event type */ + unsigned int type; /* event type */ int button; /* button number for button events */ int x, y; /* gadget position at event time */ boolean off_borders; /* mouse pointer outside gadget? */ @@ -150,14 +152,14 @@ struct GadgetDrawingArea struct GadgetTextButton { - char value[MAX_GADGET_TEXTSIZE]; /* text written on the button */ + char value[MAX_GADGET_TEXTSIZE + 1]; /* text written on the button */ int size; /* maximal size of button text */ }; struct GadgetTextInput { - char value[MAX_GADGET_TEXTSIZE]; /* text string in input field */ - char last_value[MAX_GADGET_TEXTSIZE]; /* last text string in input field */ + char value[MAX_GADGET_TEXTSIZE + 1]; /* text string in input field */ + char last_value[MAX_GADGET_TEXTSIZE + 1];/* last text string in input field */ int cursor_position; /* actual text cursor position */ int number_value; /* integer value, if numeric */ int number_min; /* minimal allowed numeric value */ @@ -167,8 +169,8 @@ struct GadgetTextInput struct GadgetTextArea { - char value[MAX_GADGET_TEXTSIZE]; /* text string in input field */ - char last_value[MAX_GADGET_TEXTSIZE]; /* last text string in input field */ + char value[MAX_GADGET_TEXTSIZE + 1]; /* text string in input field */ + char last_value[MAX_GADGET_TEXTSIZE + 1];/* last text string in input field */ int cursor_position; /* actual text cursor position */ int cursor_x; /* actual x cursor position */ int cursor_y; /* actual y cursor position */ @@ -221,7 +223,7 @@ struct GadgetInfo int id; /* internal gadget identifier */ int custom_id; /* custom gadget identifier */ int custom_type_id; /* custom gadget type identifier */ - char info_text[MAX_INFO_TEXTSIZE]; /* short popup info text */ + char info_text[MAX_INFO_TEXTSIZE + 1];/* short popup info text */ int x, y; /* gadget position */ int width, height; /* gadget size */ unsigned int type; /* type (button, text input, ...) */