aboutsummaryrefslogtreecommitdiff
path: root/code/handmade_platform.h
diff options
context:
space:
mode:
Diffstat (limited to 'code/handmade_platform.h')
-rw-r--r--code/handmade_platform.h20
1 files changed, 19 insertions, 1 deletions
diff --git a/code/handmade_platform.h b/code/handmade_platform.h
index 2eef88b..e241b28 100644
--- a/code/handmade_platform.h
+++ b/code/handmade_platform.h
@@ -81,6 +81,7 @@ extern "C" {
typedef uint64_t u64;
typedef size_t memory_index;
+ typedef s32 rune;
typedef float r32;
typedef double r64;
@@ -141,6 +142,14 @@ extern "C" {
s16 *Samples;
} game_sound_output_buffer;
+ typedef struct game_text_button
+ {
+ rune Codepoint;
+ b32 Control;
+ b32 Shift;
+ b32 Alt;
+ } game_text_button;
+
typedef struct game_button_state
{
int HalfTransitionCount;
@@ -150,6 +159,15 @@ extern "C" {
typedef struct game_controller_input
{
b32 IsConnected;
+
+ struct
+ {
+ u32 TextInputCount;
+ game_text_button TextInputBuffer[64];
+
+ // TODO(luca): Generate code for keys that are not characters like Return, Backspace, etc.
+ } Keyboard;
+
b32 IsAnalog;
r32 StickAverageX;
r32 StickAverageY;
@@ -192,7 +210,7 @@ extern "C" {
typedef struct game_input
{
- game_button_state MouseButtons[5];
+ game_button_state MouseButtons[PlatformMouseButton_Count];
s32 MouseX, MouseY, MouseZ;
r32 dtForFrame;