/* ActiveGS, Copyright 2004-2016 Olivier Goguel, https://github.com/ogoguel/ActiveGS Based on Kegs, Copyright 2004 Kent Dickey, https://kegs.sourceforge.net This code is covered by the GNU GPL licence */ #include "defc.h" enum ui_msg { LOADING_ON=1304, LOADING_OFF, REFRESH_STATUS, SHOW_CURSOR }; enum { PLATFORM_WINDOWS = 100, PLATFORM_MACOSX, PLATFORM_IOS, PLATFORM_ANDROID }; enum { ENV_DESKTOP = 2000, ENV_TOUCH, ENV_BROWSER }; struct s_driver { int platform ; int environment; char activegsxml[1024]; void (*x_config_load_roms)(); void (*x_post_event)(const char* _msg); int (*x_handle_fkey)(int _key); void (*x_handle_state)(); void (*x_handle_state_on_paint)(float _width,float _height); void (*x_apply_default_options)(void*); void (*x_fixed_memory_ptr)(); void (*x_notify_eject)(); s_driver() { memset(this,0,sizeof(*this)); } void init(void (*_driver)()); void setLaunchXML(const char* _xml){ if (_xml!=NULL) strcpy(activegsxml,_xml); else activegsxml[0] = 0; } }; extern s_driver g_driver;