Finished most of the system api functions (a few will be implemented later).

This commit is contained in:
Yuval Dolev 2020-01-01 00:07:21 +02:00
parent 8c7600ba09
commit 26fd4cd230
2 changed files with 46 additions and 13 deletions

View File

@ -71,6 +71,37 @@
#define global static
#define external extern "C"
struct Control_Keys{
b8 l_ctrl;
b8 r_ctrl;
b8 l_alt;
b8 r_alt;
};
struct Mac_Input_Chunk_Transient{
Input_List event_list;
b8 mouse_l_press;
b8 mouse_l_release;
b8 mouse_r_press;
b8 mouse_r_release;
b8 out_of_window;
i8 mouse_wheel;
b8 trying_to_kill;
};
struct Mac_Input_Chunk_Persistent{
Vec2_i32 mouse;
Control_Keys controls;
Input_Modifier_Set_Fixed modifiers;
b8 mouse_l;
b8 mouse_r;
};
struct Mac_Input_Chunk{
Mac_Input_Chunk_Transient trans;
Mac_Input_Chunk_Persistent pers;
};
////////////////////////////////
#define SLASH '/'
@ -128,6 +159,13 @@ struct Mac_Vars {
Thread_Context *tctx;
Arena* frame_arena;
Mac_Input_Chunk input_chunk;
b8 full_screen;
b8 do_toggle;
i32 cursor_show;
i32 prev_cursor_show;
String_Const_u8 binary_path;

View File

@ -766,33 +766,28 @@ system_memory_annotation_sig(){
function
system_show_mouse_cursor_sig(){
NotImplemented;
mac_vars.cursor_show = show;
}
function
system_set_fullscreen_sig(){
b32 result = false;
// NOTE(yuval): Read comment in system_set_fullscreen_sig in win32_4ed.cpp
mac_vars.do_toggle = (mac_vars.full_screen != full_screen);
NotImplemented;
return(result);
b32 success = true;
return(success);
}
function
system_is_fullscreen_sig(){
b32 result = false;
NotImplemented;
// NOTE(yuval): Read comment in system_is_fullscreen_sig in win32_4ed.cpp
b32 result = (mac_vars.full_screen != mac_vars.do_toggle);
return(result);
}
function
system_get_keyboard_modifiers_sig(){
Input_Modifier_Set result = {};
NotImplemented;
Input_Modifier_Set result = copy_modifier_set(arena, &mac_vars.input_chunk.pers.modifiers);
return(result);
}