added video frame counter (currently not used)
[rocksndiamonds.git] / src / libgame / system.h
index 40f4b4771d001e7bd365dc9cada4d1de13de02a2..4c0081e5de7cf60f1faa54bd9f3f25cf494eff69 100644 (file)
 
 #define STYLE_DEFAULT          STYLE_NONE
 
+// values for special global animation delay types
+#define ANIM_DELAY_UNDEFINED   -1
+#define ANIM_DELAY_NONE                0
+#define ANIM_DELAY_INIT                1
+#define ANIM_DELAY_ANIM                2
+#define ANIM_DELAY_POST                3
+
+// values for special global animation delay actions
+#define ANIM_DELAY_ACTION_NONE -1
+
 // values for special global animation events
 #define ANIM_EVENT_UNDEFINED   -1
 #define ANIM_EVENT_NONE                0
                                 y >= gfx.ey && y < gfx.ey + gfx.eysize)
 
 // values for mouse cursor
+#define CURSOR_UNDEFINED       -1
 #define CURSOR_DEFAULT         0
 #define CURSOR_NONE            1
 #define CURSOR_PLAYFIELD       2
@@ -1000,6 +1011,7 @@ struct VideoSystemInfo
   int screen_rendering_mode;
   int vsync_mode;
 
+  unsigned int frame_counter;
   unsigned int frame_delay;
   unsigned int frame_delay_value;
 
@@ -1111,6 +1123,8 @@ struct GfxInfo
   void (*draw_tile_cursor_function)(int);
 
   int cursor_mode;
+  int cursor_mode_override;
+  int cursor_mode_final;
   int mouse_x, mouse_y;
 };
 
@@ -1839,14 +1853,18 @@ void FreeBitmapTextures(Bitmap **);
 void ScaleBitmap(Bitmap **, int);
 
 void SetMouseCursor(int);
+void UpdateRawMousePosition(int, int);
+void UpdateMousePosition(void);
 
 void OpenAudio(void);
 void CloseAudio(void);
 void SetAudioMode(boolean);
 
+void InitEventFilter(EventFilter);
 boolean PendingEvent(void);
 void WaitEvent(Event *event);
 void PeekEvent(Event *event);
+void PumpEvents(void);
 void CheckQuitEvent(void);
 Key GetEventKey(KeyEvent *, boolean);
 KeyMod HandleKeyModState(Key, int);
@@ -1854,7 +1872,7 @@ KeyMod GetKeyModState(void);
 KeyMod GetKeyModStateFromEvents(void);
 void StartTextInput(int, int, int, int);
 void StopTextInput(void);
-boolean CheckCloseWindowEvent(ClientMessageEvent *);
+void PushUserEvent(int, int, int);
 
 void InitJoysticks(void);
 boolean ReadJoystick(int, int *, int *, boolean *, boolean *);