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 global static | ||||||
| #define external extern "C" | #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 '/' | #define SLASH '/' | ||||||
|  | @ -128,6 +159,13 @@ struct Mac_Vars { | ||||||
|     Thread_Context *tctx; |     Thread_Context *tctx; | ||||||
|      |      | ||||||
|     Arena* frame_arena; |     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; |     String_Const_u8 binary_path; | ||||||
|      |      | ||||||
|  |  | ||||||
|  | @ -766,33 +766,28 @@ system_memory_annotation_sig(){ | ||||||
| 
 | 
 | ||||||
| function | function | ||||||
| system_show_mouse_cursor_sig(){ | system_show_mouse_cursor_sig(){ | ||||||
|     NotImplemented; |     mac_vars.cursor_show = show; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| function | function | ||||||
| system_set_fullscreen_sig(){ | 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; |     b32 success = true; | ||||||
|      |     return(success); | ||||||
|     return(result); |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| function | function | ||||||
| system_is_fullscreen_sig(){ | system_is_fullscreen_sig(){ | ||||||
|     b32 result = false; |     // NOTE(yuval): Read comment in system_is_fullscreen_sig in win32_4ed.cpp | ||||||
|      |     b32 result = (mac_vars.full_screen != mac_vars.do_toggle); | ||||||
|     NotImplemented; |  | ||||||
|      |  | ||||||
|     return(result); |     return(result); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| function | function | ||||||
| system_get_keyboard_modifiers_sig(){ | system_get_keyboard_modifiers_sig(){ | ||||||
|     Input_Modifier_Set result = {}; |     Input_Modifier_Set result = copy_modifier_set(arena, &mac_vars.input_chunk.pers.modifiers); | ||||||
|      |  | ||||||
|     NotImplemented; |  | ||||||
|      |  | ||||||
|     return(result); |     return(result); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue
	
	 Yuval Dolev
						Yuval Dolev