DISTRHO Plugin Framework
Main Page
Modules
Classes
Files
File List
All
Classes
Functions
Variables
Enumerations
Enumerator
Groups
Pages
dgl
Base.hpp
1
/*
2
* DISTRHO Plugin Framework (DPF)
3
* Copyright (C) 2012-2019 Filipe Coelho <falktx@falktx.com>
4
*
5
* Permission to use, copy, modify, and/or distribute this software for any purpose with
6
* or without fee is hereby granted, provided that the above copyright notice and this
7
* permission notice appear in all copies.
8
*
9
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD
10
* TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN
11
* NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
12
* DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER
13
* IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
14
* CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15
*/
16
17
#ifndef DGL_BASE_HPP_INCLUDED
18
#define DGL_BASE_HPP_INCLUDED
19
20
#include "../distrho/extra/LeakDetector.hpp"
21
#include "../distrho/extra/ScopedPointer.hpp"
22
23
// -----------------------------------------------------------------------
24
// Define namespace
25
26
#ifndef DGL_NAMESPACE
27
# define DGL_NAMESPACE DGL
28
#endif
29
30
#define START_NAMESPACE_DGL namespace DGL_NAMESPACE {
31
#define END_NAMESPACE_DGL }
32
#define USE_NAMESPACE_DGL using namespace DGL_NAMESPACE;
33
34
START_NAMESPACE_DGL
35
36
// -----------------------------------------------------------------------
37
// Base DGL enums
38
39
/**
40
Convenience symbols for ASCII control characters.
41
*/
42
enum
Char {
43
kCharBackspace = 0x08,
44
kCharEscape = 0x1B,
45
kCharDelete = 0x7F
46
};
47
48
/**
49
Keyboard modifier flags.
50
*/
51
enum
Modifier {
52
kModifierShift = 1 << 0,
/**< Shift key */
53
kModifierControl = 1 << 1,
/**< Control key */
54
kModifierAlt = 1 << 2,
/**< Alt/Option key */
55
kModifierSuper = 1 << 3
/**< Mod4/Command/Windows key */
56
};
57
58
/**
59
Special (non-Unicode) keyboard keys.
60
*/
61
enum
Key {
62
kKeyF1 = 1,
63
kKeyF2,
64
kKeyF3,
65
kKeyF4,
66
kKeyF5,
67
kKeyF6,
68
kKeyF7,
69
kKeyF8,
70
kKeyF9,
71
kKeyF10,
72
kKeyF11,
73
kKeyF12,
74
kKeyLeft,
75
kKeyUp,
76
kKeyRight,
77
kKeyDown,
78
kKeyPageUp,
79
kKeyPageDown,
80
kKeyHome,
81
kKeyEnd,
82
kKeyInsert,
83
kKeyShift,
84
kKeyControl,
85
kKeyAlt,
86
kKeySuper
87
};
88
89
// -----------------------------------------------------------------------
90
// Base DGL classes
91
92
/**
93
Graphics context, definition depends on build type.
94
*/
95
struct
GraphicsContext
;
96
97
/**
98
Idle callback.
99
*/
100
class
IdleCallback
101
{
102
public
:
103
virtual
~
IdleCallback
() {}
104
virtual
void
idleCallback() = 0;
105
};
106
107
// -----------------------------------------------------------------------
108
109
END_NAMESPACE_DGL
110
111
#ifndef DONT_SET_USING_DGL_NAMESPACE
112
// If your code uses a lot of DGL classes, then this will obviously save you
113
// a lot of typing, but can be disabled by setting DONT_SET_USING_DGL_NAMESPACE.
114
using namespace
DGL_NAMESPACE;
115
#endif
116
117
// -----------------------------------------------------------------------
118
119
#endif // DGL_BASE_HPP_INCLUDED
GraphicsContext
Definition:
Cairo.hpp:31
IdleCallback
Definition:
Base.hpp:100
Generated on Mon Jun 24 2019 11:56:27 for DISTRHO Plugin Framework by
1.8.6