17#ifndef DGL_APP_HPP_INCLUDED
18#define DGL_APP_HPP_INCLUDED
24class PluginApplication;
42#define BUILD_CONFIG_SENTINEL(NAME) \
43 static struct DAF_JOIN_MACRO(_, NAME) { bool ok; DAF_JOIN_MACRO(_, NAME)() noexcept; } NAME;
46BUILD_CONFIG_SENTINEL(fail_to_link_is_mismatch_daf_debug_on)
48BUILD_CONFIG_SENTINEL(fail_to_link_is_mismatch_daf_debug_off)
51#ifdef DGL_USE_FILE_BROWSER
52BUILD_CONFIG_SENTINEL(fail_to_link_is_mismatch_dgl_use_file_browser_on)
54BUILD_CONFIG_SENTINEL(fail_to_link_is_mismatch_dgl_use_file_browser_off)
57#ifdef DGL_USE_WEB_VIEW
58BUILD_CONFIG_SENTINEL(fail_to_link_is_mismatch_dgl_use_web_view_on)
60BUILD_CONFIG_SENTINEL(fail_to_link_is_mismatch_dgl_use_web_view_off)
63#ifdef DGL_NO_SHARED_RESOURCES
64BUILD_CONFIG_SENTINEL(fail_to_link_is_mismatch_dgl_no_shared_resources_on)
66BUILD_CONFIG_SENTINEL(fail_to_link_is_mismatch_dgl_no_shared_resources_off)
69#ifdef DGL_RUNTIME_BACKEND
70BUILD_CONFIG_SENTINEL(fail_to_link_is_mismatch_dgl_runtime_backend_on)
72BUILD_CONFIG_SENTINEL(fail_to_link_is_mismatch_dgl_runtime_backend_off)
75#undef BUILD_CONFIG_SENTINEL
117 kWindowSystemWayland,
148 void exec(uint idleTimeInMs = 30);
225 PrivateData* const pData;
228 friend class DAF_NAMESPACE::PluginApplication;
231 DAF_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(
Application)
void removeIdleCallback(IdleCallback *callback)
void setClassName(const char *name)
WindowSystem getWindowSystem() const noexcept
const char * getClassName() const noexcept
void exec(uint idleTimeInMs=30)
bool isStandalone() const noexcept
WindowSystem
Definition Application.hpp:114
bool isQuitting() const noexcept
Application(bool isStandalone=true, Type type=kTypeAuto, WindowSystem windowSystem=kWindowSystemAuto)
Type getType() const noexcept
Type
Definition Application.hpp:97
void addIdleCallback(IdleCallback *callback)
Application(int argc, char *argv[], WindowSystem windowSystem=kWindowSystemAuto)
#define END_NAMESPACE_DAF
Definition DafInfo.hpp:996
#define START_NAMESPACE_DAF
Definition DafInfo.hpp:990