added new game control input method 'follow finger' for touch devices
[rocksndiamonds.git] / src / libgame / system.h
index fa422cafd8ee206c299023d8908a62430747f4ac..641010948cfa93dea18e4d2a62f6d3824de9a115 100644 (file)
@@ -85,6 +85,7 @@
 /* values for touch control */
 #define TOUCH_CONTROL_VIRTUAL_BUTTONS  "virtual_buttons"
 #define TOUCH_CONTROL_WIPE_GESTURES    "wipe_gestures"
+#define TOUCH_CONTROL_FOLLOW_FINGER    "follow_finger"
 
 #define TOUCH_CONTROL_DEFAULT          TOUCH_CONTROL_VIRTUAL_BUTTONS
 
 #define TOUCH_DROP_DISTANCE_DEFAULT    5
 
 
+/* values for screen keyboard on mobile devices */
+#if defined(PLATFORM_ANDROID)
+#define HAS_SCREEN_KEYBOARD
+#define SCREEN_KEYBOARD_POS(h)         ((h) / 2)
+#endif
+
+
 /* default input keys */
 #define DEFAULT_KEY_LEFT               KSYM_Left
 #define DEFAULT_KEY_RIGHT              KSYM_Right
@@ -801,6 +809,12 @@ struct VideoSystemInfo
   unsigned int frame_delay;
   unsigned int frame_delay_value;
 
+  boolean shifted_up;
+  int shifted_up_pos;
+  int shifted_up_pos_last;
+  unsigned int shifted_up_delay;
+  unsigned int shifted_up_delay_value;
+
   boolean initialized;
 };
 
@@ -1294,6 +1308,12 @@ struct XY
   int x, y;
 };
 
+struct XYTileSize
+{
+  int x, y;
+  int tile_size;
+};
+
 struct Rect
 {
   int x, y;
@@ -1482,6 +1502,8 @@ Key GetEventKey(KeyEvent *, boolean);
 KeyMod HandleKeyModState(Key, int);
 KeyMod GetKeyModState();
 KeyMod GetKeyModStateFromEvents();
+void StartTextInput(int, int, int, int);
+void StopTextInput();
 boolean CheckCloseWindowEvent(ClientMessageEvent *);
 
 void InitJoysticks();