LibGame
v0.4.0
The LG Game Engine - Copyright (C) 2024 ETMSoftware
|
Functions | |
void | lg_get_motion_and_shot_from_touchscreen (int sprite_x, int sprite_y, int *motion_x, int *motion_y, int zone_side, zboolean *shot) |
void | lg_wait_for_finger_down (float *x, float *y) |
void | lg_wait_for_finger_motion (float *dx, float *dy) |
zboolean | lg_get_finger_position (zboolean down_flag, float *x, float *y) |
zboolean | lg_get_finger_state_and_pos (float *x, float *y) |
zboolean | lg_get_finger_motion (float *dx, float *dy) |
lg_finger_down_loc | lg_get_finger_down_loc () |
lg_finger_down_loc | lg_finger_loc_from_pos (float x, float y) |
unsigned long | lg_return_finger_down_code_push_back_event () |
void | lg_flush_touchscreen_buf () |
Touchscreen event types:
Touchscreen events always happen in down/motion/up sequences
VARO: SDL y axis goes down, whereas OpenGL y axis goes up
TODO: complete the doc
void lg_get_motion_and_shot_from_touchscreen | ( | int | sprite_x, |
int | sprite_y, | ||
int * | motion_x, | ||
int * | motion_y, | ||
int | zone_side, | ||
zboolean * | shot | ||
) |
Touch in top-left zone = shot motion_x = 0 / +1 / -1, motion_y = 0 / +1 / -1, shot = TRUE/FALSE,
void lg_wait_for_finger_down | ( | float * | x, |
float * | y | ||
) |
Wait for finger down and set x and y (location) in range [0.0f -> 1.0f] (set *x if x != NULL and set *y if y != NULL)
void lg_wait_for_finger_motion | ( | float * | dx, |
float * | dy | ||
) |
Wait for finger motion and set dx and dy in range [-1.0f -> 1.0f] (set *dx if dx != NULL and set *dy if dy != NULL)
zboolean lg_get_finger_position | ( | zboolean | down_flag, |
float * | x, | ||
float * | y | ||
) |
Return TRUE if finger down (or finger up if down_flag = FALSE) detected, FALSE otherwise - Non-blocking If down (or up), set x and y in range [0.0f -> 1.0f] (set *x if x != NULL and set *y if y != NULL)
zboolean lg_get_finger_state_and_pos | ( | float * | x, |
float * | y | ||
) |
If finger down happened, and no finger up has happened yet, set x and y in range [0.0f -> 1.0f], then return TRUE (set *x if x != NULL and set *y if y != NULL) - Non-blocking Return FALSE otherwise
zboolean lg_get_finger_motion | ( | float * | dx, |
float * | dy | ||
) |
Return TRUE if finger motion detected, FALSE otherwise - Non-blocking If motion, set dx and dy in range [-1.0f -> 1.0f] (set *dx if dx != NULL and set *dy if dy != NULL)
lg_finger_down_loc lg_get_finger_down_loc | ( | ) |
Return left, h_center, right, top, v_center, bottom, or none - Non-blocking
lg_finger_down_loc lg_finger_loc_from_pos | ( | float | x, |
float | y | ||
) |
Return left, h_center, right, top, v_center, bottom, or none
unsigned long lg_return_finger_down_code_push_back_event | ( | ) |
0 means no finger down - Push back event in the queue so that it can be read again
void lg_flush_touchscreen_buf | ( | ) |
(self-explanatory)