17#ifndef DGL_BASE_HPP_INCLUDED
18#define DGL_BASE_HPP_INCLUDED
20#include "../daf/extra/LeakDetector.hpp"
21#include "../daf/extra/ScopedPointer.hpp"
26#if defined(DGL_CAIRO) && defined(DGL_EXTERNAL)
27# error invalid build config: trying to build for both cairo and external at the same time
28#elif defined(DGL_CAIRO) && defined(DGL_OPENGL)
29# error invalid build config: trying to build for both cairo and opengl at the same time
30#elif defined(DGL_CAIRO) && defined(DGL_VULKAN)
31# error invalid build config: trying to build for both cairo and vulkan at the same time
32#elif defined(DGL_EXTERNAL) && defined(DGL_OPENGL)
33# error invalid build config: trying to build for both external and opengl at the same time
34#elif defined(DGL_EXTERNAL) && defined(DGL_VULKAN)
35# error invalid build config: trying to build for both external and vulkan at the same time
36#elif defined(DGL_OPENGL) && defined(DGL_VULKAN)
37# error invalid build config: trying to build for both opengl and vulkan at the same time
40#ifdef DGL_USE_FILEBROWSER
41# error typo detected use DGL_USE_FILE_BROWSER instead of DGL_USE_FILEBROWSER
45# error typo detected use DGL_USE_WEB_VIEW instead of DGL_USE_WEBVIEW
48#if defined(DGL_FILE_BROWSER_DISABLED)
49# error DGL_FILE_BROWSER_DISABLED has been replaced by DGL_USE_FILE_BROWSER (opt-in vs opt-out)
52#ifndef DGL_ALLOW_DEPRECATED_METHODS
53# define DGL_ALLOW_DEPRECATED_METHODS 1
60# define DGL_NAMESPACE DGL
63#define START_NAMESPACE_DGL namespace DGL_NAMESPACE {
64#define END_NAMESPACE_DGL }
65#define USE_NAMESPACE_DGL using namespace DGL_NAMESPACE;
76 kModifierShift = 1U << 0U,
77 kModifierControl = 1U << 1U,
78 kModifierAlt = 1U << 2U,
79 kModifierSuper = 1U << 3U,
80 kModifierNumLock = 1U << 4U,
81 kModifierScrollLock = 1U << 5U,
82 kModifierCapsLock = 1U << 6U,
101 kKeyBackspace = 0x00000008U,
102 kKeyTab = 0x00000009U,
103 kKeyEnter = 0x0000000DU,
104 kKeyEscape = 0x0000001BU,
105 kKeyDelete = 0x0000007FU,
106 kKeySpace = 0x00000020U,
121 kKeyPageUp = 0xE031U,
129 kKeyPrintScreen = 0xE041U,
136 kKeyShiftL = 0xE051U,
155 kKeyPadPageUp = 0xE071U,
163 kKeyPadClear = 0xE09DU,
167 kKeyPadMultiply = 0xE0AAU,
175 kCharBackspace DAF_DEPRECATED_BY(
"kKeyBackspace") = kKeyBackspace,
176 kCharEscape DAF_DEPRECATED_BY(
"kKeyEscape") = kKeyEscape,
177 kCharDelete DAF_DEPRECATED_BY(
"kKeyDelete") = kKeyDelete,
179 kKeyShift DAF_DEPRECATED_BY(
"kKeyShiftL") = kKeyShiftL,
180 kKeyControl DAF_DEPRECATED_BY(
"kKeyControlL") = kKeyControlL,
181 kKeyAlt DAF_DEPRECATED_BY(
"kKeyAltL") = kKeyAltL,
182 kKeySuper DAF_DEPRECATED_BY(
"kKeySuperL") = kKeySuperL,
220 kMouseButtonLeft = 1,
233 kMouseCursorCrosshair,
235 kMouseCursorNotAllowed,
236 kMouseCursorLeftRight,
238 kMouseCursorUpLeftDownRight,
239 kMouseCursorUpRightDownLeft,
240 kMouseCursorAllScroll,
244 kMouseCursorDiagonal DAF_DEPRECATED_BY(
"kMouseCursorUpLeftDownRight") = kMouseCursorUpLeftDownRight,
245 kMouseCursorAntiDiagonal DAF_DEPRECATED_BY(
"kMouseCursorUpRightDownLeft") = kMouseCursorUpRightDownLeft,
255enum ScrollDirection {
295 virtual void idleCallback() = 0;
302#ifndef DONT_SET_USING_DGL_NAMESPACE
305 using namespace DGL_NAMESPACE;
const char * type
Definition Base.hpp:278
uint32_t id
Definition Base.hpp:272