-/***********************************************************
-* 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
#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
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? */