added gadget tag to always execute the callback action when leaving gadget
[rocksndiamonds.git] / src / libgame / gadgets.h
index 5e196192270e3e2de4d58f3f0e0938bb3806911a..5f873747e4033a14aa0b0de8aa5c9e9ff75509cb 100644 (file)
 #define GDI_INFO_TEXT                  48
 #define GDI_ACTIVE                     49
 #define GDI_DIRECT_DRAW                        50
+#define GDI_CALLBACK_ACTION_ALWAYS     51
 
 /* gadget deactivation hack */
 #define GDI_ACTIVE_POS(a)              ((a) < 0 ? POS_OFFSCREEN : (a))
@@ -244,6 +245,7 @@ struct GadgetInfo
   boolean mapped;                      /* gadget is mapped on the screen */
   boolean active;                      /* gadget is active */
   boolean direct_draw;                 /* directly draw to frontbuffer */
+  boolean callback_action_always;      /* also callback if gadget unchanged */
   int font;                            /* font to use when inactive */
   int font_active;                     /* font to use when active */
   int font_unselectable;               /* font to use when unselectable */
@@ -277,14 +279,14 @@ void RedrawGadget(struct GadgetInfo *);
 
 void MapGadget(struct GadgetInfo *);
 void UnmapGadget(struct GadgetInfo *);
-void UnmapAllGadgets();
-void RemapAllGadgets();
+void UnmapAllGadgets(void);
+void RemapAllGadgets(void);
 
-boolean anyTextInputGadgetActive();
-boolean anyTextAreaGadgetActive();
-boolean anySelectboxGadgetActive();
-boolean anyScrollbarGadgetActive();
-boolean anyTextGadgetActive();
+boolean anyTextInputGadgetActive(void);
+boolean anyTextAreaGadgetActive(void);
+boolean anySelectboxGadgetActive(void);
+boolean anyScrollbarGadgetActive(void);
+boolean anyTextGadgetActive(void);
 
 void ClickOnGadget(struct GadgetInfo *, int);
 
@@ -292,5 +294,6 @@ boolean HandleGadgets(int, int, int);
 boolean HandleGadgetsKeyInput(Key);
 
 void DumpGadgetIdentifiers(void);
+boolean DoGadgetAction(int);
 
 #endif /* GADGETS_H */