base: move input.ts to c
This commit is contained in:
@@ -0,0 +1,149 @@
|
||||
#pragma once
|
||||
|
||||
#include "iron_array.h"
|
||||
#include "iron_global.h"
|
||||
#include "iron_map.h"
|
||||
#include <stdbool.h>
|
||||
|
||||
// Input
|
||||
|
||||
extern bool _input_occupied;
|
||||
extern bool _input_registered;
|
||||
|
||||
void input_reset(void);
|
||||
void input_end_frame(void);
|
||||
void input_on_foreground(void);
|
||||
void input_register(void);
|
||||
|
||||
// Mouse
|
||||
|
||||
extern char_ptr_array_t *_mouse_buttons;
|
||||
extern u8_array_t *_mouse_buttons_down;
|
||||
extern u8_array_t *_mouse_buttons_started;
|
||||
extern u8_array_t *_mouse_buttons_released;
|
||||
extern f32 mouse_x;
|
||||
extern f32 mouse_y;
|
||||
extern bool mouse_moved;
|
||||
extern f32 mouse_movement_x;
|
||||
extern f32 mouse_movement_y;
|
||||
extern f32 mouse_wheel_delta;
|
||||
extern f32 mouse_last_x;
|
||||
extern f32 mouse_last_y;
|
||||
|
||||
void mouse_end_frame(void);
|
||||
void mouse_reset(void);
|
||||
i32 mouse_button_index(char *button);
|
||||
bool mouse_down(char *button);
|
||||
bool mouse_down_any(void);
|
||||
bool mouse_started(char *button);
|
||||
bool mouse_started_any(void);
|
||||
bool mouse_released(char *button);
|
||||
void mouse_down_listener(i32 index, i32 x, i32 y);
|
||||
void mouse_up_listener(i32 index, i32 x, i32 y);
|
||||
void mouse_move_listener(i32 x, i32 y, i32 movement_x, i32 movement_y);
|
||||
void mouse_wheel_listener(f32 delta);
|
||||
|
||||
#if defined(IRON_ANDROID) || defined(IRON_IOS)
|
||||
extern f32 mouse_pinch_dist;
|
||||
extern f32 mouse_pinch_total;
|
||||
extern f32 mouse_pinch_smooth;
|
||||
|
||||
void mouse_on_touch_down(i32 index, i32 x, i32 y);
|
||||
void mouse_on_touch_up(i32 index, i32 x, i32 y);
|
||||
void mouse_on_touch_move(i32 index, i32 x, i32 y);
|
||||
#endif
|
||||
|
||||
f32 mouse_view_x(void);
|
||||
f32 mouse_view_y(void);
|
||||
|
||||
// Pen
|
||||
|
||||
extern char_ptr_array_t *pen_buttons;
|
||||
extern u8_array_t *pen_buttons_down;
|
||||
extern u8_array_t *pen_buttons_started;
|
||||
extern u8_array_t *pen_buttons_released;
|
||||
extern f32 pen_x;
|
||||
extern f32 pen_y;
|
||||
extern bool pen_moved;
|
||||
extern f32 pen_movement_x;
|
||||
extern f32 pen_movement_y;
|
||||
extern f32 pen_pressure;
|
||||
extern bool pen_connected;
|
||||
extern bool pen_in_use;
|
||||
extern f32 pen_last_x;
|
||||
extern f32 pen_last_y;
|
||||
|
||||
void pen_end_frame(void);
|
||||
void pen_reset(void);
|
||||
i32 pen_button_index(char *unused);
|
||||
bool pen_down(char *button);
|
||||
bool pen_started(char *button);
|
||||
bool pen_released(char *button);
|
||||
void pen_down_listener(i32 x, i32 y, f32 pressure);
|
||||
void pen_up_listener(i32 x, i32 y, f32 pressure);
|
||||
void pen_move_listener(i32 x, i32 y, f32 pressure);
|
||||
f32 pen_view_x(void);
|
||||
f32 pen_view_y(void);
|
||||
|
||||
// Keyboard
|
||||
|
||||
extern char_ptr_array_t *keyboard_keys;
|
||||
extern i32_map_t *keyboard_keys_down;
|
||||
extern i32_map_t *keyboard_keys_started;
|
||||
extern i32_map_t *keyboard_keys_released;
|
||||
extern char_ptr_array_t *keyboard_keys_frame;
|
||||
extern bool keyboard_repeat_key;
|
||||
extern f32 keyboard_repeat_time;
|
||||
|
||||
void keyboard_end_frame(void);
|
||||
void keyboard_reset(void);
|
||||
bool keyboard_down(char *key);
|
||||
bool keyboard_started(char *key);
|
||||
bool keyboard_started_any(void);
|
||||
bool keyboard_released(char *key);
|
||||
bool keyboard_repeat(char *key);
|
||||
char *keyboard_key_code(i32 key);
|
||||
void keyboard_down_listener(i32 code);
|
||||
void keyboard_up_listener(i32 code);
|
||||
|
||||
#ifdef WITH_GAMEPAD
|
||||
|
||||
// Gamepad
|
||||
|
||||
typedef struct gamepad_stick {
|
||||
f32 x;
|
||||
f32 y;
|
||||
f32 last_x;
|
||||
f32 last_y;
|
||||
bool moved;
|
||||
f32 movement_x;
|
||||
f32 movement_y;
|
||||
} gamepad_stick_t;
|
||||
|
||||
typedef struct gamepad {
|
||||
f32_array_t *buttons_down;
|
||||
u8_array_t *buttons_started;
|
||||
u8_array_t *buttons_released;
|
||||
i32_array_t *buttons_frame;
|
||||
gamepad_stick_t *left_stick;
|
||||
gamepad_stick_t *right_stick;
|
||||
} gamepad_t;
|
||||
|
||||
extern char_ptr_array_t *gamepad_buttons_ps;
|
||||
extern char_ptr_array_t *gamepad_buttons_xbox;
|
||||
extern char_ptr_array_t *gamepad_buttons;
|
||||
extern any_array_t *gamepad_raws;
|
||||
|
||||
void gamepad_end_frame(void);
|
||||
gamepad_stick_t *gamepad_stick_create(void);
|
||||
gamepad_t *gamepad_create(void);
|
||||
void gamepad_reset(void);
|
||||
char *gamepad_key_code(i32 button);
|
||||
i32 gamepad_button_index(char *button);
|
||||
f32 gamepad_down(i32 i, char *button);
|
||||
bool gamepad_started(i32 i, char *button);
|
||||
bool gamepad_released(i32 i, char *button);
|
||||
void gamepad_axis_listener(i32 i, i32 axis, f32 value);
|
||||
void gamepad_button_listener(i32 i, i32 button, f32 value);
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user