#ifndef WXD_APP_H
#define WXD_APP_H
#include "../wxd_types.h"
WXD_EXPORTED wxd_App_t*
wxd_GetApp();
WXD_EXPORTED int
wxd_Main(int argc, char** argv, wxd_OnInitCallback on_init, void* userData);
WXD_EXPORTED void
wxd_App_SetTopWindow(wxd_App_t* app, wxd_Window_t* window);
WXD_EXPORTED wxd_Window_t*
wxd_App_GetTopWindow(wxd_App_t* app);
WXD_EXPORTED bool
wxd_App_IsMainLoopRunning(wxd_App_t* app);
WXD_EXPORTED void
wxd_App_ExitMainLoop(wxd_App_t* app);
WXD_EXPORTED bool
wxd_App_GetExitOnFrameDelete(wxd_App_t* app);
WXD_EXPORTED void
wxd_App_SetExitOnFrameDelete(wxd_App_t* app, bool exitOnFrameDelete);
WXD_EXPORTED void
wxd_App_SetAppName(wxd_App_t* app, const char* name);
WXD_EXPORTED int
wxd_App_GetAppName(const wxd_App_t* app, char* out, size_t out_len);
WXD_EXPORTED void
wxd_App_SetAppDisplayName(wxd_App_t* app, const char* name);
WXD_EXPORTED int
wxd_App_GetAppDisplayName(const wxd_App_t* app, char* out, size_t out_len);
WXD_EXPORTED void
wxd_App_SetVendorName(wxd_App_t* app, const char* name);
WXD_EXPORTED int
wxd_App_GetVendorName(const wxd_App_t* app, char* out, size_t out_len);
WXD_EXPORTED void
wxd_App_SetVendorDisplayName(wxd_App_t* app, const char* name);
WXD_EXPORTED int
wxd_App_GetVendorDisplayName(const wxd_App_t* app, char* out, size_t out_len);
WXD_EXPORTED void
wxd_App_ProcessCallbacks();
WXD_EXPORTED void
wxd_free_int_array(int* ptr);
WXD_EXPORTED wxd_AppearanceResult
wxd_App_SetAppearance(wxd_App_t* app, wxd_Appearance appearance);
WXD_EXPORTED wxd_SystemAppearance_t*
wxd_SystemSettings_GetAppearance();
WXD_EXPORTED bool
wxd_SystemAppearance_IsDark(wxd_SystemAppearance_t* appearance);
WXD_EXPORTED bool
wxd_SystemAppearance_IsUsingDarkBackground(wxd_SystemAppearance_t* appearance);
WXD_EXPORTED int
wxd_SystemAppearance_GetName(const wxd_SystemAppearance_t* appearance, char* out, size_t out_len);
WXD_EXPORTED void
wxd_SystemAppearance_Destroy(wxd_SystemAppearance_t* appearance);
WXD_EXPORTED void
wxd_App_AddMacOpenFilesHandler(wxd_App_t* app, wxd_MacOpenFilesCallback callback, void* userData);
WXD_EXPORTED void
wxd_App_AddMacOpenURLHandler(wxd_App_t* app, wxd_MacOpenURLCallback callback, void* userData);
WXD_EXPORTED void
wxd_App_AddMacNewFileHandler(wxd_App_t* app, wxd_MacNewFileCallback callback, void* userData);
WXD_EXPORTED void
wxd_App_AddMacReopenAppHandler(wxd_App_t* app, wxd_MacReopenAppCallback callback, void* userData);
WXD_EXPORTED void
wxd_App_AddMacPrintFilesHandler(wxd_App_t* app, wxd_MacPrintFilesCallback callback, void* userData);
#endif