Finished most of the system api functions (a few will be implemented later).
							parent
							
								
									8c7600ba09
								
							
						
					
					
						commit
						26fd4cd230
					
				|  | @ -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; | ||||
|      | ||||
|  |  | |||
|  | @ -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); | ||||
| } | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 Yuval Dolev
						Yuval Dolev