48 lines
2.3 KiB
Plaintext
48 lines
2.3 KiB
Plaintext
module sdl3::sdl;
|
|
|
|
typedef InitFlags = uint;
|
|
|
|
const InitFlags INIT_AUDIO @builtin = 0x00000010;
|
|
const InitFlags INIT_VIDEO @builtin = 0x00000020;
|
|
const InitFlags INIT_JOYSTICK @builtin = 0x00000200;
|
|
const InitFlags INIT_HAPTIC @builtin = 0x00001000;
|
|
const InitFlags INIT_GAMEPAD @builtin = 0x00002000;
|
|
const InitFlags INIT_EVENTS @builtin = 0x00004000;
|
|
const InitFlags INIT_SENSOR @builtin = 0x00008000;
|
|
const InitFlags INIT_CAMERA @builtin = 0x00010000;
|
|
|
|
enum AppResult : inline CInt {
|
|
APP_CONTINUE,
|
|
APP_SUCCESS,
|
|
APP_FAILURE
|
|
}
|
|
|
|
alias AppInit_func = fn AppResult(void **appstate, int argc, char[]* argv);
|
|
alias AppIterate_func = fn AppResult(void *appstate);
|
|
alias AppEvent_func = fn AppResult(void *appstate, Event *event);
|
|
alias AppQuit_func = fn void(void *appstate, AppResult result);
|
|
|
|
|
|
extern fn bool init(InitFlags flags) @extern("SDL_Init");
|
|
extern fn bool init_sub_system(InitFlags flags) @extern("SDL_InitSubSystem");
|
|
extern fn void quit_sub_system(InitFlags flags) @extern("SDL_QuitSubSystem");
|
|
extern fn InitFlags was_init(InitFlags flags) @extern("SDL_WasInit");
|
|
extern fn void quit() @extern("SDL_Quit");
|
|
extern fn bool is_main_thread() @extern("SDL_IsMainThread");
|
|
|
|
alias MainThreadCallback = fn void(void *userdata);
|
|
|
|
extern fn bool run_on_main_thread(MainThreadCallback callback, void *userdata, bool wait_complete) @extern("SDL_RunOnMainThread");
|
|
extern fn bool set_app_metadata(ZString appname, ZString appversion, ZString appidentifier) @extern("SDL_SetAppMetadata");
|
|
extern fn bool set_app_metadata_property(ZString name, ZString value) @extern("SDL_SetAppMetadataProperty");
|
|
|
|
const ZString PROP_APP_METADATA_NAME_STRING @builtin = "SDL.app.metadata.name";
|
|
const ZString PROP_APP_METADATA_VERSION_STRING @builtin = "SDL.app.metadata.version";
|
|
const ZString PROP_APP_METADATA_IDENTIFIER_STRING @builtin = "SDL.app.metadata.identifier";
|
|
const ZString PROP_APP_METADATA_CREATOR_STRING @builtin = "SDL.app.metadata.creator";
|
|
const ZString PROP_APP_METADATA_COPYRIGHT_STRING @builtin = "SDL.app.metadata.copyright";
|
|
const ZString PROP_APP_METADATA_URL_STRING @builtin = "SDL.app.metadata.url";
|
|
const ZString PROP_APP_METADATA_TYPE_STRING @builtin = "SDL.app.metadata.type";
|
|
|
|
extern fn ZString get_app_metadata_property(ZString name) @extern("SDL_GetAppMetadataProperty");
|