mostly wrapped up the mac init function, need to link free type properly, left lots of unimplemented stubs to work on

This commit is contained in:
Allen Webster 2017-09-26 11:44:13 -04:00
parent 80b32ca4ed
commit 894479bfca
4 changed files with 99 additions and 4 deletions

View File

@ -109,7 +109,6 @@ system_schedule_step(){
////////////////////////////////
// TODO(allen): add a "shown but auto-hides on timer" setting here.
internal
Sys_Show_Mouse_Cursor_Sig(system_show_mouse_cursor){
// TODO(allen)
@ -241,7 +240,6 @@ osx_init(){
// Memory init
//
memset(&osx, 0, sizeof(osx));
memset(&target, 0, sizeof(target));
memset(&memory_vars, 0, sizeof(memory_vars));
memset(&plat_settings, 0, sizeof(plat_settings));
@ -275,7 +273,7 @@ osx_init(){
// Read command line
//
read_command_line(argc, argv);
read_command_line(osx.argc, osx.argv);
//
// Threads
@ -289,8 +287,37 @@ osx_init(){
coroutines_init();
// TODO
//
// Font System Init
//
system_font_init(&sysfunc.font, 0, 0, plat_settings.font_size, plat_settings.use_hinting);
//
// App Init
//
char cwd[4096];
u32 size = sysfunc.get_current_path(cwd, sizeof(cwd));
if (size == 0 || size >= sizeof(cwd)){
system_error_box("Could not get current directory at launch.");
}
String curdir = make_string(cwd, size);
terminate_with_null(&curdir);
replace_char(&curdir, '\\', '/');
String clipboard_string = {0};
if (osx.has_clipboard_item){
clipboard_string = make_string(osx.clipboard_data, osx.clipboard_size);
}
LOG("Initializing application variables\n");
app.init(&sysfunc, &target, &memory_vars, clipboard_string, curdir, custom_api);
}
#include "4ed_shared_fonts.cpp"
#include "mac_4ed_file_track.cpp"
#include "4ed_font_static_functions.cpp"
// BOTTOM

View File

@ -291,6 +291,8 @@ main(int argc, char **argv){
umem clipboard_size = MB(4);
osx.clipboard_data = osx_allocate(clipboard_size);
osx.clipboard_max = clipboard_size;
osx.argc = argc;
osx.argv = argv;
osx_init();

View File

@ -0,0 +1,63 @@
/*
* Mr. 4th Dimention - Allen Webster
*
* 28.06.2017
*
* Mac file tracking C++ wrapper.
*
*/
// TOP
File_Track_Result
init_track_system(File_Track_System *system, Partition *scratch, void *table_memory, i32 table_memory_size, void *listener_memory, i32 listener_memory_size){
File_Track_Result result = FileTrack_Good;
NotImplemented;
return(result);
}
File_Track_Result
add_listener(File_Track_System *system, Partition *scratch, u8 *filename){
File_Track_Result result = FileTrack_Good;
NotImplemented;
return(result);
}
File_Track_Result
remove_listener(File_Track_System *system, Partition *scratch, u8 *filename){
File_Track_Result result = FileTrack_Good;
NotImplemented;
return(result);
}
File_Track_Result
move_track_system(File_Track_System *system, Partition *scratch, void *mem, i32 size){
File_Track_Result result = FileTrack_Good;
NotImplemented;
return(result);
}
File_Track_Result
expand_track_system_listeners(File_Track_System *system, Partition *scratch, void *mem, i32 size){
File_Track_Result result = FileTrack_Good;
NotImplemented;
return(result);
}
File_Track_Result
get_change_event(File_Track_System *system, Partition *scratch, u8 *buffer, i32 max, i32 *size){
File_Track_Result result = FileTrack_Good;
NotImplemented;
return(result);
}
File_Track_Result
shut_down_track_system(File_Track_System *system, Partition *scratch){
File_Track_Result result = FileTrack_Good;
NotImplemented;
return(result);
}
// BOTTOM

View File

@ -42,6 +42,9 @@ typedef struct OSX_Vars{
b32 full_screen;
b32 do_toggle;
i32 argc;
char **argv;
} OSX_Vars;
// In C++ layer.