projects
/
rocksndiamonds.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
rnd-20061230-1-src
[rocksndiamonds.git]
/
src
/
libgame
/
gadgets.h
diff --git
a/src/libgame/gadgets.h
b/src/libgame/gadgets.h
index ac14cb81f2b1d0e9dfecd733629c1c63799caa33..43125d66b3ab34b7d06c10a57d252678e5253bfa 100644
(file)
--- a/
src/libgame/gadgets.h
+++ b/
src/libgame/gadgets.h
@@
-1,7
+1,7
@@
/***********************************************************
* Artsoft Retro-Game Library *
*----------------------------------------------------------*
/***********************************************************
* Artsoft Retro-Game Library *
*----------------------------------------------------------*
-* (c) 1994-200
2
Artsoft Entertainment *
+* (c) 1994-200
6
Artsoft Entertainment *
* Holger Schemel *
* Detmolder Strasse 189 *
* 33604 Bielefeld *
* Holger Schemel *
* Detmolder Strasse 189 *
* 33604 Bielefeld *
@@
-17,7
+17,8
@@
#include "system.h"
#include "system.h"
-#define GADGET_FRAME_DELAY 150 /* delay between gadget actions */
+#define GADGET_FRAME_DELAY_FIRST 250 /* delay after first click */
+#define GADGET_FRAME_DELAY 100 /* delay for pressed butten */
/* gadget types */
#define GD_TYPE_NORMAL_BUTTON (1 << 0)
/* gadget types */
#define GD_TYPE_NORMAL_BUTTON (1 << 0)
@@
-101,9
+102,13
@@
#define GDI_SCROLLBAR_ITEMS_MAX 37
#define GDI_SCROLLBAR_ITEMS_VISIBLE 38
#define GDI_SCROLLBAR_ITEM_POSITION 39
#define GDI_SCROLLBAR_ITEMS_MAX 37
#define GDI_SCROLLBAR_ITEMS_VISIBLE 38
#define GDI_SCROLLBAR_ITEM_POSITION 39
-#define GDI_INFO_TEXT 40
-#define GDI_ACTIVE 41
-#define GDI_DIRECT_DRAW 42
+#define GDI_WHEEL_AREA_X 40
+#define GDI_WHEEL_AREA_Y 41
+#define GDI_WHEEL_AREA_WIDTH 42
+#define GDI_WHEEL_AREA_HEIGHT 43
+#define GDI_INFO_TEXT 44
+#define GDI_ACTIVE 45
+#define GDI_DIRECT_DRAW 46
typedef void (*gadget_function)(void *);
typedef void (*gadget_function)(void *);
@@
-145,14
+150,14
@@
struct GadgetDrawingArea
struct GadgetTextButton
{
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
{
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 */
int cursor_position; /* actual text cursor position */
int number_value; /* integer value, if numeric */
int number_min; /* minimal allowed numeric value */
@@
-162,8
+167,8
@@
struct GadgetTextInput
struct GadgetTextArea
{
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 */
int cursor_position; /* actual text cursor position */
int cursor_x; /* actual x cursor position */
int cursor_y; /* actual y cursor position */
@@
-205,12
+210,18
@@
struct GadgetScrollbar
int correction; /* scrollbar position correction */
};
int correction; /* scrollbar position correction */
};
+struct GadgetWheelArea
+{
+ int x, y; /* active area for wheel (start) */
+ int width, height; /* active area for wheel (size) */
+};
+
struct GadgetInfo
{
int id; /* internal gadget identifier */
int custom_id; /* custom gadget identifier */
int custom_type_id; /* custom gadget type identifier */
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, ...) */
int x, y; /* gadget position */
int width, height; /* gadget size */
unsigned int type; /* type (button, text input, ...) */
@@
-236,9
+247,14
@@
struct GadgetInfo
struct GadgetTextArea textarea; /* fields for text area gadget */
struct GadgetSelectbox selectbox; /* fields for selectbox gadget */
struct GadgetScrollbar scrollbar; /* fields for scrollbar gadget */
struct GadgetTextArea textarea; /* fields for text area gadget */
struct GadgetSelectbox selectbox; /* fields for selectbox gadget */
struct GadgetScrollbar scrollbar; /* fields for scrollbar gadget */
+ struct GadgetWheelArea wheelarea; /* fields for scroll wheel area */
struct GadgetInfo *next; /* next list entry */
};
struct GadgetInfo *next; /* next list entry */
};
+
+void InitGadgetsSoundCallback(void (*activating_function)(void),
+ void (*selecting_function)(void));
+
struct GadgetInfo *CreateGadget(int, ...);
void FreeGadget(struct GadgetInfo *);
struct GadgetInfo *CreateGadget(int, ...);
void FreeGadget(struct GadgetInfo *);