X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fbuttons.h;h=f3d93c89e94584437d936ecd9d9379a20e779273;hb=370a25a79d2e8df1e6e3e4cb4be39496d0190c28;hp=cd8db0efe7601bf2997624f54a3b9a0d0bf201e1;hpb=7eec2d73cfa570db7704b990d871e23ebfeb215b;p=rocksndiamonds.git diff --git a/src/buttons.h b/src/buttons.h index cd8db0ef..f3d93c89 100644 --- a/src/buttons.h +++ b/src/buttons.h @@ -83,15 +83,6 @@ void DrawCompleteVideoDisplay(void); /* NEW GADGET STUFF -------------------------------------------------------- */ -/* some values for gadget graphics (also used by editor.c) */ -#define ED_BUTTON_COUNT_YPOS 60 -#define ED_BUTTON_COUNT_XSIZE 20 -#define ED_BUTTON_COUNT_YSIZE 20 -#define ED_WIN_COUNT_XPOS (2 + ED_BUTTON_COUNT_XSIZE + 2) -#define ED_WIN_COUNT_YPOS ED_BUTTON_COUNT_YPOS -#define ED_WIN_COUNT_XSIZE 52 -#define ED_WIN_COUNT_YSIZE ED_BUTTON_COUNT_YSIZE - /* gadget types */ #define GD_TYPE_NORMAL_BUTTON (1 << 0) #define GD_TYPE_CHECK_BUTTON (1 << 1) @@ -144,28 +135,36 @@ void DrawCompleteVideoDisplay(void); #define GDI_NUMBER_MAX 13 #define GDI_TEXT_VALUE 14 #define GDI_TEXT_SIZE 15 -#define GDI_DESIGN_UNPRESSED 16 -#define GDI_DESIGN_PRESSED 17 -#define GDI_ALT_DESIGN_UNPRESSED 18 -#define GDI_ALT_DESIGN_PRESSED 19 -#define GDI_DESIGN_BORDER 20 -#define GDI_DECORATION_DESIGN 21 -#define GDI_DECORATION_POSITION 22 -#define GDI_DECORATION_SIZE 23 -#define GDI_DECORATION_SHIFTING 24 -#define GDI_EVENT_MASK 25 -#define GDI_EVENT 26 -#define GDI_CALLBACK_INFO 27 -#define GDI_CALLBACK_ACTION 28 -#define GDI_AREA_SIZE 29 -#define GDI_ITEM_SIZE 30 -#define GDI_SCROLLBAR_ITEMS_MAX 31 -#define GDI_SCROLLBAR_ITEMS_VISIBLE 32 -#define GDI_SCROLLBAR_ITEM_POSITION 33 -#define GDI_INFO_TEXT 34 +#define GDI_TEXT_FONT 16 +#define GDI_DESIGN_UNPRESSED 17 +#define GDI_DESIGN_PRESSED 18 +#define GDI_ALT_DESIGN_UNPRESSED 19 +#define GDI_ALT_DESIGN_PRESSED 20 +#define GDI_BORDER_SIZE 21 +#define GDI_TEXTINPUT_DESIGN_WIDTH 22 +#define GDI_DECORATION_DESIGN 23 +#define GDI_DECORATION_POSITION 24 +#define GDI_DECORATION_SIZE 25 +#define GDI_DECORATION_SHIFTING 26 +#define GDI_EVENT_MASK 27 +#define GDI_EVENT 28 +#define GDI_CALLBACK_INFO 29 +#define GDI_CALLBACK_ACTION 30 +#define GDI_AREA_SIZE 31 +#define GDI_ITEM_SIZE 32 +#define GDI_SCROLLBAR_ITEMS_MAX 33 +#define GDI_SCROLLBAR_ITEMS_VISIBLE 34 +#define GDI_SCROLLBAR_ITEM_POSITION 35 +#define GDI_INFO_TEXT 36 typedef void (*gadget_function)(void *); +struct GadgetBorder +{ + int size; /* size of gadget border */ + int width; /* for text input gadgets */ +}; + struct GadgetDesign { Pixmap pixmap; /* Pixmap with gadget surface */ @@ -203,6 +202,7 @@ struct GadgetTextInput int number_max; /* maximal allowed numeric value */ int size; /* maximal size of input text */ int cursor_position; /* actual cursor position */ + int font_type; /* font to use for text input */ }; struct GadgetScrollbar @@ -215,6 +215,7 @@ struct GadgetScrollbar int position; /* scrollbar position on screen */ int position_max; /* bottom/right scrollbar position */ int drag_position; /* drag position on scrollbar */ + int correction; /* scrollbar position correction */ }; struct GadgetInfo @@ -230,10 +231,10 @@ struct GadgetInfo boolean checked; /* check/radio button state */ int radio_nr; /* number of radio button series */ boolean mapped; /* gadget is active */ + struct GadgetBorder border; /* gadget border design */ struct GadgetDesign design[2]; /* 0: normal; 1: pressed */ struct GadgetDesign alt_design[2]; /* alternative design */ struct GadgetDecoration deco; /* decoration on top of gadget */ - int design_border; /* border size of gadget decoration */ unsigned long event_mask; /* possible events for this gadget */ struct GadgetEvent event; /* actual gadget event */ gadget_function callback_info; /* function for pop-up info text */