diff --git a/App_8hpp_source.html b/App_8hpp_source.html new file mode 100644 index 00000000..f7f9c5fa --- /dev/null +++ b/App_8hpp_source.html @@ -0,0 +1,197 @@ + + + + + + +DISTRHO Plugin Framework: dgl/App.hpp Source File + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + +
+ All Classes Functions Variables Modules Pages
+ + +
+ +
+ + +
+
+
+
App.hpp
+
+
+
1 /*
+
2  * DISTRHO Plugin Framework (DPF)
+
3  * Copyright (C) 2012-2014 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_APP_HPP_INCLUDED
+
18 #define DGL_APP_HPP_INCLUDED
+
19 
+
20 #include "Base.hpp"
+
21 
+
22 START_NAMESPACE_DGL
+
23 
+
24 // -----------------------------------------------------------------------
+
25 // Forward class names
+
26 
+
27 class Window;
+
28 
+
29 // -----------------------------------------------------------------------
+
30 
+
31 /**
+
32  Base DGL Application class.
+
33 
+
34  One application instance is required for creating a window.
+
35  There's no single/global application instance in DGL, and multiple
+
36  windows can share the same app instance.
+
37 
+
38  In standalone mode an application will automatically quit its
+
39  event-loop when all its windows are closed.
+
40  */
+
41 class App
+
42 {
+
43 public:
+
44  /**
+
45  Constructor.
+
46  */
+
47  App();
+
48 
+
49  /**
+
50  Destructor.
+
51  */
+
52  ~App();
+
53 
+
54  /**
+
55  Idle function.
+
56  This runs the application event-loop once.
+
57  */
+
58  void idle();
+
59 
+
60  /**
+
61  Run the application event-loop until all Windows are closed.
+
62  idle() is called at regular intervals.
+
63  @note: This function is meant for standalones only, *never* call this from plugins.
+
64  */
+
65  void exec();
+
66 
+
67  /**
+
68  Quit the application.
+
69  This stops the event-loop and closes all Windows.
+
70  */
+
71  void quit();
+
72 
+
73  /**
+
74  Check if the application is about to quit.
+
75  Returning true means there's no event-loop running at the moment (or it's just about to stop).
+
76  */
+
77  bool isQuiting() const noexcept;
+
78 
+
79 private:
+
80  struct PrivateData;
+
81  PrivateData* const pData;
+
82  friend class Window;
+
83 
+
84  DISTRHO_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(App)
+
85 };
+
86 
+
87 // -----------------------------------------------------------------------
+
88 
+
89 END_NAMESPACE_DGL
+
90 
+
91 #endif // DGL_APP_HPP_INCLUDED
+ +
void exec()
+
Definition: Window.hpp:30
+
~App()
+
bool isQuiting() const noexcept
+
void quit()
+
void idle()
+
Definition: App.hpp:41
+
+ + + + diff --git a/Base_8hpp_source.html b/Base_8hpp_source.html new file mode 100644 index 00000000..ba90e1ba --- /dev/null +++ b/Base_8hpp_source.html @@ -0,0 +1,286 @@ + + + + + + +DISTRHO Plugin Framework: dgl/Base.hpp Source File + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + +
+ All Classes Functions Variables Modules Pages
+ + +
+ +
+ + +
+
+
+
Base.hpp
+
+
+
1 /*
+
2  * DISTRHO Plugin Framework (DPF)
+
3  * Copyright (C) 2012-2014 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/d_leakdetector.hpp"
+
21 #include "../distrho/extra/d_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 #ifdef DISTRHO_OS_WINDOWS
+
35 // -----------------------------------------------------------------------
+
36 // Fix OpenGL includes for Windows, based on glfw code
+
37 
+
38 #ifndef APIENTRY
+
39 # define APIENTRY __stdcall
+
40 #endif // APIENTRY
+
41 
+
42 /* We need WINGDIAPI defined */
+
43 #ifndef WINGDIAPI
+
44 # if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__POCC__)
+
45 # define WINGDIAPI __declspec(dllimport)
+
46 # elif defined(__LCC__)
+
47 # define WINGDIAPI __stdcall
+
48 # else
+
49 # define WINGDIAPI extern
+
50 # endif
+
51 # define DGL_WINGDIAPI_DEFINED
+
52 #endif // WINGDIAPI
+
53 
+
54 /* Some <GL/glu.h> files also need CALLBACK defined */
+
55 #ifndef CALLBACK
+
56 # if defined(_MSC_VER)
+
57 # if (defined(_M_MRX000) || defined(_M_IX86) || defined(_M_ALPHA) || defined(_M_PPC)) && !defined(MIDL_PASS)
+
58 # define CALLBACK __stdcall
+
59 # else
+
60 # define CALLBACK
+
61 # endif
+
62 # else
+
63 # define CALLBACK __stdcall
+
64 # endif
+
65 # define DGL_CALLBACK_DEFINED
+
66 #endif // CALLBACK
+
67 
+
68 /* Most GL/glu.h variants on Windows need wchar_t */
+
69 #include <cstddef>
+
70 
+
71 #endif // DISTRHO_OS_WINDOWS
+
72 
+
73 // -----------------------------------------------------------------------
+
74 // OpenGL includes
+
75 
+
76 #ifdef DISTRHO_OS_MAC
+
77 # include "OpenGL/gl.h"
+
78 #else
+
79 # define GL_GLEXT_PROTOTYPES
+
80 # include "GL/gl.h"
+
81 # include "GL/glext.h"
+
82 #endif
+
83 
+
84 // -----------------------------------------------------------------------
+
85 // Missing OpenGL defines
+
86 
+
87 #if defined(GL_BGR_EXT) && ! defined(GL_BGR)
+
88 # define GL_BGR GL_BGR_EXT
+
89 #endif
+
90 
+
91 #if defined(GL_BGRA_EXT) && ! defined(GL_BGRA)
+
92 # define GL_BGRA GL_BGRA_EXT
+
93 #endif
+
94 
+
95 #ifndef GL_CLAMP_TO_BORDER
+
96 # define GL_CLAMP_TO_BORDER 0x812D
+
97 #endif
+
98 
+
99 #ifdef DISTRHO_OS_WINDOWS
+
100 // -----------------------------------------------------------------------
+
101 // Fix OpenGL includes for Windows, based on glfw code
+
102 
+
103 #ifdef DGL_WINGDIAPI_DEFINED
+
104 # undef WINGDIAPI
+
105 # undef DGL_WINGDIAPI_DEFINED
+
106 #endif
+
107 
+
108 #ifdef DGL_CALLBACK_DEFINED
+
109 # undef CALLBACK
+
110 # undef DGL_CALLBACK_DEFINED
+
111 #endif
+
112 
+
113 #endif // DISTRHO_OS_WINDOWS
+
114 
+
115 START_NAMESPACE_DGL
+
116 
+
117 // -----------------------------------------------------------------------
+
118 // Base DGL enums
+
119 
+
120 /**
+
121  Convenience symbols for ASCII control characters.
+
122  */
+
123 enum Char {
+
124  CHAR_BACKSPACE = 0x08,
+
125  CHAR_ESCAPE = 0x1B,
+
126  CHAR_DELETE = 0x7F
+
127 };
+
128 
+
129 /**
+
130  Keyboard modifier flags.
+
131  */
+
132 enum Modifier {
+
133  MODIFIER_SHIFT = 1 << 0, /**< Shift key */
+
134  MODIFIER_CTRL = 1 << 1, /**< Control key */
+
135  MODIFIER_ALT = 1 << 2, /**< Alt/Option key */
+
136  MODIFIER_SUPER = 1 << 3 /**< Mod4/Command/Windows key */
+
137 };
+
138 
+
139 /**
+
140  Special (non-Unicode) keyboard keys.
+
141  */
+
142 enum Key {
+
143  KEY_F1 = 1,
+
144  KEY_F2,
+
145  KEY_F3,
+
146  KEY_F4,
+
147  KEY_F5,
+
148  KEY_F6,
+
149  KEY_F7,
+
150  KEY_F8,
+
151  KEY_F9,
+
152  KEY_F10,
+
153  KEY_F11,
+
154  KEY_F12,
+
155  KEY_LEFT,
+
156  KEY_UP,
+
157  KEY_RIGHT,
+
158  KEY_DOWN,
+
159  KEY_PAGE_UP,
+
160  KEY_PAGE_DOWN,
+
161  KEY_HOME,
+
162  KEY_END,
+
163  KEY_INSERT,
+
164  KEY_SHIFT,
+
165  KEY_CTRL,
+
166  KEY_ALT,
+
167  KEY_SUPER
+
168 };
+
169 
+
170 // -----------------------------------------------------------------------
+
171 // Base DGL classes
+
172 
+
173 /**
+
174  Idle callback.
+
175  */
+ +
177 {
+
178 public:
+
179  virtual ~IdleCallback() {}
+
180  virtual void idleCallback() = 0;
+
181 };
+
182 
+
183 // -----------------------------------------------------------------------
+
184 
+
185 END_NAMESPACE_DGL
+
186 
+
187 #endif // DGL_BASE_HPP_INCLUDED
+
Definition: Base.hpp:176
+
+ + + + diff --git a/Color_8hpp_source.html b/Color_8hpp_source.html new file mode 100644 index 00000000..fcf4db25 --- /dev/null +++ b/Color_8hpp_source.html @@ -0,0 +1,217 @@ + + + + + + +DISTRHO Plugin Framework: dgl/Color.hpp Source File + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + +
+ All Classes Functions Variables Modules Pages
+ + +
+ +
+ + +
+
+
+
Color.hpp
+
+
+
1 /*
+
2  * DISTRHO Plugin Framework (DPF)
+
3  * Copyright (C) 2012-2014 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_COLOR_HPP_INCLUDED
+
18 #define DGL_COLOR_HPP_INCLUDED
+
19 
+
20 #include "Base.hpp"
+
21 
+
22 struct NVGcolor;
+
23 
+
24 START_NAMESPACE_DGL
+
25 
+
26 // -----------------------------------------------------------------------
+
27 
+
28 // TODO: create color from "#333" and "#112233" like strings
+
29 
+
30 /**
+
31  A color made from red, green, blue and alpha floating-point values in [0..1] range.
+
32 */
+
33 struct Color {
+
34  /**
+
35  Direct access to the color values.
+
36  */
+
37  union {
+
38  float rgba[4];
+
39  struct { float red, green, blue, alpha; };
+
40  };
+
41 
+
42  /**
+
43  Create black color.
+
44  */
+
45  Color() noexcept;
+
46 
+
47  /**
+
48  Create a color from red, green, blue and alpha numeric values.
+
49  Values must be in [0..255] range.
+
50  */
+
51  Color(int red, int green, int blue, int alpha = 255) noexcept;
+
52 
+
53  /**
+
54  Create a color from red, green, blue and alpha floating-point values.
+
55  Values must in [0..1] range.
+
56  */
+
57  Color(float red, float green, float blue, float alpha = 1.0f) noexcept;
+
58 
+
59  /**
+
60  Create a color by copying another color.
+
61  */
+
62  Color(const Color& color) noexcept;
+
63  Color& operator=(const Color& color) noexcept;
+
64 
+
65  /**
+
66  Create a color by linearly interpolating two other colors.
+
67  */
+
68  Color(const Color& color1, const Color& color2, float u) noexcept;
+
69 
+
70  /**
+
71  Create a color specified by hue, saturation and lightness.
+
72  Values must in [0..1] range.
+
73  */
+
74  static Color fromHSL(float hue, float saturation, float lightness, float alpha = 1.0f);
+
75 
+
76  /**
+
77  Create a color from a HTML string like "#333" or "#112233".
+
78  */
+
79  static Color fromHTML(const char* rgb, float alpha = 1.0f);
+
80 
+
81  /**
+
82  Linearly interpolate this color against another.
+
83  */
+
84  void interpolate(const Color& other, float u) noexcept;
+
85 
+
86  /**
+
87  Check if this color matches another.
+
88  @note: Comparison is forced within 8-bit color values.
+
89  */
+
90  bool isEqual(const Color& color, bool withAlpha = true) noexcept;
+
91  bool isNotEqual(const Color& color, bool withAlpha = true) noexcept;
+
92  bool operator==(const Color& color) noexcept;
+
93  bool operator!=(const Color& color) noexcept;
+
94 
+
95  /**
+
96  Fix color bounds if needed.
+
97  */
+
98  void fixBounds() noexcept;
+
99 
+
100  /**
+
101  @internal
+
102  Needed for NanoVG compatibility.
+
103  */
+
104  Color(const NVGcolor&) noexcept;
+
105  operator NVGcolor() const noexcept;
+
106 };
+
107 
+
108 // -----------------------------------------------------------------------
+
109 
+
110 END_NAMESPACE_DGL
+
111 
+
112 #endif // DGL_COLOR_HPP_INCLUDED
+
void fixBounds() noexcept
+
Definition: Color.hpp:33
+
Color() noexcept
+
static Color fromHSL(float hue, float saturation, float lightness, float alpha=1.0f)
+
bool isEqual(const Color &color, bool withAlpha=true) noexcept
+
void interpolate(const Color &other, float u) noexcept
+
static Color fromHTML(const char *rgb, float alpha=1.0f)
+
+ + + + diff --git a/DistrhoInfo_8hpp_source.html b/DistrhoInfo_8hpp_source.html new file mode 100644 index 00000000..d5dd85f7 --- /dev/null +++ b/DistrhoInfo_8hpp_source.html @@ -0,0 +1,350 @@ + + + + + + +DISTRHO Plugin Framework: distrho/DistrhoInfo.hpp Source File + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + +
+ All Classes Functions Variables Modules Pages
+ + +
+ +
+ + +
+
+
+
DistrhoInfo.hpp
+
+
+
1 /*
+
2  * DISTRHO Plugin Framework (DPF)
+
3  * Copyright (C) 2012-2015 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 #ifdef DOXYGEN
+
18 
+
19 #include "src/DistrhoDefines.h"
+
20 
+
21 START_NAMESPACE_DISTRHO
+
22 
+
23 /* ------------------------------------------------------------------------------------------------------------
+
24  * Intro */
+
25 
+
26 /**
+
27  @mainpage DISTRHO %Plugin Framework
+
28 
+
29  DISTRHO %Plugin Framework (or @b DPF for short)
+
30  is a plugin framework designed to make development of new plugins an easy and enjoyable task.@n
+
31  It allows developers to create plugins with custom UIs using a simple C++ API.
+
32 
+
33  @section Macros
+
34  You start by creating a "DistrhoPluginInfo.h" file describing the plugin via macros, see @ref PluginMacros.@n
+
35  This file is included in the main DPF code to figure out which features for each plugin format to export.
+
36 
+
37  For example, a plugin (with %UI) that use states will require LV2 hosts to support Atom and Worker extensions for
+
38  message passing from the %UI to the plugin.@n
+
39  If your plugin does not make use of states, the Worker extension is not set as a required feature.
+
40 
+
41  @section Plugin
+
42  The next step is to create your plugin code by subclassing DPF's @ref Plugin class.@n
+
43  You need to pass the number of parameters in the constructor and also the number of programs and states, if any.
+
44 
+
45  Here's an example of an audio plugin that simply mutes the host output:
+
46  @code
+
47  class MutePlugin : public Plugin
+
48  {
+
49  public:
+
50  MutePlugin()
+
51  : Plugin(0, 0, 0) // 0 parameters, 0 programs and 0 states
+
52  {
+
53  }
+
54 
+
55  protected:
+
56  const char* getLabel() const override
+
57  {
+
58  return "Mute";
+
59  }
+
60 
+
61  const char* getMaker() const override
+
62  {
+
63  return "DPF";
+
64  }
+
65 
+
66  const char* getLicense() const override
+
67  {
+
68  return "MIT";
+
69  }
+
70 
+
71  uint32_t getVersion() const override
+
72  {
+
73  return 0x1000;
+
74  }
+
75 
+
76  int64_t getUniqueId() const override
+
77  {
+
78  return cconst('M', 'u', 't', 'e');
+
79  }
+
80 
+
81  void run(const float**, float** outputs, uint32_t frames) override
+
82  {
+
83  // get the left and right audio outputs
+
84  float* const outL = outputs[0];
+
85  float* const outR = outputs[1];
+
86 
+
87  // mute audio
+
88  std::memset(outL, 0, sizeof(float)*frames);
+
89  std::memset(outR, 0, sizeof(float)*frames);
+
90  }
+
91  };
+
92  @endcode
+
93 
+
94  See the @ref Plugin class for more information and to understand what each function does.
+
95 
+
96  @section Parameters
+
97  describe input and output, automable and rt safe, boolean etc, cv
+
98 
+
99  @section Programs
+
100  describe them
+
101 
+
102  @section States
+
103  describe them
+
104 
+
105  @section MIDI
+
106  describe them
+
107 
+
108  @section Latency
+
109  describe it
+
110 
+
111  @section Time-Position
+
112  describe it
+
113 
+
114  @section UI
+
115  describe them
+
116 */
+
117 
+
118 /* ------------------------------------------------------------------------------------------------------------
+
119  * Plugin Macros */
+
120 
+
121 /**
+
122  @defgroup PluginMacros Plugin Macros
+
123 
+
124  C Macros that describe your plugin. (defined in the "DistrhoPluginInfo.h" file)
+
125 
+
126  With these macros you can tell the host what features your plugin requires.@n
+
127  Depending on which macros you enable, new functions will be available to call and/or override.
+
128 
+
129  All values are either integer or strings.@n
+
130  For boolean-like values 1 means 'on' and 0 means 'off'.
+
131 
+
132  The values defined in this group are for documentation purposes only.@n
+
133  All macros are disabled by default.
+
134 
+
135  Only 4 macros are required, they are:
+
136  - @ref DISTRHO_PLUGIN_NAME
+
137  - @ref DISTRHO_PLUGIN_NUM_INPUTS
+
138  - @ref DISTRHO_PLUGIN_NUM_OUTPUTS
+
139  - @ref DISTRHO_PLUGIN_URI
+
140  @{
+
141  */
+
142 
+
143 /**
+
144  The plugin name.@n
+
145  This is used to identify your plugin before a Plugin instance can be created.
+
146  @note This macro is required.
+
147  */
+
148 #define DISTRHO_PLUGIN_NAME "Plugin Name"
+
149 
+
150 /**
+
151  Number of audio inputs the plugin has.
+
152  @note This macro is required.
+
153  */
+
154 #define DISTRHO_PLUGIN_NUM_INPUTS 2
+
155 
+
156 /**
+
157  Number of audio outputs the plugin has.
+
158  @note This macro is required.
+
159  */
+
160 #define DISTRHO_PLUGIN_NUM_OUTPUTS 2
+
161 
+
162 /**
+
163  The plugin URI when exporting in LV2 format.
+
164  @note This macro is required.
+
165  */
+
166 #define DISTRHO_PLUGIN_URI "urn:distrho:name"
+
167 
+
168 /**
+
169  Wherever the plugin has a custom %UI.
+
170  @see DISTRHO_UI_USE_NANOVG
+
171  @see UI
+
172  */
+
173 #define DISTRHO_PLUGIN_HAS_UI 1
+
174 
+
175 /**
+
176  Wherever the plugin processing is realtime-safe.@n
+
177  TODO - list rtsafe requirements
+
178  */
+
179 #define DISTRHO_PLUGIN_IS_RT_SAFE 1
+
180 
+
181 /**
+
182  Wherever the plugin is a synth.@n
+
183  @ref DISTRHO_PLUGIN_WANT_MIDI_INPUT is automatically enabled when this is too.
+
184  @see DISTRHO_PLUGIN_WANT_MIDI_INPUT
+
185  */
+
186 #define DISTRHO_PLUGIN_IS_SYNTH 1
+
187 
+
188 /**
+
189  Enable direct access between the %UI and plugin code.
+
190  @see UI::getPluginInstancePointer()
+
191  @note DO NOT USE THIS UNLESS STRICTLY NECESSARY!!
+
192  Try to avoid it at all costs!
+
193  */
+
194 #define DISTRHO_PLUGIN_WANT_DIRECT_ACCESS 0
+
195 
+
196 /**
+
197  Wherever the plugin introduces latency during audio or midi processing.
+
198  @see Plugin::setLatency(uint32_t)
+
199  */
+
200 #define DISTRHO_PLUGIN_WANT_LATENCY 1
+
201 
+
202 /**
+
203  Wherever the plugin wants MIDI input.@n
+
204  This is automatically enabled if @ref DISTRHO_PLUGIN_IS_SYNTH is true.
+
205  */
+
206 #define DISTRHO_PLUGIN_WANT_MIDI_INPUT 1
+
207 
+
208 /**
+
209  Wherever the plugin wants MIDI output.
+
210  @see Plugin::writeMidiEvent(const MidiEvent&)
+
211  */
+
212 #define DISTRHO_PLUGIN_WANT_MIDI_OUTPUT 1
+
213 
+
214 /**
+
215  Wherever the plugin provides its own internal programs.
+
216  @see Plugin::initProgramName(uint32_t, String&)
+
217  @see Plugin::setProgram(uint32_t)
+
218  */
+
219 #define DISTRHO_PLUGIN_WANT_PROGRAMS 1
+
220 
+
221 /**
+
222  Wherever the plugin uses internal non-parameter data.
+
223  @see Plugin::initState(uint32_t, String&, String&)
+
224  @see Plugin::setState(const char*, const char*)
+
225  */
+
226 #define DISTRHO_PLUGIN_WANT_STATE 1
+
227 
+
228 /**
+
229  Wherever the plugin wants time position information from the host.
+
230  @see Plugin::getTimePosition()
+
231  */
+
232 #define DISTRHO_PLUGIN_WANT_TIMEPOS 1
+
233 
+
234 /**
+
235  Wherever the %UI uses NanoVG for drawing instead of the default raw OpenGL calls.@n
+
236  When enabled your %UI instance will subclass @ref NanoWidget instead of @ref Widget.
+
237  */
+
238 #define DISTRHO_UI_USE_NANOVG 1
+
239 
+
240 /**
+
241  The %UI URI when exporting in LV2 format.@n
+
242  By default this is set to @ref DISTRHO_PLUGIN_URI with "#UI" as suffix.
+
243  */
+
244 #define DISTRHO_UI_URI DISTRHO_PLUGIN_URI "#UI"
+
245 
+
246 /** @} */
+
247 
+
248 // -----------------------------------------------------------------------------------------------------------
+
249 
+
250 END_NAMESPACE_DISTRHO
+
251 
+
252 #endif // DOXYGEN
+
+ + + + diff --git a/DistrhoPlugin_8hpp_source.html b/DistrhoPlugin_8hpp_source.html index abb043f6..5e5f7589 100644 --- a/DistrhoPlugin_8hpp_source.html +++ b/DistrhoPlugin_8hpp_source.html @@ -109,931 +109,777 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
20 #include "extra/d_string.hpp"
21 #include "src/DistrhoPluginChecks.h"
22 
-
23 #include <cmath>
+
23 START_NAMESPACE_DISTRHO
24 
-
25 #ifdef DISTRHO_PROPER_CPP11_SUPPORT
-
26 # include <cstdint>
-
27 #else
-
28 # include <stdint.h>
-
29 #endif
-
30 
-
31 #ifndef M_PI
-
32 # define M_PI 3.14159265358979323846
-
33 #endif
-
34 
-
35 START_NAMESPACE_DISTRHO
-
36 
-
37 /**
-
38  @mainpage DISTRHO %Plugin Framework
-
39 
-
40  DISTRHO %Plugin Framework (or @b DPF for short)
-
41  is a plugin framework designed to make development of new plugins an easy and enjoyable task.@n
-
42  It allows developers to create plugins with custom UIs using a simple C++ API.
-
43 
-
44  @section Macros
-
45  You start by creating a "DistrhoPluginInfo.h" file describing the plugin via macros, see @ref PluginMacros.
-
46 
-
47  @section Plugin
-
48  TODO
-
49 
-
50  @section Parameters
-
51  describe input and output, automable and rt safe, boolean etc, cv
-
52 */
-
53 
-
54 /* ------------------------------------------------------------------------------------------------------------
-
55  * Plugin Macros */
-
56 
-
57 #ifdef DOXYGEN
+
25 /* ------------------------------------------------------------------------------------------------------------
+
26  * Audio Port Hints */
+
27 
+
28 /**
+
29  @defgroup AudioPortHints Audio Port Hints
+
30 
+
31  Various audio port hints.
+
32  @see AudioPort::hints
+
33  @{
+
34  */
+
35 
+
36 /**
+
37  Audio port can be used as control voltage (LV2 only).
+
38  */
+
39 static const uint32_t kAudioPortIsCV = 0x1;
+
40 
+
41 /**
+
42  Audio port should be used as sidechan (LV2 only).
+
43  */
+
44 static const uint32_t kAudioPortIsSidechain = 0x2;
+
45 
+
46 /** @} */
+
47 
+
48 /* ------------------------------------------------------------------------------------------------------------
+
49  * Parameter Hints */
+
50 
+
51 /**
+
52  @defgroup ParameterHints Parameter Hints
+
53 
+
54  Various parameter hints.
+
55  @see Parameter::hints
+
56  @{
+
57  */
58 
59 /**
-
60  @defgroup PluginMacros Plugin Macros
-
61 
-
62  C Macros that describe your plugin. (defined in the "DistrhoPluginInfo.h" file)
-
63 
-
64  With these macros you can tell the host what features your plugin requires.@n
-
65  Depending on which macros you enable, new functions will be available to call and/or override.
-
66 
-
67  All values are either integer or strings.@n
-
68  For boolean-like values 1 means 'on' and 0 means 'off'.
-
69 
-
70  The values defined in this file are for documentation purposes only.@n
-
71  All macros are disabled by default.
-
72 
-
73  Only 4 macros are required, they are:
-
74  - @ref DISTRHO_PLUGIN_NAME
-
75  - @ref DISTRHO_PLUGIN_NUM_INPUTS
-
76  - @ref DISTRHO_PLUGIN_NUM_OUTPUTS
-
77  - @ref DISTRHO_PLUGIN_URI
-
78  @{
-
79  */
+
60  Parameter is automable (real-time safe).
+
61  @see Plugin::setParameterValue(uint32_t, float)
+
62  */
+
63 static const uint32_t kParameterIsAutomable = 0x01;
+
64 
+
65 /**
+
66  Parameter value is boolean.
+
67  It's always at either minimum or maximum value.
+
68  */
+
69 static const uint32_t kParameterIsBoolean = 0x02;
+
70 
+
71 /**
+
72  Parameter value is integer.
+
73  */
+
74 static const uint32_t kParameterIsInteger = 0x04;
+
75 
+
76 /**
+
77  Parameter value is logarithmic.
+
78  */
+
79 static const uint32_t kParameterIsLogarithmic = 0x08;
80 
81 /**
-
82  The plugin name.@n
-
83  This is used to identify your plugin before a Plugin instance can be created.
-
84  @note This macro is required.
-
85  */
-
86 #define DISTRHO_PLUGIN_NAME "Plugin Name"
-
87 
-
88 /**
-
89  Number of audio inputs the plugin has.
-
90  @note This macro is required.
-
91  */
-
92 #define DISTRHO_PLUGIN_NUM_INPUTS 2
-
93 
-
94 /**
-
95  Number of audio outputs the plugin has.
-
96  @note This macro is required.
-
97  */
-
98 #define DISTRHO_PLUGIN_NUM_OUTPUTS 2
-
99 
-
100 /**
-
101  The plugin URI when exporting in LV2 format.
-
102  @note This macro is required.
+
82  Parameter is of output type.
+
83  When unset, parameter is assumed to be of input type.
+
84 
+
85  Parameter inputs are changed by the host and must not be changed by the plugin.
+
86  The only exception being when changing programs, see Plugin::setProgram().
+
87  Outputs are changed by the plugin and never modified by the host.
+
88  */
+
89 static const uint32_t kParameterIsOutput = 0x10;
+
90 
+
91 /** @} */
+
92 
+
93 /* ------------------------------------------------------------------------------------------------------------
+
94  * Base Plugin structs */
+
95 
+
96 /**
+
97  @defgroup BasePluginStructs Base Plugin Structs
+
98  @{
+
99  */
+
100 
+
101 /**
+
102  Audio Port.
103  */
-
104 #define DISTRHO_PLUGIN_URI "urn:distrho:name"
-
105 
-
106 /**
-
107  Wherever the plugin has a custom %UI.
-
108  @see DISTRHO_UI_USE_NANOVG
-
109  @see UI
-
110  */
-
111 #define DISTRHO_PLUGIN_HAS_UI 1
-
112 
-
113 /**
-
114  Wherever the plugin processing is realtime-safe.@n
-
115  TODO - list rtsafe requirements
-
116  */
-
117 #define DISTRHO_PLUGIN_IS_RT_SAFE 1
-
118 
-
119 /**
-
120  Wherever the plugin is a synth.@n
-
121  @ref DISTRHO_PLUGIN_WANT_MIDI_INPUT is automatically enabled when this is too.
-
122  @see DISTRHO_PLUGIN_WANT_MIDI_INPUT
-
123  */
-
124 #define DISTRHO_PLUGIN_IS_SYNTH 1
+
104 struct AudioPort {
+
105  /**
+
106  Hints describing this audio port.
+
107  @see AudioPortHints
+
108  */
+
109  uint32_t hints;
+
110 
+
111  /**
+
112  The name of this audio port.
+
113  An audio port name can contain any character, but hosts might have a hard time with non-ascii ones.
+
114  The name doesn't have to be unique within a plugin instance, but it's recommended.
+
115  */
+
116  String name;
+
117 
+
118  /**
+
119  The symbol of this audio port.
+
120  An audio port symbol is a short restricted name used as a machine and human readable identifier.
+
121  The first character must be one of _, a-z or A-Z and subsequent characters can be from _, a-z, A-Z and 0-9.
+
122  @note: Audio port and parameter symbols MUST be unique within a plugin instance.
+
123  */
+
124  String symbol;
125 
-
126 /**
-
127  Enable direct access between the %UI and plugin code.
-
128  @see UI::d_getPluginInstancePointer()
-
129  @note DO NOT USE THIS UNLESS STRICTLY NECESSARY!!
-
130  Try to avoid it at all costs!
-
131  */
-
132 #define DISTRHO_PLUGIN_WANT_DIRECT_ACCESS 0
-
133 
-
134 /**
-
135  Wherever the plugin introduces latency during audio or midi processing.
-
136  @see Plugin::d_setLatency(uint32_t)
-
137  */
-
138 #define DISTRHO_PLUGIN_WANT_LATENCY 1
-
139 
-
140 /**
-
141  Wherever the plugin wants MIDI input.@n
-
142  This is automatically enabled if @ref DISTRHO_PLUGIN_IS_SYNTH is true.
-
143  */
-
144 #define DISTRHO_PLUGIN_WANT_MIDI_INPUT 1
-
145 
-
146 /**
-
147  Wherever the plugin wants MIDI output.
-
148  @see Plugin::d_writeMidiEvent(const MidiEvent&)
-
149  */
-
150 #define DISTRHO_PLUGIN_WANT_MIDI_OUTPUT 1
-
151 
-
152 /**
-
153  Wherever the plugin provides its own internal programs.
-
154  @see Plugin::d_initProgramName(uint32_t, d_string&)
-
155  @see Plugin::d_setProgram(uint32_t)
-
156  */
-
157 #define DISTRHO_PLUGIN_WANT_PROGRAMS 1
-
158 
-
159 /**
-
160  Wherever the plugin uses internal non-parameter data.
-
161  @see Plugin::d_initState(uint32_t, d_string&, d_string&)
-
162  @see Plugin::d_setState(const char*, const char*)
-
163  */
-
164 #define DISTRHO_PLUGIN_WANT_STATE 1
+
126  /**
+
127  Default constructor for a regular audio port.
+
128  */
+
129  AudioPort() noexcept
+
130  : hints(0x0),
+
131  name(),
+
132  symbol() {}
+
133 };
+
134 
+
135 /**
+
136  Parameter ranges.
+
137  This is used to set the default, minimum and maximum values of a parameter.
+
138 
+
139  By default a parameter has 0.0 as minimum, 1.0 as maximum and 0.0 as default.
+
140  When changing this struct values you must ensure maximum > minimum and default is within range.
+
141  */
+
142 struct ParameterRanges {
+
143  /**
+
144  Default value.
+
145  */
+
146  float def;
+
147 
+
148  /**
+
149  Minimum value.
+
150  */
+
151  float min;
+
152 
+
153  /**
+
154  Maximum value.
+
155  */
+
156  float max;
+
157 
+
158  /**
+
159  Default constructor, using 0.0 as minimum, 1.0 as maximum and 0.0 as default.
+
160  */
+
161  ParameterRanges() noexcept
+
162  : def(0.0f),
+
163  min(0.0f),
+
164  max(1.0f) {}
165 
-
166 /**
-
167  Wherever the plugin wants time position information from the host.
-
168  @see Plugin::d_getTimePosition()
-
169  */
-
170 #define DISTRHO_PLUGIN_WANT_TIMEPOS 1
-
171 
-
172 /**
-
173  Wherever the %UI uses NanoVG for drawing instead of the default raw OpenGL calls.@n
-
174  When enabled your %UI instance will subclass @ref NanoWidget instead of @ref Widget.
-
175  */
-
176 #define DISTRHO_UI_USE_NANOVG 1
-
177 
-
178 /**
-
179  The %UI URI when exporting in LV2 format.@n
-
180  By default this is set to @ref DISTRHO_PLUGIN_URI with "#UI" as suffix.
-
181  */
-
182 #define DISTRHO_UI_URI DISTRHO_PLUGIN_URI "#UI"
-
183 
-
184 /** @} */
-
185 
-
186 #endif
-
187 
-
188 /* ------------------------------------------------------------------------------------------------------------
-
189  * Audio Port Hints */
-
190 
-
191 /**
-
192  @defgroup AudioPortHints Audio Port Hints
-
193 
-
194  Various audio port hints.
-
195  @see AudioPort::hints
-
196  @{
-
197  */
-
198 
-
199 /**
-
200  Audio port can be used as control voltage (LV2 only).
-
201  */
-
202 static const uint32_t kAudioPortIsCV = 0x1;
-
203 
-
204 /**
-
205  Audio port should be used as sidechan (LV2 only).
-
206  */
-
207 static const uint32_t kAudioPortIsSidechain = 0x2;
-
208 
-
209 /** @} */
-
210 
-
211 /* ------------------------------------------------------------------------------------------------------------
-
212  * Parameter Hints */
-
213 
-
214 /**
-
215  @defgroup ParameterHints Parameter Hints
-
216 
-
217  Various parameter hints.
-
218  @see Parameter::hints
-
219  @{
-
220  */
-
221 
-
222 /**
-
223  Parameter is automable (real-time safe).
-
224  @see Plugin::d_setParameterValue()
-
225  */
-
226 static const uint32_t kParameterIsAutomable = 0x01;
-
227 
-
228 /**
-
229  Parameter value is boolean.
-
230  It's always at either minimum or maximum value.
-
231  */
-
232 static const uint32_t kParameterIsBoolean = 0x02;
-
233 
-
234 /**
-
235  Parameter value is integer.
-
236  */
-
237 static const uint32_t kParameterIsInteger = 0x04;
+
166  /**
+
167  Constructor using custom values.
+
168  */
+
169  ParameterRanges(const float df, const float mn, const float mx) noexcept
+
170  : def(df),
+
171  min(mn),
+
172  max(mx) {}
+
173 
+
174  /**
+
175  Fix the default value within range.
+
176  */
+
177  void fixDefault() noexcept
+
178  {
+
179  fixValue(def);
+
180  }
+
181 
+
182  /**
+
183  Fix a value within range.
+
184  */
+
185  void fixValue(float& value) const noexcept
+
186  {
+
187  if (value < min)
+
188  value = min;
+
189  else if (value > max)
+
190  value = max;
+
191  }
+
192 
+
193  /**
+
194  Get a fixed value within range.
+
195  */
+
196  const float& getFixedValue(const float& value) const noexcept
+
197  {
+
198  if (value <= min)
+
199  return min;
+
200  if (value >= max)
+
201  return max;
+
202  return value;
+
203  }
+
204 
+
205  /**
+
206  Get a value normalized to 0.0<->1.0.
+
207  */
+
208  float getNormalizedValue(const float& value) const noexcept
+
209  {
+
210  const float normValue((value - min) / (max - min));
+
211 
+
212  if (normValue <= 0.0f)
+
213  return 0.0f;
+
214  if (normValue >= 1.0f)
+
215  return 1.0f;
+
216  return normValue;
+
217  }
+
218 
+
219  /**
+
220  Get a value normalized to 0.0<->1.0, fixed within range.
+
221  */
+
222  float getFixedAndNormalizedValue(const float& value) const noexcept
+
223  {
+
224  if (value <= min)
+
225  return 0.0f;
+
226  if (value >= max)
+
227  return 1.0f;
+
228 
+
229  const float normValue((value - min) / (max - min));
+
230 
+
231  if (normValue <= 0.0f)
+
232  return 0.0f;
+
233  if (normValue >= 1.0f)
+
234  return 1.0f;
+
235 
+
236  return normValue;
+
237  }
238 
-
239 /**
-
240  Parameter value is logarithmic.
-
241  */
-
242 static const uint32_t kParameterIsLogarithmic = 0x08;
-
243 
-
244 /**
-
245  Parameter is of output type.
-
246  When unset, parameter is assumed to be of input type.
-
247 
-
248  Parameter inputs are changed by the host and must not be changed by the plugin.
-
249  The only exception being when changing programs, see Plugin::d_setProgram().
-
250  Outputs are changed by the plugin and never modified by the host.
-
251  */
-
252 static const uint32_t kParameterIsOutput = 0x10;
-
253 
-
254 /**
-
255  Parameter can be used as control voltage (LV2 only).
-
256  */
-
257 static const uint32_t kParameterIsCV = 0x20;
-
258 
-
259 /** @} */
-
260 
-
261 /* ------------------------------------------------------------------------------------------------------------
-
262  * DPF Base structs */
-
263 
-
264 /**
-
265  @defgroup BaseStructs Base Structs
-
266  @{
-
267  */
-
268 
-
269 /**
-
270  Audio Port.
-
271  */
-
272 struct AudioPort {
-
273  /**
-
274  Hints describing this audio port.
-
275  @see AudioPortHints
-
276  */
-
277  uint32_t hints;
-
278 
-
279  /**
-
280  The name of this audio port.
-
281  An audio port name can contain any character, but hosts might have a hard time with non-ascii ones.
-
282  The name doesn't have to be unique within a plugin instance, but it's recommended.
-
283  */
-
284  d_string name;
-
285 
-
286  /**
-
287  The symbol of this audio port.
-
288  An audio port symbol is a short restricted name used as a machine and human readable identifier.
-
289  The first character must be one of _, a-z or A-Z and subsequent characters can be from _, a-z, A-Z and 0-9.
-
290  @note: Audio port and parameter symbols MUST be unique within a plugin instance.
-
291  */
-
292  d_string symbol;
-
293 
-
294  /**
-
295  Default constructor for a regular audio port.
-
296  */
-
297  AudioPort() noexcept
-
298  : hints(0x0),
-
299  name(),
-
300  symbol() {}
-
301 };
-
302 
-
303 /**
-
304  Parameter ranges.
-
305  This is used to set the default, minimum and maximum values of a parameter.
-
306 
-
307  By default a parameter has 0.0 as minimum, 1.0 as maximum and 0.0 as default.
-
308  When changing this struct values you must ensure maximum > minimum and default is within range.
-
309  */
-
310 struct ParameterRanges {
+
239  /**
+
240  Get a proper value previously normalized to 0.0<->1.0.
+
241  */
+
242  float getUnnormalizedValue(const float& value) const noexcept
+
243  {
+
244  if (value <= 0.0f)
+
245  return min;
+
246  if (value >= 1.0f)
+
247  return max;
+
248 
+
249  return value * (max - min) + min;
+
250  }
+
251 };
+
252 
+
253 /**
+
254  Parameter.
+
255  */
+
256 struct Parameter {
+
257  /**
+
258  Hints describing this parameter.
+
259  @see ParameterHints
+
260  */
+
261  uint32_t hints;
+
262 
+
263  /**
+
264  The name of this parameter.
+
265  A parameter name can contain any character, but hosts might have a hard time with non-ascii ones.
+
266  The name doesn't have to be unique within a plugin instance, but it's recommended.
+
267  */
+
268  String name;
+
269 
+
270  /**
+
271  The symbol of this parameter.
+
272  A parameter symbol is a short restricted name used as a machine and human readable identifier.
+
273  The first character must be one of _, a-z or A-Z and subsequent characters can be from _, a-z, A-Z and 0-9.
+
274  @note: Parameter symbols MUST be unique within a plugin instance.
+
275  */
+
276  String symbol;
+
277 
+
278  /**
+
279  The unit of this parameter.
+
280  This means something like "dB", "kHz" and "ms".
+
281  Can be left blank if a unit does not apply to this parameter.
+
282  */
+
283  String unit;
+
284 
+
285  /**
+
286  Ranges of this parameter.
+
287  The ranges describe the default, minimum and maximum values.
+
288  */
+
289  ParameterRanges ranges;
+
290 
+
291  /**
+
292  Default constructor for a null parameter.
+
293  */
+
294  Parameter() noexcept
+
295  : hints(0x0),
+
296  name(),
+
297  symbol(),
+
298  unit(),
+
299  ranges() {}
+
300 };
+
301 
+
302 /**
+
303  MIDI event.
+
304  */
+
305 struct MidiEvent {
+
306  /**
+
307  Size of internal data.
+
308  */
+
309  static const uint32_t kDataSize = 4;
+
310 
311  /**
-
312  Default value.
+
312  Time offset in frames.
313  */
-
314  float def;
+
314  uint32_t frame;
315 
316  /**
-
317  Minimum value.
+
317  Number of bytes used.
318  */
-
319  float min;
+
319  uint32_t size;
320 
321  /**
-
322  Maximum value.
-
323  */
-
324  float max;
-
325 
-
326  /**
-
327  Default constructor, using 0.0 as minimum, 1.0 as maximum and 0.0 as default.
-
328  */
-
329  ParameterRanges() noexcept
-
330  : def(0.0f),
-
331  min(0.0f),
-
332  max(1.0f) {}
+
322  MIDI data.
+
323  If size > kDataSize, dataExt is used (otherwise null).
+
324  */
+
325  uint8_t data[kDataSize];
+
326  const uint8_t* dataExt;
+
327 };
+
328 
+
329 /**
+
330  Time position.
+
331  The @a playing and @a frame values are always valid.
+
332  BBT values are only valid when @a bbt.valid is true.
333 
-
334  /**
-
335  Constructor using custom values.
-
336  */
-
337  ParameterRanges(const float df, const float mn, const float mx) noexcept
-
338  : def(df),
-
339  min(mn),
-
340  max(mx) {}
+
334  This struct is inspired by the JACK Transport API.
+
335  */
+
336 struct TimePosition {
+
337  /**
+
338  Wherever the host transport is playing/rolling.
+
339  */
+
340  bool playing;
341 
342  /**
-
343  Fix the default value within range.
+
343  Current host transport position in frames.
344  */
-
345  void fixDefault() noexcept
-
346  {
-
347  fixValue(def);
-
348  }
-
349 
-
350  /**
-
351  Fix a value within range.
-
352  */
-
353  void fixValue(float& value) const noexcept
-
354  {
-
355  if (value < min)
-
356  value = min;
-
357  else if (value > max)
-
358  value = max;
-
359  }
-
360 
-
361  /**
-
362  Get a fixed value within range.
-
363  */
-
364  const float& getFixedValue(const float& value) const noexcept
-
365  {
-
366  if (value <= min)
-
367  return min;
-
368  if (value >= max)
-
369  return max;
-
370  return value;
-
371  }
-
372 
-
373  /**
-
374  Get a value normalized to 0.0<->1.0.
-
375  */
-
376  float getNormalizedValue(const float& value) const noexcept
-
377  {
-
378  const float normValue((value - min) / (max - min));
-
379 
-
380  if (normValue <= 0.0f)
-
381  return 0.0f;
-
382  if (normValue >= 1.0f)
-
383  return 1.0f;
-
384  return normValue;
-
385  }
-
386 
-
387  /**
-
388  Get a value normalized to 0.0<->1.0, fixed within range.
-
389  */
-
390  float getFixedAndNormalizedValue(const float& value) const noexcept
-
391  {
-
392  if (value <= min)
-
393  return 0.0f;
-
394  if (value >= max)
-
395  return 1.0f;
-
396 
-
397  const float normValue((value - min) / (max - min));
-
398 
-
399  if (normValue <= 0.0f)
-
400  return 0.0f;
-
401  if (normValue >= 1.0f)
-
402  return 1.0f;
-
403 
-
404  return normValue;
-
405  }
-
406 
-
407  /**
-
408  Get a proper value previously normalized to 0.0<->1.0.
-
409  */
-
410  float getUnnormalizedValue(const float& value) const noexcept
-
411  {
-
412  if (value <= 0.0f)
-
413  return min;
-
414  if (value >= 1.0f)
-
415  return max;
-
416 
-
417  return value * (max - min) + min;
-
418  }
-
419 };
-
420 
-
421 /**
-
422  Parameter.
-
423  */
-
424 struct Parameter {
-
425  /**
-
426  Hints describing this parameter.
-
427  @see ParameterHints
-
428  */
-
429  uint32_t hints;
-
430 
-
431  /**
-
432  The name of this parameter.
-
433  A parameter name can contain any character, but hosts might have a hard time with non-ascii ones.
-
434  The name doesn't have to be unique within a plugin instance, but it's recommended.
-
435  */
-
436  d_string name;
+
345  uint64_t frame;
+
346 
+
347  /**
+
348  Bar-Beat-Tick time position.
+
349  */
+
350  struct BarBeatTick {
+
351  /**
+
352  Wherever the host transport is using BBT.
+
353  If false you must not read from this struct.
+
354  */
+
355  bool valid;
+
356 
+
357  /**
+
358  Current bar.
+
359  Should always be > 0.
+
360  The first bar is bar '1'.
+
361  */
+
362  int32_t bar;
+
363 
+
364  /**
+
365  Current beat within bar.
+
366  Should always be > 0 and <= @a beatsPerBar.
+
367  The first beat is beat '1'.
+
368  */
+
369  int32_t beat;
+
370 
+
371  /**
+
372  Current tick within beat.
+
373  Should always be > 0 and <= @a ticksPerBeat.
+
374  The first tick is tick '0'.
+
375  */
+
376  int32_t tick;
+
377 
+
378  /**
+
379  Number of ticks that have elapsed between frame 0 and the first beat of the current measure.
+
380  */
+
381  double barStartTick;
+
382 
+
383  /**
+
384  Time signature "numerator".
+
385  */
+
386  float beatsPerBar;
+
387 
+
388  /**
+
389  Time signature "denominator".
+
390  */
+
391  float beatType;
+
392 
+
393  /**
+
394  Number of ticks within a bar.
+
395  Usually a moderately large integer with many denominators, such as 1920.0.
+
396  */
+
397  double ticksPerBeat;
+
398 
+
399  /**
+
400  Number of beats per minute.
+
401  */
+
402  double beatsPerMinute;
+
403 
+
404  /**
+
405  Default constructor for a null BBT time position.
+
406  */
+
407  BarBeatTick() noexcept
+
408  : valid(false),
+
409  bar(0),
+
410  beat(0),
+
411  tick(0),
+
412  barStartTick(0.0),
+
413  beatsPerBar(0.0f),
+
414  beatType(0.0f),
+
415  ticksPerBeat(0.0),
+
416  beatsPerMinute(0.0) {}
+
417  } bbt;
+
418 
+
419  /**
+
420  Default constructor for a time position.
+
421  */
+
422  TimePosition() noexcept
+
423  : playing(false),
+
424  frame(0),
+
425  bbt() {}
+
426 };
+
427 
+
428 /** @} */
+
429 
+
430 /* ------------------------------------------------------------------------------------------------------------
+
431  * DPF Plugin */
+
432 
+
433 /**
+
434  @defgroup MainClasses Main Classes
+
435  @{
+
436  */
437 
-
438  /**
-
439  The symbol of this parameter.
-
440  A parameter symbol is a short restricted name used as a machine and human readable identifier.
-
441  The first character must be one of _, a-z or A-Z and subsequent characters can be from _, a-z, A-Z and 0-9.
-
442  @note: Parameter symbols MUST be unique within a plugin instance.
-
443  */
-
444  d_string symbol;
-
445 
-
446  /**
-
447  The unit of this parameter.
-
448  This means something like "dB", "kHz" and "ms".
-
449  Can be left blank if a unit does not apply to this parameter.
-
450  */
-
451  d_string unit;
+
438 /**
+
439  DPF Plugin class from where plugin instances are created.
+
440 
+
441  The public methods (Host state) are called from the plugin to get or set host information.@n
+
442  They can be called from a plugin instance at anytime unless stated otherwise.@n
+
443  All other methods are to be implemented by the plugin and will be called by the host.
+
444 
+
445  Shortly after a plugin instance is created, the various init* functions will be called by the host.@n
+
446  Host will call activate() before run(), and deactivate() before the plugin instance is destroyed.@n
+
447  The host may call deactivate right after activate and vice-versa, but never activate/deactivate consecutively.@n
+
448  There is no limit on how many times run() is called, only that activate/deactivate will be called in between.
+
449 
+
450  The buffer size and sample rate values will remain constant between activate and deactivate.@n
+
451  Buffer size is only a hint though, the host might call run() with a higher or lower number of frames.
452 
-
453  /**
-
454  Ranges of this parameter.
-
455  The ranges describe the default, minimum and maximum values.
-
456  */
-
457  ParameterRanges ranges;
-
458 
-
459  /**
-
460  Default constructor for a null parameter.
-
461  */
-
462  Parameter() noexcept
-
463  : hints(0x0),
-
464  name(),
-
465  symbol(),
-
466  unit(),
-
467  ranges() {}
-
468 };
-
469 
-
470 /**
-
471  MIDI event.
-
472  */
-
473 struct MidiEvent {
-
474  /**
-
475  Size of internal data.
-
476  */
-
477  static const uint32_t kDataSize = 4;
-
478 
-
479  /**
-
480  Time offset in frames.
-
481  */
-
482  uint32_t frame;
-
483 
-
484  /**
-
485  Number of bytes used.
-
486  */
-
487  uint32_t size;
-
488 
-
489  /**
-
490  MIDI data.
-
491  If size > kDataSize, dataExt is used (otherwise null).
-
492  */
-
493  uint8_t data[kDataSize];
-
494  const uint8_t* dataExt;
-
495 };
-
496 
-
497 /**
-
498  Time position.
-
499  The @a playing and @a frame values are always valid.
-
500  BBT values are only valid when @a bbt.valid is true.
-
501 
-
502  This struct is inspired by the JACK Transport API.
-
503  */
-
504 struct TimePosition {
-
505  /**
-
506  Wherever the host transport is playing/rolling.
-
507  */
-
508  bool playing;
-
509 
-
510  /**
-
511  Current host transport position in frames.
+
453  Some of this class functions are only available according to some macros.
+
454 
+
455  DISTRHO_PLUGIN_WANT_PROGRAMS activates program related features.@n
+
456  When enabled you need to implement initProgramName() and setProgram().
+
457 
+
458  DISTRHO_PLUGIN_WANT_STATE activates internal state features.@n
+
459  When enabled you need to implement initStateKey() and setState().
+
460 
+
461  The process function run() changes wherever DISTRHO_PLUGIN_WANT_MIDI_INPUT is enabled or not.@n
+
462  When enabled it provides midi input events.
+
463  */
+
464 class Plugin
+
465 {
+
466 public:
+
467  /**
+
468  Plugin class constructor.
+
469  You must set all parameter values to their defaults, matching ParameterRanges::def.
+
470  */
+
471  Plugin(const uint32_t parameterCount, const uint32_t programCount, const uint32_t stateCount);
+
472 
+
473  /**
+
474  Destructor.
+
475  */
+
476  virtual ~Plugin();
+
477 
+
478  /* --------------------------------------------------------------------------------------------------------
+
479  * Host state */
+
480 
+
481  /**
+
482  Get the current buffer size that will probably be used during processing, in frames.
+
483  This value will remain constant between activate and deactivate.
+
484  @note: This value is only a hint!
+
485  Hosts might call run() with a higher or lower number of frames.
+
486  @see bufferSizeChanged(uint32_t)
+
487  */
+
488  uint32_t getBufferSize() const noexcept;
+
489 
+
490  /**
+
491  Get the current sample rate that will be used during processing.
+
492  This value will remain constant between activate and deactivate.
+
493  @see sampleRateChanged(double)
+
494  */
+
495  double getSampleRate() const noexcept;
+
496 
+
497 #if DISTRHO_PLUGIN_WANT_TIMEPOS
+
498  /**
+
499  Get the current host transport time position.
+
500  This function should only be called during run().
+
501  You can call this during other times, but the returned position is not guaranteed to be in sync.
+
502  @note: TimePosition is not supported in LADSPA and DSSI plugin formats.
+
503  */
+
504  const TimePosition& getTimePosition() const noexcept;
+
505 #endif
+
506 
+
507 #if DISTRHO_PLUGIN_WANT_LATENCY
+
508  /**
+
509  Change the plugin audio output latency to @a frames.
+
510  This function should only be called in the constructor, activate() and run().
+
511  @note This function is only available if DISTRHO_PLUGIN_WANT_LATENCY is enabled.
512  */
-
513  uint64_t frame;
-
514 
-
515  /**
-
516  Bar-Beat-Tick time position.
-
517  */
-
518  struct BarBeatTick {
-
519  /**
-
520  Wherever the host transport is using BBT.
-
521  If false you must not read from this struct.
-
522  */
-
523  bool valid;
-
524 
-
525  /**
-
526  Current bar.
-
527  Should always be > 0.
-
528  The first bar is bar '1'.
-
529  */
-
530  int32_t bar;
-
531 
-
532  /**
-
533  Current beat within bar.
-
534  Should always be > 0 and <= @a beatsPerBar.
-
535  The first beat is beat '1'.
-
536  */
-
537  int32_t beat;
-
538 
-
539  /**
-
540  Current tick within beat.
-
541  Should always be > 0 and <= @a ticksPerBeat.
-
542  The first tick is tick '0'.
-
543  */
-
544  int32_t tick;
+
513  void setLatency(uint32_t frames) noexcept;
+
514 #endif
+
515 
+
516 #if DISTRHO_PLUGIN_WANT_MIDI_OUTPUT
+
517  /**
+
518  Write a MIDI output event.
+
519  This function must only be called during run().
+
520  Returns false when the host buffer is full, in which case do not call this again until the next run().
+
521  */
+
522  bool writeMidiEvent(const MidiEvent& midiEvent) noexcept;
+
523 #endif
+
524 
+
525 protected:
+
526  /* --------------------------------------------------------------------------------------------------------
+
527  * Information */
+
528 
+
529  /**
+
530  Get the plugin name.
+
531  Returns DISTRHO_PLUGIN_NAME by default.
+
532  */
+
533  virtual const char* getName() const { return DISTRHO_PLUGIN_NAME; }
+
534 
+
535  /**
+
536  Get the plugin label.
+
537  A plugin label follows the same rules as Parameter::symbol, with the exception that it can start with numbers.
+
538  */
+
539  virtual const char* getLabel() const = 0;
+
540 
+
541  /**
+
542  Get the plugin author/maker.
+
543  */
+
544  virtual const char* getMaker() const = 0;
545 
-
546  /**
-
547  Number of ticks that have elapsed between frame 0 and the first beat of the current measure.
-
548  */
-
549  double barStartTick;
-
550 
-
551  /**
-
552  Time signature "numerator".
-
553  */
-
554  float beatsPerBar;
-
555 
-
556  /**
-
557  Time signature "denominator".
-
558  */
-
559  float beatType;
-
560 
-
561  /**
-
562  Number of ticks within a bar.
-
563  Usually a moderately large integer with many denominators, such as 1920.0.
-
564  */
-
565  double ticksPerBeat;
+
546  /**
+
547  Get the plugin license name (a single line of text).@n
+
548  For commercial plugins this should return some copyright information.
+
549  */
+
550  virtual const char* getLicense() const = 0;
+
551 
+
552  /**
+
553  Get the plugin version, in hexadecimal.
+
554  TODO format to be defined
+
555  */
+
556  virtual uint32_t getVersion() const = 0;
+
557 
+
558  /**
+
559  Get the plugin unique Id.
+
560  This value is used by LADSPA, DSSI and VST plugin formats.
+
561  */
+
562  virtual int64_t getUniqueId() const = 0;
+
563 
+
564  /* --------------------------------------------------------------------------------------------------------
+
565  * Init */
566 
-
567  /**
-
568  Number of beats per minute.
-
569  */
-
570  double beatsPerMinute;
-
571 
-
572  /**
-
573  Default constructor for a null BBT time position.
-
574  */
-
575  BarBeatTick() noexcept
-
576  : valid(false),
-
577  bar(0),
-
578  beat(0),
-
579  tick(0),
-
580  barStartTick(0.0),
-
581  beatsPerBar(0.0f),
-
582  beatType(0.0f),
-
583  ticksPerBeat(0.0),
-
584  beatsPerMinute(0.0) {}
-
585  } bbt;
-
586 
-
587  /**
-
588  Default constructor for a time position.
-
589  */
-
590  TimePosition() noexcept
-
591  : playing(false),
-
592  frame(0),
-
593  bbt() {}
-
594 };
-
595 
-
596 /** @} */
-
597 
-
598 /* ------------------------------------------------------------------------------------------------------------
-
599  * DPF Plugin */
-
600 
-
601 /**
-
602  DPF Plugin class from where plugin instances are created.
-
603 
-
604  The public methods (Host state) are called from the plugin to get or set host information.
-
605  They can be called from a plugin instance at anytime unless stated otherwise.
-
606  All other methods are to be implemented by the plugin and will be called by the host.
-
607 
-
608  Shortly after a plugin instance is created, the various d_init* functions will be called by the host.
-
609  Host will call d_activate() before d_run(), and d_deactivate() before the plugin instance is destroyed.
-
610  The host may call deactivate right after activate and vice-versa, but never activate/deactivate consecutively.
-
611  There is no limit on how many times d_run() is called, only that activate/deactivate will be called in between.
-
612 
-
613  The buffer size and sample rate values will remain constant between activate and deactivate.
-
614  Buffer size is only a hint though, the host might call d_run() with a higher or lower number of frames.
-
615 
-
616  Some of this class functions are only available according to some macros.
-
617 
-
618  DISTRHO_PLUGIN_WANT_PROGRAMS activates program related features.
-
619  When enabled you need to implement d_initProgramName() and d_setProgram().
-
620 
-
621  DISTRHO_PLUGIN_WANT_STATE activates internal state features.
-
622  When enabled you need to implement d_initStateKey() and d_setState().
-
623 
-
624  The process function d_run() changes wherever DISTRHO_PLUGIN_WANT_MIDI_INPUT is enabled or not.
-
625  When enabled it provides midi input events.
-
626  */
-
627 class Plugin
-
628 {
-
629 public:
-
630  /**
-
631  Plugin class constructor.
-
632  You must set all parameter values to their defaults, matching ParameterRanges::def.
-
633  */
-
634  Plugin(const uint32_t parameterCount, const uint32_t programCount, const uint32_t stateCount);
-
635 
-
636  /**
-
637  Destructor.
-
638  */
-
639  virtual ~Plugin();
-
640 
-
641  /* --------------------------------------------------------------------------------------------------------
-
642  * Host state */
-
643 
-
644  /**
-
645  Get the current buffer size that will probably be used during processing, in frames.
-
646  This value will remain constant between activate and deactivate.
-
647  @note: This value is only a hint!
-
648  Hosts might call d_run() with a higher or lower number of frames.
-
649  @see d_bufferSizeChanged(uint32_t)
-
650  */
-
651  uint32_t d_getBufferSize() const noexcept;
-
652 
-
653  /**
-
654  Get the current sample rate that will be used during processing.
-
655  This value will remain constant between activate and deactivate.
-
656  @see d_sampleRateChanged(double)
-
657  */
-
658  double d_getSampleRate() const noexcept;
-
659 
-
660 #if DISTRHO_PLUGIN_WANT_TIMEPOS
-
661  /**
-
662  Get the current host transport time position.
-
663  This function should only be called during d_run().
-
664  You can call this during other times, but the returned position is not guaranteed to be in sync.
-
665  @note: TimePosition is not supported in LADSPA and DSSI plugin formats.
-
666  */
-
667  const TimePosition& d_getTimePosition() const noexcept;
-
668 #endif
-
669 
-
670 #if DISTRHO_PLUGIN_WANT_LATENCY
+
567  /**
+
568  Initialize the audio port @a index.
+
569  This function will be called once, shortly after the plugin is created.
+
570  */
+
571  virtual void initAudioPort(bool input, uint32_t index, AudioPort& port);
+
572 
+
573  /**
+
574  Initialize the parameter @a index.
+
575  This function will be called once, shortly after the plugin is created.
+
576  */
+
577  virtual void initParameter(uint32_t index, Parameter& parameter) = 0;
+
578 
+
579 #if DISTRHO_PLUGIN_WANT_PROGRAMS
+
580  /**
+
581  Set the name of the program @a index.
+
582  This function will be called once, shortly after the plugin is created.
+
583  Must be implemented by your plugin class only if DISTRHO_PLUGIN_WANT_PROGRAMS is enabled.
+
584  */
+
585  virtual void initProgramName(uint32_t index, String& programName) = 0;
+
586 #endif
+
587 
+
588 #if DISTRHO_PLUGIN_WANT_STATE
+
589  /**
+
590  Set the state key and default value of @a index.
+
591  This function will be called once, shortly after the plugin is created.
+
592  Must be implemented by your plugin class only if DISTRHO_PLUGIN_WANT_STATE is enabled.
+
593  */
+
594  virtual void initState(uint32_t index, String& stateKey, String& defaultStateValue) = 0;
+
595 #endif
+
596 
+
597  /* --------------------------------------------------------------------------------------------------------
+
598  * Internal data */
+
599 
+
600  /**
+
601  Get the current value of a parameter.
+
602  The host may call this function from any context, including realtime processing.
+
603  */
+
604  virtual float getParameterValue(uint32_t index) const = 0;
+
605 
+
606  /**
+
607  Change a parameter value.
+
608  The host may call this function from any context, including realtime processing.
+
609  When a parameter is marked as automable, you must ensure no non-realtime operations are performed.
+
610  @note This function will only be called for parameter inputs.
+
611  */
+
612  virtual void setParameterValue(uint32_t index, float value) = 0;
+
613 
+
614 #if DISTRHO_PLUGIN_WANT_PROGRAMS
+
615  /**
+
616  Change the currently used program to @a index.
+
617  The host may call this function from any context, including realtime processing.
+
618  Must be implemented by your plugin class only if DISTRHO_PLUGIN_WANT_PROGRAMS is enabled.
+
619  */
+
620  virtual void setProgram(uint32_t index) = 0;
+
621 #endif
+
622 
+
623 #if DISTRHO_PLUGIN_WANT_STATE
+
624  /**
+
625  Change an internal state @a key to @a value.
+
626  Must be implemented by your plugin class only if DISTRHO_PLUGIN_WANT_STATE is enabled.
+
627  */
+
628  virtual void setState(const String& key, const String& value) = 0;
+
629 #endif
+
630 
+
631  /* --------------------------------------------------------------------------------------------------------
+
632  * Process */
+
633 
+
634  /**
+
635  Activate this plugin.
+
636  */
+
637  virtual void activated() {}
+
638 
+
639  /**
+
640  Deactivate this plugin.
+
641  */
+
642  virtual void deactivated() {}
+
643 
+
644 #if DISTRHO_PLUGIN_WANT_MIDI_INPUT
+
645  /**
+
646  Run/process function for plugins with MIDI input.
+
647  @note: Some parameters might be null if there are no audio inputs/outputs or MIDI events.
+
648  */
+
649  virtual void run(const float** inputs, float** outputs, uint32_t frames,
+
650  const MidiEvent* midiEvents, uint32_t midiEventCount) = 0;
+
651 #else
+
652  /**
+
653  Run/process function for plugins without MIDI input.
+
654  @note: Some parameters might be null if there are no audio inputs or outputs.
+
655  */
+
656  virtual void run(const float** inputs, float** outputs, uint32_t frames) = 0;
+
657 #endif
+
658 
+
659  /* --------------------------------------------------------------------------------------------------------
+
660  * Callbacks (optional) */
+
661 
+
662  /**
+
663  Optional callback to inform the plugin about a buffer size change.
+
664  This function will only be called when the plugin is deactivated.
+
665  @note: This value is only a hint!
+
666  Hosts might call run() with a higher or lower number of frames.
+
667  @see getBufferSize()
+
668  */
+
669  virtual void bufferSizeChanged(uint32_t newBufferSize);
+
670 
671  /**
-
672  Change the plugin audio output latency to @a frames.
-
673  This function should only be called in the constructor, d_activate() and d_run().
-
674  @note This function is only available if DISTRHO_PLUGIN_WANT_LATENCY is enabled.
+
672  Optional callback to inform the plugin about a sample rate change.
+
673  This function will only be called when the plugin is deactivated.
+
674  @see getSampleRate()
675  */
-
676  void d_setLatency(uint32_t frames) noexcept;
-
677 #endif
-
678 
-
679 #if DISTRHO_PLUGIN_WANT_MIDI_OUTPUT
-
680  /**
-
681  Write a MIDI output event.
-
682  This function must only be called during d_run().
-
683  Returns false when the host buffer is full, in which case do not call this again until the next d_run().
-
684  */
-
685  bool d_writeMidiEvent(const MidiEvent& midiEvent) noexcept;
-
686 #endif
-
687 
-
688 protected:
-
689  /* --------------------------------------------------------------------------------------------------------
-
690  * Information */
-
691 
-
692  /**
-
693  Get the plugin name.
-
694  Returns DISTRHO_PLUGIN_NAME by default.
-
695  */
-
696  virtual const char* d_getName() const { return DISTRHO_PLUGIN_NAME; }
+
676  virtual void sampleRateChanged(double newSampleRate);
+
677 
+
678  // -------------------------------------------------------------------------------------------------------
+
679 
+
680 private:
+
681  struct PrivateData;
+
682  PrivateData* const pData;
+
683  friend class PluginExporter;
+
684 
+
685  DISTRHO_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(Plugin)
+
686 };
+
687 
+
688 /** @} */
+
689 
+
690 /* ------------------------------------------------------------------------------------------------------------
+
691  * Create plugin, entry point */
+
692 
+
693 /**
+
694  @defgroup EntryPoints Entry Points
+
695  @{
+
696  */
697 
-
698  /**
-
699  Get the plugin label.
-
700  A plugin label follows the same rules as Parameter::symbol, with the exception that it can start with numbers.
-
701  */
-
702  virtual const char* d_getLabel() const = 0;
-
703 
-
704  /**
-
705  Get the plugin author/maker.
-
706  */
-
707  virtual const char* d_getMaker() const = 0;
-
708 
-
709  /**
-
710  Get the plugin license name (a single line of text).@n
-
711  For commercial plugins this should return some copyright information.
-
712  */
-
713  virtual const char* d_getLicense() const = 0;
-
714 
-
715  /**
-
716  Get the plugin version, in hexadecimal.
-
717  TODO format to be defined
-
718  */
-
719  virtual uint32_t d_getVersion() const = 0;
-
720 
-
721  /**
-
722  Get the plugin unique Id.
-
723  This value is used by LADSPA, DSSI and VST plugin formats.
-
724  */
-
725  virtual int64_t d_getUniqueId() const = 0;
-
726 
-
727  /* --------------------------------------------------------------------------------------------------------
-
728  * Init */
-
729 
-
730  /**
-
731  Initialize the audio port @a index.
-
732  This function will be called once, shortly after the plugin is created.
-
733  */
-
734  virtual void d_initAudioPort(bool input, uint32_t index, AudioPort& port);
-
735 
-
736  /**
-
737  Initialize the parameter @a index.
-
738  This function will be called once, shortly after the plugin is created.
-
739  */
-
740  virtual void d_initParameter(uint32_t index, Parameter& parameter) = 0;
-
741 
-
742 #if DISTRHO_PLUGIN_WANT_PROGRAMS
-
743  /**
-
744  Set the name of the program @a index.
-
745  This function will be called once, shortly after the plugin is created.
-
746  Must be implemented by your plugin class only if DISTRHO_PLUGIN_WANT_PROGRAMS is enabled.
-
747  */
-
748  virtual void d_initProgramName(uint32_t index, d_string& programName) = 0;
-
749 #endif
-
750 
-
751 #if DISTRHO_PLUGIN_WANT_STATE
-
752  /**
-
753  Set the state key and default value of @a index.
-
754  This function will be called once, shortly after the plugin is created.
-
755  Must be implemented by your plugin class only if DISTRHO_PLUGIN_WANT_STATE is enabled.
-
756  */
-
757  virtual void d_initState(uint32_t index, d_string& stateKey, d_string& defaultStateValue) = 0;
-
758 #endif
-
759 
-
760  /* --------------------------------------------------------------------------------------------------------
-
761  * Internal data */
-
762 
-
763  /**
-
764  Get the current value of a parameter.
-
765  The host may call this function from any context, including realtime processing.
-
766  */
-
767  virtual float d_getParameterValue(uint32_t index) const = 0;
-
768 
-
769  /**
-
770  Change a parameter value.
-
771  The host may call this function from any context, including realtime processing.
-
772  When a parameter is marked as automable, you must ensure no non-realtime operations are performed.
-
773  @note This function will only be called for parameter inputs.
-
774  */
-
775  virtual void d_setParameterValue(uint32_t index, float value) = 0;
-
776 
-
777 #if DISTRHO_PLUGIN_WANT_PROGRAMS
-
778  /**
-
779  Change the currently used program to @a index.
-
780  The host may call this function from any context, including realtime processing.
-
781  Must be implemented by your plugin class only if DISTRHO_PLUGIN_WANT_PROGRAMS is enabled.
-
782  */
-
783  virtual void d_setProgram(uint32_t index) = 0;
-
784 #endif
-
785 
-
786 #if DISTRHO_PLUGIN_WANT_STATE
-
787  /**
-
788  Change an internal state @a key to @a value.
-
789  Must be implemented by your plugin class only if DISTRHO_PLUGIN_WANT_STATE is enabled.
-
790  */
-
791  virtual void d_setState(const char* key, const char* value) = 0;
-
792 #endif
-
793 
-
794  /* --------------------------------------------------------------------------------------------------------
-
795  * Process */
-
796 
-
797  /**
-
798  Activate this plugin.
-
799  */
-
800  virtual void d_activate() {}
-
801 
-
802  /**
-
803  Deactivate this plugin.
-
804  */
-
805  virtual void d_deactivate() {}
-
806 
-
807 #if DISTRHO_PLUGIN_WANT_MIDI_INPUT
-
808  /**
-
809  Run/process function for plugins with MIDI input.
-
810  @note: Some parameters might be null if there are no audio inputs/outputs or MIDI events.
-
811  */
-
812  virtual void d_run(const float** inputs, float** outputs, uint32_t frames,
-
813  const MidiEvent* midiEvents, uint32_t midiEventCount) = 0;
-
814 #else
-
815  /**
-
816  Run/process function for plugins without MIDI input.
-
817  @note: Some parameters might be null if there are no audio inputs or outputs.
-
818  */
-
819  virtual void d_run(const float** inputs, float** outputs, uint32_t frames) = 0;
-
820 #endif
-
821 
-
822  /* --------------------------------------------------------------------------------------------------------
-
823  * Callbacks (optional) */
-
824 
-
825  /**
-
826  Optional callback to inform the plugin about a buffer size change.
-
827  This function will only be called when the plugin is deactivated.
-
828  @note: This value is only a hint!
-
829  Hosts might call d_run() with a higher or lower number of frames.
-
830  @see d_getBufferSize()
-
831  */
-
832  virtual void d_bufferSizeChanged(uint32_t newBufferSize);
-
833 
-
834  /**
-
835  Optional callback to inform the plugin about a sample rate change.
-
836  This function will only be called when the plugin is deactivated.
-
837  @see d_getSampleRate()
-
838  */
-
839  virtual void d_sampleRateChanged(double newSampleRate);
-
840 
-
841  // -------------------------------------------------------------------------------------------------------
-
842 
-
843 private:
-
844  struct PrivateData;
-
845  PrivateData* const pData;
-
846  friend class PluginExporter;
-
847 
-
848  DISTRHO_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(Plugin)
-
849 };
-
850 
-
851 /* ------------------------------------------------------------------------------------------------------------
-
852  * Create plugin, entry point */
-
853 
-
854 /**
-
855  TODO.
-
856  */
-
857 extern Plugin* createPlugin();
-
858 
-
859 // -----------------------------------------------------------------------------------------------------------
-
860 
-
861 END_NAMESPACE_DISTRHO
-
862 
-
863 #endif // DISTRHO_PLUGIN_HPP_INCLUDED
-
ParameterRanges::min
float min
Definition: DistrhoPlugin.hpp:319
-
Plugin::d_getMaker
virtual const char * d_getMaker() const =0
-
AudioPort
Definition: DistrhoPlugin.hpp:272
-
Plugin::d_initState
virtual void d_initState(uint32_t index, d_string &stateKey, d_string &defaultStateValue)=0
-
Plugin::d_deactivate
virtual void d_deactivate()
Definition: DistrhoPlugin.hpp:805
+
698 /**
+
699  TODO.
+
700  */
+
701 extern Plugin* createPlugin();
+
702 
+
703 /** @} */
+
704 
+
705 // -----------------------------------------------------------------------------------------------------------
+
706 
+
707 END_NAMESPACE_DISTRHO
+
708 
+
709 #endif // DISTRHO_PLUGIN_HPP_INCLUDED
+
ParameterRanges::min
float min
Definition: DistrhoPlugin.hpp:151
+
AudioPort
Definition: DistrhoPlugin.hpp:104
Plugin::Plugin
Plugin(const uint32_t parameterCount, const uint32_t programCount, const uint32_t stateCount)
-
Plugin::d_getTimePosition
const TimePosition & d_getTimePosition() const noexcept
-
Plugin::d_getUniqueId
virtual int64_t d_getUniqueId() const =0
-
Parameter::Parameter
Parameter() noexcept
Definition: DistrhoPlugin.hpp:462
-
MidiEvent::frame
uint32_t frame
Definition: DistrhoPlugin.hpp:482
-
Plugin::d_getVersion
virtual uint32_t d_getVersion() const =0
-
MidiEvent::size
uint32_t size
Definition: DistrhoPlugin.hpp:487
-
Plugin::d_writeMidiEvent
bool d_writeMidiEvent(const MidiEvent &midiEvent) noexcept
-
MidiEvent::data
uint8_t data[kDataSize]
Definition: DistrhoPlugin.hpp:493
-
Plugin::d_getParameterValue
virtual float d_getParameterValue(uint32_t index) const =0
-
Plugin::d_initAudioPort
virtual void d_initAudioPort(bool input, uint32_t index, AudioPort &port)
-
Plugin::d_setParameterValue
virtual void d_setParameterValue(uint32_t index, float value)=0
-
Plugin::d_getLabel
virtual const char * d_getLabel() const =0
-
ParameterRanges::fixValue
void fixValue(float &value) const noexcept
Definition: DistrhoPlugin.hpp:353
-
Plugin::d_sampleRateChanged
virtual void d_sampleRateChanged(double newSampleRate)
-
TimePosition::BarBeatTick::ticksPerBeat
double ticksPerBeat
Definition: DistrhoPlugin.hpp:565
-
Plugin::d_getName
virtual const char * d_getName() const
Definition: DistrhoPlugin.hpp:696
-
MidiEvent
Definition: DistrhoPlugin.hpp:473
-
TimePosition::BarBeatTick::bar
int32_t bar
Definition: DistrhoPlugin.hpp:530
-
Plugin::d_run
virtual void d_run(const float **inputs, float **outputs, uint32_t frames, const MidiEvent *midiEvents, uint32_t midiEventCount)=0
-
Plugin::d_getLicense
virtual const char * d_getLicense() const =0
-
DISTRHO_PLUGIN_NAME
#define DISTRHO_PLUGIN_NAME
Definition: DistrhoPlugin.hpp:86
-
kAudioPortIsSidechain
static const uint32_t kAudioPortIsSidechain
Definition: DistrhoPlugin.hpp:207
-
ParameterRanges::ParameterRanges
ParameterRanges() noexcept
Definition: DistrhoPlugin.hpp:329
-
TimePosition::BarBeatTick::beatsPerMinute
double beatsPerMinute
Definition: DistrhoPlugin.hpp:570
-
Parameter::hints
uint32_t hints
Definition: DistrhoPlugin.hpp:429
-
kParameterIsCV
static const uint32_t kParameterIsCV
Definition: DistrhoPlugin.hpp:257
-
Plugin
Definition: DistrhoPlugin.hpp:627
-
ParameterRanges::getUnnormalizedValue
float getUnnormalizedValue(const float &value) const noexcept
Definition: DistrhoPlugin.hpp:410
-
TimePosition::playing
bool playing
Definition: DistrhoPlugin.hpp:508
-
TimePosition::BarBeatTick::tick
int32_t tick
Definition: DistrhoPlugin.hpp:544
-
TimePosition::BarBeatTick::beatsPerBar
float beatsPerBar
Definition: DistrhoPlugin.hpp:554
-
AudioPort::hints
uint32_t hints
Definition: DistrhoPlugin.hpp:277
+
Plugin::getParameterValue
virtual float getParameterValue(uint32_t index) const =0
+
Plugin::setProgram
virtual void setProgram(uint32_t index)=0
+
Parameter::Parameter
Parameter() noexcept
Definition: DistrhoPlugin.hpp:294
+
createPlugin
Plugin * createPlugin()
+
MidiEvent::frame
uint32_t frame
Definition: DistrhoPlugin.hpp:314
+
MidiEvent::size
uint32_t size
Definition: DistrhoPlugin.hpp:319
+
AudioPort::name
String name
Definition: DistrhoPlugin.hpp:116
+
Plugin::getBufferSize
uint32_t getBufferSize() const noexcept
+
Parameter::symbol
String symbol
Definition: DistrhoPlugin.hpp:276
+
Plugin::initState
virtual void initState(uint32_t index, String &stateKey, String &defaultStateValue)=0
+
MidiEvent::data
uint8_t data[kDataSize]
Definition: DistrhoPlugin.hpp:325
+
AudioPort::symbol
String symbol
Definition: DistrhoPlugin.hpp:124
+
ParameterRanges::fixValue
void fixValue(float &value) const noexcept
Definition: DistrhoPlugin.hpp:185
+
TimePosition::BarBeatTick::ticksPerBeat
double ticksPerBeat
Definition: DistrhoPlugin.hpp:397
+
MidiEvent
Definition: DistrhoPlugin.hpp:305
+
TimePosition::BarBeatTick::bar
int32_t bar
Definition: DistrhoPlugin.hpp:362
+
Plugin::setState
virtual void setState(const String &key, const String &value)=0
+
Plugin::getVersion
virtual uint32_t getVersion() const =0
+
Plugin::getLabel
virtual const char * getLabel() const =0
+
Plugin::bufferSizeChanged
virtual void bufferSizeChanged(uint32_t newBufferSize)
+
DISTRHO_PLUGIN_NAME
#define DISTRHO_PLUGIN_NAME
Definition: DistrhoInfo.hpp:148
+
kAudioPortIsSidechain
static const uint32_t kAudioPortIsSidechain
Definition: DistrhoPlugin.hpp:44
+
Plugin::getLicense
virtual const char * getLicense() const =0
+
ParameterRanges::ParameterRanges
ParameterRanges() noexcept
Definition: DistrhoPlugin.hpp:161
+
Plugin::activated
virtual void activated()
Definition: DistrhoPlugin.hpp:637
+
TimePosition::BarBeatTick::beatsPerMinute
double beatsPerMinute
Definition: DistrhoPlugin.hpp:402
+
Parameter::hints
uint32_t hints
Definition: DistrhoPlugin.hpp:261
+
Plugin::run
virtual void run(const float **inputs, float **outputs, uint32_t frames, const MidiEvent *midiEvents, uint32_t midiEventCount)=0
+
Plugin::writeMidiEvent
bool writeMidiEvent(const MidiEvent &midiEvent) noexcept
+
Plugin
Definition: DistrhoPlugin.hpp:464
+
ParameterRanges::getUnnormalizedValue
float getUnnormalizedValue(const float &value) const noexcept
Definition: DistrhoPlugin.hpp:242
+
TimePosition::playing
bool playing
Definition: DistrhoPlugin.hpp:340
+
TimePosition::BarBeatTick::tick
int32_t tick
Definition: DistrhoPlugin.hpp:376
+
TimePosition::BarBeatTick::beatsPerBar
float beatsPerBar
Definition: DistrhoPlugin.hpp:386
+
AudioPort::hints
uint32_t hints
Definition: DistrhoPlugin.hpp:109
Plugin::~Plugin
virtual ~Plugin()
-
TimePosition::TimePosition
TimePosition() noexcept
Definition: DistrhoPlugin.hpp:590
-
Plugin::d_setProgram
virtual void d_setProgram(uint32_t index)=0
-
TimePosition::frame
uint64_t frame
Definition: DistrhoPlugin.hpp:513
-
TimePosition::BarBeatTick::BarBeatTick
BarBeatTick() noexcept
Definition: DistrhoPlugin.hpp:575
-
kParameterIsAutomable
static const uint32_t kParameterIsAutomable
Definition: DistrhoPlugin.hpp:226
-
Plugin::d_setState
virtual void d_setState(const char *key, const char *value)=0
-
TimePosition::BarBeatTick::beatType
float beatType
Definition: DistrhoPlugin.hpp:559
-
ParameterRanges::getNormalizedValue
float getNormalizedValue(const float &value) const noexcept
Definition: DistrhoPlugin.hpp:376
-
ParameterRanges::def
float def
Definition: DistrhoPlugin.hpp:314
-
TimePosition::BarBeatTick::barStartTick
double barStartTick
Definition: DistrhoPlugin.hpp:549
-
Parameter::name
d_string name
Definition: DistrhoPlugin.hpp:436
-
Plugin::d_setLatency
void d_setLatency(uint32_t frames) noexcept
-
Parameter::unit
d_string unit
Definition: DistrhoPlugin.hpp:451
-
Parameter::ranges
ParameterRanges ranges
Definition: DistrhoPlugin.hpp:457
-
AudioPort::AudioPort
AudioPort() noexcept
Definition: DistrhoPlugin.hpp:297
-
TimePosition::BarBeatTick::beat
int32_t beat
Definition: DistrhoPlugin.hpp:537
-
Plugin::d_initParameter
virtual void d_initParameter(uint32_t index, Parameter &parameter)=0
-
Plugin::d_bufferSizeChanged
virtual void d_bufferSizeChanged(uint32_t newBufferSize)
-
ParameterRanges::getFixedValue
const float & getFixedValue(const float &value) const noexcept
Definition: DistrhoPlugin.hpp:364
-
kParameterIsBoolean
static const uint32_t kParameterIsBoolean
Definition: DistrhoPlugin.hpp:232
-
ParameterRanges::max
float max
Definition: DistrhoPlugin.hpp:324
-
ParameterRanges
Definition: DistrhoPlugin.hpp:310
-
AudioPort::symbol
d_string symbol
Definition: DistrhoPlugin.hpp:292
-
kParameterIsInteger
static const uint32_t kParameterIsInteger
Definition: DistrhoPlugin.hpp:237
-
Parameter
Definition: DistrhoPlugin.hpp:424
-
kAudioPortIsCV
static const uint32_t kAudioPortIsCV
Definition: DistrhoPlugin.hpp:202
-
TimePosition::BarBeatTick::valid
bool valid
Definition: DistrhoPlugin.hpp:523
-
MidiEvent::kDataSize
static const uint32_t kDataSize
Definition: DistrhoPlugin.hpp:477
-
Parameter::symbol
d_string symbol
Definition: DistrhoPlugin.hpp:444
-
AudioPort::name
d_string name
Definition: DistrhoPlugin.hpp:284
-
ParameterRanges::fixDefault
void fixDefault() noexcept
Definition: DistrhoPlugin.hpp:345
-
Plugin::d_getSampleRate
double d_getSampleRate() const noexcept
-
ParameterRanges::getFixedAndNormalizedValue
float getFixedAndNormalizedValue(const float &value) const noexcept
Definition: DistrhoPlugin.hpp:390
-
Plugin::d_activate
virtual void d_activate()
Definition: DistrhoPlugin.hpp:800
-
kParameterIsOutput
static const uint32_t kParameterIsOutput
Definition: DistrhoPlugin.hpp:252
-
TimePosition::BarBeatTick
Definition: DistrhoPlugin.hpp:518
-
TimePosition
Definition: DistrhoPlugin.hpp:504
-
Plugin::d_initProgramName
virtual void d_initProgramName(uint32_t index, d_string &programName)=0
-
Plugin::d_getBufferSize
uint32_t d_getBufferSize() const noexcept
-
kParameterIsLogarithmic
static const uint32_t kParameterIsLogarithmic
Definition: DistrhoPlugin.hpp:242
-
ParameterRanges::ParameterRanges
ParameterRanges(const float df, const float mn, const float mx) noexcept
Definition: DistrhoPlugin.hpp:337
+
TimePosition::TimePosition
TimePosition() noexcept
Definition: DistrhoPlugin.hpp:422
+
TimePosition::frame
uint64_t frame
Definition: DistrhoPlugin.hpp:345
+
Plugin::setParameterValue
virtual void setParameterValue(uint32_t index, float value)=0
+
Plugin::getMaker
virtual const char * getMaker() const =0
+
TimePosition::BarBeatTick::BarBeatTick
BarBeatTick() noexcept
Definition: DistrhoPlugin.hpp:407
+
kParameterIsAutomable
static const uint32_t kParameterIsAutomable
Definition: DistrhoPlugin.hpp:63
+
TimePosition::BarBeatTick::beatType
float beatType
Definition: DistrhoPlugin.hpp:391
+
ParameterRanges::getNormalizedValue
float getNormalizedValue(const float &value) const noexcept
Definition: DistrhoPlugin.hpp:208
+
ParameterRanges::def
float def
Definition: DistrhoPlugin.hpp:146
+
Plugin::initProgramName
virtual void initProgramName(uint32_t index, String &programName)=0
+
TimePosition::BarBeatTick::barStartTick
double barStartTick
Definition: DistrhoPlugin.hpp:381
+
Parameter::ranges
ParameterRanges ranges
Definition: DistrhoPlugin.hpp:289
+
AudioPort::AudioPort
AudioPort() noexcept
Definition: DistrhoPlugin.hpp:129
+
TimePosition::BarBeatTick::beat
int32_t beat
Definition: DistrhoPlugin.hpp:369
+
ParameterRanges::getFixedValue
const float & getFixedValue(const float &value) const noexcept
Definition: DistrhoPlugin.hpp:196
+
Plugin::initParameter
virtual void initParameter(uint32_t index, Parameter &parameter)=0
+
kParameterIsBoolean
static const uint32_t kParameterIsBoolean
Definition: DistrhoPlugin.hpp:69
+
ParameterRanges::max
float max
Definition: DistrhoPlugin.hpp:156
+
ParameterRanges
Definition: DistrhoPlugin.hpp:142
+
Parameter::unit
String unit
Definition: DistrhoPlugin.hpp:283
+
Plugin::getUniqueId
virtual int64_t getUniqueId() const =0
+
kParameterIsInteger
static const uint32_t kParameterIsInteger
Definition: DistrhoPlugin.hpp:74
+
Parameter
Definition: DistrhoPlugin.hpp:256
+
kAudioPortIsCV
static const uint32_t kAudioPortIsCV
Definition: DistrhoPlugin.hpp:39
+
TimePosition::BarBeatTick::valid
bool valid
Definition: DistrhoPlugin.hpp:355
+
Plugin::getName
virtual const char * getName() const
Definition: DistrhoPlugin.hpp:533
+
MidiEvent::kDataSize
static const uint32_t kDataSize
Definition: DistrhoPlugin.hpp:309
+
Plugin::initAudioPort
virtual void initAudioPort(bool input, uint32_t index, AudioPort &port)
+
Plugin::deactivated
virtual void deactivated()
Definition: DistrhoPlugin.hpp:642
+
ParameterRanges::fixDefault
void fixDefault() noexcept
Definition: DistrhoPlugin.hpp:177
+
Plugin::getSampleRate
double getSampleRate() const noexcept
+
Plugin::getTimePosition
const TimePosition & getTimePosition() const noexcept
+
ParameterRanges::getFixedAndNormalizedValue
float getFixedAndNormalizedValue(const float &value) const noexcept
Definition: DistrhoPlugin.hpp:222
+
Plugin::setLatency
void setLatency(uint32_t frames) noexcept
+
kParameterIsOutput
static const uint32_t kParameterIsOutput
Definition: DistrhoPlugin.hpp:89
+
TimePosition::BarBeatTick
Definition: DistrhoPlugin.hpp:350
+
TimePosition
Definition: DistrhoPlugin.hpp:336
+
Parameter::name
String name
Definition: DistrhoPlugin.hpp:268
+
Plugin::sampleRateChanged
virtual void sampleRateChanged(double newSampleRate)
+
kParameterIsLogarithmic
static const uint32_t kParameterIsLogarithmic
Definition: DistrhoPlugin.hpp:79
+
ParameterRanges::ParameterRanges
ParameterRanges(const float df, const float mn, const float mx) noexcept
Definition: DistrhoPlugin.hpp:169
diff --git a/DistrhoUI_8hpp_source.html b/DistrhoUI_8hpp_source.html index 6f36ad1f..2f7b28ca 100644 --- a/DistrhoUI_8hpp_source.html +++ b/DistrhoUI_8hpp_source.html @@ -123,187 +123,202 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
34  * DPF UI */
35 
36 /**
-
37  DPF UI class from where UI instances are created.
-
38 
-
39  TODO.
+
37  @addtogroup MainClasses
+
38  @{
+
39  */
40 
-
41  must call setSize during construction,
-
42  */
-
43 class UI : public UIWidget
-
44 {
-
45 public:
-
46  /**
-
47  UI class constructor.
-
48  The UI should be initialized to a default state that matches the plugin side.
-
49  */
-
50  UI(uint width = 0, uint height = 0);
-
51 
-
52  /**
-
53  Destructor.
+
41 /**
+
42  DPF UI class from where UI instances are created.
+
43 
+
44  TODO.
+
45 
+
46  must call setSize during construction,
+
47  */
+
48 class UI : public UIWidget
+
49 {
+
50 public:
+
51  /**
+
52  UI class constructor.
+
53  The UI should be initialized to a default state that matches the plugin side.
54  */
-
55  virtual ~UI();
-
56 
-
57  /* --------------------------------------------------------------------------------------------------------
-
58  * Host state */
-
59 
-
60  /**
-
61  Get the current sample rate used in plugin processing.
-
62  @see d_sampleRateChanged(double)
-
63  */
-
64  double d_getSampleRate() const noexcept;
-
65 
-
66  /**
-
67  TODO: Document this.
+
55  UI(uint width = 0, uint height = 0);
+
56 
+
57  /**
+
58  Destructor.
+
59  */
+
60  virtual ~UI();
+
61 
+
62  /* --------------------------------------------------------------------------------------------------------
+
63  * Host state */
+
64 
+
65  /**
+
66  Get the current sample rate used in plugin processing.
+
67  @see sampleRateChanged(double)
68  */
-
69  void d_editParameter(const uint32_t index, const bool started);
+
69  double getSampleRate() const noexcept;
70 
71  /**
72  TODO: Document this.
73  */
-
74  void d_setParameterValue(const uint32_t index, const float value);
-
75 
-
76 #if DISTRHO_PLUGIN_WANT_STATE
-
77  /**
-
78  TODO: Document this.
-
79  */
-
80  void d_setState(const char* const key, const char* const value);
-
81 #endif
-
82 
-
83 #if DISTRHO_PLUGIN_IS_SYNTH
-
84  /**
-
85  TODO: Document this.
-
86  */
-
87  void d_sendNote(const uint8_t channel, const uint8_t note, const uint8_t velocity);
-
88 #endif
-
89 
-
90 #if DISTRHO_PLUGIN_WANT_DIRECT_ACCESS
-
91  /* --------------------------------------------------------------------------------------------------------
-
92  * Direct DSP access - DO NOT USE THIS UNLESS STRICTLY NECESSARY!! */
-
93 
-
94  /**
-
95  TODO: Document this.
-
96  */
-
97  void* d_getPluginInstancePointer() const noexcept;
-
98 #endif
-
99 
-
100 protected:
-
101  /* --------------------------------------------------------------------------------------------------------
-
102  * DSP/Plugin Callbacks */
-
103 
-
104  /**
-
105  A parameter has changed on the plugin side.
-
106  This is called by the host to inform the UI about parameter changes.
-
107  */
-
108  virtual void d_parameterChanged(uint32_t index, float value) = 0;
-
109 
-
110 #if DISTRHO_PLUGIN_WANT_PROGRAMS
-
111  /**
-
112  The current program has changed on the plugin side.
-
113  This is called by the host to inform the UI about program changes.
-
114  */
-
115  virtual void d_programChanged(uint32_t index) = 0;
-
116 #endif
-
117 
-
118 #if DISTRHO_PLUGIN_WANT_STATE
-
119  /**
-
120  A state has changed on the plugin side.
-
121  This is called by the host to inform the UI about state changes.
-
122  */
-
123  virtual void d_stateChanged(const char* key, const char* value) = 0;
-
124 #endif
-
125 
-
126  /* --------------------------------------------------------------------------------------------------------
-
127  * DSP/Plugin Callbacks (optional) */
-
128 
-
129  /**
-
130  Optional callback to inform the UI about a sample rate change on the plugin side.
-
131  @see d_getSampleRate()
-
132  */
-
133  virtual void d_sampleRateChanged(double newSampleRate);
-
134 
-
135  /* --------------------------------------------------------------------------------------------------------
-
136  * UI Callbacks (optional) */
-
137 
-
138  /**
-
139  TODO: Document this.
-
140  */
-
141  virtual void d_uiIdle() {}
+
74  void editParameter(const uint32_t index, const bool started);
+
75 
+
76  /**
+
77  TODO: Document this.
+
78  */
+
79  void setParameterValue(const uint32_t index, const float value);
+
80 
+
81 #if DISTRHO_PLUGIN_WANT_STATE
+
82  /**
+
83  TODO: Document this.
+
84  */
+
85  void setState(const char* const key, const char* const value);
+
86 #endif
+
87 
+
88 #if DISTRHO_PLUGIN_IS_SYNTH
+
89  /**
+
90  TODO: Document this.
+
91  */
+
92  void sendNote(const uint8_t channel, const uint8_t note, const uint8_t velocity);
+
93 #endif
+
94 
+
95 #if DISTRHO_PLUGIN_WANT_DIRECT_ACCESS
+
96  /* --------------------------------------------------------------------------------------------------------
+
97  * Direct DSP access - DO NOT USE THIS UNLESS STRICTLY NECESSARY!! */
+
98 
+
99  /**
+
100  TODO: Document this.
+
101  */
+
102  void* getPluginInstancePointer() const noexcept;
+
103 #endif
+
104 
+
105 protected:
+
106  /* --------------------------------------------------------------------------------------------------------
+
107  * DSP/Plugin Callbacks */
+
108 
+
109  /**
+
110  A parameter has changed on the plugin side.
+
111  This is called by the host to inform the UI about parameter changes.
+
112  */
+
113  virtual void parameterChanged(uint32_t index, float value) = 0;
+
114 
+
115 #if DISTRHO_PLUGIN_WANT_PROGRAMS
+
116  /**
+
117  The current program has changed on the plugin side.
+
118  This is called by the host to inform the UI about program changes.
+
119  */
+
120  virtual void programChanged(uint32_t index) = 0;
+
121 #endif
+
122 
+
123 #if DISTRHO_PLUGIN_WANT_STATE
+
124  /**
+
125  A state has changed on the plugin side.
+
126  This is called by the host to inform the UI about state changes.
+
127  */
+
128  virtual void stateChanged(const char* key, const char* value) = 0;
+
129 #endif
+
130 
+
131  /* --------------------------------------------------------------------------------------------------------
+
132  * DSP/Plugin Callbacks (optional) */
+
133 
+
134  /**
+
135  Optional callback to inform the UI about a sample rate change on the plugin side.
+
136  @see getSampleRate()
+
137  */
+
138  virtual void sampleRateChanged(double newSampleRate);
+
139 
+
140  /* --------------------------------------------------------------------------------------------------------
+
141  * UI Callbacks (optional) */
142 
143  /**
-
144  File browser selected function.
-
145  @see Window::fileBrowserSelected(const char*)
-
146  */
-
147  virtual void d_uiFileBrowserSelected(const char* filename);
-
148 
-
149  /**
-
150  OpenGL window reshape function, called when parent window is resized.
-
151  You can reimplement this function for a custom OpenGL state.
-
152  @see Window::onReshape(uint,uint)
-
153  */
-
154  virtual void d_uiReshape(uint width, uint height);
-
155 
-
156  /* --------------------------------------------------------------------------------------------------------
-
157  * UI Resize Handling, internal */
-
158 
-
159  /**
-
160  OpenGL widget resize function, called when the widget is resized.
-
161  This is overriden here so the host knows when the UI is resized by you.
-
162  @see Widget::onResize(const ResizeEvent&)
-
163  */
-
164  void onResize(const ResizeEvent& ev) override;
-
165 
-
166  // -------------------------------------------------------------------------------------------------------
-
167 
-
168 private:
-
169  struct PrivateData;
-
170  PrivateData* const pData;
-
171  friend class UIExporter;
-
172  friend class UIExporterWindow;
-
173 
-
174  // these should not be used
-
175  void setAbsoluteX(int) const noexcept {}
-
176  void setAbsoluteY(int) const noexcept {}
-
177  void setAbsolutePos(int, int) const noexcept {}
-
178  void setAbsolutePos(const DGL::Point<int>&) const noexcept {}
-
179  void setNeedsFullViewport(bool) const noexcept {}
-
180 
-
181  DISTRHO_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(UI)
-
182 };
-
183 
-
184 /* ------------------------------------------------------------------------------------------------------------
-
185  * Create UI, entry point */
-
186 
-
187 /**
-
188  TODO.
-
189  */
-
190 extern UI* createUI();
-
191 
-
192 // -----------------------------------------------------------------------------------------------------------
-
193 
-
194 END_NAMESPACE_DISTRHO
-
195 
-
196 #endif // DISTRHO_UI_HPP_INCLUDED
-
UI::d_sampleRateChanged
virtual void d_sampleRateChanged(double newSampleRate)
+
144  TODO: Document this.
+
145  */
+
146  virtual void uiIdle() {}
+
147 
+
148  /**
+
149  File browser selected function.
+
150  @see Window::fileBrowserSelected(const char*)
+
151  */
+
152  virtual void uiFileBrowserSelected(const char* filename);
+
153 
+
154  /**
+
155  OpenGL window reshape function, called when parent window is resized.
+
156  You can reimplement this function for a custom OpenGL state.
+
157  @see Window::onReshape(uint,uint)
+
158  */
+
159  virtual void uiReshape(uint width, uint height);
+
160 
+
161  /* --------------------------------------------------------------------------------------------------------
+
162  * UI Resize Handling, internal */
+
163 
+
164  /**
+
165  OpenGL widget resize function, called when the widget is resized.
+
166  This is overriden here so the host knows when the UI is resized by you.
+
167  @see Widget::onResize(const ResizeEvent&)
+
168  */
+
169  void onResize(const ResizeEvent& ev) override;
+
170 
+
171  // -------------------------------------------------------------------------------------------------------
+
172 
+
173 private:
+
174  struct PrivateData;
+
175  PrivateData* const pData;
+
176  friend class UIExporter;
+
177  friend class UIExporterWindow;
+
178 
+
179  // these should not be used
+
180  void setAbsoluteX(int) const noexcept {}
+
181  void setAbsoluteY(int) const noexcept {}
+
182  void setAbsolutePos(int, int) const noexcept {}
+
183  void setAbsolutePos(const DGL::Point<int>&) const noexcept {}
+
184  void setNeedsFullViewport(bool) const noexcept {}
+
185 
+
186  DISTRHO_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(UI)
+
187 };
+
188 
+
189 /** @} */
+
190 
+
191 /* ------------------------------------------------------------------------------------------------------------
+
192  * Create UI, entry point */
+
193 
+
194 /**
+
195  @addtogroup EntryPoints
+
196  @{
+
197  */
+
198 
+
199 /**
+
200  TODO.
+
201  */
+
202 extern UI* createUI();
+
203 
+
204 /** @} */
+
205 
+
206 // -----------------------------------------------------------------------------------------------------------
+
207 
+
208 END_NAMESPACE_DISTRHO
+
209 
+
210 #endif // DISTRHO_UI_HPP_INCLUDED
+
UI::parameterChanged
virtual void parameterChanged(uint32_t index, float value)=0
UI::onResize
void onResize(const ResizeEvent &ev) override
UI::~UI
virtual ~UI()
-
UI::d_stateChanged
virtual void d_stateChanged(const char *key, const char *value)=0
-
UI::d_getPluginInstancePointer
void * d_getPluginInstancePointer() const noexcept
-
UI::d_parameterChanged
virtual void d_parameterChanged(uint32_t index, float value)=0
-
UI::d_uiFileBrowserSelected
virtual void d_uiFileBrowserSelected(const char *filename)
-
UI::d_setState
void d_setState(const char *const key, const char *const value)
-
UI::d_programChanged
virtual void d_programChanged(uint32_t index)=0
+
UI::editParameter
void editParameter(const uint32_t index, const bool started)
+
UI::getPluginInstancePointer
void * getPluginInstancePointer() const noexcept
+
UI::programChanged
virtual void programChanged(uint32_t index)=0
+
UI::sampleRateChanged
virtual void sampleRateChanged(double newSampleRate)
+
UI::setState
void setState(const char *const key, const char *const value)
UI::UI
UI(uint width=0, uint height=0)
-
UI::d_uiIdle
virtual void d_uiIdle()
Definition: DistrhoUI.hpp:141
-
UI::d_sendNote
void d_sendNote(const uint8_t channel, const uint8_t note, const uint8_t velocity)
-
UI::d_editParameter
void d_editParameter(const uint32_t index, const bool started)
-
UI
Definition: DistrhoUI.hpp:43
-
UI::d_getSampleRate
double d_getSampleRate() const noexcept
-
UI::d_setParameterValue
void d_setParameterValue(const uint32_t index, const float value)
-
UI::d_uiReshape
virtual void d_uiReshape(uint width, uint height)
+
createUI
UI * createUI()
+
UI::setParameterValue
void setParameterValue(const uint32_t index, const float value)
+
UI::stateChanged
virtual void stateChanged(const char *key, const char *value)=0
+
UI::getSampleRate
double getSampleRate() const noexcept
+
UI::sendNote
void sendNote(const uint8_t channel, const uint8_t note, const uint8_t velocity)
+
UI::uiFileBrowserSelected
virtual void uiFileBrowserSelected(const char *filename)
+
UI::uiReshape
virtual void uiReshape(uint width, uint height)
+
UI
Definition: DistrhoUI.hpp:48
+
UI::uiIdle
virtual void uiIdle()
Definition: DistrhoUI.hpp:146
diff --git a/DistrhoUtils_8hpp_source.html b/DistrhoUtils_8hpp_source.html index 81c7fc56..99f8d3fb 100644 --- a/DistrhoUtils_8hpp_source.html +++ b/DistrhoUtils_8hpp_source.html @@ -135,164 +135,168 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
46 }
47 #endif
48 
-
49 // -----------------------------------------------------------------------
-
50 // misc functions
-
51 
-
52 /*
-
53  * Return a 64-bit number from 4 8-bit numbers.
-
54  */
-
55 static inline
-
56 int64_t d_cconst(const uint8_t a, const uint8_t b, const uint8_t c, const uint8_t d) noexcept
-
57 {
-
58  return (a << 24) | (b << 16) | (c << 8) | (d << 0);
-
59 }
-
60 
-
61 /*
-
62  * Dummy function.
-
63  */
-
64 static inline
-
65 void d_pass() noexcept {}
-
66 
-
67 // -----------------------------------------------------------------------
-
68 // string print functions
-
69 
-
70 /*
-
71  * Print a string to stdout with newline (gray color).
-
72  * Does nothing if DEBUG is not defined.
-
73  */
-
74 #ifndef DEBUG
-
75 # define d_debug(...)
-
76 #else
-
77 static inline
-
78 void d_debug(const char* const fmt, ...) noexcept
-
79 {
-
80  try {
-
81  ::va_list args;
-
82  ::va_start(args, fmt);
-
83  std::fprintf(stdout, "\x1b[30;1m");
-
84  std::vfprintf(stdout, fmt, args);
-
85  std::fprintf(stdout, "\x1b[0m\n");
-
86  ::va_end(args);
-
87  } catch (...) {}
-
88 }
-
89 #endif
-
90 
-
91 /*
-
92  * Print a string to stdout with newline.
-
93  */
-
94 static inline
-
95 void d_stdout(const char* const fmt, ...) noexcept
-
96 {
-
97  try {
-
98  ::va_list args;
-
99  ::va_start(args, fmt);
-
100  std::vfprintf(stdout, fmt, args);
-
101  std::fprintf(stdout, "\n");
-
102  ::va_end(args);
-
103  } catch (...) {}
-
104 }
-
105 
-
106 /*
-
107  * Print a string to stderr with newline.
-
108  */
-
109 static inline
-
110 void d_stderr(const char* const fmt, ...) noexcept
-
111 {
-
112  try {
-
113  ::va_list args;
-
114  ::va_start(args, fmt);
-
115  std::vfprintf(stderr, fmt, args);
-
116  std::fprintf(stderr, "\n");
-
117  ::va_end(args);
-
118  } catch (...) {}
-
119 }
-
120 
-
121 /*
-
122  * Print a string to stderr with newline (red color).
-
123  */
-
124 static inline
-
125 void d_stderr2(const char* const fmt, ...) noexcept
-
126 {
-
127  try {
-
128  ::va_list args;
-
129  ::va_start(args, fmt);
-
130  std::fprintf(stderr, "\x1b[31m");
-
131  std::vfprintf(stderr, fmt, args);
-
132  std::fprintf(stderr, "\x1b[0m\n");
-
133  ::va_end(args);
-
134  } catch (...) {}
-
135 }
-
136 
-
137 /*
-
138  * Print a safe assertion error message.
-
139  */
-
140 static inline
-
141 void d_safe_assert(const char* const assertion, const char* const file, const int line) noexcept
-
142 {
-
143  d_stderr2("assertion failure: \"%s\" in file %s, line %i", assertion, file, line);
-
144 }
-
145 
-
146 /*
-
147  * Print a safe exception error message.
-
148  */
-
149 static inline
-
150 void d_safe_exception(const char* const exception, const char* const file, const int line) noexcept
-
151 {
-
152  d_stderr2("exception caught: \"%s\" in file %s, line %i", exception, file, line);
-
153 }
-
154 
-
155 // -----------------------------------------------------------------------
-
156 // math functions
-
157 
-
158 /*
-
159  * Safely compare two floating point numbers.
-
160  * Returns true if they match.
-
161  */
-
162 template<typename T>
-
163 static inline
-
164 bool d_isEqual(const T& v1, const T& v2)
-
165 {
-
166  return std::abs(v1-v2) < std::numeric_limits<T>::epsilon();
-
167 }
-
168 
-
169 /*
-
170  * Safely compare two floating point numbers.
-
171  * Returns true if they don't match.
-
172  */
-
173 template<typename T>
-
174 static inline
-
175 bool d_isNotEqual(const T& v1, const T& v2)
-
176 {
-
177  return std::abs(v1-v2) >= std::numeric_limits<T>::epsilon();
-
178 }
-
179 
-
180 /*
-
181  * Safely check if a floating point number is zero.
-
182  */
-
183 template<typename T>
-
184 static inline
-
185 bool d_isZero(const T& value)
-
186 {
-
187  return std::abs(value) < std::numeric_limits<T>::epsilon();
-
188 }
-
189 
-
190 /*
-
191  * Safely check if a floating point number is not zero.
-
192  */
-
193 template<typename T>
-
194 static inline
-
195 bool d_isNotZero(const T& value)
-
196 {
-
197  return std::abs(value) >= std::numeric_limits<T>::epsilon();
-
198 }
-
199 
-
200 // -----------------------------------------------------------------------
-
201 
-
202 #endif // DISTRHO_UTILS_HPP_INCLUDED
+
49 #ifndef M_PI
+
50 # define M_PI 3.14159265358979323846
+
51 #endif
+
52 
+
53 // -----------------------------------------------------------------------
+
54 // misc functions
+
55 
+
56 /*
+
57  * Return a 64-bit number from 4 8-bit numbers.
+
58  */
+
59 static inline
+
60 int64_t d_cconst(const uint8_t a, const uint8_t b, const uint8_t c, const uint8_t d) noexcept
+
61 {
+
62  return (a << 24) | (b << 16) | (c << 8) | (d << 0);
+
63 }
+
64 
+
65 /*
+
66  * Dummy function.
+
67  */
+
68 static inline
+
69 void d_pass() noexcept {}
+
70 
+
71 // -----------------------------------------------------------------------
+
72 // string print functions
+
73 
+
74 /*
+
75  * Print a string to stdout with newline (gray color).
+
76  * Does nothing if DEBUG is not defined.
+
77  */
+
78 #ifndef DEBUG
+
79 # define d_debug(...)
+
80 #else
+
81 static inline
+
82 void d_debug(const char* const fmt, ...) noexcept
+
83 {
+
84  try {
+
85  ::va_list args;
+
86  ::va_start(args, fmt);
+
87  std::fprintf(stdout, "\x1b[30;1m");
+
88  std::vfprintf(stdout, fmt, args);
+
89  std::fprintf(stdout, "\x1b[0m\n");
+
90  ::va_end(args);
+
91  } catch (...) {}
+
92 }
+
93 #endif
+
94 
+
95 /*
+
96  * Print a string to stdout with newline.
+
97  */
+
98 static inline
+
99 void d_stdout(const char* const fmt, ...) noexcept
+
100 {
+
101  try {
+
102  ::va_list args;
+
103  ::va_start(args, fmt);
+
104  std::vfprintf(stdout, fmt, args);
+
105  std::fprintf(stdout, "\n");
+
106  ::va_end(args);
+
107  } catch (...) {}
+
108 }
+
109 
+
110 /*
+
111  * Print a string to stderr with newline.
+
112  */
+
113 static inline
+
114 void d_stderr(const char* const fmt, ...) noexcept
+
115 {
+
116  try {
+
117  ::va_list args;
+
118  ::va_start(args, fmt);
+
119  std::vfprintf(stderr, fmt, args);
+
120  std::fprintf(stderr, "\n");
+
121  ::va_end(args);
+
122  } catch (...) {}
+
123 }
+
124 
+
125 /*
+
126  * Print a string to stderr with newline (red color).
+
127  */
+
128 static inline
+
129 void d_stderr2(const char* const fmt, ...) noexcept
+
130 {
+
131  try {
+
132  ::va_list args;
+
133  ::va_start(args, fmt);
+
134  std::fprintf(stderr, "\x1b[31m");
+
135  std::vfprintf(stderr, fmt, args);
+
136  std::fprintf(stderr, "\x1b[0m\n");
+
137  ::va_end(args);
+
138  } catch (...) {}
+
139 }
+
140 
+
141 /*
+
142  * Print a safe assertion error message.
+
143  */
+
144 static inline
+
145 void d_safe_assert(const char* const assertion, const char* const file, const int line) noexcept
+
146 {
+
147  d_stderr2("assertion failure: \"%s\" in file %s, line %i", assertion, file, line);
+
148 }
+
149 
+
150 /*
+
151  * Print a safe exception error message.
+
152  */
+
153 static inline
+
154 void d_safe_exception(const char* const exception, const char* const file, const int line) noexcept
+
155 {
+
156  d_stderr2("exception caught: \"%s\" in file %s, line %i", exception, file, line);
+
157 }
+
158 
+
159 // -----------------------------------------------------------------------
+
160 // math functions
+
161 
+
162 /*
+
163  * Safely compare two floating point numbers.
+
164  * Returns true if they match.
+
165  */
+
166 template<typename T>
+
167 static inline
+
168 bool d_isEqual(const T& v1, const T& v2)
+
169 {
+
170  return std::abs(v1-v2) < std::numeric_limits<T>::epsilon();
+
171 }
+
172 
+
173 /*
+
174  * Safely compare two floating point numbers.
+
175  * Returns true if they don't match.
+
176  */
+
177 template<typename T>
+
178 static inline
+
179 bool d_isNotEqual(const T& v1, const T& v2)
+
180 {
+
181  return std::abs(v1-v2) >= std::numeric_limits<T>::epsilon();
+
182 }
+
183 
+
184 /*
+
185  * Safely check if a floating point number is zero.
+
186  */
+
187 template<typename T>
+
188 static inline
+
189 bool d_isZero(const T& value)
+
190 {
+
191  return std::abs(value) < std::numeric_limits<T>::epsilon();
+
192 }
+
193 
+
194 /*
+
195  * Safely check if a floating point number is not zero.
+
196  */
+
197 template<typename T>
+
198 static inline
+
199 bool d_isNotZero(const T& value)
+
200 {
+
201  return std::abs(value) >= std::numeric_limits<T>::epsilon();
+
202 }
+
203 
+
204 // -----------------------------------------------------------------------
+
205 
+
206 #endif // DISTRHO_UTILS_HPP_INCLUDED
diff --git a/Geometry_8hpp_source.html b/Geometry_8hpp_source.html new file mode 100644 index 00000000..a6024300 --- /dev/null +++ b/Geometry_8hpp_source.html @@ -0,0 +1,892 @@ + + + + + + +DISTRHO Plugin Framework: dgl/Geometry.hpp Source File + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + +
+ All Classes Functions Variables Modules Pages
+ + +
+ +
+ + +
+
+
+
Geometry.hpp
+
+
+
1 /*
+
2  * DISTRHO Plugin Framework (DPF)
+
3  * Copyright (C) 2012-2014 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_GEOMETRY_HPP_INCLUDED
+
18 #define DGL_GEOMETRY_HPP_INCLUDED
+
19 
+
20 #include "Base.hpp"
+
21 
+
22 START_NAMESPACE_DGL
+
23 
+
24 // -----------------------------------------------------------------------
+
25 // Forward class names
+
26 
+
27 template<typename> class Line;
+
28 template<typename> class Circle;
+
29 template<typename> class Triangle;
+
30 template<typename> class Rectangle;
+
31 
+
32 // -----------------------------------------------------------------------
+
33 
+
34 /**
+
35  DGL Point class.
+
36 
+
37  This class describes a single point in space, defined by an X and Y value.
+
38  */
+
39 template<typename T>
+
40 class Point
+
41 {
+
42 public:
+
43  /**
+
44  Constructor for (0, 0) point.
+
45  */
+
46  Point() noexcept;
+
47 
+
48  /**
+
49  Constructor using custom X and Y values.
+
50  */
+
51  Point(const T& x, const T& y) noexcept;
+
52 
+
53  /**
+
54  Constructor using another Point class values.
+
55  */
+
56  Point(const Point<T>& pos) noexcept;
+
57 
+
58  /**
+
59  Get X value.
+
60  */
+
61  const T& getX() const noexcept;
+
62 
+
63  /**
+
64  Get Y value.
+
65  */
+
66  const T& getY() const noexcept;
+
67 
+
68  /**
+
69  Set X value to @a x.
+
70  */
+
71  void setX(const T& x) noexcept;
+
72 
+
73  /**
+
74  Set Y value to @a y.
+
75  */
+
76  void setY(const T& y) noexcept;
+
77 
+
78  /**
+
79  Set X and Y values to @a x and @a y respectively.
+
80  */
+
81  void setPos(const T& x, const T& y) noexcept;
+
82 
+
83  /**
+
84  Set X and Y values according to @a pos.
+
85  */
+
86  void setPos(const Point<T>& pos) noexcept;
+
87 
+
88  /**
+
89  Move this point by @a x and @a y values.
+
90  */
+
91  void moveBy(const T& x, const T& y) noexcept;
+
92 
+
93  /**
+
94  Move this point by @a pos.
+
95  */
+
96  void moveBy(const Point<T>& pos) noexcept;
+
97 
+
98  /**
+
99  Return true if point is (0, 0).
+
100  */
+
101  bool isZero() const noexcept;
+
102 
+
103  /**
+
104  Return true if point is not (0, 0).
+
105  */
+
106  bool isNotZero() const noexcept;
+
107 
+
108  Point<T> operator+(const Point<T>& pos) noexcept;
+
109  Point<T> operator-(const Point<T>& pos) noexcept;
+
110  Point<T>& operator=(const Point<T>& pos) noexcept;
+
111  Point<T>& operator+=(const Point<T>& pos) noexcept;
+
112  Point<T>& operator-=(const Point<T>& pos) noexcept;
+
113  bool operator==(const Point<T>& pos) const noexcept;
+
114  bool operator!=(const Point<T>& pos) const noexcept;
+
115 
+
116 private:
+
117  T fX, fY;
+
118  template<typename> friend class Line;
+
119  template<typename> friend class Circle;
+
120  template<typename> friend class Triangle;
+
121  template<typename> friend class Rectangle;
+
122 };
+
123 
+
124 // -----------------------------------------------------------------------
+
125 
+
126 /**
+
127  DGL Size class.
+
128 
+
129  This class describes a size, defined by a width and height value.
+
130  */
+
131 template<typename T>
+
132 class Size
+
133 {
+
134 public:
+
135  /**
+
136  Constructor for null size (0x0).
+
137  */
+
138  Size() noexcept;
+
139 
+
140  /**
+
141  Constructor using custom width and height values.
+
142  */
+
143  Size(const T& width, const T& height) noexcept;
+
144 
+
145  /**
+
146  Constructor using another Size class values.
+
147  */
+
148  Size(const Size<T>& size) noexcept;
+
149 
+
150  /**
+
151  Get width.
+
152  */
+
153  const T& getWidth() const noexcept;
+
154 
+
155  /**
+
156  Get height.
+
157  */
+
158  const T& getHeight() const noexcept;
+
159 
+
160  /**
+
161  Set width.
+
162  */
+
163  void setWidth(const T& width) noexcept;
+
164 
+
165  /**
+
166  Set height.
+
167  */
+
168  void setHeight(const T& height) noexcept;
+
169 
+
170  /**
+
171  Set size to @a width and @a height.
+
172  */
+
173  void setSize(const T& width, const T& height) noexcept;
+
174 
+
175  /**
+
176  Set size.
+
177  */
+
178  void setSize(const Size<T>& size) noexcept;
+
179 
+
180  /**
+
181  Grow size by @a multiplier.
+
182  */
+
183  void growBy(double multiplier) noexcept;
+
184 
+
185  /**
+
186  Shrink size by @a divider.
+
187  */
+
188  void shrinkBy(double divider) noexcept;
+
189 
+
190  /**
+
191  Return true if size is null (0x0).
+
192  An null size is also invalid.
+
193  */
+
194  bool isNull() const noexcept;
+
195 
+
196  /**
+
197  Return true if size is not null (0x0).
+
198  A non-null size is still invalid if its width or height is negative.
+
199  */
+
200  bool isNotNull() const noexcept;
+
201 
+
202  /**
+
203  Return true if size is valid (width and height are higher than zero).
+
204  */
+
205  bool isValid() const noexcept;
+
206 
+
207  /**
+
208  Return true if size is invalid (width or height are lower or equal to zero).
+
209  An invalid size might not be null under some circumstances.
+
210  */
+
211  bool isInvalid() const noexcept;
+
212 
+
213  Size<T> operator+(const Size<T>& size) noexcept;
+
214  Size<T> operator-(const Size<T>& size) noexcept;
+
215  Size<T>& operator=(const Size<T>& size) noexcept;
+
216  Size<T>& operator+=(const Size<T>& size) noexcept;
+
217  Size<T>& operator-=(const Size<T>& size) noexcept;
+
218  Size<T>& operator*=(double m) noexcept;
+
219  Size<T>& operator/=(double d) noexcept;
+
220  bool operator==(const Size<T>& size) const noexcept;
+
221  bool operator!=(const Size<T>& size) const noexcept;
+
222 
+
223 private:
+
224  T fWidth, fHeight;
+
225  template<typename> friend class Rectangle;
+
226 };
+
227 
+
228 // -----------------------------------------------------------------------
+
229 
+
230 /**
+
231  DGL Line class.
+
232 
+
233  This class describes a line, defined by two points.
+
234  */
+
235 template<typename T>
+
236 class Line
+
237 {
+
238 public:
+
239  /**
+
240  Constructor for a null line ([0,0] to [0,0]).
+
241  */
+
242  Line() noexcept;
+
243 
+
244  /**
+
245  Constructor using custom start X, start Y, end X and end Y values.
+
246  */
+
247  Line(const T& startX, const T& startY, const T& endX, const T& endY) noexcept;
+
248 
+
249  /**
+
250  Constructor using custom start X, start Y and end pos values.
+
251  */
+
252  Line(const T& startX, const T& startY, const Point<T>& endPos) noexcept;
+
253 
+
254  /**
+
255  Constructor using custom start pos, end X and end Y values.
+
256  */
+
257  Line(const Point<T>& startPos, const T& endX, const T& endY) noexcept;
+
258 
+
259  /**
+
260  Constructor using custom start and end pos values.
+
261  */
+
262  Line(const Point<T>& startPos, const Point<T>& endPos) noexcept;
+
263 
+
264  /**
+
265  Constructor using another Line class values.
+
266  */
+
267  Line(const Line<T>& line) noexcept;
+
268 
+
269  /**
+
270  Get start X value.
+
271  */
+
272  const T& getStartX() const noexcept;
+
273 
+
274  /**
+
275  Get start Y value.
+
276  */
+
277  const T& getStartY() const noexcept;
+
278 
+
279  /**
+
280  Get end X value.
+
281  */
+
282  const T& getEndX() const noexcept;
+
283 
+
284  /**
+
285  Get end Y value.
+
286  */
+
287  const T& getEndY() const noexcept;
+
288 
+
289  /**
+
290  Get start position.
+
291  */
+
292  const Point<T>& getStartPos() const noexcept;
+
293 
+
294  /**
+
295  Get end position.
+
296  */
+
297  const Point<T>& getEndPos() const noexcept;
+
298 
+
299  /**
+
300  Set start X value to @a x.
+
301  */
+
302  void setStartX(const T& x) noexcept;
+
303 
+
304  /**
+
305  Set start Y value to @a y.
+
306  */
+
307  void setStartY(const T& y) noexcept;
+
308 
+
309  /**
+
310  Set start X and Y values to @a x and @a y respectively.
+
311  */
+
312  void setStartPos(const T& x, const T& y) noexcept;
+
313 
+
314  /**
+
315  Set start X and Y values according to @a pos.
+
316  */
+
317  void setStartPos(const Point<T>& pos) noexcept;
+
318 
+
319  /**
+
320  Set end X value to @a x.
+
321  */
+
322  void setEndX(const T& x) noexcept;
+
323 
+
324  /**
+
325  Set end Y value to @a y.
+
326  */
+
327  void setEndY(const T& y) noexcept;
+
328 
+
329  /**
+
330  Set end X and Y values to @a x and @a y respectively.
+
331  */
+
332  void setEndPos(const T& x, const T& y) noexcept;
+
333 
+
334  /**
+
335  Set end X and Y values according to @a pos.
+
336  */
+
337  void setEndPos(const Point<T>& pos) noexcept;
+
338 
+
339  /**
+
340  Move this line by @a x and @a y values.
+
341  */
+
342  void moveBy(const T& x, const T& y) noexcept;
+
343 
+
344  /**
+
345  Move this line by @a pos.
+
346  */
+
347  void moveBy(const Point<T>& pos) noexcept;
+
348 
+
349  /**
+
350  Draw this line using the current OpenGL state.
+
351  */
+
352  void draw();
+
353 
+
354  /**
+
355  Return true if line is null (start and end pos are equal).
+
356  */
+
357  bool isNull() const noexcept;
+
358 
+
359  /**
+
360  Return true if line is not null (start and end pos are different).
+
361  */
+
362  bool isNotNull() const noexcept;
+
363 
+
364  Line<T>& operator=(const Line<T>& line) noexcept;
+
365  bool operator==(const Line<T>& line) const noexcept;
+
366  bool operator!=(const Line<T>& line) const noexcept;
+
367 
+
368 private:
+
369  Point<T> fPosStart, fPosEnd;
+
370 };
+
371 
+
372 // -----------------------------------------------------------------------
+
373 
+
374 /**
+
375  DGL Circle class.
+
376 
+
377  This class describes a circle, defined by position, size and a minimum of 3 segments.
+
378 
+
379  TODO: report if circle starts at top-left, bottom-right or center.
+
380  and size grows from which point?
+
381  */
+
382 template<typename T>
+
383 class Circle
+
384 {
+
385 public:
+
386  /**
+
387  Constructor for a null circle.
+
388  */
+
389  Circle() noexcept;
+
390 
+
391  /**
+
392  Constructor using custom X, Y and size values.
+
393  */
+
394  Circle(const T& x, const T& y, const float size, const uint numSegments = 300);
+
395 
+
396  /**
+
397  Constructor using custom position and size values.
+
398  */
+
399  Circle(const Point<T>& pos, const float size, const uint numSegments = 300);
+
400 
+
401  /**
+
402  Constructor using another Circle class values.
+
403  */
+
404  Circle(const Circle<T>& cir) noexcept;
+
405 
+
406  /**
+
407  Get X value.
+
408  */
+
409  const T& getX() const noexcept;
+
410 
+
411  /**
+
412  Get Y value.
+
413  */
+
414  const T& getY() const noexcept;
+
415 
+
416  /**
+
417  Get position.
+
418  */
+
419  const Point<T>& getPos() const noexcept;
+
420 
+
421  /**
+
422  Set X value to @a x.
+
423  */
+
424  void setX(const T& x) noexcept;
+
425 
+
426  /**
+
427  Set Y value to @a y.
+
428  */
+
429  void setY(const T& y) noexcept;
+
430 
+
431  /**
+
432  Set X and Y values to @a x and @a y respectively.
+
433  */
+
434  void setPos(const T& x, const T& y) noexcept;
+
435 
+
436  /**
+
437  Set X and Y values according to @a pos.
+
438  */
+
439  void setPos(const Point<T>& pos) noexcept;
+
440 
+
441  /**
+
442  Get size.
+
443  */
+
444  float getSize() const noexcept;
+
445 
+
446  /**
+
447  Set size.
+
448  @note Must always be > 0
+
449  */
+
450  void setSize(const float size) noexcept;
+
451 
+
452  /**
+
453  Get the current number of line segments that make this circle.
+
454  */
+
455  uint getNumSegments() const noexcept;
+
456 
+
457  /**
+
458  Set the number of line segments that will make this circle.
+
459  @note Must always be >= 3
+
460  */
+
461  void setNumSegments(const uint num);
+
462 
+
463  /**
+
464  Draw this circle using the current OpenGL state.
+
465  */
+
466  void draw();
+
467 
+
468  /**
+
469  Draw lines (outline of this circle) using the current OpenGL state.
+
470  */
+
471  void drawOutline();
+
472 
+
473  Circle<T>& operator=(const Circle<T>& cir) noexcept;
+
474  bool operator==(const Circle<T>& cir) const noexcept;
+
475  bool operator!=(const Circle<T>& cir) const noexcept;
+
476 
+
477 private:
+
478  Point<T> fPos;
+
479  float fSize;
+
480  uint fNumSegments;
+
481 
+
482  // cached values
+
483  float fTheta, fCos, fSin;
+
484 
+
485  void _draw(const bool outline);
+
486 };
+
487 
+
488 // -----------------------------------------------------------------------
+
489 
+
490 /**
+
491  DGL Triangle class.
+
492 
+
493  This class describes a triangle, defined by 3 points.
+
494  */
+
495 template<typename T>
+
496 class Triangle
+
497 {
+
498 public:
+
499  /**
+
500  Constructor for a null triangle.
+
501  */
+
502  Triangle() noexcept;
+
503 
+
504  /**
+
505  Constructor using custom X and Y values.
+
506  */
+
507  Triangle(const T& x1, const T& y1, const T& x2, const T& y2, const T& x3, const T& y3) noexcept;
+
508 
+
509  /**
+
510  Constructor using custom position values.
+
511  */
+
512  Triangle(const Point<T>& pos1, const Point<T>& pos2, const Point<T>& pos3) noexcept;
+
513 
+
514  /**
+
515  Constructor using another Triangle class values.
+
516  */
+
517  Triangle(const Triangle<T>& tri) noexcept;
+
518 
+
519  /**
+
520  Draw this triangle using the current OpenGL state.
+
521  */
+
522  void draw();
+
523 
+
524  /**
+
525  Draw lines (outline of this triangle) using the current OpenGL state.
+
526  */
+
527  void drawOutline();
+
528 
+
529  /**
+
530  Return true if triangle is null (all its points are equal).
+
531  An null triangle is also invalid.
+
532  */
+
533  bool isNull() const noexcept;
+
534 
+
535  /**
+
536  Return true if triangle is not null (one its points is different from the others).
+
537  A non-null triangle is still invalid if two of its points are equal.
+
538  */
+
539  bool isNotNull() const noexcept;
+
540 
+
541  /**
+
542  Return true if triangle is valid (all its points are different).
+
543  */
+
544  bool isValid() const noexcept;
+
545 
+
546  /**
+
547  Return true if triangle is invalid (one or two of its points are equal).
+
548  An invalid triangle might not be null under some circumstances.
+
549  */
+
550  bool isInvalid() const noexcept;
+
551 
+
552  Triangle<T>& operator=(const Triangle<T>& tri) noexcept;
+
553  bool operator==(const Triangle<T>& tri) const noexcept;
+
554  bool operator!=(const Triangle<T>& tri) const noexcept;
+
555 
+
556 private:
+
557  Point<T> fPos1, fPos2, fPos3;
+
558 
+
559  void _draw(const bool outline);
+
560 };
+
561 
+
562 // -----------------------------------------------------------------------
+
563 
+
564 /**
+
565  DGL Rectangle class.
+
566 
+
567  This class describes a rectangle, defined by a starting point and a size.
+
568  */
+
569 template<typename T>
+
570 class Rectangle
+
571 {
+
572 public:
+
573  /**
+
574  Constructor for a null rectangle.
+
575  */
+
576  Rectangle() noexcept;
+
577 
+
578  /**
+
579  Constructor using custom X, Y, width and height values.
+
580  */
+
581  Rectangle(const T& x, const T& y, const T& width, const T& height) noexcept;
+
582 
+
583  /**
+
584  Constructor using custom X, Y and size values.
+
585  */
+
586  Rectangle(const T& x, const T& y, const Size<T>& size) noexcept;
+
587 
+
588  /**
+
589  Constructor using custom pos, width and height values.
+
590  */
+
591  Rectangle(const Point<T>& pos, const T& width, const T& height) noexcept;
+
592 
+
593  /**
+
594  Constructor using custom position and size.
+
595  */
+
596  Rectangle(const Point<T>& pos, const Size<T>& size) noexcept;
+
597 
+
598  /**
+
599  Constructor using another Rectangle class values.
+
600  */
+
601  Rectangle(const Rectangle<T>& rect) noexcept;
+
602 
+
603  /**
+
604  Get X value.
+
605  */
+
606  const T& getX() const noexcept;
+
607 
+
608  /**
+
609  Get Y value.
+
610  */
+
611  const T& getY() const noexcept;
+
612 
+
613  /**
+
614  Get width.
+
615  */
+
616  const T& getWidth() const noexcept;
+
617 
+
618  /**
+
619  Get height.
+
620  */
+
621  const T& getHeight() const noexcept;
+
622 
+
623  /**
+
624  Get position.
+
625  */
+
626  const Point<T>& getPos() const noexcept;
+
627 
+
628  /**
+
629  Get size.
+
630  */
+
631  const Size<T>& getSize() const noexcept;
+
632 
+
633  /**
+
634  Set X value as @a x.
+
635  */
+
636  void setX(const T& x) noexcept;
+
637 
+
638  /**
+
639  Set Y value as @a y.
+
640  */
+
641  void setY(const T& y) noexcept;
+
642 
+
643  /**
+
644  Set X and Y values as @a x and @a y respectively.
+
645  */
+
646  void setPos(const T& x, const T& y) noexcept;
+
647 
+
648  /**
+
649  Set X and Y values according to @a pos.
+
650  */
+
651  void setPos(const Point<T>& pos) noexcept;
+
652 
+
653  /**
+
654  Move this rectangle by @a x and @a y values.
+
655  */
+
656  void moveBy(const T& x, const T& y) noexcept;
+
657 
+
658  /**
+
659  Move this rectangle by @a pos.
+
660  */
+
661  void moveBy(const Point<T>& pos) noexcept;
+
662 
+
663  /**
+
664  Set width.
+
665  */
+
666  void setWidth(const T& width) noexcept;
+
667 
+
668  /**
+
669  Set height.
+
670  */
+
671  void setHeight(const T& height) noexcept;
+
672 
+
673  /**
+
674  Set size using @a width and @a height.
+
675  */
+
676  void setSize(const T& width, const T& height) noexcept;
+
677 
+
678  /**
+
679  Set size.
+
680  */
+
681  void setSize(const Size<T>& size) noexcept;
+
682 
+
683  /**
+
684  Grow size by @a multiplier.
+
685  */
+
686  void growBy(double multiplier) noexcept;
+
687 
+
688  /**
+
689  Shrink size by @a divider.
+
690  */
+
691  void shrinkBy(double divider) noexcept;
+
692 
+
693  /**
+
694  Set rectangle using @a pos and @a size.
+
695  */
+
696  void setRectangle(const Point<T>& pos, const Size<T>& size) noexcept;
+
697 
+
698  /**
+
699  Set rectangle.
+
700  */
+
701  void setRectangle(const Rectangle<T>& rect) noexcept;
+
702 
+
703  /**
+
704  Check if this rectangle contains the point defined by @a X and @a Y.
+
705  */
+
706  bool contains(const T& x, const T& y) const noexcept;
+
707 
+
708  /**
+
709  Check if this rectangle contains the point @a pos.
+
710  */
+
711  bool contains(const Point<T>& pos) const noexcept;
+
712 
+
713  /**
+
714  Check if this rectangle contains X.
+
715  */
+
716  bool containsX(const T& x) const noexcept;
+
717 
+
718  /**
+
719  Check if this rectangle contains Y.
+
720  */
+
721  bool containsY(const T& y) const noexcept;
+
722 
+
723  /**
+
724  Draw this rectangle using the current OpenGL state.
+
725  */
+
726  void draw();
+
727 
+
728  /**
+
729  Draw lines (outline of this rectangle) using the current OpenGL state.
+
730  */
+
731  void drawOutline();
+
732 
+
733  Rectangle<T>& operator=(const Rectangle<T>& rect) noexcept;
+
734  Rectangle<T>& operator*=(double m) noexcept;
+
735  Rectangle<T>& operator/=(double d) noexcept;
+
736  bool operator==(const Rectangle<T>& size) const noexcept;
+
737  bool operator!=(const Rectangle<T>& size) const noexcept;
+
738 
+
739 private:
+
740  Point<T> fPos;
+
741  Size<T> fSize;
+
742 
+
743  void _draw(const bool outline);
+
744 };
+
745 
+
746 // -----------------------------------------------------------------------
+
747 
+
748 END_NAMESPACE_DGL
+
749 
+
750 #endif // DGL_GEOMETRY_HPP_INCLUDED
+
bool isNotNull() const noexcept
+
void moveBy(const T &x, const T &y) noexcept
+
void setX(const T &x) noexcept
+
const T & getStartX() const noexcept
+
Definition: Geometry.hpp:28
+
const T & getEndY() const noexcept
+
bool isValid() const noexcept
+
void setStartX(const T &x) noexcept
+
void setEndX(const T &x) noexcept
+
const T & getY() const noexcept
+
void shrinkBy(double divider) noexcept
+
const T & getX() const noexcept
+
Definition: Geometry.hpp:40
+
void setStartY(const T &y) noexcept
+
void setSize(const T &width, const T &height) noexcept
+
Definition: Geometry.hpp:132
+
const Point< T > & getStartPos() const noexcept
+
void setHeight(const T &height) noexcept
+
Point() noexcept
+
void setPos(const T &x, const T &y) noexcept
+
void setEndPos(const T &x, const T &y) noexcept
+
bool isNull() const noexcept
+
bool isInvalid() const noexcept
+
void moveBy(const T &x, const T &y) noexcept
+
Definition: Geometry.hpp:29
+
void setWidth(const T &width) noexcept
+
const T & getEndX() const noexcept
+
void setStartPos(const T &x, const T &y) noexcept
+
void growBy(double multiplier) noexcept
+
Definition: Geometry.hpp:30
+
void setEndY(const T &y) noexcept
+
Size() noexcept
+
Definition: Geometry.hpp:27
+
const T & getHeight() const noexcept
+
const T & getStartY() const noexcept
+
bool isNotNull() const noexcept
+
bool isNull() const noexcept
+
void draw()
+
void setY(const T &y) noexcept
+
const Point< T > & getEndPos() const noexcept
+
bool isNotZero() const noexcept
+
Line() noexcept
+
bool isZero() const noexcept
+
const T & getWidth() const noexcept
+
+ + + + diff --git a/ImageAboutWindow_8hpp_source.html b/ImageAboutWindow_8hpp_source.html new file mode 100644 index 00000000..9d40d346 --- /dev/null +++ b/ImageAboutWindow_8hpp_source.html @@ -0,0 +1,161 @@ + + + + + + +DISTRHO Plugin Framework: dgl/ImageAboutWindow.hpp Source File + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + +
+ All Classes Functions Variables Modules Pages
+ + +
+ +
+ + +
+
+
+
ImageAboutWindow.hpp
+
+
+
1 /*
+
2  * DISTRHO Plugin Framework (DPF)
+
3  * Copyright (C) 2012-2014 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_IMAGE_ABOUT_WINDOW_HPP_INCLUDED
+
18 #define DGL_IMAGE_ABOUT_WINDOW_HPP_INCLUDED
+
19 
+
20 #include "Image.hpp"
+
21 #include "Widget.hpp"
+
22 #include "Window.hpp"
+
23 
+
24 START_NAMESPACE_DGL
+
25 
+
26 // -----------------------------------------------------------------------
+
27 
+
28 class ImageAboutWindow : public Window,
+
29  public Widget
+
30 {
+
31 public:
+
32  explicit ImageAboutWindow(Window& parent, const Image& image = Image());
+
33  explicit ImageAboutWindow(Widget* widget, const Image& image = Image());
+
34 
+
35  void setImage(const Image& image);
+
36 
+
37 protected:
+
38  void onDisplay() override;
+
39  bool onKeyboard(const KeyboardEvent&) override;
+
40  bool onMouse(const MouseEvent&) override;
+
41  void onReshape(uint width, uint height) override;
+
42 
+
43 private:
+
44  Image fImgBackground;
+
45 
+
46  DISTRHO_DECLARE_NON_COPY_CLASS(ImageAboutWindow)
+
47  //DISTRHO_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(ImageAboutWindow)
+
48 };
+
49 
+
50 // -----------------------------------------------------------------------
+
51 
+
52 END_NAMESPACE_DGL
+
53 
+
54 #endif // DGL_IMAGE_ABOUT_WINDOW_HPP_INCLUDED
+
Definition: ImageAboutWindow.hpp:28
+
Definition: Window.hpp:30
+
Definition: Widget.hpp:75
+
bool onKeyboard(const KeyboardEvent &) override
+
void onDisplay() override
+
Definition: Widget.hpp:51
+
Definition: Widget.hpp:110
+
bool onMouse(const MouseEvent &) override
+
Definition: Image.hpp:38
+
+ + + + diff --git a/ImageButton_8hpp_source.html b/ImageButton_8hpp_source.html new file mode 100644 index 00000000..1eef6efc --- /dev/null +++ b/ImageButton_8hpp_source.html @@ -0,0 +1,175 @@ + + + + + + +DISTRHO Plugin Framework: dgl/ImageButton.hpp Source File + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + +
+ All Classes Functions Variables Modules Pages
+ + +
+ +
+ + +
+
+
+
ImageButton.hpp
+
+
+
1 /*
+
2  * DISTRHO Plugin Framework (DPF)
+
3  * Copyright (C) 2012-2014 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_IMAGE_BUTTON_HPP_INCLUDED
+
18 #define DGL_IMAGE_BUTTON_HPP_INCLUDED
+
19 
+
20 #include "Image.hpp"
+
21 #include "Widget.hpp"
+
22 
+
23 START_NAMESPACE_DGL
+
24 
+
25 // -----------------------------------------------------------------------
+
26 
+
27 class ImageButton : public Widget
+
28 {
+
29 public:
+
30  class Callback
+
31  {
+
32  public:
+
33  virtual ~Callback() {}
+
34  virtual void imageButtonClicked(ImageButton* imageButton, int button) = 0;
+
35  };
+
36 
+
37  explicit ImageButton(Window& parent, const Image& image) noexcept;
+
38  explicit ImageButton(Window& parent, const Image& imageNormal, const Image& imageHover, const Image& imageDown) noexcept;
+
39  explicit ImageButton(Widget* widget, const Image& image) noexcept;
+
40  explicit ImageButton(Widget* widget, const Image& imageNormal, const Image& imageHover, const Image& imageDown) noexcept;
+
41  explicit ImageButton(const ImageButton& imageButton) noexcept;
+
42  ImageButton& operator=(const ImageButton& imageButton) noexcept;
+
43 
+
44  void setCallback(Callback* callback) noexcept;
+
45 
+
46 protected:
+
47  void onDisplay() override;
+
48  bool onMouse(const MouseEvent&) override;
+
49  bool onMotion(const MotionEvent&) override;
+
50 
+
51 private:
+
52  Image fImageNormal;
+
53  Image fImageHover;
+
54  Image fImageDown;
+
55  Image* fCurImage;
+
56  int fCurButton;
+
57 
+
58  Callback* fCallback;
+
59 
+
60  DISTRHO_LEAK_DETECTOR(ImageButton)
+
61 };
+
62 
+
63 // -----------------------------------------------------------------------
+
64 
+
65 END_NAMESPACE_DGL
+
66 
+
67 #endif // DGL_IMAGE_BUTTON_HPP_INCLUDED
+
Definition: Window.hpp:30
+
void onDisplay() override
+
Definition: ImageButton.hpp:27
+
bool onMouse(const MouseEvent &) override
+
Definition: Widget.hpp:128
+
Definition: Widget.hpp:51
+
Definition: Widget.hpp:110
+
Definition: Image.hpp:38
+
bool onMotion(const MotionEvent &) override
+
Definition: ImageButton.hpp:30
+
+ + + + diff --git a/ImageKnob_8hpp_source.html b/ImageKnob_8hpp_source.html new file mode 100644 index 00000000..f4a031fe --- /dev/null +++ b/ImageKnob_8hpp_source.html @@ -0,0 +1,216 @@ + + + + + + +DISTRHO Plugin Framework: dgl/ImageKnob.hpp Source File + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + +
+ All Classes Functions Variables Modules Pages
+ + +
+ +
+ + +
+
+
+
ImageKnob.hpp
+
+
+
1 /*
+
2  * DISTRHO Plugin Framework (DPF)
+
3  * Copyright (C) 2012-2014 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_IMAGE_KNOB_HPP_INCLUDED
+
18 #define DGL_IMAGE_KNOB_HPP_INCLUDED
+
19 
+
20 #include "Image.hpp"
+
21 #include "Widget.hpp"
+
22 
+
23 START_NAMESPACE_DGL
+
24 
+
25 // -----------------------------------------------------------------------
+
26 
+
27 class ImageKnob : public Widget
+
28 {
+
29 public:
+
30  enum Orientation {
+
31  Horizontal,
+
32  Vertical
+
33  };
+
34 
+
35  class Callback
+
36  {
+
37  public:
+
38  virtual ~Callback() {}
+
39  virtual void imageKnobDragStarted(ImageKnob* imageKnob) = 0;
+
40  virtual void imageKnobDragFinished(ImageKnob* imageKnob) = 0;
+
41  virtual void imageKnobValueChanged(ImageKnob* imageKnob, float value) = 0;
+
42  };
+
43 
+
44  explicit ImageKnob(Window& parent, const Image& image, Orientation orientation = Vertical) noexcept;
+
45  explicit ImageKnob(Widget* widget, const Image& image, Orientation orientation = Vertical) noexcept;
+
46  explicit ImageKnob(const ImageKnob& imageKnob);
+
47  ImageKnob& operator=(const ImageKnob& imageKnob);
+
48  ~ImageKnob() override;
+
49 
+
50  float getValue() const noexcept;
+
51 
+
52  void setDefault(float def) noexcept;
+
53  void setRange(float min, float max) noexcept;
+
54  void setStep(float step) noexcept;
+
55  void setValue(float value, bool sendCallback = false) noexcept;
+
56  void setUsingLogScale(bool yesNo) noexcept;
+
57 
+
58  void setCallback(Callback* callback) noexcept;
+
59  void setOrientation(Orientation orientation) noexcept;
+
60  void setRotationAngle(int angle);
+
61 
+
62  void setImageLayerCount(uint count) noexcept;
+
63 
+
64 protected:
+
65  void onDisplay() override;
+
66  bool onMouse(const MouseEvent&) override;
+
67  bool onMotion(const MotionEvent&) override;
+
68  bool onScroll(const ScrollEvent&) override;
+
69 
+
70 private:
+
71  Image fImage;
+
72  float fMinimum;
+
73  float fMaximum;
+
74  float fStep;
+
75  float fValue;
+
76  float fValueDef;
+
77  float fValueTmp;
+
78  bool fUsingDefault;
+
79  bool fUsingLog;
+
80  Orientation fOrientation;
+
81 
+
82  int fRotationAngle;
+
83  bool fDragging;
+
84  int fLastX;
+
85  int fLastY;
+
86 
+
87  Callback* fCallback;
+
88 
+
89  bool fIsImgVertical;
+
90  uint fImgLayerWidth;
+
91  uint fImgLayerHeight;
+
92  uint fImgLayerCount;
+
93  bool fIsReady;
+
94  GLuint fTextureId;
+
95 
+
96  float _logscale(float value) const;
+
97  float _invlogscale(float value) const;
+
98 
+
99  DISTRHO_LEAK_DETECTOR(ImageKnob)
+
100 };
+
101 
+
102 // -----------------------------------------------------------------------
+
103 
+
104 END_NAMESPACE_DGL
+
105 
+
106 #endif // DGL_IMAGE_KNOB_HPP_INCLUDED
+
void onDisplay() override
+
Definition: Window.hpp:30
+
bool onMouse(const MouseEvent &) override
+
Definition: ImageKnob.hpp:35
+
Definition: Widget.hpp:128
+
bool onMotion(const MotionEvent &) override
+
Definition: Widget.hpp:51
+
Definition: Widget.hpp:110
+
Definition: Image.hpp:38
+
bool onScroll(const ScrollEvent &) override
+
Definition: ImageKnob.hpp:27
+
Definition: Widget.hpp:143
+
+ + + + diff --git a/ImageSlider_8hpp_source.html b/ImageSlider_8hpp_source.html new file mode 100644 index 00000000..976e1ae3 --- /dev/null +++ b/ImageSlider_8hpp_source.html @@ -0,0 +1,208 @@ + + + + + + +DISTRHO Plugin Framework: dgl/ImageSlider.hpp Source File + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + +
+ All Classes Functions Variables Modules Pages
+ + +
+ +
+ + +
+
+
+
ImageSlider.hpp
+
+
+
1 /*
+
2  * DISTRHO Plugin Framework (DPF)
+
3  * Copyright (C) 2012-2014 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_IMAGE_SLIDER_HPP_INCLUDED
+
18 #define DGL_IMAGE_SLIDER_HPP_INCLUDED
+
19 
+
20 #include "Image.hpp"
+
21 #include "Widget.hpp"
+
22 
+
23 START_NAMESPACE_DGL
+
24 
+
25 // -----------------------------------------------------------------------
+
26 
+
27 class ImageSlider : public Widget
+
28 {
+
29 public:
+
30  class Callback
+
31  {
+
32  public:
+
33  virtual ~Callback() {}
+
34  virtual void imageSliderDragStarted(ImageSlider* imageSlider) = 0;
+
35  virtual void imageSliderDragFinished(ImageSlider* imageSlider) = 0;
+
36  virtual void imageSliderValueChanged(ImageSlider* imageSlider, float value) = 0;
+
37  };
+
38 
+
39  explicit ImageSlider(Window& parent, const Image& image) noexcept;
+
40  explicit ImageSlider(Widget* widget, const Image& image) noexcept;
+
41  explicit ImageSlider(const ImageSlider& imageSlider) noexcept;
+
42  ImageSlider& operator=(const ImageSlider& imageSlider) noexcept;
+
43 
+
44  float getValue() const noexcept;
+
45 
+
46  void setStartPos(const Point<int>& startPos) noexcept;
+
47  void setStartPos(int x, int y) noexcept;
+
48  void setEndPos(const Point<int>& endPos) noexcept;
+
49  void setEndPos(int x, int y) noexcept;
+
50 
+
51  void setInverted(bool inverted) noexcept;
+
52  void setRange(float min, float max) noexcept;
+
53  void setStep(float step) noexcept;
+
54  void setValue(float value, bool sendCallback = false) noexcept;
+
55 
+
56  void setCallback(Callback* callback) noexcept;
+
57 
+
58 protected:
+
59  void onDisplay() override;
+
60  bool onMouse(const MouseEvent&) override;
+
61  bool onMotion(const MotionEvent&) override;
+
62 
+
63 private:
+
64  Image fImage;
+
65  float fMinimum;
+
66  float fMaximum;
+
67  float fStep;
+
68  float fValue;
+
69  float fValueTmp;
+
70 
+
71  bool fDragging;
+
72  bool fInverted;
+
73  int fStartedX;
+
74  int fStartedY;
+
75 
+
76  Callback* fCallback;
+
77 
+
78  Point<int> fStartPos;
+
79  Point<int> fEndPos;
+
80  Rectangle<int> fSliderArea;
+
81 
+
82  void _recheckArea() noexcept;
+
83 
+
84  // these should not be used
+
85  void setAbsoluteX(int) const noexcept {}
+
86  void setAbsoluteY(int) const noexcept {}
+
87  void setAbsolutePos(int, int) const noexcept {}
+
88  void setAbsolutePos(const Point<int>&) const noexcept {}
+
89  void setNeedsFullViewport(bool) const noexcept {}
+
90 
+
91  DISTRHO_LEAK_DETECTOR(ImageSlider)
+
92 };
+
93 
+
94 // -----------------------------------------------------------------------
+
95 
+
96 END_NAMESPACE_DGL
+
97 
+
98 #endif // DGL_IMAGE_SLIDER_HPP_INCLUDED
+
Definition: Window.hpp:30
+
Definition: ImageSlider.hpp:30
+
bool onMotion(const MotionEvent &) override
+
Definition: Geometry.hpp:40
+
Definition: Widget.hpp:128
+
bool onMouse(const MouseEvent &) override
+
void onDisplay() override
+
Definition: Widget.hpp:51
+
Definition: Geometry.hpp:30
+
Definition: Widget.hpp:110
+
Definition: Image.hpp:38
+
Definition: ImageSlider.hpp:27
+
+ + + + diff --git a/ImageSwitch_8hpp_source.html b/ImageSwitch_8hpp_source.html new file mode 100644 index 00000000..d4077b11 --- /dev/null +++ b/ImageSwitch_8hpp_source.html @@ -0,0 +1,171 @@ + + + + + + +DISTRHO Plugin Framework: dgl/ImageSwitch.hpp Source File + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + +
+ All Classes Functions Variables Modules Pages
+ + +
+ +
+ + +
+
+
+
ImageSwitch.hpp
+
+
+
1 /*
+
2  * DISTRHO Plugin Framework (DPF)
+
3  * Copyright (C) 2012-2014 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_IMAGE_SWITCH_HPP_INCLUDED
+
18 #define DGL_IMAGE_SWITCH_HPP_INCLUDED
+
19 
+
20 #include "Image.hpp"
+
21 #include "Widget.hpp"
+
22 
+
23 START_NAMESPACE_DGL
+
24 
+
25 // -----------------------------------------------------------------------
+
26 
+
27 class ImageSwitch : public Widget
+
28 {
+
29 public:
+
30  class Callback
+
31  {
+
32  public:
+
33  virtual ~Callback() {}
+
34  virtual void imageSwitchClicked(ImageSwitch* imageButton, bool down) = 0;
+
35  };
+
36 
+
37  explicit ImageSwitch(Window& parent, const Image& imageNormal, const Image& imageDown) noexcept;
+
38  explicit ImageSwitch(Widget* widget, const Image& imageNormal, const Image& imageDown) noexcept;
+
39  explicit ImageSwitch(const ImageSwitch& imageSwitch) noexcept;
+
40  ImageSwitch& operator=(const ImageSwitch& imageSwitch) noexcept;
+
41 
+
42  bool isDown() const noexcept;
+
43  void setDown(bool down) noexcept;
+
44 
+
45  void setCallback(Callback* callback) noexcept;
+
46 
+
47 protected:
+
48  void onDisplay() override;
+
49  bool onMouse(const MouseEvent&) override;
+
50 
+
51 private:
+
52  Image fImageNormal;
+
53  Image fImageDown;
+
54  bool fIsDown;
+
55 
+
56  Callback* fCallback;
+
57 
+
58  DISTRHO_LEAK_DETECTOR(ImageSwitch)
+
59 };
+
60 
+
61 // -----------------------------------------------------------------------
+
62 
+
63 END_NAMESPACE_DGL
+
64 
+
65 #endif // DGL_IMAGE_SWITCH_HPP_INCLUDED
+
Definition: Window.hpp:30
+
void onDisplay() override
+
bool onMouse(const MouseEvent &) override
+
Definition: Widget.hpp:51
+
Definition: Widget.hpp:110
+
Definition: Image.hpp:38
+
Definition: ImageSwitch.hpp:30
+
Definition: ImageSwitch.hpp:27
+
+ + + + diff --git a/Image_8hpp_source.html b/Image_8hpp_source.html new file mode 100644 index 00000000..345ec0a7 --- /dev/null +++ b/Image_8hpp_source.html @@ -0,0 +1,260 @@ + + + + + + +DISTRHO Plugin Framework: dgl/Image.hpp Source File + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + +
+ All Classes Functions Variables Modules Pages
+ + +
+ +
+ + +
+
+
+
Image.hpp
+
+
+
1 /*
+
2  * DISTRHO Plugin Framework (DPF)
+
3  * Copyright (C) 2012-2014 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_IMAGE_HPP_INCLUDED
+
18 #define DGL_IMAGE_HPP_INCLUDED
+
19 
+
20 #include "Geometry.hpp"
+
21 
+
22 START_NAMESPACE_DGL
+
23 
+
24 // -----------------------------------------------------------------------
+
25 
+
26 /**
+
27  Base DGL Image class.
+
28 
+
29  This is an Image class that handles raw image data in pixels.
+
30  You can init the image data on the contructor or later on by calling loadFromMemory().
+
31 
+
32  To generate raw data useful for this class see the utils/png2rgba.py script.
+
33  Be careful when using a PNG without alpha channel, for those the format is 'GL_BGR'
+
34  instead of the default 'GL_BGRA'.
+
35 
+
36  Images are drawn on screen via 2D textures.
+
37  */
+
38 class Image
+
39 {
+
40 public:
+
41  /**
+
42  Constructor for a null Image.
+
43  */
+
44  Image();
+
45 
+
46  /**
+
47  Constructor using raw image data.
+
48  @note: @a rawData must remain valid for the lifetime of this Image.
+
49  */
+
50  Image(const char* const rawData, const uint width, const uint height, const GLenum format = GL_BGRA, const GLenum type = GL_UNSIGNED_BYTE);
+
51 
+
52  /**
+
53  Constructor using raw image data.
+
54  @note: @a rawData must remain valid for the lifetime of this Image.
+
55  */
+
56  Image(const char* const rawData, const Size<uint>& size, const GLenum format = GL_BGRA, const GLenum type = GL_UNSIGNED_BYTE);
+
57 
+
58  /**
+
59  Constructor using another image data.
+
60  */
+
61  Image(const Image& image);
+
62 
+
63  /**
+
64  Destructor.
+
65  */
+
66  ~Image();
+
67 
+
68  /**
+
69  Load image data from memory.
+
70  @note: @a rawData must remain valid for the lifetime of this Image.
+
71  */
+
72  void loadFromMemory(const char* const rawData, const uint width, const uint height, const GLenum format = GL_BGRA, const GLenum type = GL_UNSIGNED_BYTE) noexcept;
+
73 
+
74  /**
+
75  Load image data from memory.
+
76  @note: @a rawData must remain valid for the lifetime of this Image.
+
77  */
+
78  void loadFromMemory(const char* const rawData, const Size<uint>& size, const GLenum format = GL_BGRA, const GLenum type = GL_UNSIGNED_BYTE) noexcept;
+
79 
+
80  /**
+
81  Check if this image is valid.
+
82  */
+
83  bool isValid() const noexcept;
+
84 
+
85  /**
+
86  Get width.
+
87  */
+
88  uint getWidth() const noexcept;
+
89 
+
90  /**
+
91  Get height.
+
92  */
+
93  uint getHeight() const noexcept;
+
94 
+
95  /**
+
96  Get size.
+
97  */
+
98  const Size<uint>& getSize() const noexcept;
+
99 
+
100  /**
+
101  Get the raw image data.
+
102  */
+
103  const char* getRawData() const noexcept;
+
104 
+
105  /**
+
106  Get the image format.
+
107  */
+
108  GLenum getFormat() const noexcept;
+
109 
+
110  /**
+
111  Get the image type.
+
112  */
+
113  GLenum getType() const noexcept;
+
114 
+
115  /**
+
116  Draw this image at (0, 0) point.
+
117  */
+
118  void draw();
+
119 
+
120  /**
+
121  Draw this image at (x, y) point.
+
122  */
+
123  void drawAt(const int x, const int y);
+
124 
+
125  /**
+
126  Draw this image at position @a pos.
+
127  */
+
128  void drawAt(const Point<int>& pos);
+
129 
+
130  Image& operator=(const Image& image) noexcept;
+
131  bool operator==(const Image& image) const noexcept;
+
132  bool operator!=(const Image& image) const noexcept;
+
133 
+
134 private:
+
135  const char* fRawData;
+
136  Size<uint> fSize;
+
137  GLenum fFormat;
+
138  GLenum fType;
+
139  GLuint fTextureId;
+
140  bool fIsReady;
+
141 };
+
142 
+
143 // -----------------------------------------------------------------------
+
144 
+
145 END_NAMESPACE_DGL
+
146 
+
147 #endif // DGL_IMAGE_HPP_INCLUDED
+
GLenum getType() const noexcept
+ + + +
uint getWidth() const noexcept
+
void drawAt(const int x, const int y)
+
void draw()
+
void loadFromMemory(const char *const rawData, const uint width, const uint height, const GLenum format=GL_BGRA, const GLenum type=GL_UNSIGNED_BYTE) noexcept
+
const char * getRawData() const noexcept
+
Definition: Image.hpp:38
+ +
GLenum getFormat() const noexcept
+
bool isValid() const noexcept
+
const Size< uint > & getSize() const noexcept
+
uint getHeight() const noexcept
+
+ + + + diff --git a/NanoVG_8hpp_source.html b/NanoVG_8hpp_source.html new file mode 100644 index 00000000..a143c6e9 --- /dev/null +++ b/NanoVG_8hpp_source.html @@ -0,0 +1,993 @@ + + + + + + +DISTRHO Plugin Framework: dgl/NanoVG.hpp Source File + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + +
+ All Classes Functions Variables Modules Pages
+ + +
+ +
+ + +
+
+
+
NanoVG.hpp
+
+
+
1 /*
+
2  * DISTRHO Plugin Framework (DPF)
+
3  * Copyright (C) 2012-2014 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_NANO_WIDGET_HPP_INCLUDED
+
18 #define DGL_NANO_WIDGET_HPP_INCLUDED
+
19 
+
20 #include "Color.hpp"
+
21 #include "Widget.hpp"
+
22 
+
23 struct NVGcontext;
+
24 struct NVGpaint;
+
25 
+
26 START_NAMESPACE_DGL
+
27 
+
28 // -----------------------------------------------------------------------
+
29 // NanoImage
+
30 
+
31 /**
+
32  NanoVG Image class.
+
33 
+
34  This implements NanoVG images as a C++ class where deletion is handled automatically.
+
35  Images need to be created within a NanoVG or NanoWidget class.
+
36  */
+
37 class NanoImage
+
38 {
+
39 public:
+
40  /**
+
41  Destructor.
+
42  */
+
43  ~NanoImage();
+
44 
+
45  /**
+
46  Get size.
+
47  */
+
48  Size<uint> getSize() const noexcept;
+
49 
+
50  /**
+
51  Update image data.
+
52  */
+
53  void updateImage(const uchar* const data);
+
54 
+
55 protected:
+
56  /**
+
57  Constructors are protected.
+
58  NanoImages must be created within a NanoVG or NanoWidget class.
+
59  */
+
60  NanoImage(NVGcontext* const context, const int imageId) noexcept;
+
61 
+
62 private:
+
63  NVGcontext* fContext;
+
64  int fImageId;
+
65  Size<uint> fSize;
+
66  friend class NanoVG;
+
67 
+
68  void _updateSize();
+
69 
+
70  DISTRHO_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(NanoImage)
+
71 };
+
72 
+
73 // -----------------------------------------------------------------------
+
74 // NanoVG
+
75 
+
76 /**
+
77  NanoVG class.
+
78 
+
79  This class exposes the NanoVG drawing API.
+
80  All calls should be wrapped in beginFrame() and endFrame().
+
81 
+
82  @section State Handling
+
83  NanoVG contains state which represents how paths will be rendered.
+
84  The state contains transform, fill and stroke styles, text and font styles, and scissor clipping.
+
85 
+
86  @section Render styles
+
87  Fill and stroke render style can be either a solid color or a paint which is a gradient or a pattern.
+
88  Solid color is simply defined as a color value, different kinds of paints can be created
+
89  using linearGradient(), boxGradient(), radialGradient() and imagePattern().
+
90 
+
91  Current render style can be saved and restored using save() and restore().
+
92 
+
93  @section Transforms
+
94  The paths, gradients, patterns and scissor region are transformed by an transformation
+
95  matrix at the time when they are passed to the API.
+
96  The current transformation matrix is a affine matrix:
+
97  [sx kx tx]
+
98  [ky sy ty]
+
99  [ 0 0 1]
+
100  Where: sx,sy define scaling, kx,ky skewing, and tx,ty translation.
+
101  The last row is assumed to be 0,0,1 and is not stored.
+
102 
+
103  Apart from resetTransform(), each transformation function first creates
+
104  specific transformation matrix and pre-multiplies the current transformation by it.
+
105 
+
106  Current coordinate system (transformation) can be saved and restored using save() and restore().
+
107 
+
108  @section Images
+
109  NanoVG allows you to load jpg, png, psd, tga, pic and gif files to be used for rendering.
+
110  In addition you can upload your own image. The image loading is provided by stb_image.
+
111 
+
112  @section Paints
+
113  NanoVG supports four types of paints: linear gradient, box gradient, radial gradient and image pattern.
+
114  These can be used as paints for strokes and fills.
+
115 
+
116  @section Scissoring
+
117  Scissoring allows you to clip the rendering into a rectangle. This is useful for varius
+
118  user interface cases like rendering a text edit or a timeline.
+
119 
+
120  @section Paths
+
121  Drawing a new shape starts with beginPath(), it clears all the currently defined paths.
+
122  Then you define one or more paths and sub-paths which describe the shape. The are functions
+
123  to draw common shapes like rectangles and circles, and lower level step-by-step functions,
+
124  which allow to define a path curve by curve.
+
125 
+
126  NanoVG uses even-odd fill rule to draw the shapes. Solid shapes should have counter clockwise
+
127  winding and holes should have counter clockwise order. To specify winding of a path you can
+
128  call pathWinding(). This is useful especially for the common shapes, which are drawn CCW.
+
129 
+
130  Finally you can fill the path using current fill style by calling fill(), and stroke it
+
131  with current stroke style by calling stroke().
+
132 
+
133  The curve segments and sub-paths are transformed by the current transform.
+
134 
+
135  @section Text
+
136  NanoVG allows you to load .ttf files and use the font to render text.
+
137 
+
138  The appearance of the text can be defined by setting the current text style
+
139  and by specifying the fill color. Common text and font settings such as
+
140  font size, letter spacing and text align are supported. Font blur allows you
+
141  to create simple text effects such as drop shadows.
+
142 
+
143  At render time the font face can be set based on the font handles or name.
+
144 
+
145  Font measure functions return values in local space, the calculations are
+
146  carried in the same resolution as the final rendering. This is done because
+
147  the text glyph positions are snapped to the nearest pixels sharp rendering.
+
148 
+
149  The local space means that values are not rotated or scale as per the current
+
150  transformation. For example if you set font size to 12, which would mean that
+
151  line height is 16, then regardless of the current scaling and rotation, the
+
152  returned line height is always 16. Some measures may vary because of the scaling
+
153  since aforementioned pixel snapping.
+
154 
+
155  While this may sound a little odd, the setup allows you to always render the
+
156  same way regardless of scaling. i.e. following works regardless of scaling:
+
157 
+
158  @code
+
159  const char* txt = "Text me up.";
+
160  textBounds(vg, x,y, txt, NULL, bounds);
+
161  beginPath(vg);
+
162  roundedRect(vg, bounds[0], bounds[1], bounds[2]-bounds[0], bounds[3]-bounds[1]);
+
163  fill(vg);
+
164  @endcode
+
165 
+
166  Note: currently only solid color fill is supported for text.
+
167  */
+
168 class NanoVG
+
169 {
+
170 public:
+
171  enum Align {
+
172  // Horizontal align
+
173  ALIGN_LEFT = 1 << 0, // Align horizontally to left (default).
+
174  ALIGN_CENTER = 1 << 1, // Align horizontally to center.
+
175  ALIGN_RIGHT = 1 << 2, // Align horizontally to right.
+
176  // Vertical align
+
177  ALIGN_TOP = 1 << 3, // Align vertically to top.
+
178  ALIGN_MIDDLE = 1 << 4, // Align vertically to middle.
+
179  ALIGN_BOTTOM = 1 << 5, // Align vertically to bottom.
+
180  ALIGN_BASELINE = 1 << 6 // Align vertically to baseline (default).
+
181  };
+
182 
+
183  enum Alpha {
+
184  STRAIGHT_ALPHA,
+
185  PREMULTIPLIED_ALPHA
+
186  };
+
187 
+
188  enum LineCap {
+
189  BUTT,
+
190  ROUND,
+
191  SQUARE,
+
192  BEVEL,
+
193  MITER
+
194  };
+
195 
+
196  enum PatternRepeat {
+
197  REPEAT_NONE = 0x0, // No repeat
+
198  REPEAT_X = 0x1, // Repeat in X direction
+
199  REPEAT_Y = 0x2 // Repeat in Y direction
+
200  };
+
201 
+
202  enum Solidity {
+
203  SOLID = 1, // CCW
+
204  HOLE = 2 // CW
+
205  };
+
206 
+
207  enum Winding {
+
208  CCW = 1, // Winding for solid shapes
+
209  CW = 2 // Winding for holes
+
210  };
+
211 
+
212  struct Paint {
+
213  float xform[6];
+
214  float extent[2];
+
215  float radius;
+
216  float feather;
+
217  Color innerColor;
+
218  Color outerColor;
+
219  int imageId;
+
220  PatternRepeat repeat;
+
221 
+
222  Paint() noexcept;
+
223 
+
224  /**
+
225  @internal
+
226  */
+
227  Paint(const NVGpaint&) noexcept;
+
228  operator NVGpaint() const noexcept;
+
229  };
+
230 
+
231  struct GlyphPosition {
+
232  const char* str; // Position of the glyph in the input string.
+
233  float x; // The x-coordinate of the logical glyph position.
+
234  float minx, maxx; // The bounds of the glyph shape.
+
235  };
+
236 
+
237  struct TextRow {
+
238  const char* start; // Pointer to the input text where the row starts.
+
239  const char* end; // Pointer to the input text where the row ends (one past the last character).
+
240  const char* next; // Pointer to the beginning of the next row.
+
241  float width; // Logical width of the row.
+
242  float minx, maxx; // Actual bounds of the row. Logical with and bounds can differ because of kerning and some parts over extending.
+
243  };
+
244 
+
245  typedef int FontId;
+
246 
+
247  /**
+
248  Constructor.
+
249  Uses 512x512 as default atlas size.
+
250  */
+
251  NanoVG();
+
252 
+
253  /**
+
254  Constructor using custom text atlas size.
+
255  */
+
256  NanoVG(const int textAtlasWidth, const int textAtlasHeight);
+
257 
+
258  /**
+
259  Destructor.
+
260  */
+
261  virtual ~NanoVG();
+
262 
+
263  /**
+
264  Get the NanoVG context.
+
265  You should not need this under normal circumstances.
+
266  */
+
267  NVGcontext* getContext() const noexcept
+
268  {
+
269  return fContext;
+
270  }
+
271 
+
272  /**
+
273  Begin drawing a new frame.
+
274  @param withAlha Controls if drawing the shapes to the render target should be done using straight or pre-multiplied alpha.
+
275  */
+
276  void beginFrame(const uint width, const uint height, const float scaleFactor = 1.0f, const Alpha alpha = PREMULTIPLIED_ALPHA);
+
277 
+
278  /**
+
279  Begin drawing a new frame inside a widget.
+
280  */
+
281  void beginFrame(Widget* const widget);
+
282 
+
283  /**
+
284  Ends drawing flushing remaining render state.
+
285  */
+
286  void endFrame();
+
287 
+
288  /* --------------------------------------------------------------------
+
289  * State Handling */
+
290 
+
291  /**
+
292  Pushes and saves the current render state into a state stack.
+
293  A matching restore() must be used to restore the state.
+
294  */
+
295  void save();
+
296 
+
297  /**
+
298  Pops and restores current render state.
+
299  */
+
300  void restore();
+
301 
+
302  /**
+
303  Resets current render state to default values. Does not affect the render state stack.
+
304  */
+
305  void reset();
+
306 
+
307  /* --------------------------------------------------------------------
+
308  * Render styles */
+
309 
+
310  /**
+
311  Sets current stroke style to a solid color.
+
312  */
+
313  void strokeColor(const Color& color);
+
314 
+
315  /**
+
316  Sets current stroke style to a solid color, made from red, green, blue and alpha numeric values.
+
317  Values must be in [0..255] range.
+
318  */
+
319  void strokeColor(const int red, const int green, const int blue, const int alpha = 255);
+
320 
+
321  /**
+
322  Sets current stroke style to a solid color, made from red, green, blue and alpha numeric values.
+
323  Values must in [0..1] range.
+
324  */
+
325  void strokeColor(const float red, const float green, const float blue, const float alpha = 1.0f);
+
326 
+
327  /**
+
328  Sets current stroke style to a paint, which can be a one of the gradients or a pattern.
+
329  */
+
330  void strokePaint(const Paint& paint);
+
331 
+
332  /**
+
333  Sets current fill style to a solid color.
+
334  */
+
335  void fillColor(const Color& color);
+
336 
+
337  /**
+
338  Sets current fill style to a solid color, made from red, green, blue and alpha numeric values.
+
339  Values must be in [0..255] range.
+
340  */
+
341  void fillColor(const int red, const int green, const int blue, const int alpha = 255);
+
342 
+
343  /**
+
344  Sets current fill style to a solid color, made from red, green, blue and alpha numeric values.
+
345  Values must in [0..1] range.
+
346  */
+
347  void fillColor(const float red, const float green, const float blue, const float alpha = 1.0f);
+
348 
+
349  /**
+
350  Sets current fill style to a paint, which can be a one of the gradients or a pattern.
+
351  */
+
352  void fillPaint(const Paint& paint);
+
353 
+
354  /**
+
355  Sets the miter limit of the stroke style.
+
356  Miter limit controls when a sharp corner is beveled.
+
357  */
+
358  void miterLimit(float limit);
+
359 
+
360  /**
+
361  Sets the stroke width of the stroke style.
+
362  */
+
363  void strokeWidth(float size);
+
364 
+
365  /**
+
366  Sets how the end of the line (cap) is drawn,
+
367  Can be one of: BUTT, ROUND, SQUARE.
+
368  */
+
369  void lineCap(LineCap cap = BUTT);
+
370 
+
371  /**
+
372  Sets how sharp path corners are drawn.
+
373  Can be one of MITER, ROUND, BEVEL.
+
374  */
+
375  void lineJoin(LineCap join = MITER);
+
376 
+
377  /* --------------------------------------------------------------------
+
378  * Transforms */
+
379 
+
380  /**
+
381  Resets current transform to a identity matrix.
+
382  */
+
383  void resetTransform();
+
384 
+
385  /**
+
386  Pre-multiplies current coordinate system by specified matrix.
+
387  The parameters are interpreted as matrix as follows:
+
388  [a c e]
+
389  [b d f]
+
390  [0 0 1]
+
391  */
+
392  void transform(float a, float b, float c, float d, float e, float f);
+
393 
+
394  /**
+
395  Translates current coordinate system.
+
396  */
+
397  void translate(float x, float y);
+
398 
+
399  /**
+
400  Rotates current coordinate system. Angle is specified in radians.
+
401  */
+
402  void rotate(float angle);
+
403 
+
404  /**
+
405  Skews the current coordinate system along X axis. Angle is specified in radians.
+
406  */
+
407  void skewX(float angle);
+
408 
+
409  /**
+
410  Skews the current coordinate system along Y axis. Angle is specified in radians.
+
411  */
+
412  void skewY(float angle);
+
413 
+
414  /**
+
415  Scales the current coordinate system.
+
416  */
+
417  void scale(float x, float y);
+
418 
+
419  /**
+
420  Stores the top part (a-f) of the current transformation matrix in to the specified buffer.
+
421  [a c e]
+
422  [b d f]
+
423  [0 0 1]
+
424  */
+
425  void currentTransform(float xform[6]);
+
426 
+
427  /**
+
428  The following functions can be used to make calculations on 2x3 transformation matrices.
+
429  A 2x3 matrix is represented as float[6]. */
+
430 
+
431  /**
+
432  Sets the transform to identity matrix.
+
433  */
+
434  static void transformIdentity(float dst[6]);
+
435 
+
436  /**
+
437  Sets the transform to translation matrix
+
438  */
+
439  static void transformTranslate(float dst[6], float tx, float ty);
+
440 
+
441  /**
+
442  Sets the transform to scale matrix.
+
443  */
+
444  static void transformScale(float dst[6], float sx, float sy);
+
445 
+
446  /**
+
447  Sets the transform to rotate matrix. Angle is specified in radians.
+
448  */
+
449  static void transformRotate(float dst[6], float a);
+
450 
+
451  /**
+
452  Sets the transform to skew-x matrix. Angle is specified in radians.
+
453  */
+
454  static void transformSkewX(float dst[6], float a);
+
455 
+
456  /**
+
457  Sets the transform to skew-y matrix. Angle is specified in radians.
+
458  */
+
459  static void transformSkewY(float dst[6], float a);
+
460 
+
461  /**
+
462  Sets the transform to the result of multiplication of two transforms, of A = A*B.
+
463  */
+
464  static void transformMultiply(float dst[6], const float src[6]);
+
465 
+
466  /**
+
467  Sets the transform to the result of multiplication of two transforms, of A = B*A.
+
468  */
+
469  static void transformPremultiply(float dst[6], const float src[6]);
+
470 
+
471  /**
+
472  Sets the destination to inverse of specified transform.
+
473  Returns 1 if the inverse could be calculated, else 0.
+
474  */
+
475  static int transformInverse(float dst[6], const float src[6]);
+
476 
+
477  /**
+
478  Transform a point by given transform.
+
479  */
+
480  static void transformPoint(float& dstx, float& dsty, const float xform[6], float srcx, float srcy);
+
481 
+
482  /**
+
483  Convert degrees to radians.
+
484  */
+
485  static float degToRad(float deg);
+
486 
+
487  /**
+
488  Convert radians to degrees.
+
489  */
+
490  static float radToDeg(float rad);
+
491 
+
492  /* --------------------------------------------------------------------
+
493  * Images */
+
494 
+
495  /**
+
496  Creates image by loading it from the disk from specified file name.
+
497  */
+
498  NanoImage* createImage(const char* filename);
+
499 
+
500  /**
+
501  Creates image by loading it from the specified chunk of memory.
+
502  */
+
503  NanoImage* createImageMem(uchar* data, int ndata);
+
504 
+
505  /**
+
506  Creates image from specified image data.
+
507  */
+
508  NanoImage* createImageRGBA(uint w, uint h, const uchar* data);
+
509 
+
510  /* --------------------------------------------------------------------
+
511  * Paints */
+
512 
+
513  /**
+
514  Creates and returns a linear gradient. Parameters (sx,sy)-(ex,ey) specify the start and end coordinates
+
515  of the linear gradient, icol specifies the start color and ocol the end color.
+
516  The gradient is transformed by the current transform when it is passed to fillPaint() or strokePaint().
+
517  */
+
518  Paint linearGradient(float sx, float sy, float ex, float ey, const Color& icol, const Color& ocol);
+
519 
+
520  /**
+
521  Creates and returns a box gradient. Box gradient is a feathered rounded rectangle, it is useful for rendering
+
522  drop shadows or highlights for boxes. Parameters (x,y) define the top-left corner of the rectangle,
+
523  (w,h) define the size of the rectangle, r defines the corner radius, and f feather. Feather defines how blurry
+
524  the border of the rectangle is. Parameter icol specifies the inner color and ocol the outer color of the gradient.
+
525  The gradient is transformed by the current transform when it is passed to fillPaint() or strokePaint().
+
526  */
+
527  Paint boxGradient(float x, float y, float w, float h, float r, float f, const Color& icol, const Color& ocol);
+
528 
+
529  /**
+
530  Creates and returns a radial gradient. Parameters (cx,cy) specify the center, inr and outr specify
+
531  the inner and outer radius of the gradient, icol specifies the start color and ocol the end color.
+
532  The gradient is transformed by the current transform when it is passed to fillPaint() or strokePaint().
+
533  */
+
534  Paint radialGradient(float cx, float cy, float inr, float outr, const Color& icol, const Color& ocol);
+
535 
+
536  /**
+
537  Creates and returns an image pattern. Parameters (ox,oy) specify the left-top location of the image pattern,
+
538  (ex,ey) the size of one image, angle rotation around the top-left corner, image is handle to the image to render,
+
539  and repeat tells if the image should be repeated across x or y.
+
540  The gradient is transformed by the current transform when it is passed to fillPaint() or strokePaint().
+
541  */
+
542  Paint imagePattern(float ox, float oy, float ex, float ey, float angle, const NanoImage* image, PatternRepeat repeat);
+
543 
+
544  /* --------------------------------------------------------------------
+
545  * Scissoring */
+
546 
+
547  /**
+
548  Sets the current
+
549  The scissor rectangle is transformed by the current transform.
+
550  */
+
551  void scissor(float x, float y, float w, float h);
+
552 
+
553  /**
+
554  Reset and disables scissoring.
+
555  */
+
556  void resetScissor();
+
557 
+
558  /* --------------------------------------------------------------------
+
559  * Paths */
+
560 
+
561  /**
+
562  Clears the current path and sub-paths.
+
563  */
+
564  void beginPath();
+
565 
+
566  /**
+
567  Starts new sub-path with specified point as first point.
+
568  */
+
569  void moveTo(float x, float y);
+
570 
+
571  /**
+
572  Adds line segment from the last point in the path to the specified point.
+
573  */
+
574  void lineTo(float x, float y);
+
575 
+
576  /**
+
577  Adds bezier segment from last point in the path via two control points to the specified point.
+
578  */
+
579  void bezierTo(float c1x, float c1y, float c2x, float c2y, float x, float y);
+
580 
+
581  /**
+
582  Adds an arc segment at the corner defined by the last path point, and two specified points.
+
583  */
+
584  void arcTo(float x1, float y1, float x2, float y2, float radius);
+
585 
+
586  /**
+
587  Closes current sub-path with a line segment.
+
588  */
+
589  void closePath();
+
590 
+
591  /**
+
592  Sets the current sub-path winding.
+
593  */
+
594  void pathWinding(Winding dir);
+
595 
+
596  /**
+
597  Creates new arc shaped sub-path.
+
598  */
+
599  void arc(float cx, float cy, float r, float a0, float a1, Winding dir);
+
600 
+
601  /**
+
602  Creates new rectangle shaped sub-path.
+
603  */
+
604  void rect(float x, float y, float w, float h);
+
605 
+
606  /**
+
607  Creates new rounded rectangle shaped sub-path.
+
608  */
+
609  void roundedRect(float x, float y, float w, float h, float r);
+
610 
+
611  /**
+
612  Creates new ellipse shaped sub-path.
+
613  */
+
614  void ellipse(float cx, float cy, float rx, float ry);
+
615 
+
616  /**
+
617  Creates new circle shaped sub-path.
+
618  */
+
619  void circle(float cx, float cy, float r);
+
620 
+
621  /**
+
622  Fills the current path with current fill style.
+
623  */
+
624  void fill();
+
625 
+
626  /**
+
627  Fills the current path with current stroke style.
+
628  */
+
629  void stroke();
+
630 
+
631  /* --------------------------------------------------------------------
+
632  * Text */
+
633 
+
634  /**
+
635  Creates font by loading it from the disk from specified file name.
+
636  Returns handle to the font.
+
637  */
+
638  FontId createFont(const char* name, const char* filename);
+
639 
+
640  /**
+
641  Creates font by loading it from the specified memory chunk.
+
642  Returns handle to the font.
+
643  */
+
644  FontId createFontMem(const char* name, const uchar* data, int ndata, bool freeData);
+
645 
+
646  /**
+
647  Finds a loaded font of specified name, and returns handle to it, or -1 if the font is not found.
+
648  */
+
649  FontId findFont(const char* name);
+
650 
+
651  /**
+
652  Sets the font size of current text style.
+
653  */
+
654  void fontSize(float size);
+
655 
+
656  /**
+
657  Sets the blur of current text style.
+
658  */
+
659  void fontBlur(float blur);
+
660 
+
661  /**
+
662  Sets the letter spacing of current text style.
+
663  */
+
664  void textLetterSpacing(float spacing);
+
665 
+
666  /**
+
667  Sets the proportional line height of current text style. The line height is specified as multiple of font size.
+
668  */
+
669  void textLineHeight(float lineHeight);
+
670 
+
671  /**
+
672  Sets the text align of current text style.
+
673  */
+
674  void textAlign(Align align);
+
675 
+
676  /**
+
677  Sets the text align of current text style.
+
678  Overloaded function for convenience.
+
679  @see Align
+
680  */
+
681  void textAlign(int align);
+
682 
+
683  /**
+
684  Sets the font face based on specified id of current text style.
+
685  */
+
686  void fontFaceId(FontId font);
+
687 
+
688  /**
+
689  Sets the font face based on specified name of current text style.
+
690  */
+
691  void fontFace(const char* font);
+
692 
+
693  /**
+
694  Draws text string at specified location. If end is specified only the sub-string up to the end is drawn.
+
695  */
+
696  float text(float x, float y, const char* string, const char* end);
+
697 
+
698  /**
+
699  Draws multi-line text string at specified location wrapped at the specified width. If end is specified only the sub-string up to the end is drawn.
+
700  White space is stripped at the beginning of the rows, the text is split at word boundaries or when new-line characters are encountered.
+
701  Words longer than the max width are slit at nearest character (i.e. no hyphenation).
+
702  */
+
703  void textBox(float x, float y, float breakRowWidth, const char* string, const char* end);
+
704 
+
705  /**
+
706  Measures the specified text string. The bounds value are [xmin,ymin, xmax,ymax].
+
707  Returns the horizontal advance of the measured text (i.e. where the next character should drawn).
+
708  Measured values are returned in local coordinate space.
+
709  */
+
710  float textBounds(float x, float y, const char* string, const char* end, Rectangle<float>& bounds);
+
711 
+
712  /**
+
713  Measures the specified multi-text string. Parameter bounds should be a pointer to float[4],
+
714  if the bounding box of the text should be returned. The bounds value are [xmin,ymin, xmax,ymax]
+
715  Measured values are returned in local coordinate space.
+
716  */
+
717  void textBoxBounds(float x, float y, float breakRowWidth, const char* string, const char* end, float* bounds);
+
718 
+
719  /**
+
720  Calculates the glyph x positions of the specified text. If end is specified only the sub-string will be used.
+
721  Measured values are returned in local coordinate space.
+
722  */
+
723  int textGlyphPositions(float x, float y, const char* string, const char* end, GlyphPosition* positions, int maxPositions);
+
724 
+
725  /**
+
726  Returns the vertical metrics based on the current text style.
+
727  Measured values are returned in local coordinate space.
+
728  */
+
729  void textMetrics(float* ascender, float* descender, float* lineh);
+
730 
+
731  /**
+
732  Breaks the specified text into lines. If end is specified only the sub-string will be used.
+
733  White space is stripped at the beginning of the rows, the text is split at word boundaries or when new-line characters are encountered.
+
734  Words longer than the max width are slit at nearest character (i.e. no hyphenation).
+
735  */
+
736  int textBreakLines(const char* string, const char* end, float breakRowWidth, TextRow* rows, int maxRows);
+
737 
+
738 private:
+
739  NVGcontext* const fContext;
+
740  bool fInFrame;
+
741 
+
742  DISTRHO_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(NanoVG)
+
743 };
+
744 
+
745 // -----------------------------------------------------------------------
+
746 // NanoWidget
+
747 
+
748 /**
+
749  NanoVG Widget class.
+
750 
+
751  This class implements the NanoVG drawing API inside a DGL Widget.
+
752  The drawing function onDisplay() is implemented internally but a
+
753  new onNanoDisplay() needs to be overridden instead.
+
754  */
+
755 class NanoWidget : public Widget,
+
756  public NanoVG
+
757 {
+
758 public:
+
759  /**
+
760  Constructor.
+
761  */
+ +
763  : Widget(parent),
+
764  NanoVG(),
+
765  leakDetector_NanoWidget()
+
766  {
+
767  setNeedsScaling(true);
+
768  }
+
769 
+
770 protected:
+
771  /**
+
772  New virtual onDisplay function.
+
773  @see onDisplay
+
774  */
+
775  virtual void onNanoDisplay() = 0;
+
776 
+
777 private:
+
778  /**
+
779  Widget display function.
+
780  Implemented internally to wrap begin/endFrame() automatically.
+
781  */
+
782  void onDisplay() override
+
783  {
+
784  //glPushAttrib(GL_PIXEL_MODE_BIT|GL_STENCIL_BUFFER_BIT|GL_ENABLE_BIT);
+ +
786  onNanoDisplay();
+
787  endFrame();
+
788  //glPopAttrib();
+
789  glDisable(GL_CULL_FACE);
+
790  }
+
791 
+
792  DISTRHO_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(NanoWidget)
+
793 };
+
794 
+
795 // -----------------------------------------------------------------------
+
796 
+
797 END_NAMESPACE_DGL
+
798 
+
799 #endif // DGL_NANO_WIDGET_HPP_INCLUDED
+
static void transformPoint(float &dstx, float &dsty, const float xform[6], float srcx, float srcy)
+
NVGcontext * getContext() const noexcept
Definition: NanoVG.hpp:267
+
void textAlign(Align align)
+
Definition: NanoVG.hpp:237
+
void beginPath()
+
Definition: NanoVG.hpp:37
+
void lineTo(float x, float y)
+
int textGlyphPositions(float x, float y, const char *string, const char *end, GlyphPosition *positions, int maxPositions)
+
Paint imagePattern(float ox, float oy, float ex, float ey, float angle, const NanoImage *image, PatternRepeat repeat)
+
static void transformScale(float dst[6], float sx, float sy)
+
void stroke()
+
void currentTransform(float xform[6])
+
void circle(float cx, float cy, float r)
+
static void transformMultiply(float dst[6], const float src[6])
+
void fontSize(float size)
+
Definition: NanoVG.hpp:755
+
void miterLimit(float limit)
+
Definition: Window.hpp:30
+
void strokeWidth(float size)
+
virtual void onNanoDisplay()=0
+
void textBoxBounds(float x, float y, float breakRowWidth, const char *string, const char *end, float *bounds)
+
Paint linearGradient(float sx, float sy, float ex, float ey, const Color &icol, const Color &ocol)
+
void translate(float x, float y)
+
static void transformPremultiply(float dst[6], const float src[6])
+
void arcTo(float x1, float y1, float x2, float y2, float radius)
+
void scale(float x, float y)
+
Definition: Color.hpp:33
+
uint getWidth() const noexcept
+
static void transformSkewX(float dst[6], float a)
+
void beginFrame(const uint width, const uint height, const float scaleFactor=1.0f, const Alpha alpha=PREMULTIPLIED_ALPHA)
+
void rect(float x, float y, float w, float h)
+
Paint radialGradient(float cx, float cy, float inr, float outr, const Color &icol, const Color &ocol)
+
void fontBlur(float blur)
+
void strokePaint(const Paint &paint)
+
void reset()
+
NanoWidget(Window &parent)
Definition: NanoVG.hpp:762
+
void save()
+
void fontFaceId(FontId font)
+
void moveTo(float x, float y)
+
void transform(float a, float b, float c, float d, float e, float f)
+
void ellipse(float cx, float cy, float rx, float ry)
+
void bezierTo(float c1x, float c1y, float c2x, float c2y, float x, float y)
+
void fontFace(const char *font)
+ +
NanoImage * createImageMem(uchar *data, int ndata)
+
FontId createFontMem(const char *name, const uchar *data, int ndata, bool freeData)
+ +
void restore()
+
void skewY(float angle)
+
void updateImage(const uchar *const data)
+
void endFrame()
+
FontId findFont(const char *name)
+
void rotate(float angle)
+
virtual ~NanoVG()
+
NanoImage * createImage(const char *filename)
+
Definition: NanoVG.hpp:212
+
void pathWinding(Winding dir)
+
Definition: NanoVG.hpp:168
+
void textLineHeight(float lineHeight)
+
void closePath()
+
static void transformIdentity(float dst[6])
+
void skewX(float angle)
+
Size< uint > getSize() const noexcept
+
float textBounds(float x, float y, const char *string, const char *end, Rectangle< float > &bounds)
+
static float radToDeg(float rad)
+
Definition: NanoVG.hpp:231
+
FontId createFont(const char *name, const char *filename)
+
static void transformSkewY(float dst[6], float a)
+
static int transformInverse(float dst[6], const float src[6])
+
void roundedRect(float x, float y, float w, float h, float r)
+
static float degToRad(float deg)
+
void textBox(float x, float y, float breakRowWidth, const char *string, const char *end)
+
static void transformTranslate(float dst[6], float tx, float ty)
+
void arc(float cx, float cy, float r, float a0, float a1, Winding dir)
+
Definition: Widget.hpp:51
+
void lineCap(LineCap cap=BUTT)
+
Definition: Geometry.hpp:30
+
void resetTransform()
+
float text(float x, float y, const char *string, const char *end)
+
void lineJoin(LineCap join=MITER)
+
NanoImage(NVGcontext *const context, const int imageId) noexcept
+
void fillColor(const Color &color)
+
void scissor(float x, float y, float w, float h)
+
void strokeColor(const Color &color)
+
void textMetrics(float *ascender, float *descender, float *lineh)
+
uint getHeight() const noexcept
+
void setNeedsScaling(bool yesNo) noexcept
+ +
void fillPaint(const Paint &paint)
+
static void transformRotate(float dst[6], float a)
+
Paint boxGradient(float x, float y, float w, float h, float r, float f, const Color &icol, const Color &ocol)
+
NanoImage * createImageRGBA(uint w, uint h, const uchar *data)
+
void textLetterSpacing(float spacing)
+
void fill()
+
int textBreakLines(const char *string, const char *end, float breakRowWidth, TextRow *rows, int maxRows)
+
void resetScissor()
+
+ + + + diff --git a/StandaloneWindow_8hpp_source.html b/StandaloneWindow_8hpp_source.html new file mode 100644 index 00000000..6e047fc9 --- /dev/null +++ b/StandaloneWindow_8hpp_source.html @@ -0,0 +1,187 @@ + + + + + + +DISTRHO Plugin Framework: dgl/StandaloneWindow.hpp Source File + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + +
+ All Classes Functions Variables Modules Pages
+ + +
+ +
+ + +
+
+
+
StandaloneWindow.hpp
+
+
+
1 /*
+
2  * DISTRHO Plugin Framework (DPF)
+
3  * Copyright (C) 2012-2014 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_STANDALONE_WINDOW_HPP_INCLUDED
+
18 #define DGL_STANDALONE_WINDOW_HPP_INCLUDED
+
19 
+
20 #include "App.hpp"
+
21 #include "Widget.hpp"
+
22 #include "Window.hpp"
+
23 
+
24 START_NAMESPACE_DGL
+
25 
+
26 // -----------------------------------------------------------------------
+
27 
+
28 class StandaloneWindow : public App,
+
29  public Window
+
30 {
+
31 public:
+ +
33  : App(),
+
34  Window((App&)*this),
+
35  fWidget(nullptr) {}
+
36 
+
37  void exec()
+
38  {
+
39  Window::show();
+
40  App::exec();
+
41  }
+
42 
+
43 protected:
+
44  void onReshape(uint width, uint height) override
+
45  {
+
46  if (fWidget != nullptr)
+
47  fWidget->setSize(width, height);
+
48  Window::onReshape(width, height);
+
49  }
+
50 
+
51 private:
+
52  Widget* fWidget;
+
53 
+
54  void _addWidget(Widget* widget) override
+
55  {
+
56  if (fWidget == nullptr)
+
57  {
+
58  fWidget = widget;
+
59  fWidget->setNeedsFullViewport(true);
+
60  }
+
61  Window::_addWidget(widget);
+
62  }
+
63 
+
64  void _removeWidget(Widget* widget) override
+
65  {
+
66  if (fWidget == widget)
+
67  {
+
68  fWidget->setNeedsFullViewport(false);
+
69  fWidget = nullptr;
+
70  }
+
71  Window::_removeWidget(widget);
+
72  }
+
73 
+
74  DISTRHO_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(StandaloneWindow)
+
75 };
+
76 
+
77 // -----------------------------------------------------------------------
+
78 
+
79 END_NAMESPACE_DGL
+
80 
+
81 #endif // DGL_STANDALONE_WINDOW_HPP_INCLUDED
+ +
void exec()
+
Definition: Window.hpp:30
+
void setSize(uint width, uint height) noexcept
+
void setNeedsFullViewport(bool yesNo) noexcept
+
Definition: StandaloneWindow.hpp:28
+
Definition: Widget.hpp:51
+
Definition: App.hpp:41
+
+ + + + diff --git a/Widget_8hpp_source.html b/Widget_8hpp_source.html new file mode 100644 index 00000000..8280b4d0 --- /dev/null +++ b/Widget_8hpp_source.html @@ -0,0 +1,539 @@ + + + + + + +DISTRHO Plugin Framework: dgl/Widget.hpp Source File + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + +
+ All Classes Functions Variables Modules Pages
+ + +
+ +
+ + +
+
+
+
Widget.hpp
+
+
+
1 /*
+
2  * DISTRHO Plugin Framework (DPF)
+
3  * Copyright (C) 2012-2014 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_WIDGET_HPP_INCLUDED
+
18 #define DGL_WIDGET_HPP_INCLUDED
+
19 
+
20 #include "Geometry.hpp"
+
21 
+
22 START_NAMESPACE_DGL
+
23 
+
24 // -----------------------------------------------------------------------
+
25 // Forward class names
+
26 
+
27 class App;
+
28 class Window;
+
29 class StandaloneWindow;
+
30 
+
31 // -----------------------------------------------------------------------
+
32 
+
33 /**
+
34  Base DGL Widget class.
+
35 
+
36  This is the base Widget class, from which all widgets are built.
+
37 
+
38  All widgets have a parent Window where they'll be drawn.
+
39  This parent is never changed during the widget lifetime.
+
40 
+
41  Widgets receive events in relative coordinates.
+
42  (0, 0) means its top-left position.
+
43 
+
44  Windows paint widgets in the order they are constructed.
+
45  Early widgets are drawn first, at the bottom, then newer ones on top.
+
46  Events are sent in the inverse order so that the top-most widget gets
+
47  a chance to catch the event and stop its propagation.
+
48 
+
49  All widget event callbacks do nothing by default.
+
50  */
+
51 class Widget
+
52 {
+
53 public:
+
54  /**
+
55  Base event data.
+
56  @a mod The currently active keyboard modifiers, @see Modifier.
+
57  @a time The timestamp (if any).
+
58  */
+
59  struct BaseEvent {
+
60  uint mod;
+
61  uint32_t time;
+
62 
+
63  /** Constuctor */
+
64  BaseEvent() noexcept : mod(0x0), time(0) {}
+
65  /** Destuctor */
+
66  virtual ~BaseEvent() noexcept {}
+
67  };
+
68 
+
69  /**
+
70  Keyboard event.
+
71  @a press True if the key was pressed, false if released.
+
72  @a key Unicode point of the key pressed.
+
73  @see onKeyboard
+
74  */
+ +
76  bool press;
+
77  uint key;
+
78 
+
79  /** Constuctor */
+
80  KeyboardEvent() noexcept
+
81  : BaseEvent(),
+
82  press(false),
+
83  key(0) {}
+
84  };
+
85 
+
86  /**
+
87  Special keyboard event.
+
88  @a press True if the key was pressed, false if released.
+
89  @a key The key pressed.
+
90  @see onSpecial
+
91  */
+ +
93  bool press;
+
94  Key key;
+
95 
+
96  /** Constuctor */
+
97  SpecialEvent() noexcept
+
98  : BaseEvent(),
+
99  press(false),
+
100  key(Key(0)) {}
+
101  };
+
102 
+
103  /**
+
104  Mouse event.
+
105  @a button The button number (1 = left, 2 = middle, 3 = right).
+
106  @a press True if the key was pressed, false if released.
+
107  @a pos The widget-relative coordinates of the pointer.
+
108  @see onMouse
+
109  */
+ +
111  int button;
+
112  bool press;
+
113  Point<int> pos;
+
114 
+
115  /** Constuctor */
+
116  MouseEvent() noexcept
+
117  : BaseEvent(),
+
118  button(0),
+
119  press(false),
+
120  pos(0, 0) {}
+
121  };
+
122 
+
123  /**
+
124  Mouse motion event.
+
125  @a pos The widget-relative coordinates of the pointer.
+
126  @see onMotion
+
127  */
+ +
129  Point<int> pos;
+
130 
+
131  /** Constuctor */
+
132  MotionEvent() noexcept
+
133  : BaseEvent(),
+
134  pos(0, 0) {}
+
135  };
+
136 
+
137  /**
+
138  Mouse scroll event.
+
139  @a pos The widget-relative coordinates of the pointer.
+
140  @a delta The scroll distance.
+
141  @see onScroll
+
142  */
+ +
144  Point<int> pos;
+
145  Point<float> delta;
+
146 
+
147  /** Constuctor */
+
148  ScrollEvent() noexcept
+
149  : BaseEvent(),
+
150  pos(0, 0),
+
151  delta(0.0f, 0.0f) {}
+
152  };
+
153 
+
154  /**
+
155  Resize event.
+
156  @a size The new widget size.
+
157  @a oldSize The previous size, may be null.
+
158  @see onResize
+
159  */
+
160  struct ResizeEvent {
+
161  Size<uint> size;
+
162  Size<uint> oldSize;
+
163 
+
164  /** Constuctor */
+
165  ResizeEvent() noexcept
+
166  : size(0, 0),
+
167  oldSize(0, 0) {}
+
168  };
+
169 
+
170  /**
+
171  Constructor.
+
172  */
+
173  explicit Widget(Window& parent);
+
174 
+
175  /**
+
176  Destructor.
+
177  */
+
178  virtual ~Widget();
+
179 
+
180  /**
+
181  Check if this widget is visible within its parent window.
+
182  Invisible widgets do not receive events except resize.
+
183  */
+
184  bool isVisible() const noexcept;
+
185 
+
186  /**
+
187  Set widget visible (or not) according to @a yesNo.
+
188  */
+
189  void setVisible(bool yesNo);
+
190 
+
191  /**
+
192  Show widget.
+
193  This is the same as calling setVisible(true).
+
194  */
+
195  void show();
+
196 
+
197  /**
+
198  Hide widget.
+
199  This is the same as calling setVisible(false).
+
200  */
+
201  void hide();
+
202 
+
203  /**
+
204  Get width.
+
205  */
+
206  uint getWidth() const noexcept;
+
207 
+
208  /**
+
209  Get height.
+
210  */
+
211  uint getHeight() const noexcept;
+
212 
+
213  /**
+
214  Get size.
+
215  */
+
216  const Size<uint>& getSize() const noexcept;
+
217 
+
218  /**
+
219  Set width.
+
220  */
+
221  void setWidth(uint width) noexcept;
+
222 
+
223  /**
+
224  Set height.
+
225  */
+
226  void setHeight(uint height) noexcept;
+
227 
+
228  /**
+
229  Set size using @a width and @a height values.
+
230  */
+
231  void setSize(uint width, uint height) noexcept;
+
232 
+
233  /**
+
234  Set size.
+
235  */
+
236  void setSize(const Size<uint>& size) noexcept;
+
237 
+
238  /**
+
239  Get absolute X.
+
240  */
+
241  int getAbsoluteX() const noexcept;
+
242 
+
243  /**
+
244  Get absolute Y.
+
245  */
+
246  int getAbsoluteY() const noexcept;
+
247 
+
248  /**
+
249  Get absolute position.
+
250  */
+
251  const Point<int>& getAbsolutePos() const noexcept;
+
252 
+
253  /**
+
254  Set absolute X.
+
255  */
+
256  void setAbsoluteX(int x) noexcept;
+
257 
+
258  /**
+
259  Set absolute Y.
+
260  */
+
261  void setAbsoluteY(int y) noexcept;
+
262 
+
263  /**
+
264  Set absolute position using @a x and @a y values.
+
265  */
+
266  void setAbsolutePos(int x, int y) noexcept;
+
267 
+
268  /**
+
269  Set absolute position.
+
270  */
+
271  void setAbsolutePos(const Point<int>& pos) noexcept;
+
272 
+
273  /**
+
274  Get this widget's window application.
+
275  Same as calling getParentWindow().getApp().
+
276  */
+
277  App& getParentApp() const noexcept;
+
278 
+
279  /**
+
280  Get parent window, as passed in the constructor.
+
281  */
+
282  Window& getParentWindow() const noexcept;
+
283 
+
284  /**
+
285  Check if this widget contains the point defined by @a x and @a y.
+
286  */
+
287  bool contains(int x, int y) const noexcept;
+
288 
+
289  /**
+
290  Check if this widget contains the point @a pos.
+
291  */
+
292  bool contains(const Point<int>& pos) const noexcept;
+
293 
+
294  /**
+
295  Tell this widget's window to repaint itself.
+
296  */
+
297  void repaint() noexcept;
+
298 
+
299  /**
+
300  Get the Id associated with this widget.
+
301  @see setId
+
302  */
+
303  uint getId() const noexcept;
+
304 
+
305  /**
+
306  Set an Id to be associated with this widget.
+
307  @see getId
+
308  */
+
309  void setId(uint id) noexcept;
+
310 
+
311 protected:
+
312  /**
+
313  A function called to draw the view contents with OpenGL.
+
314  */
+
315  virtual void onDisplay() = 0;
+
316 
+
317  /**
+
318  A function called when a key is pressed or released.
+
319  @return True to stop event propagation, false otherwise.
+
320  */
+
321  virtual bool onKeyboard(const KeyboardEvent&);
+
322 
+
323  /**
+
324  A function called when a special key is pressed or released.
+
325  @return True to stop event propagation, false otherwise.
+
326  */
+
327  virtual bool onSpecial(const SpecialEvent&);
+
328 
+
329  /**
+
330  A function called when a mouse button is pressed or released.
+
331  @return True to stop event propagation, false otherwise.
+
332  */
+
333  virtual bool onMouse(const MouseEvent&);
+
334 
+
335  /**
+
336  A function called when the pointer moves.
+
337  @return True to stop event propagation, false otherwise.
+
338  */
+
339  virtual bool onMotion(const MotionEvent&);
+
340 
+
341  /**
+
342  A function called on scrolling (e.g. mouse wheel or track pad).
+
343  @return True to stop event propagation, false otherwise.
+
344  */
+
345  virtual bool onScroll(const ScrollEvent&);
+
346 
+
347  /**
+
348  A function called when the widget is resized.
+
349  */
+
350  virtual void onResize(const ResizeEvent&);
+
351 
+
352  /**
+
353  Tell the parent window this widget needs the full viewport.
+
354  When enabled, the local widget coordinates are ignored.
+
355  @note: This is an internal function;
+
356  You do not need it under normal circumstances.
+
357  */
+
358  void setNeedsFullViewport(bool yesNo) noexcept;
+
359 
+
360  /**
+
361  Tell the parent window this widget needs scaling.
+
362  When enabled, the widget viewport is scaled to match width and height.
+
363  @note: This is an internal function;
+
364  You do not need it under normal circumstances.
+
365  */
+
366  void setNeedsScaling(bool yesNo) noexcept;
+
367 
+
368 private:
+
369  Window& fParent;
+
370  bool fNeedsFullViewport;
+
371  bool fNeedsScaling;
+
372  bool fVisible;
+
373  uint fId;
+
374  Point<int> fAbsolutePos;
+
375  Size<uint> fSize;
+
376 
+
377  friend class Window;
+
378  friend class StandaloneWindow;
+
379 
+
380  DISTRHO_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(Widget)
+
381 };
+
382 
+
383 // -----------------------------------------------------------------------
+
384 
+
385 END_NAMESPACE_DGL
+
386 
+
387 #endif // DGL_WIDGET_HPP_INCLUDED
+
Window & getParentWindow() const noexcept
+
const Point< int > & getAbsolutePos() const noexcept
+
virtual bool onSpecial(const SpecialEvent &)
+
virtual bool onScroll(const ScrollEvent &)
+
virtual bool onMouse(const MouseEvent &)
+
MouseEvent() noexcept
Definition: Widget.hpp:116
+
Definition: Widget.hpp:92
+
ScrollEvent() noexcept
Definition: Widget.hpp:148
+
ResizeEvent() noexcept
Definition: Widget.hpp:165
+
void setId(uint id) noexcept
+
Definition: Window.hpp:30
+
virtual void onDisplay()=0
+
uint getWidth() const noexcept
+
MotionEvent() noexcept
Definition: Widget.hpp:132
+ +
bool contains(int x, int y) const noexcept
+
void setSize(uint width, uint height) noexcept
+
KeyboardEvent() noexcept
Definition: Widget.hpp:80
+
Definition: Widget.hpp:75
+
void setNeedsFullViewport(bool yesNo) noexcept
+
void setAbsolutePos(int x, int y) noexcept
+
virtual ~Widget()
+
int getAbsoluteX() const noexcept
+
void setAbsoluteX(int x) noexcept
+
Definition: StandaloneWindow.hpp:28
+ +
App & getParentApp() const noexcept
+
virtual void onResize(const ResizeEvent &)
+
Definition: Widget.hpp:128
+
void setAbsoluteY(int y) noexcept
+
void setHeight(uint height) noexcept
+
const Size< uint > & getSize() const noexcept
+
bool isVisible() const noexcept
+
void hide()
+
Definition: Widget.hpp:160
+
Definition: Widget.hpp:59
+
BaseEvent() noexcept
Definition: Widget.hpp:64
+
virtual bool onMotion(const MotionEvent &)
+
Definition: Widget.hpp:51
+
virtual bool onKeyboard(const KeyboardEvent &)
+
Definition: Widget.hpp:110
+
virtual ~BaseEvent() noexcept
Definition: Widget.hpp:66
+
uint getId() const noexcept
+
uint getHeight() const noexcept
+
void setNeedsScaling(bool yesNo) noexcept
+
Definition: Widget.hpp:143
+
Widget(Window &parent)
+
void setWidth(uint width) noexcept
+
SpecialEvent() noexcept
Definition: Widget.hpp:97
+
void repaint() noexcept
+
void show()
+
void setVisible(bool yesNo)
+
Definition: App.hpp:41
+
int getAbsoluteY() const noexcept
+
+ + + + diff --git a/Window_8hpp_source.html b/Window_8hpp_source.html new file mode 100644 index 00000000..42669558 --- /dev/null +++ b/Window_8hpp_source.html @@ -0,0 +1,242 @@ + + + + + + +DISTRHO Plugin Framework: dgl/Window.hpp Source File + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + +
+ All Classes Functions Variables Modules Pages
+ + +
+ +
+ + +
+
+
+
Window.hpp
+
+
+
1 /*
+
2  * DISTRHO Plugin Framework (DPF)
+
3  * Copyright (C) 2012-2014 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_WINDOW_HPP_INCLUDED
+
18 #define DGL_WINDOW_HPP_INCLUDED
+
19 
+
20 #include "Geometry.hpp"
+
21 
+
22 START_NAMESPACE_DGL
+
23 
+
24 // -----------------------------------------------------------------------
+
25 
+
26 class App;
+
27 class Widget;
+
28 class StandaloneWindow;
+
29 
+
30 class Window
+
31 {
+
32 public:
+
33  /**
+
34  File browser options.
+
35  */
+ +
37  const char* startDir;
+
38  const char* title;
+
39  uint width;
+
40  uint height;
+
41 
+
42  /**
+
43  File browser buttons.
+
44 
+
45  0 means hidden.
+
46  1 means visible and unchecked.
+
47  2 means visible and checked.
+
48  */
+
49  struct Buttons {
+
50  uint listAllFiles;
+
51  uint showHidden;
+
52  uint showPlaces;
+
53 
+
54  /** Constuctor for default values */
+ +
56  : listAllFiles(2),
+
57  showHidden(1),
+
58  showPlaces(1) {}
+
59  } buttons;
+
60 
+
61  /** Constuctor for default values */
+ +
63  : startDir(nullptr),
+
64  title(nullptr),
+
65  width(0),
+
66  height(0),
+
67  buttons() {}
+
68  };
+
69 
+
70  explicit Window(App& app);
+
71  explicit Window(App& app, Window& parent);
+
72  explicit Window(App& app, intptr_t parentId);
+
73  virtual ~Window();
+
74 
+
75  void show();
+
76  void hide();
+
77  void close();
+
78  void exec(bool lockWait = false);
+
79 
+
80  void focus();
+
81  void repaint() noexcept;
+
82 
+
83  bool openFileBrowser(const FileBrowserOptions& options);
+
84 
+
85  bool isVisible() const noexcept;
+
86  void setVisible(bool yesNo);
+
87 
+
88  bool isResizable() const noexcept;
+
89  void setResizable(bool yesNo);
+
90 
+
91  uint getWidth() const noexcept;
+
92  uint getHeight() const noexcept;
+
93  Size<uint> getSize() const noexcept;
+
94  void setSize(uint width, uint height);
+
95  void setSize(Size<uint> size);
+
96 
+
97  const char* getTitle() const noexcept;
+
98  void setTitle(const char* title);
+
99 
+
100  void setTransientWinId(uintptr_t winId);
+
101 
+
102  App& getApp() const noexcept;
+
103  intptr_t getWindowId() const noexcept;
+
104 
+
105  void addIdleCallback(IdleCallback* const callback);
+
106  void removeIdleCallback(IdleCallback* const callback);
+
107 
+
108 protected:
+
109  virtual void onDisplayBefore();
+
110  virtual void onDisplayAfter();
+
111  virtual void onReshape(uint width, uint height);
+
112  virtual void onClose();
+
113 
+
114  virtual void fileBrowserSelected(const char* filename);
+
115 
+
116 private:
+
117  struct PrivateData;
+
118  PrivateData* const pData;
+
119  friend class App;
+
120  friend class Widget;
+
121  friend class StandaloneWindow;
+
122 
+
123  virtual void _addWidget(Widget* const widget);
+
124  virtual void _removeWidget(Widget* const widget);
+
125  void _idle();
+
126 
+
127  DISTRHO_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(Window)
+
128 };
+
129 
+
130 // -----------------------------------------------------------------------
+
131 
+
132 END_NAMESPACE_DGL
+
133 
+
134 #endif // DGL_WINDOW_HPP_INCLUDED
+
FileBrowserOptions()
Definition: Window.hpp:62
+
Definition: Window.hpp:30
+
Buttons()
Definition: Window.hpp:55
+
Definition: StandaloneWindow.hpp:28
+
Definition: Geometry.hpp:132
+
Definition: Window.hpp:36
+
Definition: Base.hpp:176
+
Definition: Window.hpp:49
+
Definition: Widget.hpp:51
+
Definition: App.hpp:41
+
+ + + + diff --git a/annotated.html b/annotated.html index 83216b9a..740188fa 100644 --- a/annotated.html +++ b/annotated.html @@ -87,21 +87,67 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
Here are the classes, structs, unions and interfaces with brief descriptions:
-
[detail level 12]
- - - - - - - - +
[detail level 123]
 CAudioPort
 CMidiEvent
 CParameter
 CParameterRanges
 CPlugin
 CTimePosition
 CBarBeatTick
 CUI
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 CApp
 CAudioPort
 CCircle
 CColor
 CContainerDeletePolicy
 Cd_string
 CIdleCallback
 CImage
 CImageAboutWindow
 CImageButton
 CCallback
 CImageKnob
 CCallback
 CImageSlider
 CCallback
 CImageSwitch
 CCallback
 CLeakedObjectDetector
 CLine
 CMidiEvent
 CMutex
 CNanoImage
 CNanoVG
 CGlyphPosition
 CPaint
 CTextRow
 CNanoWidget
 CParameter
 CParameterRanges
 CPlugin
 CPoint
 CRectangle
 CRecursiveMutex
 CScopedLocker
 CScopedPointer
 CScopedUnlocker
 CSize
 CStandaloneWindow
 CThread
 CTimePosition
 CBarBeatTick
 CTriangle
 CUI
 CWidget
 CBaseEvent
 CKeyboardEvent
 CMotionEvent
 CMouseEvent
 CResizeEvent
 CScrollEvent
 CSpecialEvent
 CWindow
 CFileBrowserOptions
 CButtons
diff --git a/classApp-members.html b/classApp-members.html new file mode 100644 index 00000000..b4a8b5a2 --- /dev/null +++ b/classApp-members.html @@ -0,0 +1,107 @@ + + + + + + +DISTRHO Plugin Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + +
+ All Classes Functions Variables Modules Pages
+ + +
+ +
+ +
+
+
+
App Member List
+
+
+ +

This is the complete list of members for App, including all inherited members.

+ + + + + + + + +
App()App
exec()App
idle()App
isQuiting() const noexceptApp
quit()App
Window (defined in App)Appfriend
~App()App
+ + + + diff --git a/classApp.html b/classApp.html new file mode 100644 index 00000000..db2cddeb --- /dev/null +++ b/classApp.html @@ -0,0 +1,247 @@ + + + + + + +DISTRHO Plugin Framework: App Class Reference + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + +
+ All Classes Functions Variables Modules Pages
+ + +
+ +
+ +
+
+
+Public Member Functions | +Friends | +List of all members
+
+
App Class Reference
+
+
+ +

#include <App.hpp>

+
+Inheritance diagram for App:
+
+
+ + +StandaloneWindow + +
+ + + + + + + + + + + + + + +

+Public Member Functions

 App ()
 
 ~App ()
 
void idle ()
 
void exec ()
 
void quit ()
 
bool isQuiting () const noexcept
 
+ + + +

+Friends

+class Window
 
+

Detailed Description

+

Base DGL Application class.

+

One application instance is required for creating a window. There's no single/global application instance in DGL, and multiple windows can share the same app instance.

+

In standalone mode an application will automatically quit its event-loop when all its windows are closed.

+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + +
App::App ()
+
+

Constructor.

+ +
+
+ +
+
+ + + + + + + +
App::~App ()
+
+

Destructor.

+ +
+
+

Member Function Documentation

+ +
+
+ + + + + + + +
void App::idle ()
+
+

Idle function. This runs the application event-loop once.

+ +
+
+ +
+
+ + + + + + + +
void App::exec ()
+
+

Run the application event-loop until all Windows are closed. idle() is called at regular intervals.

Note
: This function is meant for standalones only, never call this from plugins.
+ +
+
+ +
+
+ + + + + + + +
void App::quit ()
+
+

Quit the application. This stops the event-loop and closes all Windows.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
bool App::isQuiting () const
+
+noexcept
+
+

Check if the application is about to quit. Returning true means there's no event-loop running at the moment (or it's just about to stop).

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/classApp.png b/classApp.png new file mode 100644 index 00000000..ef4a557b Binary files /dev/null and b/classApp.png differ diff --git a/classCircle-members.html b/classCircle-members.html new file mode 100644 index 00000000..b78034b9 --- /dev/null +++ b/classCircle-members.html @@ -0,0 +1,120 @@ + + + + + + +DISTRHO Plugin Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + +
+ All Classes Functions Variables Modules Pages
+ + +
+ +
+ +
+
+
+
Circle< T > Member List
+
+
+ +

This is the complete list of members for Circle< T >, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + +
Circle() noexceptCircle< T >
Circle(const T &x, const T &y, const float size, const uint numSegments=300)Circle< T >
Circle(const Point< T > &pos, const float size, const uint numSegments=300)Circle< T >
Circle(const Circle< T > &cir) noexceptCircle< T >
draw()Circle< T >
drawOutline()Circle< T >
getNumSegments() const noexceptCircle< T >
getPos() const noexceptCircle< T >
getSize() const noexceptCircle< T >
getX() const noexceptCircle< T >
getY() const noexceptCircle< T >
operator!=(const Circle< T > &cir) const noexcept (defined in Circle< T >)Circle< T >
operator=(const Circle< T > &cir) noexcept (defined in Circle< T >)Circle< T >
operator==(const Circle< T > &cir) const noexcept (defined in Circle< T >)Circle< T >
setNumSegments(const uint num)Circle< T >
setPos(const T &x, const T &y) noexceptCircle< T >
setPos(const Point< T > &pos) noexceptCircle< T >
setSize(const float size) noexceptCircle< T >
setX(const T &x) noexceptCircle< T >
setY(const T &y) noexceptCircle< T >
+ + + + diff --git a/classIdleCallback-members.html b/classIdleCallback-members.html new file mode 100644 index 00000000..7589680a --- /dev/null +++ b/classIdleCallback-members.html @@ -0,0 +1,102 @@ + + + + + + +DISTRHO Plugin Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + +
+ All Classes Functions Variables Modules Pages
+ + +
+ +
+ +
+
+
+
IdleCallback Member List
+
+
+ +

This is the complete list of members for IdleCallback, including all inherited members.

+ + + +
idleCallback()=0 (defined in IdleCallback)IdleCallbackpure virtual
~IdleCallback() (defined in IdleCallback)IdleCallbackinlinevirtual
+ + + + diff --git a/classIdleCallback.html b/classIdleCallback.html new file mode 100644 index 00000000..7b7ad267 --- /dev/null +++ b/classIdleCallback.html @@ -0,0 +1,114 @@ + + + + + + +DISTRHO Plugin Framework: IdleCallback Class Reference + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + +
+ All Classes Functions Variables Modules Pages
+ + +
+ +
+ +
+
+
+Public Member Functions | +List of all members
+
+
IdleCallback Class Referenceabstract
+
+
+ +

#include <Base.hpp>

+ + + + +

+Public Member Functions

+virtual void idleCallback ()=0
 
+

Detailed Description

+

Idle callback.

+

The documentation for this class was generated from the following file: +
+ + + + diff --git a/classImage-members.html b/classImage-members.html new file mode 100644 index 00000000..0cdd23fb --- /dev/null +++ b/classImage-members.html @@ -0,0 +1,120 @@ + + + + + + +DISTRHO Plugin Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + +
+ All Classes Functions Variables Modules Pages
+ + +
+ +
+ +
+
+
+
Image Member List
+
+
+ +

This is the complete list of members for Image, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + +
draw()Image
drawAt(const int x, const int y)Image
drawAt(const Point< int > &pos)Image
getFormat() const noexceptImage
getHeight() const noexceptImage
getRawData() const noexceptImage
getSize() const noexceptImage
getType() const noexceptImage
getWidth() const noexceptImage
Image()Image
Image(const char *const rawData, const uint width, const uint height, const GLenum format=GL_BGRA, const GLenum type=GL_UNSIGNED_BYTE)Image
Image(const char *const rawData, const Size< uint > &size, const GLenum format=GL_BGRA, const GLenum type=GL_UNSIGNED_BYTE)Image
Image(const Image &image)Image
isValid() const noexceptImage
loadFromMemory(const char *const rawData, const uint width, const uint height, const GLenum format=GL_BGRA, const GLenum type=GL_UNSIGNED_BYTE) noexceptImage
loadFromMemory(const char *const rawData, const Size< uint > &size, const GLenum format=GL_BGRA, const GLenum type=GL_UNSIGNED_BYTE) noexceptImage
operator!=(const Image &image) const noexcept (defined in Image)Image
operator=(const Image &image) noexcept (defined in Image)Image
operator==(const Image &image) const noexcept (defined in Image)Image
~Image()Image
+ + + + diff --git a/classImage.html b/classImage.html new file mode 100644 index 00000000..5eec4258 --- /dev/null +++ b/classImage.html @@ -0,0 +1,620 @@ + + + + + + +DISTRHO Plugin Framework: Image Class Reference + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + +
+ All Classes Functions Variables Modules Pages
+ + +
+ +
+ +
+
+
+Public Member Functions | +List of all members
+
+
Image Class Reference
+
+
+ +

#include <Image.hpp>

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 Image ()
 
 Image (const char *const rawData, const uint width, const uint height, const GLenum format=GL_BGRA, const GLenum type=GL_UNSIGNED_BYTE)
 
 Image (const char *const rawData, const Size< uint > &size, const GLenum format=GL_BGRA, const GLenum type=GL_UNSIGNED_BYTE)
 
 Image (const Image &image)
 
 ~Image ()
 
void loadFromMemory (const char *const rawData, const uint width, const uint height, const GLenum format=GL_BGRA, const GLenum type=GL_UNSIGNED_BYTE) noexcept
 
void loadFromMemory (const char *const rawData, const Size< uint > &size, const GLenum format=GL_BGRA, const GLenum type=GL_UNSIGNED_BYTE) noexcept
 
bool isValid () const noexcept
 
uint getWidth () const noexcept
 
uint getHeight () const noexcept
 
const Size< uint > & getSize () const noexcept
 
const char * getRawData () const noexcept
 
GLenum getFormat () const noexcept
 
GLenum getType () const noexcept
 
void draw ()
 
void drawAt (const int x, const int y)
 
void drawAt (const Point< int > &pos)
 
+Imageoperator= (const Image &image) noexcept
 
+bool operator== (const Image &image) const noexcept
 
+bool operator!= (const Image &image) const noexcept
 
+

Detailed Description

+

Base DGL Image class.

+

This is an Image class that handles raw image data in pixels. You can init the image data on the contructor or later on by calling loadFromMemory().

+

To generate raw data useful for this class see the utils/png2rgba.py script. Be careful when using a PNG without alpha channel, for those the format is 'GL_BGR' instead of the default 'GL_BGRA'.

+

Images are drawn on screen via 2D textures.

+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + +
Image::Image ()
+
+

Constructor for a null Image.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Image::Image (const char *const rawData,
const uint width,
const uint height,
const GLenum format = GL_BGRA,
const GLenum type = GL_UNSIGNED_BYTE 
)
+
+

Constructor using raw image data.

Note
: rawData must remain valid for the lifetime of this Image.
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Image::Image (const char *const rawData,
const Size< uint > & size,
const GLenum format = GL_BGRA,
const GLenum type = GL_UNSIGNED_BYTE 
)
+
+

Constructor using raw image data.

Note
: rawData must remain valid for the lifetime of this Image.
+ +
+
+ +
+
+ + + + + + + + +
Image::Image (const Imageimage)
+
+

Constructor using another image data.

+ +
+
+ +
+
+ + + + + + + +
Image::~Image ()
+
+

Destructor.

+ +
+
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void Image::loadFromMemory (const char *const rawData,
const uint width,
const uint height,
const GLenum format = GL_BGRA,
const GLenum type = GL_UNSIGNED_BYTE 
)
+
+noexcept
+
+

Load image data from memory.

Note
: rawData must remain valid for the lifetime of this Image.
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void Image::loadFromMemory (const char *const rawData,
const Size< uint > & size,
const GLenum format = GL_BGRA,
const GLenum type = GL_UNSIGNED_BYTE 
)
+
+noexcept
+
+

Load image data from memory.

Note
: rawData must remain valid for the lifetime of this Image.
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
bool Image::isValid () const
+
+noexcept
+
+

Check if this image is valid.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
uint Image::getWidth () const
+
+noexcept
+
+

Get width.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
uint Image::getHeight () const
+
+noexcept
+
+

Get height.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
const Size<uint>& Image::getSize () const
+
+noexcept
+
+

Get size.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
const char* Image::getRawData () const
+
+noexcept
+
+

Get the raw image data.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
GLenum Image::getFormat () const
+
+noexcept
+
+

Get the image format.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
GLenum Image::getType () const
+
+noexcept
+
+

Get the image type.

+ +
+
+ +
+
+ + + + + + + +
void Image::draw ()
+
+

Draw this image at (0, 0) point.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void Image::drawAt (const int x,
const int y 
)
+
+

Draw this image at (x, y) point.

+ +
+
+ +
+
+ + + + + + + + +
void Image::drawAt (const Point< int > & pos)
+
+

Draw this image at position pos.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/classImageAboutWindow-members.html b/classImageAboutWindow-members.html new file mode 100644 index 00000000..dba6b87c --- /dev/null +++ b/classImageAboutWindow-members.html @@ -0,0 +1,171 @@ + + + + + + +DISTRHO Plugin Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + +
+ All Classes Functions Variables Modules Pages
+ + +
+ +
+ +
+
+
+
ImageAboutWindow Member List
+
+
+ +

This is the complete list of members for ImageAboutWindow, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
addIdleCallback(IdleCallback *const callback) (defined in Window)Window
close() (defined in Window)Window
contains(int x, int y) const noexceptWidget
contains(const Point< int > &pos) const noexceptWidget
exec(bool lockWait=false) (defined in Window)Window
fileBrowserSelected(const char *filename) (defined in Window)Windowprotectedvirtual
focus() (defined in Window)Window
getAbsolutePos() const noexceptWidget
getAbsoluteX() const noexceptWidget
getAbsoluteY() const noexceptWidget
getApp() const noexcept (defined in Window)Window
getHeight() const noexcept (defined in Window)Window
Widget::getHeight() const noexceptWidget
getId() const noexceptWidget
getParentApp() const noexceptWidget
getParentWindow() const noexceptWidget
getSize() const noexcept (defined in Window)Window
Widget::getSize() const noexceptWidget
getTitle() const noexcept (defined in Window)Window
getWidth() const noexcept (defined in Window)Window
Widget::getWidth() const noexceptWidget
getWindowId() const noexcept (defined in Window)Window
hide() (defined in Window)Window
Widget::hide()Widget
ImageAboutWindow(Window &parent, const Image &image=Image()) (defined in ImageAboutWindow)ImageAboutWindowexplicit
ImageAboutWindow(Widget *widget, const Image &image=Image()) (defined in ImageAboutWindow)ImageAboutWindowexplicit
isResizable() const noexcept (defined in Window)Window
isVisible() const noexcept (defined in Window)Window
Widget::isVisible() const noexceptWidget
onClose() (defined in Window)Windowprotectedvirtual
onDisplay() overrideImageAboutWindowprotectedvirtual
onDisplayAfter() (defined in Window)Windowprotectedvirtual
onDisplayBefore() (defined in Window)Windowprotectedvirtual
onKeyboard(const KeyboardEvent &) overrideImageAboutWindowprotectedvirtual
onMotion(const MotionEvent &)Widgetprotectedvirtual
onMouse(const MouseEvent &) overrideImageAboutWindowprotectedvirtual
onReshape(uint width, uint height) override (defined in ImageAboutWindow)ImageAboutWindowprotectedvirtual
onResize(const ResizeEvent &)Widgetprotectedvirtual
onScroll(const ScrollEvent &)Widgetprotectedvirtual
onSpecial(const SpecialEvent &)Widgetprotectedvirtual
openFileBrowser(const FileBrowserOptions &options) (defined in Window)Window
removeIdleCallback(IdleCallback *const callback) (defined in Window)Window
repaint() noexcept (defined in Window)Window
Widget::repaint() noexceptWidget
setAbsolutePos(int x, int y) noexceptWidget
setAbsolutePos(const Point< int > &pos) noexceptWidget
setAbsoluteX(int x) noexceptWidget
setAbsoluteY(int y) noexceptWidget
setHeight(uint height) noexceptWidget
setId(uint id) noexceptWidget
setImage(const Image &image) (defined in ImageAboutWindow)ImageAboutWindow
setNeedsFullViewport(bool yesNo) noexceptWidgetprotected
setNeedsScaling(bool yesNo) noexceptWidgetprotected
setResizable(bool yesNo) (defined in Window)Window
setSize(uint width, uint height) (defined in Window)Window
setSize(Size< uint > size) (defined in Window)Window
Widget::setSize(uint width, uint height) noexceptWidget
Widget::setSize(const Size< uint > &size) noexceptWidget
setTitle(const char *title) (defined in Window)Window
setTransientWinId(uintptr_t winId) (defined in Window)Window
setVisible(bool yesNo) (defined in Window)Window
Widget::setVisible(bool yesNo)Widget
setWidth(uint width) noexceptWidget
show() (defined in Window)Window
Widget::show()Widget
Widget(Window &parent)Widgetexplicit
Window(App &app) (defined in Window)Windowexplicit
Window(App &app, Window &parent) (defined in Window)Windowexplicit
Window(App &app, intptr_t parentId) (defined in Window)Windowexplicit
~Widget()Widgetvirtual
~Window() (defined in Window)Windowvirtual
+ + + + diff --git a/classImageAboutWindow.html b/classImageAboutWindow.html new file mode 100644 index 00000000..a15f4223 --- /dev/null +++ b/classImageAboutWindow.html @@ -0,0 +1,380 @@ + + + + + + +DISTRHO Plugin Framework: ImageAboutWindow Class Reference + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + +
+ All Classes Functions Variables Modules Pages
+ + +
+ +
+ +
+
+
+Public Member Functions | +Protected Member Functions | +List of all members
+
+
ImageAboutWindow Class Reference
+
+
+
+Inheritance diagram for ImageAboutWindow:
+
+
+ + +Window +Widget + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

ImageAboutWindow (Window &parent, const Image &image=Image())
 
ImageAboutWindow (Widget *widget, const Image &image=Image())
 
+void setImage (const Image &image)
 
- Public Member Functions inherited from Window
Window (App &app)
 
Window (App &app, Window &parent)
 
Window (App &app, intptr_t parentId)
 
+void show ()
 
+void hide ()
 
+void close ()
 
+void exec (bool lockWait=false)
 
+void focus ()
 
+void repaint () noexcept
 
+bool openFileBrowser (const FileBrowserOptions &options)
 
+bool isVisible () const noexcept
 
+void setVisible (bool yesNo)
 
+bool isResizable () const noexcept
 
+void setResizable (bool yesNo)
 
+uint getWidth () const noexcept
 
+uint getHeight () const noexcept
 
+Size< uint > getSize () const noexcept
 
+void setSize (uint width, uint height)
 
+void setSize (Size< uint > size)
 
+const char * getTitle () const noexcept
 
+void setTitle (const char *title)
 
+void setTransientWinId (uintptr_t winId)
 
+AppgetApp () const noexcept
 
+intptr_t getWindowId () const noexcept
 
+void addIdleCallback (IdleCallback *const callback)
 
+void removeIdleCallback (IdleCallback *const callback)
 
- Public Member Functions inherited from Widget
 Widget (Window &parent)
 
virtual ~Widget ()
 
bool isVisible () const noexcept
 
void setVisible (bool yesNo)
 
void show ()
 
void hide ()
 
uint getWidth () const noexcept
 
uint getHeight () const noexcept
 
const Size< uint > & getSize () const noexcept
 
void setWidth (uint width) noexcept
 
void setHeight (uint height) noexcept
 
void setSize (uint width, uint height) noexcept
 
void setSize (const Size< uint > &size) noexcept
 
int getAbsoluteX () const noexcept
 
int getAbsoluteY () const noexcept
 
const Point< int > & getAbsolutePos () const noexcept
 
void setAbsoluteX (int x) noexcept
 
void setAbsoluteY (int y) noexcept
 
void setAbsolutePos (int x, int y) noexcept
 
void setAbsolutePos (const Point< int > &pos) noexcept
 
AppgetParentApp () const noexcept
 
WindowgetParentWindow () const noexcept
 
bool contains (int x, int y) const noexcept
 
bool contains (const Point< int > &pos) const noexcept
 
void repaint () noexcept
 
uint getId () const noexcept
 
void setId (uint id) noexcept
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Protected Member Functions

void onDisplay () override
 
bool onKeyboard (const KeyboardEvent &) override
 
bool onMouse (const MouseEvent &) override
 
+void onReshape (uint width, uint height) override
 
- Protected Member Functions inherited from Window
+virtual void onDisplayBefore ()
 
+virtual void onDisplayAfter ()
 
+virtual void onClose ()
 
+virtual void fileBrowserSelected (const char *filename)
 
- Protected Member Functions inherited from Widget
virtual bool onSpecial (const SpecialEvent &)
 
virtual bool onMotion (const MotionEvent &)
 
virtual bool onScroll (const ScrollEvent &)
 
virtual void onResize (const ResizeEvent &)
 
void setNeedsFullViewport (bool yesNo) noexcept
 
void setNeedsScaling (bool yesNo) noexcept
 
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + +
void ImageAboutWindow::onDisplay ()
+
+overrideprotectedvirtual
+
+

A function called to draw the view contents with OpenGL.

+ +

Implements Widget.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
bool ImageAboutWindow::onKeyboard (const KeyboardEvent)
+
+overrideprotectedvirtual
+
+

A function called when a key is pressed or released.

Returns
True to stop event propagation, false otherwise.
+ +

Reimplemented from Widget.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
bool ImageAboutWindow::onMouse (const MouseEvent)
+
+overrideprotectedvirtual
+
+

A function called when a mouse button is pressed or released.

Returns
True to stop event propagation, false otherwise.
+ +

Reimplemented from Widget.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/classImageAboutWindow.png b/classImageAboutWindow.png new file mode 100644 index 00000000..5fc38459 Binary files /dev/null and b/classImageAboutWindow.png differ diff --git a/classImageButton-members.html b/classImageButton-members.html new file mode 100644 index 00000000..3cf4b412 --- /dev/null +++ b/classImageButton-members.html @@ -0,0 +1,143 @@ + + + + + + +DISTRHO Plugin Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + +
+ All Classes Functions Variables Modules Pages
+ + +
+ +
+ +
+
+
+
ImageButton Member List
+
+
+ +

This is the complete list of members for ImageButton, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
contains(int x, int y) const noexceptWidget
contains(const Point< int > &pos) const noexceptWidget
getAbsolutePos() const noexceptWidget
getAbsoluteX() const noexceptWidget
getAbsoluteY() const noexceptWidget
getHeight() const noexceptWidget
getId() const noexceptWidget
getParentApp() const noexceptWidget
getParentWindow() const noexceptWidget
getSize() const noexceptWidget
getWidth() const noexceptWidget
hide()Widget
ImageButton(Window &parent, const Image &image) noexcept (defined in ImageButton)ImageButtonexplicit
ImageButton(Window &parent, const Image &imageNormal, const Image &imageHover, const Image &imageDown) noexcept (defined in ImageButton)ImageButtonexplicit
ImageButton(Widget *widget, const Image &image) noexcept (defined in ImageButton)ImageButtonexplicit
ImageButton(Widget *widget, const Image &imageNormal, const Image &imageHover, const Image &imageDown) noexcept (defined in ImageButton)ImageButtonexplicit
ImageButton(const ImageButton &imageButton) noexcept (defined in ImageButton)ImageButtonexplicit
isVisible() const noexceptWidget
onDisplay() overrideImageButtonprotectedvirtual
onKeyboard(const KeyboardEvent &)Widgetprotectedvirtual
onMotion(const MotionEvent &) overrideImageButtonprotectedvirtual
onMouse(const MouseEvent &) overrideImageButtonprotectedvirtual
onResize(const ResizeEvent &)Widgetprotectedvirtual
onScroll(const ScrollEvent &)Widgetprotectedvirtual
onSpecial(const SpecialEvent &)Widgetprotectedvirtual
operator=(const ImageButton &imageButton) noexcept (defined in ImageButton)ImageButton
repaint() noexceptWidget
setAbsolutePos(int x, int y) noexceptWidget
setAbsolutePos(const Point< int > &pos) noexceptWidget
setAbsoluteX(int x) noexceptWidget
setAbsoluteY(int y) noexceptWidget
setCallback(Callback *callback) noexcept (defined in ImageButton)ImageButton
setHeight(uint height) noexceptWidget
setId(uint id) noexceptWidget
setNeedsFullViewport(bool yesNo) noexceptWidgetprotected
setNeedsScaling(bool yesNo) noexceptWidgetprotected
setSize(uint width, uint height) noexceptWidget
setSize(const Size< uint > &size) noexceptWidget
setVisible(bool yesNo)Widget
setWidth(uint width) noexceptWidget
show()Widget
Widget(Window &parent)Widgetexplicit
~Widget()Widgetvirtual
+ + + + diff --git a/classImageButton.html b/classImageButton.html new file mode 100644 index 00000000..eff8db63 --- /dev/null +++ b/classImageButton.html @@ -0,0 +1,302 @@ + + + + + + +DISTRHO Plugin Framework: ImageButton Class Reference + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + +
+ All Classes Functions Variables Modules Pages
+ + +
+ +
+ +
+
+
+Classes | +Public Member Functions | +Protected Member Functions | +List of all members
+
+
ImageButton Class Reference
+
+
+
+Inheritance diagram for ImageButton:
+
+
+ + +Widget + +
+ + + + +

+Classes

class  Callback
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

ImageButton (Window &parent, const Image &image) noexcept
 
ImageButton (Window &parent, const Image &imageNormal, const Image &imageHover, const Image &imageDown) noexcept
 
ImageButton (Widget *widget, const Image &image) noexcept
 
ImageButton (Widget *widget, const Image &imageNormal, const Image &imageHover, const Image &imageDown) noexcept
 
ImageButton (const ImageButton &imageButton) noexcept
 
+ImageButtonoperator= (const ImageButton &imageButton) noexcept
 
+void setCallback (Callback *callback) noexcept
 
- Public Member Functions inherited from Widget
 Widget (Window &parent)
 
virtual ~Widget ()
 
bool isVisible () const noexcept
 
void setVisible (bool yesNo)
 
void show ()
 
void hide ()
 
uint getWidth () const noexcept
 
uint getHeight () const noexcept
 
const Size< uint > & getSize () const noexcept
 
void setWidth (uint width) noexcept
 
void setHeight (uint height) noexcept
 
void setSize (uint width, uint height) noexcept
 
void setSize (const Size< uint > &size) noexcept
 
int getAbsoluteX () const noexcept
 
int getAbsoluteY () const noexcept
 
const Point< int > & getAbsolutePos () const noexcept
 
void setAbsoluteX (int x) noexcept
 
void setAbsoluteY (int y) noexcept
 
void setAbsolutePos (int x, int y) noexcept
 
void setAbsolutePos (const Point< int > &pos) noexcept
 
AppgetParentApp () const noexcept
 
WindowgetParentWindow () const noexcept
 
bool contains (int x, int y) const noexcept
 
bool contains (const Point< int > &pos) const noexcept
 
void repaint () noexcept
 
uint getId () const noexcept
 
void setId (uint id) noexcept
 
+ + + + + + + + + + + + + + + + + + + + +

+Protected Member Functions

void onDisplay () override
 
bool onMouse (const MouseEvent &) override
 
bool onMotion (const MotionEvent &) override
 
- Protected Member Functions inherited from Widget
virtual bool onKeyboard (const KeyboardEvent &)
 
virtual bool onSpecial (const SpecialEvent &)
 
virtual bool onScroll (const ScrollEvent &)
 
virtual void onResize (const ResizeEvent &)
 
void setNeedsFullViewport (bool yesNo) noexcept
 
void setNeedsScaling (bool yesNo) noexcept
 
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + +
void ImageButton::onDisplay ()
+
+overrideprotectedvirtual
+
+

A function called to draw the view contents with OpenGL.

+ +

Implements Widget.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
bool ImageButton::onMouse (const MouseEvent)
+
+overrideprotectedvirtual
+
+

A function called when a mouse button is pressed or released.

Returns
True to stop event propagation, false otherwise.
+ +

Reimplemented from Widget.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
bool ImageButton::onMotion (const MotionEvent)
+
+overrideprotectedvirtual
+
+

A function called when the pointer moves.

Returns
True to stop event propagation, false otherwise.
+ +

Reimplemented from Widget.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/classImageButton.png b/classImageButton.png new file mode 100644 index 00000000..6e6fe256 Binary files /dev/null and b/classImageButton.png differ diff --git a/classImageButton_1_1Callback-members.html b/classImageButton_1_1Callback-members.html new file mode 100644 index 00000000..ef9e29d8 --- /dev/null +++ b/classImageButton_1_1Callback-members.html @@ -0,0 +1,106 @@ + + + + + + +DISTRHO Plugin Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + +
+ All Classes Functions Variables Modules Pages
+ + +
+ +
+ + +
+
+
+
ImageButton::Callback Member List
+
+
+ +

This is the complete list of members for ImageButton::Callback, including all inherited members.

+ + + +
imageButtonClicked(ImageButton *imageButton, int button)=0 (defined in ImageButton::Callback)ImageButton::Callbackpure virtual
~Callback() (defined in ImageButton::Callback)ImageButton::Callbackinlinevirtual
+ + + + diff --git a/classImageButton_1_1Callback.html b/classImageButton_1_1Callback.html new file mode 100644 index 00000000..55151f51 --- /dev/null +++ b/classImageButton_1_1Callback.html @@ -0,0 +1,114 @@ + + + + + + +DISTRHO Plugin Framework: ImageButton::Callback Class Reference + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + +
+ All Classes Functions Variables Modules Pages
+ + +
+ +
+ + +
+
+
+Public Member Functions | +List of all members
+
+
ImageButton::Callback Class Referenceabstract
+
+
+ + + + +

+Public Member Functions

+virtual void imageButtonClicked (ImageButton *imageButton, int button)=0
 
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/classImageKnob-members.html b/classImageKnob-members.html new file mode 100644 index 00000000..0d308f03 --- /dev/null +++ b/classImageKnob-members.html @@ -0,0 +1,154 @@ + + + + + + +DISTRHO Plugin Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + +
+ All Classes Functions Variables Modules Pages
+ + +
+ +
+ +
+
+
+
ImageKnob Member List
+
+
+ +

This is the complete list of members for ImageKnob, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
contains(int x, int y) const noexceptWidget
contains(const Point< int > &pos) const noexceptWidget
getAbsolutePos() const noexceptWidget
getAbsoluteX() const noexceptWidget
getAbsoluteY() const noexceptWidget
getHeight() const noexceptWidget
getId() const noexceptWidget
getParentApp() const noexceptWidget
getParentWindow() const noexceptWidget
getSize() const noexceptWidget
getValue() const noexcept (defined in ImageKnob)ImageKnob
getWidth() const noexceptWidget
hide()Widget
Horizontal enum value (defined in ImageKnob)ImageKnob
ImageKnob(Window &parent, const Image &image, Orientation orientation=Vertical) noexcept (defined in ImageKnob)ImageKnobexplicit
ImageKnob(Widget *widget, const Image &image, Orientation orientation=Vertical) noexcept (defined in ImageKnob)ImageKnobexplicit
ImageKnob(const ImageKnob &imageKnob) (defined in ImageKnob)ImageKnobexplicit
isVisible() const noexceptWidget
onDisplay() overrideImageKnobprotectedvirtual
onKeyboard(const KeyboardEvent &)Widgetprotectedvirtual
onMotion(const MotionEvent &) overrideImageKnobprotectedvirtual
onMouse(const MouseEvent &) overrideImageKnobprotectedvirtual
onResize(const ResizeEvent &)Widgetprotectedvirtual
onScroll(const ScrollEvent &) overrideImageKnobprotectedvirtual
onSpecial(const SpecialEvent &)Widgetprotectedvirtual
operator=(const ImageKnob &imageKnob) (defined in ImageKnob)ImageKnob
Orientation enum name (defined in ImageKnob)ImageKnob
repaint() noexceptWidget
setAbsolutePos(int x, int y) noexceptWidget
setAbsolutePos(const Point< int > &pos) noexceptWidget
setAbsoluteX(int x) noexceptWidget
setAbsoluteY(int y) noexceptWidget
setCallback(Callback *callback) noexcept (defined in ImageKnob)ImageKnob
setDefault(float def) noexcept (defined in ImageKnob)ImageKnob
setHeight(uint height) noexceptWidget
setId(uint id) noexceptWidget
setImageLayerCount(uint count) noexcept (defined in ImageKnob)ImageKnob
setNeedsFullViewport(bool yesNo) noexceptWidgetprotected
setNeedsScaling(bool yesNo) noexceptWidgetprotected
setOrientation(Orientation orientation) noexcept (defined in ImageKnob)ImageKnob
setRange(float min, float max) noexcept (defined in ImageKnob)ImageKnob
setRotationAngle(int angle) (defined in ImageKnob)ImageKnob
setSize(uint width, uint height) noexceptWidget
setSize(const Size< uint > &size) noexceptWidget
setStep(float step) noexcept (defined in ImageKnob)ImageKnob
setUsingLogScale(bool yesNo) noexcept (defined in ImageKnob)ImageKnob
setValue(float value, bool sendCallback=false) noexcept (defined in ImageKnob)ImageKnob
setVisible(bool yesNo)Widget
setWidth(uint width) noexceptWidget
show()Widget
Vertical enum value (defined in ImageKnob)ImageKnob
Widget(Window &parent)Widgetexplicit
~ImageKnob() override (defined in ImageKnob)ImageKnob
~Widget()Widgetvirtual
+ + + + diff --git a/classImageKnob.html b/classImageKnob.html new file mode 100644 index 00000000..abd350c6 --- /dev/null +++ b/classImageKnob.html @@ -0,0 +1,358 @@ + + + + + + +DISTRHO Plugin Framework: ImageKnob Class Reference + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + +
+ All Classes Functions Variables Modules Pages
+ + +
+ +
+ +
+
+
+Classes | +Public Types | +Public Member Functions | +Protected Member Functions | +List of all members
+
+
ImageKnob Class Reference
+
+
+
+Inheritance diagram for ImageKnob:
+
+
+ + +Widget + +
+ + + + +

+Classes

class  Callback
 
+ + + +

+Public Types

enum  Orientation { Horizontal, +Vertical + }
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

ImageKnob (Window &parent, const Image &image, Orientation orientation=Vertical) noexcept
 
ImageKnob (Widget *widget, const Image &image, Orientation orientation=Vertical) noexcept
 
ImageKnob (const ImageKnob &imageKnob)
 
+ImageKnoboperator= (const ImageKnob &imageKnob)
 
+float getValue () const noexcept
 
+void setDefault (float def) noexcept
 
+void setRange (float min, float max) noexcept
 
+void setStep (float step) noexcept
 
+void setValue (float value, bool sendCallback=false) noexcept
 
+void setUsingLogScale (bool yesNo) noexcept
 
+void setCallback (Callback *callback) noexcept
 
+void setOrientation (Orientation orientation) noexcept
 
+void setRotationAngle (int angle)
 
+void setImageLayerCount (uint count) noexcept
 
- Public Member Functions inherited from Widget
 Widget (Window &parent)
 
virtual ~Widget ()
 
bool isVisible () const noexcept
 
void setVisible (bool yesNo)
 
void show ()
 
void hide ()
 
uint getWidth () const noexcept
 
uint getHeight () const noexcept
 
const Size< uint > & getSize () const noexcept
 
void setWidth (uint width) noexcept
 
void setHeight (uint height) noexcept
 
void setSize (uint width, uint height) noexcept
 
void setSize (const Size< uint > &size) noexcept
 
int getAbsoluteX () const noexcept
 
int getAbsoluteY () const noexcept
 
const Point< int > & getAbsolutePos () const noexcept
 
void setAbsoluteX (int x) noexcept
 
void setAbsoluteY (int y) noexcept
 
void setAbsolutePos (int x, int y) noexcept
 
void setAbsolutePos (const Point< int > &pos) noexcept
 
AppgetParentApp () const noexcept
 
WindowgetParentWindow () const noexcept
 
bool contains (int x, int y) const noexcept
 
bool contains (const Point< int > &pos) const noexcept
 
void repaint () noexcept
 
uint getId () const noexcept
 
void setId (uint id) noexcept
 
+ + + + + + + + + + + + + + + + + + + + +

+Protected Member Functions

void onDisplay () override
 
bool onMouse (const MouseEvent &) override
 
bool onMotion (const MotionEvent &) override
 
bool onScroll (const ScrollEvent &) override
 
- Protected Member Functions inherited from Widget
virtual bool onKeyboard (const KeyboardEvent &)
 
virtual bool onSpecial (const SpecialEvent &)
 
virtual void onResize (const ResizeEvent &)
 
void setNeedsFullViewport (bool yesNo) noexcept
 
void setNeedsScaling (bool yesNo) noexcept
 
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + +
void ImageKnob::onDisplay ()
+
+overrideprotectedvirtual
+
+

A function called to draw the view contents with OpenGL.

+ +

Implements Widget.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
bool ImageKnob::onMouse (const MouseEvent)
+
+overrideprotectedvirtual
+
+

A function called when a mouse button is pressed or released.

Returns
True to stop event propagation, false otherwise.
+ +

Reimplemented from Widget.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
bool ImageKnob::onMotion (const MotionEvent)
+
+overrideprotectedvirtual
+
+

A function called when the pointer moves.

Returns
True to stop event propagation, false otherwise.
+ +

Reimplemented from Widget.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
bool ImageKnob::onScroll (const ScrollEvent)
+
+overrideprotectedvirtual
+
+

A function called on scrolling (e.g. mouse wheel or track pad).

Returns
True to stop event propagation, false otherwise.
+ +

Reimplemented from Widget.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/classImageKnob.png b/classImageKnob.png new file mode 100644 index 00000000..c85a0de6 Binary files /dev/null and b/classImageKnob.png differ diff --git a/classImageKnob_1_1Callback-members.html b/classImageKnob_1_1Callback-members.html new file mode 100644 index 00000000..149c54f2 --- /dev/null +++ b/classImageKnob_1_1Callback-members.html @@ -0,0 +1,108 @@ + + + + + + +DISTRHO Plugin Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + +
+ All Classes Functions Variables Modules Pages
+ + +
+ +
+ + +
+
+
+
ImageKnob::Callback Member List
+
+
+ +

This is the complete list of members for ImageKnob::Callback, including all inherited members.

+ + + + + +
imageKnobDragFinished(ImageKnob *imageKnob)=0 (defined in ImageKnob::Callback)ImageKnob::Callbackpure virtual
imageKnobDragStarted(ImageKnob *imageKnob)=0 (defined in ImageKnob::Callback)ImageKnob::Callbackpure virtual
imageKnobValueChanged(ImageKnob *imageKnob, float value)=0 (defined in ImageKnob::Callback)ImageKnob::Callbackpure virtual
~Callback() (defined in ImageKnob::Callback)ImageKnob::Callbackinlinevirtual
+ + + + diff --git a/classImageKnob_1_1Callback.html b/classImageKnob_1_1Callback.html new file mode 100644 index 00000000..242efb26 --- /dev/null +++ b/classImageKnob_1_1Callback.html @@ -0,0 +1,120 @@ + + + + + + +DISTRHO Plugin Framework: ImageKnob::Callback Class Reference + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + +
+ All Classes Functions Variables Modules Pages
+ + +
+ +
+ + +
+
+
+Public Member Functions | +List of all members
+
+
ImageKnob::Callback Class Referenceabstract
+
+
+ + + + + + + + +

+Public Member Functions

+virtual void imageKnobDragStarted (ImageKnob *imageKnob)=0
 
+virtual void imageKnobDragFinished (ImageKnob *imageKnob)=0
 
+virtual void imageKnobValueChanged (ImageKnob *imageKnob, float value)=0
 
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/classImageSlider-members.html b/classImageSlider-members.html new file mode 100644 index 00000000..51fd5983 --- /dev/null +++ b/classImageSlider-members.html @@ -0,0 +1,150 @@ + + + + + + +DISTRHO Plugin Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + +
+ All Classes Functions Variables Modules Pages
+ + +
+ +
+ +
+
+
+
ImageSlider Member List
+
+
+ +

This is the complete list of members for ImageSlider, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
contains(int x, int y) const noexceptWidget
contains(const Point< int > &pos) const noexceptWidget
getAbsolutePos() const noexceptWidget
getAbsoluteX() const noexceptWidget
getAbsoluteY() const noexceptWidget
getHeight() const noexceptWidget
getId() const noexceptWidget
getParentApp() const noexceptWidget
getParentWindow() const noexceptWidget
getSize() const noexceptWidget
getValue() const noexcept (defined in ImageSlider)ImageSlider
getWidth() const noexceptWidget
hide()Widget
ImageSlider(Window &parent, const Image &image) noexcept (defined in ImageSlider)ImageSliderexplicit
ImageSlider(Widget *widget, const Image &image) noexcept (defined in ImageSlider)ImageSliderexplicit
ImageSlider(const ImageSlider &imageSlider) noexcept (defined in ImageSlider)ImageSliderexplicit
isVisible() const noexceptWidget
onDisplay() overrideImageSliderprotectedvirtual
onKeyboard(const KeyboardEvent &)Widgetprotectedvirtual
onMotion(const MotionEvent &) overrideImageSliderprotectedvirtual
onMouse(const MouseEvent &) overrideImageSliderprotectedvirtual
onResize(const ResizeEvent &)Widgetprotectedvirtual
onScroll(const ScrollEvent &)Widgetprotectedvirtual
onSpecial(const SpecialEvent &)Widgetprotectedvirtual
operator=(const ImageSlider &imageSlider) noexcept (defined in ImageSlider)ImageSlider
repaint() noexceptWidget
Widget::setAbsolutePos(int x, int y) noexceptWidget
Widget::setAbsolutePos(const Point< int > &pos) noexceptWidget
Widget::setAbsoluteX(int x) noexceptWidget
Widget::setAbsoluteY(int y) noexceptWidget
setCallback(Callback *callback) noexcept (defined in ImageSlider)ImageSlider
setEndPos(const Point< int > &endPos) noexcept (defined in ImageSlider)ImageSlider
setEndPos(int x, int y) noexcept (defined in ImageSlider)ImageSlider
setHeight(uint height) noexceptWidget
setId(uint id) noexceptWidget
setInverted(bool inverted) noexcept (defined in ImageSlider)ImageSlider
Widget::setNeedsFullViewport(bool yesNo) noexceptWidgetprotected
setNeedsScaling(bool yesNo) noexceptWidgetprotected
setRange(float min, float max) noexcept (defined in ImageSlider)ImageSlider
setSize(uint width, uint height) noexceptWidget
setSize(const Size< uint > &size) noexceptWidget
setStartPos(const Point< int > &startPos) noexcept (defined in ImageSlider)ImageSlider
setStartPos(int x, int y) noexcept (defined in ImageSlider)ImageSlider
setStep(float step) noexcept (defined in ImageSlider)ImageSlider
setValue(float value, bool sendCallback=false) noexcept (defined in ImageSlider)ImageSlider
setVisible(bool yesNo)Widget
setWidth(uint width) noexceptWidget
show()Widget
Widget(Window &parent)Widgetexplicit
~Widget()Widgetvirtual
+ + + + diff --git a/classImageSlider.html b/classImageSlider.html new file mode 100644 index 00000000..2504b0af --- /dev/null +++ b/classImageSlider.html @@ -0,0 +1,323 @@ + + + + + + +DISTRHO Plugin Framework: ImageSlider Class Reference + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + +
+ All Classes Functions Variables Modules Pages
+ + +
+ +
+ +
+
+
+Classes | +Public Member Functions | +Protected Member Functions | +List of all members
+
+
ImageSlider Class Reference
+
+
+
+Inheritance diagram for ImageSlider:
+
+
+ + +Widget + +
+ + + + +

+Classes

class  Callback
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

ImageSlider (Window &parent, const Image &image) noexcept
 
ImageSlider (Widget *widget, const Image &image) noexcept
 
ImageSlider (const ImageSlider &imageSlider) noexcept
 
+ImageSlideroperator= (const ImageSlider &imageSlider) noexcept
 
+float getValue () const noexcept
 
+void setStartPos (const Point< int > &startPos) noexcept
 
+void setStartPos (int x, int y) noexcept
 
+void setEndPos (const Point< int > &endPos) noexcept
 
+void setEndPos (int x, int y) noexcept
 
+void setInverted (bool inverted) noexcept
 
+void setRange (float min, float max) noexcept
 
+void setStep (float step) noexcept
 
+void setValue (float value, bool sendCallback=false) noexcept
 
+void setCallback (Callback *callback) noexcept
 
- Public Member Functions inherited from Widget
 Widget (Window &parent)
 
virtual ~Widget ()
 
bool isVisible () const noexcept
 
void setVisible (bool yesNo)
 
void show ()
 
void hide ()
 
uint getWidth () const noexcept
 
uint getHeight () const noexcept
 
const Size< uint > & getSize () const noexcept
 
void setWidth (uint width) noexcept
 
void setHeight (uint height) noexcept
 
void setSize (uint width, uint height) noexcept
 
void setSize (const Size< uint > &size) noexcept
 
int getAbsoluteX () const noexcept
 
int getAbsoluteY () const noexcept
 
const Point< int > & getAbsolutePos () const noexcept
 
void setAbsoluteX (int x) noexcept
 
void setAbsoluteY (int y) noexcept
 
void setAbsolutePos (int x, int y) noexcept
 
void setAbsolutePos (const Point< int > &pos) noexcept
 
AppgetParentApp () const noexcept
 
WindowgetParentWindow () const noexcept
 
bool contains (int x, int y) const noexcept
 
bool contains (const Point< int > &pos) const noexcept
 
void repaint () noexcept
 
uint getId () const noexcept
 
void setId (uint id) noexcept
 
+ + + + + + + + + + + + + + + + + + + + +

+Protected Member Functions

void onDisplay () override
 
bool onMouse (const MouseEvent &) override
 
bool onMotion (const MotionEvent &) override
 
- Protected Member Functions inherited from Widget
virtual bool onKeyboard (const KeyboardEvent &)
 
virtual bool onSpecial (const SpecialEvent &)
 
virtual bool onScroll (const ScrollEvent &)
 
virtual void onResize (const ResizeEvent &)
 
void setNeedsFullViewport (bool yesNo) noexcept
 
void setNeedsScaling (bool yesNo) noexcept
 
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + +
void ImageSlider::onDisplay ()
+
+overrideprotectedvirtual
+
+

A function called to draw the view contents with OpenGL.

+ +

Implements Widget.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
bool ImageSlider::onMouse (const MouseEvent)
+
+overrideprotectedvirtual
+
+

A function called when a mouse button is pressed or released.

Returns
True to stop event propagation, false otherwise.
+ +

Reimplemented from Widget.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
bool ImageSlider::onMotion (const MotionEvent)
+
+overrideprotectedvirtual
+
+

A function called when the pointer moves.

Returns
True to stop event propagation, false otherwise.
+ +

Reimplemented from Widget.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/classImageSlider.png b/classImageSlider.png new file mode 100644 index 00000000..3624a12b Binary files /dev/null and b/classImageSlider.png differ diff --git a/classImageSlider_1_1Callback-members.html b/classImageSlider_1_1Callback-members.html new file mode 100644 index 00000000..fd85139b --- /dev/null +++ b/classImageSlider_1_1Callback-members.html @@ -0,0 +1,108 @@ + + + + + + +DISTRHO Plugin Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + +
+ All Classes Functions Variables Modules Pages
+ + +
+ +
+ + +
+
+
+
ImageSlider::Callback Member List
+
+
+ +

This is the complete list of members for ImageSlider::Callback, including all inherited members.

+ + + + + +
imageSliderDragFinished(ImageSlider *imageSlider)=0 (defined in ImageSlider::Callback)ImageSlider::Callbackpure virtual
imageSliderDragStarted(ImageSlider *imageSlider)=0 (defined in ImageSlider::Callback)ImageSlider::Callbackpure virtual
imageSliderValueChanged(ImageSlider *imageSlider, float value)=0 (defined in ImageSlider::Callback)ImageSlider::Callbackpure virtual
~Callback() (defined in ImageSlider::Callback)ImageSlider::Callbackinlinevirtual
+ + + + diff --git a/classImageSlider_1_1Callback.html b/classImageSlider_1_1Callback.html new file mode 100644 index 00000000..41b4ef1d --- /dev/null +++ b/classImageSlider_1_1Callback.html @@ -0,0 +1,120 @@ + + + + + + +DISTRHO Plugin Framework: ImageSlider::Callback Class Reference + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + +
+ All Classes Functions Variables Modules Pages
+ + +
+ +
+ + +
+
+
+Public Member Functions | +List of all members
+
+
ImageSlider::Callback Class Referenceabstract
+
+
+ + + + + + + + +

+Public Member Functions

+virtual void imageSliderDragStarted (ImageSlider *imageSlider)=0
 
+virtual void imageSliderDragFinished (ImageSlider *imageSlider)=0
 
+virtual void imageSliderValueChanged (ImageSlider *imageSlider, float value)=0
 
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/classImageSwitch-members.html b/classImageSwitch-members.html new file mode 100644 index 00000000..ba62c070 --- /dev/null +++ b/classImageSwitch-members.html @@ -0,0 +1,143 @@ + + + + + + +DISTRHO Plugin Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + +
+ All Classes Functions Variables Modules Pages
+ + +
+ +
+ +
+
+
+
ImageSwitch Member List
+
+
+ +

This is the complete list of members for ImageSwitch, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
contains(int x, int y) const noexceptWidget
contains(const Point< int > &pos) const noexceptWidget
getAbsolutePos() const noexceptWidget
getAbsoluteX() const noexceptWidget
getAbsoluteY() const noexceptWidget
getHeight() const noexceptWidget
getId() const noexceptWidget
getParentApp() const noexceptWidget
getParentWindow() const noexceptWidget
getSize() const noexceptWidget
getWidth() const noexceptWidget
hide()Widget
ImageSwitch(Window &parent, const Image &imageNormal, const Image &imageDown) noexcept (defined in ImageSwitch)ImageSwitchexplicit
ImageSwitch(Widget *widget, const Image &imageNormal, const Image &imageDown) noexcept (defined in ImageSwitch)ImageSwitchexplicit
ImageSwitch(const ImageSwitch &imageSwitch) noexcept (defined in ImageSwitch)ImageSwitchexplicit
isDown() const noexcept (defined in ImageSwitch)ImageSwitch
isVisible() const noexceptWidget
onDisplay() overrideImageSwitchprotectedvirtual
onKeyboard(const KeyboardEvent &)Widgetprotectedvirtual
onMotion(const MotionEvent &)Widgetprotectedvirtual
onMouse(const MouseEvent &) overrideImageSwitchprotectedvirtual
onResize(const ResizeEvent &)Widgetprotectedvirtual
onScroll(const ScrollEvent &)Widgetprotectedvirtual
onSpecial(const SpecialEvent &)Widgetprotectedvirtual
operator=(const ImageSwitch &imageSwitch) noexcept (defined in ImageSwitch)ImageSwitch
repaint() noexceptWidget
setAbsolutePos(int x, int y) noexceptWidget
setAbsolutePos(const Point< int > &pos) noexceptWidget
setAbsoluteX(int x) noexceptWidget
setAbsoluteY(int y) noexceptWidget
setCallback(Callback *callback) noexcept (defined in ImageSwitch)ImageSwitch
setDown(bool down) noexcept (defined in ImageSwitch)ImageSwitch
setHeight(uint height) noexceptWidget
setId(uint id) noexceptWidget
setNeedsFullViewport(bool yesNo) noexceptWidgetprotected
setNeedsScaling(bool yesNo) noexceptWidgetprotected
setSize(uint width, uint height) noexceptWidget
setSize(const Size< uint > &size) noexceptWidget
setVisible(bool yesNo)Widget
setWidth(uint width) noexceptWidget
show()Widget
Widget(Window &parent)Widgetexplicit
~Widget()Widgetvirtual
+ + + + diff --git a/classImageSwitch.html b/classImageSwitch.html new file mode 100644 index 00000000..9e914878 --- /dev/null +++ b/classImageSwitch.html @@ -0,0 +1,275 @@ + + + + + + +DISTRHO Plugin Framework: ImageSwitch Class Reference + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + +
+ All Classes Functions Variables Modules Pages
+ + +
+ +
+ +
+
+
+Classes | +Public Member Functions | +Protected Member Functions | +List of all members
+
+
ImageSwitch Class Reference
+
+
+
+Inheritance diagram for ImageSwitch:
+
+
+ + +Widget + +
+ + + + +

+Classes

class  Callback
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

ImageSwitch (Window &parent, const Image &imageNormal, const Image &imageDown) noexcept
 
ImageSwitch (Widget *widget, const Image &imageNormal, const Image &imageDown) noexcept
 
ImageSwitch (const ImageSwitch &imageSwitch) noexcept
 
+ImageSwitchoperator= (const ImageSwitch &imageSwitch) noexcept
 
+bool isDown () const noexcept
 
+void setDown (bool down) noexcept
 
+void setCallback (Callback *callback) noexcept
 
- Public Member Functions inherited from Widget
 Widget (Window &parent)
 
virtual ~Widget ()
 
bool isVisible () const noexcept
 
void setVisible (bool yesNo)
 
void show ()
 
void hide ()
 
uint getWidth () const noexcept
 
uint getHeight () const noexcept
 
const Size< uint > & getSize () const noexcept
 
void setWidth (uint width) noexcept
 
void setHeight (uint height) noexcept
 
void setSize (uint width, uint height) noexcept
 
void setSize (const Size< uint > &size) noexcept
 
int getAbsoluteX () const noexcept
 
int getAbsoluteY () const noexcept
 
const Point< int > & getAbsolutePos () const noexcept
 
void setAbsoluteX (int x) noexcept
 
void setAbsoluteY (int y) noexcept
 
void setAbsolutePos (int x, int y) noexcept
 
void setAbsolutePos (const Point< int > &pos) noexcept
 
AppgetParentApp () const noexcept
 
WindowgetParentWindow () const noexcept
 
bool contains (int x, int y) const noexcept
 
bool contains (const Point< int > &pos) const noexcept
 
void repaint () noexcept
 
uint getId () const noexcept
 
void setId (uint id) noexcept
 
+ + + + + + + + + + + + + + + + + + + + +

+Protected Member Functions

void onDisplay () override
 
bool onMouse (const MouseEvent &) override
 
- Protected Member Functions inherited from Widget
virtual bool onKeyboard (const KeyboardEvent &)
 
virtual bool onSpecial (const SpecialEvent &)
 
virtual bool onMotion (const MotionEvent &)
 
virtual bool onScroll (const ScrollEvent &)
 
virtual void onResize (const ResizeEvent &)
 
void setNeedsFullViewport (bool yesNo) noexcept
 
void setNeedsScaling (bool yesNo) noexcept
 
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + +
void ImageSwitch::onDisplay ()
+
+overrideprotectedvirtual
+
+

A function called to draw the view contents with OpenGL.

+ +

Implements Widget.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
bool ImageSwitch::onMouse (const MouseEvent)
+
+overrideprotectedvirtual
+
+

A function called when a mouse button is pressed or released.

Returns
True to stop event propagation, false otherwise.
+ +

Reimplemented from Widget.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/classImageSwitch.png b/classImageSwitch.png new file mode 100644 index 00000000..b578b5c8 Binary files /dev/null and b/classImageSwitch.png differ diff --git a/classImageSwitch_1_1Callback-members.html b/classImageSwitch_1_1Callback-members.html new file mode 100644 index 00000000..7a0bee23 --- /dev/null +++ b/classImageSwitch_1_1Callback-members.html @@ -0,0 +1,106 @@ + + + + + + +DISTRHO Plugin Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + +
+ All Classes Functions Variables Modules Pages
+ + +
+ +
+ + +
+
+
+
ImageSwitch::Callback Member List
+
+
+ +

This is the complete list of members for ImageSwitch::Callback, including all inherited members.

+ + + +
imageSwitchClicked(ImageSwitch *imageButton, bool down)=0 (defined in ImageSwitch::Callback)ImageSwitch::Callbackpure virtual
~Callback() (defined in ImageSwitch::Callback)ImageSwitch::Callbackinlinevirtual
+ + + + diff --git a/classImageSwitch_1_1Callback.html b/classImageSwitch_1_1Callback.html new file mode 100644 index 00000000..9acc3074 --- /dev/null +++ b/classImageSwitch_1_1Callback.html @@ -0,0 +1,114 @@ + + + + + + +DISTRHO Plugin Framework: ImageSwitch::Callback Class Reference + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + +
+ All Classes Functions Variables Modules Pages
+ + +
+ +
+ + +
+
+
+Public Member Functions | +List of all members
+
+
ImageSwitch::Callback Class Referenceabstract
+
+
+ + + + +

+Public Member Functions

+virtual void imageSwitchClicked (ImageSwitch *imageButton, bool down)=0
 
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/classLeakedObjectDetector-members.html b/classLeakedObjectDetector-members.html new file mode 100644 index 00000000..47648486 --- /dev/null +++ b/classLeakedObjectDetector-members.html @@ -0,0 +1,103 @@ + + + + + + +DISTRHO Plugin Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + +
+ All Classes Functions Variables Modules Pages
+ + +
+ +
+ +
+
+
+
LeakedObjectDetector< OwnerClass > Member List
+
+
+ +

This is the complete list of members for LeakedObjectDetector< OwnerClass >, including all inherited members.

+ + + + +
LeakedObjectDetector() noexcept (defined in LeakedObjectDetector< OwnerClass >)LeakedObjectDetector< OwnerClass >inline
LeakedObjectDetector(const LeakedObjectDetector &) noexcept (defined in LeakedObjectDetector< OwnerClass >)LeakedObjectDetector< OwnerClass >inline
~LeakedObjectDetector() noexceptLeakedObjectDetector< OwnerClass >inline
+ + + + diff --git a/classLeakedObjectDetector.html b/classLeakedObjectDetector.html new file mode 100644 index 00000000..0a628f29 --- /dev/null +++ b/classLeakedObjectDetector.html @@ -0,0 +1,151 @@ + + + + + + +DISTRHO Plugin Framework: LeakedObjectDetector< OwnerClass > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + +
+ All Classes Functions Variables Modules Pages
+ + +
+ +
+ +
+
+
+Classes | +Public Member Functions | +List of all members
+
+
LeakedObjectDetector< OwnerClass > Class Template Reference
+
+
+ +

#include <d_leakdetector.hpp>

+ + + + + + +

+Public Member Functions

LeakedObjectDetector (const LeakedObjectDetector &) noexcept
 
 ~LeakedObjectDetector () noexcept
 
+

Detailed Description

+

template<class OwnerClass>
+class LeakedObjectDetector< OwnerClass >

+ +

Embedding an instance of this class inside another class can be used as a low-overhead way of detecting leaked instances.

+

This class keeps an internal static count of the number of instances that are active, so that when the app is shutdown and the static destructors are called, it can check whether there are any left-over instances that may have been leaked.

+

To use it, use the DISTRHO_LEAK_DETECTOR macro as a simple way to put one in your class declaration.

+

Constructor & Destructor Documentation

+ +
+
+
+template<class OwnerClass >
+ + + + + +
+ + + + + + + +
LeakedObjectDetector< OwnerClass >::~LeakedObjectDetector ()
+
+inlinenoexcept
+
+

If you hit this, then you've managed to delete more instances of this class than you've created.. That indicates that you're deleting some dangling pointers.

+

Note that although this assertion will have been triggered during a destructor, it might not be this particular deletion that's at fault - the incorrect one may have happened at an earlier point in the program, and simply not been detected until now.

+

Most errors like this are caused by using old-fashioned, non-RAII techniques for your object management. Tut, tut. Always, always use ScopedPointers, OwnedArrays, ReferenceCountedObjects, etc, and avoid the 'delete' operator at all costs!

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/classLine-members.html b/classLine-members.html new file mode 100644 index 00000000..83537fc1 --- /dev/null +++ b/classLine-members.html @@ -0,0 +1,128 @@ + + + + + + +DISTRHO Plugin Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + +
+ All Classes Functions Variables Modules Pages
+ + +
+ +
+ +
+
+
+
Line< T > Member List
+
+
+ +

This is the complete list of members for Line< T >, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
draw()Line< T >
getEndPos() const noexceptLine< T >
getEndX() const noexceptLine< T >
getEndY() const noexceptLine< T >
getStartPos() const noexceptLine< T >
getStartX() const noexceptLine< T >
getStartY() const noexceptLine< T >
isNotNull() const noexceptLine< T >
isNull() const noexceptLine< T >
Line() noexceptLine< T >
Line(const T &startX, const T &startY, const T &endX, const T &endY) noexceptLine< T >
Line(const T &startX, const T &startY, const Point< T > &endPos) noexceptLine< T >
Line(const Point< T > &startPos, const T &endX, const T &endY) noexceptLine< T >
Line(const Point< T > &startPos, const Point< T > &endPos) noexceptLine< T >
Line(const Line< T > &line) noexceptLine< T >
moveBy(const T &x, const T &y) noexceptLine< T >
moveBy(const Point< T > &pos) noexceptLine< T >
operator!=(const Line< T > &line) const noexcept (defined in Line< T >)Line< T >
operator=(const Line< T > &line) noexcept (defined in Line< T >)Line< T >
operator==(const Line< T > &line) const noexcept (defined in Line< T >)Line< T >
setEndPos(const T &x, const T &y) noexceptLine< T >
setEndPos(const Point< T > &pos) noexceptLine< T >
setEndX(const T &x) noexceptLine< T >
setEndY(const T &y) noexceptLine< T >
setStartPos(const T &x, const T &y) noexceptLine< T >
setStartPos(const Point< T > &pos) noexceptLine< T >
setStartX(const T &x) noexceptLine< T >
setStartY(const T &y) noexceptLine< T >
+ + + + diff --git a/classMutex-members.html b/classMutex-members.html new file mode 100644 index 00000000..af3c208f --- /dev/null +++ b/classMutex-members.html @@ -0,0 +1,105 @@ + + + + + + +DISTRHO Plugin Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + +
+ All Classes Functions Variables Modules Pages
+ + +
+ +
+ +
+
+
+
Mutex Member List
+
+
+ +

This is the complete list of members for Mutex, including all inherited members.

+ + + + + + +
lock() const noexcept (defined in Mutex)Mutexinline
Mutex() noexcept (defined in Mutex)Mutexinline
tryLock() const noexcept (defined in Mutex)Mutexinline
unlock() const noexcept (defined in Mutex)Mutexinline
~Mutex() noexcept (defined in Mutex)Mutexinline
+ + + + diff --git a/classMutex.html b/classMutex.html new file mode 100644 index 00000000..e627fed1 --- /dev/null +++ b/classMutex.html @@ -0,0 +1,116 @@ + + + + + + +DISTRHO Plugin Framework: Mutex Class Reference + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + +
+ All Classes Functions Variables Modules Pages
+ + +
+ +
+ +
+
+
+Public Member Functions | +List of all members
+
+
Mutex Class Reference
+
+
+ + + + + + + + +

+Public Member Functions

+void lock () const noexcept
 
+bool tryLock () const noexcept
 
+void unlock () const noexcept
 
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/classNanoImage-members.html b/classNanoImage-members.html new file mode 100644 index 00000000..2895647a --- /dev/null +++ b/classNanoImage-members.html @@ -0,0 +1,105 @@ + + + + + + +DISTRHO Plugin Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + +
+ All Classes Functions Variables Modules Pages
+ + +
+ +
+ +
+
+
+
NanoImage Member List
+
+
+ +

This is the complete list of members for NanoImage, including all inherited members.

+ + + + + + +
getSize() const noexceptNanoImage
NanoImage(NVGcontext *const context, const int imageId) noexceptNanoImageprotected
NanoVG (defined in NanoImage)NanoImagefriend
updateImage(const uchar *const data)NanoImage
~NanoImage()NanoImage
+ + + + diff --git a/classNanoImage.html b/classNanoImage.html new file mode 100644 index 00000000..50691a45 --- /dev/null +++ b/classNanoImage.html @@ -0,0 +1,225 @@ + + + + + + +DISTRHO Plugin Framework: NanoImage Class Reference + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + +
+ All Classes Functions Variables Modules Pages
+ + +
+ +
+ +
+
+
+Public Member Functions | +Protected Member Functions | +Friends | +List of all members
+
+
NanoImage Class Reference
+
+
+ +

#include <NanoVG.hpp>

+ + + + + + + + +

+Public Member Functions

 ~NanoImage ()
 
Size< uint > getSize () const noexcept
 
void updateImage (const uchar *const data)
 
+ + + +

+Protected Member Functions

 NanoImage (NVGcontext *const context, const int imageId) noexcept
 
+ + + +

+Friends

+class NanoVG
 
+

Detailed Description

+

NanoVG Image class.

+

This implements NanoVG images as a C++ class where deletion is handled automatically. Images need to be created within a NanoVG or NanoWidget class.

+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + +
NanoImage::~NanoImage ()
+
+

Destructor.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
NanoImage::NanoImage (NVGcontext *const context,
const int imageId 
)
+
+protectednoexcept
+
+

Constructors are protected. NanoImages must be created within a NanoVG or NanoWidget class.

+ +
+
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + +
Size<uint> NanoImage::getSize () const
+
+noexcept
+
+

Get size.

+ +
+
+ +
+
+ + + + + + + + +
void NanoImage::updateImage (const uchar *const data)
+
+

Update image data.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/classNanoVG-members.html b/classNanoVG-members.html new file mode 100644 index 00000000..4e95e77a --- /dev/null +++ b/classNanoVG-members.html @@ -0,0 +1,211 @@ + + + + + + +DISTRHO Plugin Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + +
+ All Classes Functions Variables Modules Pages
+ + +
+ +
+ +
+
+
+
NanoVG Member List
+
+
+ +

This is the complete list of members for NanoVG, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Align enum name (defined in NanoVG)NanoVG
ALIGN_BASELINE enum value (defined in NanoVG)NanoVG
ALIGN_BOTTOM enum value (defined in NanoVG)NanoVG
ALIGN_CENTER enum value (defined in NanoVG)NanoVG
ALIGN_LEFT enum value (defined in NanoVG)NanoVG
ALIGN_MIDDLE enum value (defined in NanoVG)NanoVG
ALIGN_RIGHT enum value (defined in NanoVG)NanoVG
ALIGN_TOP enum value (defined in NanoVG)NanoVG
Alpha enum name (defined in NanoVG)NanoVG
arc(float cx, float cy, float r, float a0, float a1, Winding dir)NanoVG
arcTo(float x1, float y1, float x2, float y2, float radius)NanoVG
beginFrame(const uint width, const uint height, const float scaleFactor=1.0f, const Alpha alpha=PREMULTIPLIED_ALPHA)NanoVG
beginFrame(Widget *const widget)NanoVG
beginPath()NanoVG
BEVEL enum value (defined in NanoVG)NanoVG
bezierTo(float c1x, float c1y, float c2x, float c2y, float x, float y)NanoVG
boxGradient(float x, float y, float w, float h, float r, float f, const Color &icol, const Color &ocol)NanoVG
BUTT enum value (defined in NanoVG)NanoVG
CCW enum value (defined in NanoVG)NanoVG
circle(float cx, float cy, float r)NanoVG
closePath()NanoVG
createFont(const char *name, const char *filename)NanoVG
createFontMem(const char *name, const uchar *data, int ndata, bool freeData)NanoVG
createImage(const char *filename)NanoVG
createImageMem(uchar *data, int ndata)NanoVG
createImageRGBA(uint w, uint h, const uchar *data)NanoVG
currentTransform(float xform[6])NanoVG
CW enum value (defined in NanoVG)NanoVG
degToRad(float deg)NanoVGstatic
ellipse(float cx, float cy, float rx, float ry)NanoVG
endFrame()NanoVG
fill()NanoVG
fillColor(const Color &color)NanoVG
fillColor(const int red, const int green, const int blue, const int alpha=255)NanoVG
fillColor(const float red, const float green, const float blue, const float alpha=1.0f)NanoVG
fillPaint(const Paint &paint)NanoVG
findFont(const char *name)NanoVG
fontBlur(float blur)NanoVG
fontFace(const char *font)NanoVG
fontFaceId(FontId font)NanoVG
FontId typedef (defined in NanoVG)NanoVG
fontSize(float size)NanoVG
getContext() const noexceptNanoVGinline
HOLE enum value (defined in NanoVG)NanoVG
imagePattern(float ox, float oy, float ex, float ey, float angle, const NanoImage *image, PatternRepeat repeat)NanoVG
linearGradient(float sx, float sy, float ex, float ey, const Color &icol, const Color &ocol)NanoVG
lineCap(LineCap cap=BUTT)NanoVG
LineCap enum name (defined in NanoVG)NanoVG
lineJoin(LineCap join=MITER)NanoVG
lineTo(float x, float y)NanoVG
MITER enum value (defined in NanoVG)NanoVG
miterLimit(float limit)NanoVG
moveTo(float x, float y)NanoVG
NanoVG()NanoVG
NanoVG(const int textAtlasWidth, const int textAtlasHeight)NanoVG
pathWinding(Winding dir)NanoVG
PatternRepeat enum name (defined in NanoVG)NanoVG
PREMULTIPLIED_ALPHA enum value (defined in NanoVG)NanoVG
radialGradient(float cx, float cy, float inr, float outr, const Color &icol, const Color &ocol)NanoVG
radToDeg(float rad)NanoVGstatic
rect(float x, float y, float w, float h)NanoVG
REPEAT_NONE enum value (defined in NanoVG)NanoVG
REPEAT_X enum value (defined in NanoVG)NanoVG
REPEAT_Y enum value (defined in NanoVG)NanoVG
reset()NanoVG
resetScissor()NanoVG
resetTransform()NanoVG
restore()NanoVG
rotate(float angle)NanoVG
ROUND enum value (defined in NanoVG)NanoVG
roundedRect(float x, float y, float w, float h, float r)NanoVG
save()NanoVG
scale(float x, float y)NanoVG
scissor(float x, float y, float w, float h)NanoVG
skewX(float angle)NanoVG
skewY(float angle)NanoVG
SOLID enum value (defined in NanoVG)NanoVG
Solidity enum name (defined in NanoVG)NanoVG
SQUARE enum value (defined in NanoVG)NanoVG
STRAIGHT_ALPHA enum value (defined in NanoVG)NanoVG
stroke()NanoVG
strokeColor(const Color &color)NanoVG
strokeColor(const int red, const int green, const int blue, const int alpha=255)NanoVG
strokeColor(const float red, const float green, const float blue, const float alpha=1.0f)NanoVG
strokePaint(const Paint &paint)NanoVG
strokeWidth(float size)NanoVG
text(float x, float y, const char *string, const char *end)NanoVG
textAlign(Align align)NanoVG
textAlign(int align)NanoVG
textBounds(float x, float y, const char *string, const char *end, Rectangle< float > &bounds)NanoVG
textBox(float x, float y, float breakRowWidth, const char *string, const char *end)NanoVG
textBoxBounds(float x, float y, float breakRowWidth, const char *string, const char *end, float *bounds)NanoVG
textBreakLines(const char *string, const char *end, float breakRowWidth, TextRow *rows, int maxRows)NanoVG
textGlyphPositions(float x, float y, const char *string, const char *end, GlyphPosition *positions, int maxPositions)NanoVG
textLetterSpacing(float spacing)NanoVG
textLineHeight(float lineHeight)NanoVG
textMetrics(float *ascender, float *descender, float *lineh)NanoVG
transform(float a, float b, float c, float d, float e, float f)NanoVG
transformIdentity(float dst[6])NanoVGstatic
transformInverse(float dst[6], const float src[6])NanoVGstatic
transformMultiply(float dst[6], const float src[6])NanoVGstatic
transformPoint(float &dstx, float &dsty, const float xform[6], float srcx, float srcy)NanoVGstatic
transformPremultiply(float dst[6], const float src[6])NanoVGstatic
transformRotate(float dst[6], float a)NanoVGstatic
transformScale(float dst[6], float sx, float sy)NanoVGstatic
transformSkewX(float dst[6], float a)NanoVGstatic
transformSkewY(float dst[6], float a)NanoVGstatic
transformTranslate(float dst[6], float tx, float ty)NanoVGstatic
translate(float x, float y)NanoVG
Winding enum name (defined in NanoVG)NanoVG
~NanoVG()NanoVGvirtual
+ + + + diff --git a/classNanoVG.html b/classNanoVG.html new file mode 100644 index 00000000..5e122489 --- /dev/null +++ b/classNanoVG.html @@ -0,0 +1,2827 @@ + + + + + + +DISTRHO Plugin Framework: NanoVG Class Reference + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + +
+ All Classes Functions Variables Modules Pages
+ + +
+ +
+ +
+
+
+Classes | +Public Types | +Public Member Functions | +Static Public Member Functions | +List of all members
+
+
NanoVG Class Reference
+
+
+ +

#include <NanoVG.hpp>

+
+Inheritance diagram for NanoVG:
+
+
+ + +NanoWidget + +
+ + + + + + + + +

+Classes

struct  GlyphPosition
 
struct  Paint
 
struct  TextRow
 
+ + + + + + + + + + + + + + + +

+Public Types

enum  Align {
+  ALIGN_LEFT = 1 << 0, +ALIGN_CENTER = 1 << 1, +ALIGN_RIGHT = 1 << 2, +ALIGN_TOP = 1 << 3, +
+  ALIGN_MIDDLE = 1 << 4, +ALIGN_BOTTOM = 1 << 5, +ALIGN_BASELINE = 1 << 6 +
+ }
 
enum  Alpha { STRAIGHT_ALPHA, +PREMULTIPLIED_ALPHA + }
 
enum  LineCap {
+  BUTT, +ROUND, +SQUARE, +BEVEL, +
+  MITER +
+ }
 
enum  PatternRepeat { REPEAT_NONE = 0x0, +REPEAT_X = 0x1, +REPEAT_Y = 0x2 + }
 
enum  Solidity { SOLID = 1, +HOLE = 2 + }
 
enum  Winding { CCW = 1, +CW = 2 + }
 
+typedef int FontId
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 NanoVG ()
 
 NanoVG (const int textAtlasWidth, const int textAtlasHeight)
 
virtual ~NanoVG ()
 
NVGcontext * getContext () const noexcept
 
void beginFrame (const uint width, const uint height, const float scaleFactor=1.0f, const Alpha alpha=PREMULTIPLIED_ALPHA)
 
void beginFrame (Widget *const widget)
 
void endFrame ()
 
void save ()
 
void restore ()
 
void reset ()
 
void strokeColor (const Color &color)
 
void strokeColor (const int red, const int green, const int blue, const int alpha=255)
 
void strokeColor (const float red, const float green, const float blue, const float alpha=1.0f)
 
void strokePaint (const Paint &paint)
 
void fillColor (const Color &color)
 
void fillColor (const int red, const int green, const int blue, const int alpha=255)
 
void fillColor (const float red, const float green, const float blue, const float alpha=1.0f)
 
void fillPaint (const Paint &paint)
 
void miterLimit (float limit)
 
void strokeWidth (float size)
 
void lineCap (LineCap cap=BUTT)
 
void lineJoin (LineCap join=MITER)
 
void resetTransform ()
 
void transform (float a, float b, float c, float d, float e, float f)
 
void translate (float x, float y)
 
void rotate (float angle)
 
void skewX (float angle)
 
void skewY (float angle)
 
void scale (float x, float y)
 
void currentTransform (float xform[6])
 
NanoImagecreateImage (const char *filename)
 
NanoImagecreateImageMem (uchar *data, int ndata)
 
NanoImagecreateImageRGBA (uint w, uint h, const uchar *data)
 
Paint linearGradient (float sx, float sy, float ex, float ey, const Color &icol, const Color &ocol)
 
Paint boxGradient (float x, float y, float w, float h, float r, float f, const Color &icol, const Color &ocol)
 
Paint radialGradient (float cx, float cy, float inr, float outr, const Color &icol, const Color &ocol)
 
Paint imagePattern (float ox, float oy, float ex, float ey, float angle, const NanoImage *image, PatternRepeat repeat)
 
void scissor (float x, float y, float w, float h)
 
void resetScissor ()
 
void beginPath ()
 
void moveTo (float x, float y)
 
void lineTo (float x, float y)
 
void bezierTo (float c1x, float c1y, float c2x, float c2y, float x, float y)
 
void arcTo (float x1, float y1, float x2, float y2, float radius)
 
void closePath ()
 
void pathWinding (Winding dir)
 
void arc (float cx, float cy, float r, float a0, float a1, Winding dir)
 
void rect (float x, float y, float w, float h)
 
void roundedRect (float x, float y, float w, float h, float r)
 
void ellipse (float cx, float cy, float rx, float ry)
 
void circle (float cx, float cy, float r)
 
void fill ()
 
void stroke ()
 
FontId createFont (const char *name, const char *filename)
 
FontId createFontMem (const char *name, const uchar *data, int ndata, bool freeData)
 
FontId findFont (const char *name)
 
void fontSize (float size)
 
void fontBlur (float blur)
 
void textLetterSpacing (float spacing)
 
void textLineHeight (float lineHeight)
 
void textAlign (Align align)
 
void textAlign (int align)
 
void fontFaceId (FontId font)
 
void fontFace (const char *font)
 
float text (float x, float y, const char *string, const char *end)
 
void textBox (float x, float y, float breakRowWidth, const char *string, const char *end)
 
float textBounds (float x, float y, const char *string, const char *end, Rectangle< float > &bounds)
 
void textBoxBounds (float x, float y, float breakRowWidth, const char *string, const char *end, float *bounds)
 
int textGlyphPositions (float x, float y, const char *string, const char *end, GlyphPosition *positions, int maxPositions)
 
void textMetrics (float *ascender, float *descender, float *lineh)
 
int textBreakLines (const char *string, const char *end, float breakRowWidth, TextRow *rows, int maxRows)
 
+ + + + + + + + + + + + + + + + + + + + + + + + + +

+Static Public Member Functions

static void transformIdentity (float dst[6])
 
static void transformTranslate (float dst[6], float tx, float ty)
 
static void transformScale (float dst[6], float sx, float sy)
 
static void transformRotate (float dst[6], float a)
 
static void transformSkewX (float dst[6], float a)
 
static void transformSkewY (float dst[6], float a)
 
static void transformMultiply (float dst[6], const float src[6])
 
static void transformPremultiply (float dst[6], const float src[6])
 
static int transformInverse (float dst[6], const float src[6])
 
static void transformPoint (float &dstx, float &dsty, const float xform[6], float srcx, float srcy)
 
static float degToRad (float deg)
 
static float radToDeg (float rad)
 
+

Detailed Description

+

NanoVG class.

+

This class exposes the NanoVG drawing API. All calls should be wrapped in beginFrame() and endFrame().

+

+Handling

+

NanoVG contains state which represents how paths will be rendered. The state contains transform, fill and stroke styles, text and font styles, and scissor clipping.

+

+styles

+

Fill and stroke render style can be either a solid color or a paint which is a gradient or a pattern. Solid color is simply defined as a color value, different kinds of paints can be created using linearGradient(), boxGradient(), radialGradient() and imagePattern().

+

Current render style can be saved and restored using save() and restore().

+

+Transforms

+

The paths, gradients, patterns and scissor region are transformed by an transformation matrix at the time when they are passed to the API. The current transformation matrix is a affine matrix: [sx kx tx] [ky sy ty] [ 0 0 1] Where: sx,sy define scaling, kx,ky skewing, and tx,ty translation. The last row is assumed to be 0,0,1 and is not stored.

+

Apart from resetTransform(), each transformation function first creates specific transformation matrix and pre-multiplies the current transformation by it.

+

Current coordinate system (transformation) can be saved and restored using save() and restore().

+

+Images

+

NanoVG allows you to load jpg, png, psd, tga, pic and gif files to be used for rendering. In addition you can upload your own image. The image loading is provided by stb_image.

+

+Paints

+

NanoVG supports four types of paints: linear gradient, box gradient, radial gradient and image pattern. These can be used as paints for strokes and fills.

+

+Scissoring

+

Scissoring allows you to clip the rendering into a rectangle. This is useful for varius user interface cases like rendering a text edit or a timeline.

+

+Paths

+

Drawing a new shape starts with beginPath(), it clears all the currently defined paths. Then you define one or more paths and sub-paths which describe the shape. The are functions to draw common shapes like rectangles and circles, and lower level step-by-step functions, which allow to define a path curve by curve.

+

NanoVG uses even-odd fill rule to draw the shapes. Solid shapes should have counter clockwise winding and holes should have counter clockwise order. To specify winding of a path you can call pathWinding(). This is useful especially for the common shapes, which are drawn CCW.

+

Finally you can fill the path using current fill style by calling fill(), and stroke it with current stroke style by calling stroke().

+

The curve segments and sub-paths are transformed by the current transform.

+

+Text

+

NanoVG allows you to load .ttf files and use the font to render text.

+

The appearance of the text can be defined by setting the current text style and by specifying the fill color. Common text and font settings such as font size, letter spacing and text align are supported. Font blur allows you to create simple text effects such as drop shadows.

+

At render time the font face can be set based on the font handles or name.

+

Font measure functions return values in local space, the calculations are carried in the same resolution as the final rendering. This is done because the text glyph positions are snapped to the nearest pixels sharp rendering.

+

The local space means that values are not rotated or scale as per the current transformation. For example if you set font size to 12, which would mean that line height is 16, then regardless of the current scaling and rotation, the returned line height is always 16. Some measures may vary because of the scaling since aforementioned pixel snapping.

+

While this may sound a little odd, the setup allows you to always render the same way regardless of scaling. i.e. following works regardless of scaling:

+
const char* txt = "Text me up.";
+
textBounds(vg, x,y, txt, NULL, bounds);
+ +
roundedRect(vg, bounds[0], bounds[1], bounds[2]-bounds[0], bounds[3]-bounds[1]);
+
fill(vg);
+

Note: currently only solid color fill is supported for text.

+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + +
NanoVG::NanoVG ()
+
+

Constructor. Uses 512x512 as default atlas size.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
NanoVG::NanoVG (const int textAtlasWidth,
const int textAtlasHeight 
)
+
+

Constructor using custom text atlas size.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
virtual NanoVG::~NanoVG ()
+
+virtual
+
+

Destructor.

+ +
+
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + +
NVGcontext* NanoVG::getContext () const
+
+inlinenoexcept
+
+

Get the NanoVG context. You should not need this under normal circumstances.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void NanoVG::beginFrame (const uint width,
const uint height,
const float scaleFactor = 1.0f,
const Alpha alpha = PREMULTIPLIED_ALPHA 
)
+
+

Begin drawing a new frame.

Parameters
+ + +
withAlhaControls if drawing the shapes to the render target should be done using straight or pre-multiplied alpha.
+
+
+ +
+
+ +
+
+ + + + + + + + +
void NanoVG::beginFrame (Widget *const widget)
+
+

Begin drawing a new frame inside a widget.

+ +
+
+ +
+
+ + + + + + + +
void NanoVG::endFrame ()
+
+

Ends drawing flushing remaining render state.

+ +
+
+ +
+
+ + + + + + + +
void NanoVG::save ()
+
+

Pushes and saves the current render state into a state stack. A matching restore() must be used to restore the state.

+ +
+
+ +
+
+ + + + + + + +
void NanoVG::restore ()
+
+

Pops and restores current render state.

+ +
+
+ +
+
+ + + + + + + +
void NanoVG::reset ()
+
+

Resets current render state to default values. Does not affect the render state stack.

+ +
+
+ +
+
+ + + + + + + + +
void NanoVG::strokeColor (const Colorcolor)
+
+

Sets current stroke style to a solid color.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void NanoVG::strokeColor (const int red,
const int green,
const int blue,
const int alpha = 255 
)
+
+

Sets current stroke style to a solid color, made from red, green, blue and alpha numeric values. Values must be in [0..255] range.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void NanoVG::strokeColor (const float red,
const float green,
const float blue,
const float alpha = 1.0f 
)
+
+

Sets current stroke style to a solid color, made from red, green, blue and alpha numeric values. Values must in [0..1] range.

+ +
+
+ +
+
+ + + + + + + + +
void NanoVG::strokePaint (const Paintpaint)
+
+

Sets current stroke style to a paint, which can be a one of the gradients or a pattern.

+ +
+
+ +
+
+ + + + + + + + +
void NanoVG::fillColor (const Colorcolor)
+
+

Sets current fill style to a solid color.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void NanoVG::fillColor (const int red,
const int green,
const int blue,
const int alpha = 255 
)
+
+

Sets current fill style to a solid color, made from red, green, blue and alpha numeric values. Values must be in [0..255] range.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void NanoVG::fillColor (const float red,
const float green,
const float blue,
const float alpha = 1.0f 
)
+
+

Sets current fill style to a solid color, made from red, green, blue and alpha numeric values. Values must in [0..1] range.

+ +
+
+ +
+
+ + + + + + + + +
void NanoVG::fillPaint (const Paintpaint)
+
+

Sets current fill style to a paint, which can be a one of the gradients or a pattern.

+ +
+
+ +
+
+ + + + + + + + +
void NanoVG::miterLimit (float limit)
+
+

Sets the miter limit of the stroke style. Miter limit controls when a sharp corner is beveled.

+ +
+
+ +
+
+ + + + + + + + +
void NanoVG::strokeWidth (float size)
+
+

Sets the stroke width of the stroke style.

+ +
+
+ +
+
+ + + + + + + + +
void NanoVG::lineCap (LineCap cap = BUTT)
+
+

Sets how the end of the line (cap) is drawn, Can be one of: BUTT, ROUND, SQUARE.

+ +
+
+ +
+
+ + + + + + + + +
void NanoVG::lineJoin (LineCap join = MITER)
+
+

Sets how sharp path corners are drawn. Can be one of MITER, ROUND, BEVEL.

+ +
+
+ +
+
+ + + + + + + +
void NanoVG::resetTransform ()
+
+

Resets current transform to a identity matrix.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void NanoVG::transform (float a,
float b,
float c,
float d,
float e,
float f 
)
+
+

Pre-multiplies current coordinate system by specified matrix. The parameters are interpreted as matrix as follows: [a c e] [b d f] [0 0 1]

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void NanoVG::translate (float x,
float y 
)
+
+

Translates current coordinate system.

+ +
+
+ +
+
+ + + + + + + + +
void NanoVG::rotate (float angle)
+
+

Rotates current coordinate system. Angle is specified in radians.

+ +
+
+ +
+
+ + + + + + + + +
void NanoVG::skewX (float angle)
+
+

Skews the current coordinate system along X axis. Angle is specified in radians.

+ +
+
+ +
+
+ + + + + + + + +
void NanoVG::skewY (float angle)
+
+

Skews the current coordinate system along Y axis. Angle is specified in radians.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void NanoVG::scale (float x,
float y 
)
+
+

Scales the current coordinate system.

+ +
+
+ +
+
+ + + + + + + + +
void NanoVG::currentTransform (float xform[6])
+
+

Stores the top part (a-f) of the current transformation matrix in to the specified buffer. [a c e] [b d f] [0 0 1]

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
static void NanoVG::transformIdentity (float dst[6])
+
+static
+
+

The following functions can be used to make calculations on 2x3 transformation matrices. A 2x3 matrix is represented as float[6]. Sets the transform to identity matrix.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
static void NanoVG::transformTranslate (float dst[6],
float tx,
float ty 
)
+
+static
+
+

Sets the transform to translation matrix

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
static void NanoVG::transformScale (float dst[6],
float sx,
float sy 
)
+
+static
+
+

Sets the transform to scale matrix.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static void NanoVG::transformRotate (float dst[6],
float a 
)
+
+static
+
+

Sets the transform to rotate matrix. Angle is specified in radians.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static void NanoVG::transformSkewX (float dst[6],
float a 
)
+
+static
+
+

Sets the transform to skew-x matrix. Angle is specified in radians.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static void NanoVG::transformSkewY (float dst[6],
float a 
)
+
+static
+
+

Sets the transform to skew-y matrix. Angle is specified in radians.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static void NanoVG::transformMultiply (float dst[6],
const float src[6] 
)
+
+static
+
+

Sets the transform to the result of multiplication of two transforms, of A = A*B.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static void NanoVG::transformPremultiply (float dst[6],
const float src[6] 
)
+
+static
+
+

Sets the transform to the result of multiplication of two transforms, of A = B*A.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static int NanoVG::transformInverse (float dst[6],
const float src[6] 
)
+
+static
+
+

Sets the destination to inverse of specified transform. Returns 1 if the inverse could be calculated, else 0.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static void NanoVG::transformPoint (float & dstx,
float & dsty,
const float xform[6],
float srcx,
float srcy 
)
+
+static
+
+

Transform a point by given transform.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
static float NanoVG::degToRad (float deg)
+
+static
+
+

Convert degrees to radians.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
static float NanoVG::radToDeg (float rad)
+
+static
+
+

Convert radians to degrees.

+ +
+
+ +
+
+ + + + + + + + +
NanoImage* NanoVG::createImage (const char * filename)
+
+

Creates image by loading it from the disk from specified file name.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
NanoImage* NanoVG::createImageMem (uchar * data,
int ndata 
)
+
+

Creates image by loading it from the specified chunk of memory.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
NanoImage* NanoVG::createImageRGBA (uint w,
uint h,
const uchar * data 
)
+
+

Creates image from specified image data.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Paint NanoVG::linearGradient (float sx,
float sy,
float ex,
float ey,
const Coloricol,
const Colorocol 
)
+
+

Creates and returns a linear gradient. Parameters (sx,sy)-(ex,ey) specify the start and end coordinates of the linear gradient, icol specifies the start color and ocol the end color. The gradient is transformed by the current transform when it is passed to fillPaint() or strokePaint().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Paint NanoVG::boxGradient (float x,
float y,
float w,
float h,
float r,
float f,
const Coloricol,
const Colorocol 
)
+
+

Creates and returns a box gradient. Box gradient is a feathered rounded rectangle, it is useful for rendering drop shadows or highlights for boxes. Parameters (x,y) define the top-left corner of the rectangle, (w,h) define the size of the rectangle, r defines the corner radius, and f feather. Feather defines how blurry the border of the rectangle is. Parameter icol specifies the inner color and ocol the outer color of the gradient. The gradient is transformed by the current transform when it is passed to fillPaint() or strokePaint().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Paint NanoVG::radialGradient (float cx,
float cy,
float inr,
float outr,
const Coloricol,
const Colorocol 
)
+
+

Creates and returns a radial gradient. Parameters (cx,cy) specify the center, inr and outr specify the inner and outer radius of the gradient, icol specifies the start color and ocol the end color. The gradient is transformed by the current transform when it is passed to fillPaint() or strokePaint().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Paint NanoVG::imagePattern (float ox,
float oy,
float ex,
float ey,
float angle,
const NanoImageimage,
PatternRepeat repeat 
)
+
+

Creates and returns an image pattern. Parameters (ox,oy) specify the left-top location of the image pattern, (ex,ey) the size of one image, angle rotation around the top-left corner, image is handle to the image to render, and repeat tells if the image should be repeated across x or y. The gradient is transformed by the current transform when it is passed to fillPaint() or strokePaint().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void NanoVG::scissor (float x,
float y,
float w,
float h 
)
+
+

Sets the current The scissor rectangle is transformed by the current transform.

+ +
+
+ +
+
+ + + + + + + +
void NanoVG::resetScissor ()
+
+

Reset and disables scissoring.

+ +
+
+ +
+
+ + + + + + + +
void NanoVG::beginPath ()
+
+

Clears the current path and sub-paths.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void NanoVG::moveTo (float x,
float y 
)
+
+

Starts new sub-path with specified point as first point.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void NanoVG::lineTo (float x,
float y 
)
+
+

Adds line segment from the last point in the path to the specified point.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void NanoVG::bezierTo (float c1x,
float c1y,
float c2x,
float c2y,
float x,
float y 
)
+
+

Adds bezier segment from last point in the path via two control points to the specified point.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void NanoVG::arcTo (float x1,
float y1,
float x2,
float y2,
float radius 
)
+
+

Adds an arc segment at the corner defined by the last path point, and two specified points.

+ +
+
+ +
+
+ + + + + + + +
void NanoVG::closePath ()
+
+

Closes current sub-path with a line segment.

+ +
+
+ +
+
+ + + + + + + + +
void NanoVG::pathWinding (Winding dir)
+
+

Sets the current sub-path winding.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void NanoVG::arc (float cx,
float cy,
float r,
float a0,
float a1,
Winding dir 
)
+
+

Creates new arc shaped sub-path.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void NanoVG::rect (float x,
float y,
float w,
float h 
)
+
+

Creates new rectangle shaped sub-path.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void NanoVG::roundedRect (float x,
float y,
float w,
float h,
float r 
)
+
+

Creates new rounded rectangle shaped sub-path.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void NanoVG::ellipse (float cx,
float cy,
float rx,
float ry 
)
+
+

Creates new ellipse shaped sub-path.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void NanoVG::circle (float cx,
float cy,
float r 
)
+
+

Creates new circle shaped sub-path.

+ +
+
+ +
+
+ + + + + + + +
void NanoVG::fill ()
+
+

Fills the current path with current fill style.

+ +
+
+ +
+
+ + + + + + + +
void NanoVG::stroke ()
+
+

Fills the current path with current stroke style.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
FontId NanoVG::createFont (const char * name,
const char * filename 
)
+
+

Creates font by loading it from the disk from specified file name. Returns handle to the font.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FontId NanoVG::createFontMem (const char * name,
const uchar * data,
int ndata,
bool freeData 
)
+
+

Creates font by loading it from the specified memory chunk. Returns handle to the font.

+ +
+
+ +
+
+ + + + + + + + +
FontId NanoVG::findFont (const char * name)
+
+

Finds a loaded font of specified name, and returns handle to it, or -1 if the font is not found.

+ +
+
+ +
+
+ + + + + + + + +
void NanoVG::fontSize (float size)
+
+

Sets the font size of current text style.

+ +
+
+ +
+
+ + + + + + + + +
void NanoVG::fontBlur (float blur)
+
+

Sets the blur of current text style.

+ +
+
+ +
+
+ + + + + + + + +
void NanoVG::textLetterSpacing (float spacing)
+
+

Sets the letter spacing of current text style.

+ +
+
+ +
+
+ + + + + + + + +
void NanoVG::textLineHeight (float lineHeight)
+
+

Sets the proportional line height of current text style. The line height is specified as multiple of font size.

+ +
+
+ +
+
+ + + + + + + + +
void NanoVG::textAlign (Align align)
+
+

Sets the text align of current text style.

+ +
+
+ +
+
+ + + + + + + + +
void NanoVG::textAlign (int align)
+
+

Sets the text align of current text style. Overloaded function for convenience.

See also
Align
+ +
+
+ +
+
+ + + + + + + + +
void NanoVG::fontFaceId (FontId font)
+
+

Sets the font face based on specified id of current text style.

+ +
+
+ +
+
+ + + + + + + + +
void NanoVG::fontFace (const char * font)
+
+

Sets the font face based on specified name of current text style.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
float NanoVG::text (float x,
float y,
const char * string,
const char * end 
)
+
+

Draws text string at specified location. If end is specified only the sub-string up to the end is drawn.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void NanoVG::textBox (float x,
float y,
float breakRowWidth,
const char * string,
const char * end 
)
+
+

Draws multi-line text string at specified location wrapped at the specified width. If end is specified only the sub-string up to the end is drawn. White space is stripped at the beginning of the rows, the text is split at word boundaries or when new-line characters are encountered. Words longer than the max width are slit at nearest character (i.e. no hyphenation).

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
float NanoVG::textBounds (float x,
float y,
const char * string,
const char * end,
Rectangle< float > & bounds 
)
+
+

Measures the specified text string. The bounds value are [xmin,ymin, xmax,ymax]. Returns the horizontal advance of the measured text (i.e. where the next character should drawn). Measured values are returned in local coordinate space.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void NanoVG::textBoxBounds (float x,
float y,
float breakRowWidth,
const char * string,
const char * end,
float * bounds 
)
+
+

Measures the specified multi-text string. Parameter bounds should be a pointer to float[4], if the bounding box of the text should be returned. The bounds value are [xmin,ymin, xmax,ymax] Measured values are returned in local coordinate space.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int NanoVG::textGlyphPositions (float x,
float y,
const char * string,
const char * end,
GlyphPositionpositions,
int maxPositions 
)
+
+

Calculates the glyph x positions of the specified text. If end is specified only the sub-string will be used. Measured values are returned in local coordinate space.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void NanoVG::textMetrics (float * ascender,
float * descender,
float * lineh 
)
+
+

Returns the vertical metrics based on the current text style. Measured values are returned in local coordinate space.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int NanoVG::textBreakLines (const char * string,
const char * end,
float breakRowWidth,
TextRowrows,
int maxRows 
)
+
+

Breaks the specified text into lines. If end is specified only the sub-string will be used. White space is stripped at the beginning of the rows, the text is split at word boundaries or when new-line characters are encountered. Words longer than the max width are slit at nearest character (i.e. no hyphenation).

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/classNanoVG.png b/classNanoVG.png new file mode 100644 index 00000000..1944e723 Binary files /dev/null and b/classNanoVG.png differ diff --git a/classNanoWidget-members.html b/classNanoWidget-members.html new file mode 100644 index 00000000..5c555d29 --- /dev/null +++ b/classNanoWidget-members.html @@ -0,0 +1,248 @@ + + + + + + +DISTRHO Plugin Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + +
+ All Classes Functions Variables Modules Pages
+ + +
+ +
+ +
+
+
+
NanoWidget Member List
+
+
+ +

This is the complete list of members for NanoWidget, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Align enum name (defined in NanoVG)NanoVG
ALIGN_BASELINE enum value (defined in NanoVG)NanoVG
ALIGN_BOTTOM enum value (defined in NanoVG)NanoVG
ALIGN_CENTER enum value (defined in NanoVG)NanoVG
ALIGN_LEFT enum value (defined in NanoVG)NanoVG
ALIGN_MIDDLE enum value (defined in NanoVG)NanoVG
ALIGN_RIGHT enum value (defined in NanoVG)NanoVG
ALIGN_TOP enum value (defined in NanoVG)NanoVG
Alpha enum name (defined in NanoVG)NanoVG
arc(float cx, float cy, float r, float a0, float a1, Winding dir)NanoVG
arcTo(float x1, float y1, float x2, float y2, float radius)NanoVG
beginFrame(const uint width, const uint height, const float scaleFactor=1.0f, const Alpha alpha=PREMULTIPLIED_ALPHA)NanoVG
beginFrame(Widget *const widget)NanoVG
beginPath()NanoVG
BEVEL enum value (defined in NanoVG)NanoVG
bezierTo(float c1x, float c1y, float c2x, float c2y, float x, float y)NanoVG
boxGradient(float x, float y, float w, float h, float r, float f, const Color &icol, const Color &ocol)NanoVG
BUTT enum value (defined in NanoVG)NanoVG
CCW enum value (defined in NanoVG)NanoVG
circle(float cx, float cy, float r)NanoVG
closePath()NanoVG
contains(int x, int y) const noexceptWidget
contains(const Point< int > &pos) const noexceptWidget
createFont(const char *name, const char *filename)NanoVG
createFontMem(const char *name, const uchar *data, int ndata, bool freeData)NanoVG
createImage(const char *filename)NanoVG
createImageMem(uchar *data, int ndata)NanoVG
createImageRGBA(uint w, uint h, const uchar *data)NanoVG
currentTransform(float xform[6])NanoVG
CW enum value (defined in NanoVG)NanoVG
degToRad(float deg)NanoVGstatic
ellipse(float cx, float cy, float rx, float ry)NanoVG
endFrame()NanoVG
fill()NanoVG
fillColor(const Color &color)NanoVG
fillColor(const int red, const int green, const int blue, const int alpha=255)NanoVG
fillColor(const float red, const float green, const float blue, const float alpha=1.0f)NanoVG
fillPaint(const Paint &paint)NanoVG
findFont(const char *name)NanoVG
fontBlur(float blur)NanoVG
fontFace(const char *font)NanoVG
fontFaceId(FontId font)NanoVG
FontId typedef (defined in NanoVG)NanoVG
fontSize(float size)NanoVG
getAbsolutePos() const noexceptWidget
getAbsoluteX() const noexceptWidget
getAbsoluteY() const noexceptWidget
getContext() const noexceptNanoVGinline
getHeight() const noexceptWidget
getId() const noexceptWidget
getParentApp() const noexceptWidget
getParentWindow() const noexceptWidget
getSize() const noexceptWidget
getWidth() const noexceptWidget
hide()Widget
HOLE enum value (defined in NanoVG)NanoVG
imagePattern(float ox, float oy, float ex, float ey, float angle, const NanoImage *image, PatternRepeat repeat)NanoVG
isVisible() const noexceptWidget
linearGradient(float sx, float sy, float ex, float ey, const Color &icol, const Color &ocol)NanoVG
lineCap(LineCap cap=BUTT)NanoVG
LineCap enum name (defined in NanoVG)NanoVG
lineJoin(LineCap join=MITER)NanoVG
lineTo(float x, float y)NanoVG
MITER enum value (defined in NanoVG)NanoVG
miterLimit(float limit)NanoVG
moveTo(float x, float y)NanoVG
NanoVG()NanoVG
NanoVG(const int textAtlasWidth, const int textAtlasHeight)NanoVG
NanoWidget(Window &parent)NanoWidgetinline
onKeyboard(const KeyboardEvent &)Widgetprotectedvirtual
onMotion(const MotionEvent &)Widgetprotectedvirtual
onMouse(const MouseEvent &)Widgetprotectedvirtual
onNanoDisplay()=0NanoWidgetprotectedpure virtual
onResize(const ResizeEvent &)Widgetprotectedvirtual
onScroll(const ScrollEvent &)Widgetprotectedvirtual
onSpecial(const SpecialEvent &)Widgetprotectedvirtual
pathWinding(Winding dir)NanoVG
PatternRepeat enum name (defined in NanoVG)NanoVG
PREMULTIPLIED_ALPHA enum value (defined in NanoVG)NanoVG
radialGradient(float cx, float cy, float inr, float outr, const Color &icol, const Color &ocol)NanoVG
radToDeg(float rad)NanoVGstatic
rect(float x, float y, float w, float h)NanoVG
repaint() noexceptWidget
REPEAT_NONE enum value (defined in NanoVG)NanoVG
REPEAT_X enum value (defined in NanoVG)NanoVG
REPEAT_Y enum value (defined in NanoVG)NanoVG
reset()NanoVG
resetScissor()NanoVG
resetTransform()NanoVG
restore()NanoVG
rotate(float angle)NanoVG
ROUND enum value (defined in NanoVG)NanoVG
roundedRect(float x, float y, float w, float h, float r)NanoVG
save()NanoVG
scale(float x, float y)NanoVG
scissor(float x, float y, float w, float h)NanoVG
setAbsolutePos(int x, int y) noexceptWidget
setAbsolutePos(const Point< int > &pos) noexceptWidget
setAbsoluteX(int x) noexceptWidget
setAbsoluteY(int y) noexceptWidget
setHeight(uint height) noexceptWidget
setId(uint id) noexceptWidget
setNeedsFullViewport(bool yesNo) noexceptWidgetprotected
setNeedsScaling(bool yesNo) noexceptWidgetprotected
setSize(uint width, uint height) noexceptWidget
setSize(const Size< uint > &size) noexceptWidget
setVisible(bool yesNo)Widget
setWidth(uint width) noexceptWidget
show()Widget
skewX(float angle)NanoVG
skewY(float angle)NanoVG
SOLID enum value (defined in NanoVG)NanoVG
Solidity enum name (defined in NanoVG)NanoVG
SQUARE enum value (defined in NanoVG)NanoVG
STRAIGHT_ALPHA enum value (defined in NanoVG)NanoVG
stroke()NanoVG
strokeColor(const Color &color)NanoVG
strokeColor(const int red, const int green, const int blue, const int alpha=255)NanoVG
strokeColor(const float red, const float green, const float blue, const float alpha=1.0f)NanoVG
strokePaint(const Paint &paint)NanoVG
strokeWidth(float size)NanoVG
text(float x, float y, const char *string, const char *end)NanoVG
textAlign(Align align)NanoVG
textAlign(int align)NanoVG
textBounds(float x, float y, const char *string, const char *end, Rectangle< float > &bounds)NanoVG
textBox(float x, float y, float breakRowWidth, const char *string, const char *end)NanoVG
textBoxBounds(float x, float y, float breakRowWidth, const char *string, const char *end, float *bounds)NanoVG
textBreakLines(const char *string, const char *end, float breakRowWidth, TextRow *rows, int maxRows)NanoVG
textGlyphPositions(float x, float y, const char *string, const char *end, GlyphPosition *positions, int maxPositions)NanoVG
textLetterSpacing(float spacing)NanoVG
textLineHeight(float lineHeight)NanoVG
textMetrics(float *ascender, float *descender, float *lineh)NanoVG
transform(float a, float b, float c, float d, float e, float f)NanoVG
transformIdentity(float dst[6])NanoVGstatic
transformInverse(float dst[6], const float src[6])NanoVGstatic
transformMultiply(float dst[6], const float src[6])NanoVGstatic
transformPoint(float &dstx, float &dsty, const float xform[6], float srcx, float srcy)NanoVGstatic
transformPremultiply(float dst[6], const float src[6])NanoVGstatic
transformRotate(float dst[6], float a)NanoVGstatic
transformScale(float dst[6], float sx, float sy)NanoVGstatic
transformSkewX(float dst[6], float a)NanoVGstatic
transformSkewY(float dst[6], float a)NanoVGstatic
transformTranslate(float dst[6], float tx, float ty)NanoVGstatic
translate(float x, float y)NanoVG
Widget(Window &parent)Widgetexplicit
Winding enum name (defined in NanoVG)NanoVG
~NanoVG()NanoVGvirtual
~Widget()Widgetvirtual
+ + + + diff --git a/classNanoWidget.html b/classNanoWidget.html new file mode 100644 index 00000000..b8c1598c --- /dev/null +++ b/classNanoWidget.html @@ -0,0 +1,467 @@ + + + + + + +DISTRHO Plugin Framework: NanoWidget Class Reference + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + +
+ All Classes Functions Variables Modules Pages
+ + +
+ +
+ +
+
+
+Public Member Functions | +Protected Member Functions | +List of all members
+
+
NanoWidget Class Referenceabstract
+
+
+ +

#include <NanoVG.hpp>

+
+Inheritance diagram for NanoWidget:
+
+
+ + +Widget +NanoVG + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 NanoWidget (Window &parent)
 
- Public Member Functions inherited from Widget
 Widget (Window &parent)
 
virtual ~Widget ()
 
bool isVisible () const noexcept
 
void setVisible (bool yesNo)
 
void show ()
 
void hide ()
 
uint getWidth () const noexcept
 
uint getHeight () const noexcept
 
const Size< uint > & getSize () const noexcept
 
void setWidth (uint width) noexcept
 
void setHeight (uint height) noexcept
 
void setSize (uint width, uint height) noexcept
 
void setSize (const Size< uint > &size) noexcept
 
int getAbsoluteX () const noexcept
 
int getAbsoluteY () const noexcept
 
const Point< int > & getAbsolutePos () const noexcept
 
void setAbsoluteX (int x) noexcept
 
void setAbsoluteY (int y) noexcept
 
void setAbsolutePos (int x, int y) noexcept
 
void setAbsolutePos (const Point< int > &pos) noexcept
 
AppgetParentApp () const noexcept
 
WindowgetParentWindow () const noexcept
 
bool contains (int x, int y) const noexcept
 
bool contains (const Point< int > &pos) const noexcept
 
void repaint () noexcept
 
uint getId () const noexcept
 
void setId (uint id) noexcept
 
- Public Member Functions inherited from NanoVG
 NanoVG ()
 
 NanoVG (const int textAtlasWidth, const int textAtlasHeight)
 
virtual ~NanoVG ()
 
NVGcontext * getContext () const noexcept
 
void beginFrame (const uint width, const uint height, const float scaleFactor=1.0f, const Alpha alpha=PREMULTIPLIED_ALPHA)
 
void beginFrame (Widget *const widget)
 
void endFrame ()
 
void save ()
 
void restore ()
 
void reset ()
 
void strokeColor (const Color &color)
 
void strokeColor (const int red, const int green, const int blue, const int alpha=255)
 
void strokeColor (const float red, const float green, const float blue, const float alpha=1.0f)
 
void strokePaint (const Paint &paint)
 
void fillColor (const Color &color)
 
void fillColor (const int red, const int green, const int blue, const int alpha=255)
 
void fillColor (const float red, const float green, const float blue, const float alpha=1.0f)
 
void fillPaint (const Paint &paint)
 
void miterLimit (float limit)
 
void strokeWidth (float size)
 
void lineCap (LineCap cap=BUTT)
 
void lineJoin (LineCap join=MITER)
 
void resetTransform ()
 
void transform (float a, float b, float c, float d, float e, float f)
 
void translate (float x, float y)
 
void rotate (float angle)
 
void skewX (float angle)
 
void skewY (float angle)
 
void scale (float x, float y)
 
void currentTransform (float xform[6])
 
NanoImagecreateImage (const char *filename)
 
NanoImagecreateImageMem (uchar *data, int ndata)
 
NanoImagecreateImageRGBA (uint w, uint h, const uchar *data)
 
Paint linearGradient (float sx, float sy, float ex, float ey, const Color &icol, const Color &ocol)
 
Paint boxGradient (float x, float y, float w, float h, float r, float f, const Color &icol, const Color &ocol)
 
Paint radialGradient (float cx, float cy, float inr, float outr, const Color &icol, const Color &ocol)
 
Paint imagePattern (float ox, float oy, float ex, float ey, float angle, const NanoImage *image, PatternRepeat repeat)
 
void scissor (float x, float y, float w, float h)
 
void resetScissor ()
 
void beginPath ()
 
void moveTo (float x, float y)
 
void lineTo (float x, float y)
 
void bezierTo (float c1x, float c1y, float c2x, float c2y, float x, float y)
 
void arcTo (float x1, float y1, float x2, float y2, float radius)
 
void closePath ()
 
void pathWinding (Winding dir)
 
void arc (float cx, float cy, float r, float a0, float a1, Winding dir)
 
void rect (float x, float y, float w, float h)
 
void roundedRect (float x, float y, float w, float h, float r)
 
void ellipse (float cx, float cy, float rx, float ry)
 
void circle (float cx, float cy, float r)
 
void fill ()
 
void stroke ()
 
FontId createFont (const char *name, const char *filename)
 
FontId createFontMem (const char *name, const uchar *data, int ndata, bool freeData)
 
FontId findFont (const char *name)
 
void fontSize (float size)
 
void fontBlur (float blur)
 
void textLetterSpacing (float spacing)
 
void textLineHeight (float lineHeight)
 
void textAlign (Align align)
 
void textAlign (int align)
 
void fontFaceId (FontId font)
 
void fontFace (const char *font)
 
float text (float x, float y, const char *string, const char *end)
 
void textBox (float x, float y, float breakRowWidth, const char *string, const char *end)
 
float textBounds (float x, float y, const char *string, const char *end, Rectangle< float > &bounds)
 
void textBoxBounds (float x, float y, float breakRowWidth, const char *string, const char *end, float *bounds)
 
int textGlyphPositions (float x, float y, const char *string, const char *end, GlyphPosition *positions, int maxPositions)
 
void textMetrics (float *ascender, float *descender, float *lineh)
 
int textBreakLines (const char *string, const char *end, float breakRowWidth, TextRow *rows, int maxRows)
 
+ + + + + + + + + + + + + + + + + + + + +

+Protected Member Functions

virtual void onNanoDisplay ()=0
 
- Protected Member Functions inherited from Widget
virtual bool onKeyboard (const KeyboardEvent &)
 
virtual bool onSpecial (const SpecialEvent &)
 
virtual bool onMouse (const MouseEvent &)
 
virtual bool onMotion (const MotionEvent &)
 
virtual bool onScroll (const ScrollEvent &)
 
virtual void onResize (const ResizeEvent &)
 
void setNeedsFullViewport (bool yesNo) noexcept
 
void setNeedsScaling (bool yesNo) noexcept
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Public Types inherited from NanoVG
enum  Align {
+  ALIGN_LEFT = 1 << 0, +ALIGN_CENTER = 1 << 1, +ALIGN_RIGHT = 1 << 2, +ALIGN_TOP = 1 << 3, +
+  ALIGN_MIDDLE = 1 << 4, +ALIGN_BOTTOM = 1 << 5, +ALIGN_BASELINE = 1 << 6 +
+ }
 
enum  Alpha { STRAIGHT_ALPHA, +PREMULTIPLIED_ALPHA + }
 
enum  LineCap {
+  BUTT, +ROUND, +SQUARE, +BEVEL, +
+  MITER +
+ }
 
enum  PatternRepeat { REPEAT_NONE = 0x0, +REPEAT_X = 0x1, +REPEAT_Y = 0x2 + }
 
enum  Solidity { SOLID = 1, +HOLE = 2 + }
 
enum  Winding { CCW = 1, +CW = 2 + }
 
+typedef int FontId
 
- Static Public Member Functions inherited from NanoVG
static void transformIdentity (float dst[6])
 
static void transformTranslate (float dst[6], float tx, float ty)
 
static void transformScale (float dst[6], float sx, float sy)
 
static void transformRotate (float dst[6], float a)
 
static void transformSkewX (float dst[6], float a)
 
static void transformSkewY (float dst[6], float a)
 
static void transformMultiply (float dst[6], const float src[6])
 
static void transformPremultiply (float dst[6], const float src[6])
 
static int transformInverse (float dst[6], const float src[6])
 
static void transformPoint (float &dstx, float &dsty, const float xform[6], float srcx, float srcy)
 
static float degToRad (float deg)
 
static float radToDeg (float rad)
 
+

Detailed Description

+

NanoVG Widget class.

+

This class implements the NanoVG drawing API inside a DGL Widget. The drawing function onDisplay() is implemented internally but a new onNanoDisplay() needs to be overridden instead.

+

Constructor & Destructor Documentation

+ +
+
+ + + + + +
+ + + + + + + + +
NanoWidget::NanoWidget (Windowparent)
+
+inline
+
+

Constructor.

+ +
+
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + +
virtual void NanoWidget::onNanoDisplay ()
+
+protectedpure virtual
+
+

New virtual onDisplay function.

See also
onDisplay
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/classNanoWidget.png b/classNanoWidget.png new file mode 100644 index 00000000..b2849884 Binary files /dev/null and b/classNanoWidget.png differ diff --git a/classPlugin-members.html b/classPlugin-members.html index a0740f4b..4458e029 100644 --- a/classPlugin-members.html +++ b/classPlugin-members.html @@ -89,37 +89,37 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');

This is the complete list of members for Plugin, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + +
d_activate()Plugininlineprotectedvirtual
d_bufferSizeChanged(uint32_t newBufferSize)Pluginprotectedvirtual
d_deactivate()Plugininlineprotectedvirtual
d_getBufferSize() const noexceptPlugin
d_getLabel() const =0Pluginprotectedpure virtual
d_getLicense() const =0Pluginprotectedpure virtual
d_getMaker() const =0Pluginprotectedpure virtual
d_getName() const Plugininlineprotectedvirtual
d_getParameterValue(uint32_t index) const =0Pluginprotectedpure virtual
d_getSampleRate() const noexceptPlugin
d_getTimePosition() const noexceptPlugin
d_getUniqueId() const =0Pluginprotectedpure virtual
d_getVersion() const =0Pluginprotectedpure virtual
d_initAudioPort(bool input, uint32_t index, AudioPort &port)Pluginprotectedvirtual
d_initParameter(uint32_t index, Parameter &parameter)=0Pluginprotectedpure virtual
d_initProgramName(uint32_t index, d_string &programName)=0Pluginprotectedpure virtual
d_initState(uint32_t index, d_string &stateKey, d_string &defaultStateValue)=0Pluginprotectedpure virtual
d_run(const float **inputs, float **outputs, uint32_t frames, const MidiEvent *midiEvents, uint32_t midiEventCount)=0Pluginprotectedpure virtual
d_sampleRateChanged(double newSampleRate)Pluginprotectedvirtual
d_setLatency(uint32_t frames) noexceptPlugin
d_setParameterValue(uint32_t index, float value)=0Pluginprotectedpure virtual
d_setProgram(uint32_t index)=0Pluginprotectedpure virtual
d_setState(const char *key, const char *value)=0Pluginprotectedpure virtual
d_writeMidiEvent(const MidiEvent &midiEvent) noexceptPlugin
Plugin(const uint32_t parameterCount, const uint32_t programCount, const uint32_t stateCount)Plugin
PluginExporter (defined in Plugin)Pluginfriend
activated()Plugininlineprotectedvirtual
bufferSizeChanged(uint32_t newBufferSize)Pluginprotectedvirtual
deactivated()Plugininlineprotectedvirtual
getBufferSize() const noexceptPlugin
getLabel() const =0Pluginprotectedpure virtual
getLicense() const =0Pluginprotectedpure virtual
getMaker() const =0Pluginprotectedpure virtual
getName() const Plugininlineprotectedvirtual
getParameterValue(uint32_t index) const =0Pluginprotectedpure virtual
getSampleRate() const noexceptPlugin
getTimePosition() const noexceptPlugin
getUniqueId() const =0Pluginprotectedpure virtual
getVersion() const =0Pluginprotectedpure virtual
initAudioPort(bool input, uint32_t index, AudioPort &port)Pluginprotectedvirtual
initParameter(uint32_t index, Parameter &parameter)=0Pluginprotectedpure virtual
initProgramName(uint32_t index, String &programName)=0Pluginprotectedpure virtual
initState(uint32_t index, String &stateKey, String &defaultStateValue)=0Pluginprotectedpure virtual
Plugin(const uint32_t parameterCount, const uint32_t programCount, const uint32_t stateCount)Plugin
PluginExporter (defined in Plugin)Pluginfriend
run(const float **inputs, float **outputs, uint32_t frames, const MidiEvent *midiEvents, uint32_t midiEventCount)=0Pluginprotectedpure virtual
sampleRateChanged(double newSampleRate)Pluginprotectedvirtual
setLatency(uint32_t frames) noexceptPlugin
setParameterValue(uint32_t index, float value)=0Pluginprotectedpure virtual
setProgram(uint32_t index)=0Pluginprotectedpure virtual
setState(const String &key, const String &value)=0Pluginprotectedpure virtual
writeMidiEvent(const MidiEvent &midiEvent) noexceptPlugin
~Plugin()Pluginvirtual
diff --git a/classPlugin.html b/classPlugin.html index 9cc629c3..80e0d557 100644 --- a/classPlugin.html +++ b/classPlugin.html @@ -88,7 +88,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); Friends | List of all members
-
Plugin Class Referenceabstract
+
Plugin Class Referenceabstract
Main Classes
@@ -100,57 +100,57 @@ Public Member Functions   virtual ~Plugin ()   -uint32_t d_getBufferSize () const noexcept -  -double d_getSampleRate () const noexcept -  -const TimePositiond_getTimePosition () const noexcept -  -void d_setLatency (uint32_t frames) noexcept -  -bool d_writeMidiEvent (const MidiEvent &midiEvent) noexcept -  +uint32_t getBufferSize () const noexcept +  +double getSampleRate () const noexcept +  +const TimePositiongetTimePosition () const noexcept +  +void setLatency (uint32_t frames) noexcept +  +bool writeMidiEvent (const MidiEvent &midiEvent) noexcept +  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Protected Member Functions

virtual const char * d_getName () const
 
virtual const char * d_getLabel () const =0
 
virtual const char * d_getMaker () const =0
 
virtual const char * d_getLicense () const =0
 
virtual uint32_t d_getVersion () const =0
 
virtual int64_t d_getUniqueId () const =0
 
virtual void d_initAudioPort (bool input, uint32_t index, AudioPort &port)
 
virtual void d_initParameter (uint32_t index, Parameter &parameter)=0
 
virtual void d_initProgramName (uint32_t index, d_string &programName)=0
 
virtual void d_initState (uint32_t index, d_string &stateKey, d_string &defaultStateValue)=0
 
virtual float d_getParameterValue (uint32_t index) const =0
 
virtual void d_setParameterValue (uint32_t index, float value)=0
 
virtual void d_setProgram (uint32_t index)=0
 
virtual void d_setState (const char *key, const char *value)=0
 
virtual void d_activate ()
 
virtual void d_deactivate ()
 
virtual void d_run (const float **inputs, float **outputs, uint32_t frames, const MidiEvent *midiEvents, uint32_t midiEventCount)=0
 
virtual void d_bufferSizeChanged (uint32_t newBufferSize)
 
virtual void d_sampleRateChanged (double newSampleRate)
 
virtual const char * getName () const
 
virtual const char * getLabel () const =0
 
virtual const char * getMaker () const =0
 
virtual const char * getLicense () const =0
 
virtual uint32_t getVersion () const =0
 
virtual int64_t getUniqueId () const =0
 
virtual void initAudioPort (bool input, uint32_t index, AudioPort &port)
 
virtual void initParameter (uint32_t index, Parameter &parameter)=0
 
virtual void initProgramName (uint32_t index, String &programName)=0
 
virtual void initState (uint32_t index, String &stateKey, String &defaultStateValue)=0
 
virtual float getParameterValue (uint32_t index) const =0
 
virtual void setParameterValue (uint32_t index, float value)=0
 
virtual void setProgram (uint32_t index)=0
 
virtual void setState (const String &key, const String &value)=0
 
virtual void activated ()
 
virtual void deactivated ()
 
virtual void run (const float **inputs, float **outputs, uint32_t frames, const MidiEvent *midiEvents, uint32_t midiEventCount)=0
 
virtual void bufferSizeChanged (uint32_t newBufferSize)
 
virtual void sampleRateChanged (double newSampleRate)
 
@@ -160,13 +160,22 @@ class 

Friends

PluginExporter

Detailed Description

DPF Plugin class from where plugin instances are created.

-

The public methods (Host state) are called from the plugin to get or set host information. They can be called from a plugin instance at anytime unless stated otherwise. All other methods are to be implemented by the plugin and will be called by the host.

-

Shortly after a plugin instance is created, the various d_init* functions will be called by the host. Host will call d_activate() before d_run(), and d_deactivate() before the plugin instance is destroyed. The host may call deactivate right after activate and vice-versa, but never activate/deactivate consecutively. There is no limit on how many times d_run() is called, only that activate/deactivate will be called in between.

-

The buffer size and sample rate values will remain constant between activate and deactivate. Buffer size is only a hint though, the host might call d_run() with a higher or lower number of frames.

+

The public methods (Host state) are called from the plugin to get or set host information.
+They can be called from a plugin instance at anytime unless stated otherwise.
+All other methods are to be implemented by the plugin and will be called by the host.

+

Shortly after a plugin instance is created, the various init* functions will be called by the host.
+Host will call activate() before run(), and deactivate() before the plugin instance is destroyed.
+The host may call deactivate right after activate and vice-versa, but never activate/deactivate consecutively.
+There is no limit on how many times run() is called, only that activate/deactivate will be called in between.

+

The buffer size and sample rate values will remain constant between activate and deactivate.
+Buffer size is only a hint though, the host might call run() with a higher or lower number of frames.

Some of this class functions are only available according to some macros.

-

DISTRHO_PLUGIN_WANT_PROGRAMS activates program related features. When enabled you need to implement d_initProgramName() and d_setProgram().

-

DISTRHO_PLUGIN_WANT_STATE activates internal state features. When enabled you need to implement d_initStateKey() and d_setState().

-

The process function d_run() changes wherever DISTRHO_PLUGIN_WANT_MIDI_INPUT is enabled or not. When enabled it provides midi input events.

+

DISTRHO_PLUGIN_WANT_PROGRAMS activates program related features.
+When enabled you need to implement initProgramName() and setProgram().

+

DISTRHO_PLUGIN_WANT_STATE activates internal state features.
+When enabled you need to implement initStateKey() and setState().

+

The process function run() changes wherever DISTRHO_PLUGIN_WANT_MIDI_INPUT is enabled or not.
+When enabled it provides midi input events.

Constructor & Destructor Documentation

@@ -226,7 +235,7 @@ class 
PluginExporter

Member Function Documentation

- +
@@ -234,7 +243,7 @@ class 
PluginExporter - + @@ -246,12 +255,12 @@ class 
uint32_t Plugin::d_getBufferSize uint32_t Plugin::getBufferSize ( ) constPluginExporter
-

Get the current buffer size that will probably be used during processing, in frames. This value will remain constant between activate and deactivate.

Note
: This value is only a hint! Hosts might call d_run() with a higher or lower number of frames.
-
See also
d_bufferSizeChanged(uint32_t)
+

Get the current buffer size that will probably be used during processing, in frames. This value will remain constant between activate and deactivate.

Note
: This value is only a hint! Hosts might call run() with a higher or lower number of frames.
+
See also
bufferSizeChanged(uint32_t)
- +
@@ -259,7 +268,7 @@ class 
PluginExporter - + @@ -271,11 +280,11 @@ class 
double Plugin::d_getSampleRate double Plugin::getSampleRate ( ) constPluginExporter
-

Get the current sample rate that will be used during processing. This value will remain constant between activate and deactivate.

See also
d_sampleRateChanged(double)
+

Get the current sample rate that will be used during processing. This value will remain constant between activate and deactivate.

See also
sampleRateChanged(double)
- +
@@ -283,7 +292,7 @@ class 
PluginExporter - + @@ -295,11 +304,11 @@ class 
const TimePosition& Plugin::d_getTimePosition const TimePosition& Plugin::getTimePosition ( ) constPluginExporter
-

Get the current host transport time position. This function should only be called during d_run(). You can call this during other times, but the returned position is not guaranteed to be in sync.

Note
: TimePosition is not supported in LADSPA and DSSI plugin formats.
+

Get the current host transport time position. This function should only be called during run(). You can call this during other times, but the returned position is not guaranteed to be in sync.

Note
: TimePosition is not supported in LADSPA and DSSI plugin formats.
- +
@@ -307,7 +316,7 @@ class 
PluginExporter - + @@ -320,11 +329,11 @@ class 
void Plugin::d_setLatency void Plugin::setLatency ( uint32_t  frames)PluginExporter
-

Change the plugin audio output latency to frames. This function should only be called in the constructor, d_activate() and d_run().

Note
This function is only available if DISTRHO_PLUGIN_WANT_LATENCY is enabled.
+

Change the plugin audio output latency to frames. This function should only be called in the constructor, activate() and run().

Note
This function is only available if DISTRHO_PLUGIN_WANT_LATENCY is enabled.
- +
@@ -332,7 +341,7 @@ class 
PluginExporter - + @@ -345,11 +354,11 @@ class 
bool Plugin::d_writeMidiEvent bool Plugin::writeMidiEvent ( const MidiEvent midiEvent)PluginExporter
-

Write a MIDI output event. This function must only be called during d_run(). Returns false when the host buffer is full, in which case do not call this again until the next d_run().

+

Write a MIDI output event. This function must only be called during run(). Returns false when the host buffer is full, in which case do not call this again until the next run().

- +
@@ -357,7 +366,7 @@ class 
PluginExporter - + @@ -373,7 +382,7 @@ class 
virtual const char* Plugin::d_getName virtual const char* Plugin::getName ( ) constPluginExporter - +
@@ -381,7 +390,7 @@ class 
PluginExporter - + @@ -393,11 +402,11 @@ class 
virtual const char* Plugin::d_getLabel virtual const char* Plugin::getLabel ( ) constPluginExporter
-

Get the plugin label. A plugin label follows the same rules as Parameter::symbol, with the exception that it can start with numbers.

+

Get the plugin label. A plugin label follows the same rules as Parameter::symbol, with the exception that it can start with numbers.

- +
@@ -405,7 +414,7 @@ class 
PluginExporter - + @@ -421,7 +430,7 @@ class 
virtual const char* Plugin::d_getMaker virtual const char* Plugin::getMaker ( ) constPluginExporter - +
@@ -429,7 +438,7 @@ class 
PluginExporter - + @@ -446,7 +455,7 @@ For commercial plugins this should return some copyright information.

- +
virtual const char* Plugin::d_getLicense virtual const char* Plugin::getLicense ( ) const
@@ -454,7 +463,7 @@ For commercial plugins this should return some copyright information.

- + @@ -470,7 +479,7 @@ For commercial plugins this should return some copyright information.

- +
virtual uint32_t Plugin::d_getVersion virtual uint32_t Plugin::getVersion ( ) const
@@ -478,7 +487,7 @@ For commercial plugins this should return some copyright information.

- + @@ -494,7 +503,7 @@ For commercial plugins this should return some copyright information.

- +
virtual int64_t Plugin::d_getUniqueId virtual int64_t Plugin::getUniqueId ( ) const
@@ -502,7 +511,7 @@ For commercial plugins this should return some copyright information.

- + @@ -535,7 +544,7 @@ For commercial plugins this should return some copyright information.

- +
virtual void Plugin::d_initAudioPort virtual void Plugin::initAudioPort ( bool  input,
@@ -543,7 +552,7 @@ For commercial plugins this should return some copyright information.

- + @@ -570,7 +579,7 @@ For commercial plugins this should return some copyright information.

- +
virtual void Plugin::d_initParameter virtual void Plugin::initParameter ( uint32_t  index,
@@ -578,7 +587,7 @@ For commercial plugins this should return some copyright information.

- + @@ -586,7 +595,7 @@ For commercial plugins this should return some copyright information.

- + @@ -605,7 +614,7 @@ For commercial plugins this should return some copyright information.

- +
virtual void Plugin::d_initProgramName virtual void Plugin::initProgramName ( uint32_t  index,
d_string & String &  programName 
@@ -613,7 +622,7 @@ For commercial plugins this should return some copyright information.

- + @@ -621,13 +630,13 @@ For commercial plugins this should return some copyright information.

- + - + @@ -646,7 +655,7 @@ For commercial plugins this should return some copyright information.

- +
virtual void Plugin::d_initState virtual void Plugin::initState ( uint32_t  index,
d_string & String &  stateKey,
d_string & String &  defaultStateValue 
@@ -654,7 +663,7 @@ For commercial plugins this should return some copyright information.

- + @@ -671,7 +680,7 @@ For commercial plugins this should return some copyright information.

- +
virtual float Plugin::d_getParameterValue virtual float Plugin::getParameterValue ( uint32_t  index)
@@ -679,7 +688,7 @@ For commercial plugins this should return some copyright information.

- + @@ -706,7 +715,7 @@ For commercial plugins this should return some copyright information.

- +
virtual void Plugin::d_setParameterValue virtual void Plugin::setParameterValue ( uint32_t  index,
@@ -714,7 +723,7 @@ For commercial plugins this should return some copyright information.

- + @@ -731,7 +740,7 @@ For commercial plugins this should return some copyright information.

- +
virtual void Plugin::d_setProgram virtual void Plugin::setProgram ( uint32_t  index)
@@ -739,15 +748,15 @@ For commercial plugins this should return some copyright information.

- + - + - + @@ -766,7 +775,7 @@ For commercial plugins this should return some copyright information.

- +
virtual void Plugin::d_setState virtual void Plugin::setState (const char * const String &  key,
const char * const String &  value 
@@ -774,7 +783,7 @@ For commercial plugins this should return some copyright information.

- + @@ -790,7 +799,7 @@ For commercial plugins this should return some copyright information.

- +
virtual void Plugin::d_activate virtual void Plugin::activated ( )
@@ -798,7 +807,7 @@ For commercial plugins this should return some copyright information.

diff --git a/structWidget_1_1BaseEvent-members.html b/structWidget_1_1BaseEvent-members.html new file mode 100644 index 00000000..25916907 --- /dev/null +++ b/structWidget_1_1BaseEvent-members.html @@ -0,0 +1,108 @@ + + + + + + +DISTRHO Plugin Framework: Member List + + + + + + + + + +
+
+
- + @@ -814,7 +823,7 @@ For commercial plugins this should return some copyright information.

- +
virtual void Plugin::d_deactivate virtual void Plugin::deactivated ( )
@@ -822,7 +831,7 @@ For commercial plugins this should return some copyright information.

- + @@ -867,7 +876,7 @@ For commercial plugins this should return some copyright information.

- +
virtual void Plugin::d_run virtual void Plugin::run ( const float **  inputs,
@@ -875,7 +884,7 @@ For commercial plugins this should return some copyright information.

diff --git a/structTimePosition-members.html b/structTimePosition-members.html index efe06f87..fec0e67c 100644 --- a/structTimePosition-members.html +++ b/structTimePosition-members.html @@ -96,7 +96,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
- + @@ -888,12 +897,12 @@ For commercial plugins this should return some copyright information.

virtual void Plugin::d_bufferSizeChanged virtual void Plugin::bufferSizeChanged ( uint32_t  newBufferSize)
-

Optional callback to inform the plugin about a buffer size change. This function will only be called when the plugin is deactivated.

Note
: This value is only a hint! Hosts might call d_run() with a higher or lower number of frames.
-
See also
d_getBufferSize()
+

Optional callback to inform the plugin about a buffer size change. This function will only be called when the plugin is deactivated.

Note
: This value is only a hint! Hosts might call run() with a higher or lower number of frames.
+
See also
getBufferSize()
- +
@@ -901,7 +910,7 @@ For commercial plugins this should return some copyright information.

- - - - - - - - - - - - + + + + + + + + + + + +
- + @@ -914,7 +923,7 @@ For commercial plugins this should return some copyright information.

virtual void Plugin::d_sampleRateChanged virtual void Plugin::sampleRateChanged ( double  newSampleRate)
-

Optional callback to inform the plugin about a sample rate change. This function will only be called when the plugin is deactivated.

See also
d_getSampleRate()
+

Optional callback to inform the plugin about a sample rate change. This function will only be called when the plugin is deactivated.

See also
getSampleRate()
@@ -924,7 +933,7 @@ For commercial plugins this should return some copyright information.

diff --git a/classPoint-members.html b/classPoint-members.html new file mode 100644 index 00000000..1f69b079 --- /dev/null +++ b/classPoint-members.html @@ -0,0 +1,124 @@ + + + + + + +DISTRHO Plugin Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + + + + +
+ +
+ +
+
+
+
Point< T > Member List
+
+
+ +

This is the complete list of members for Point< T >, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + +
Circle (defined in Point< T >)Point< T >friend
getX() const noexceptPoint< T >
getY() const noexceptPoint< T >
isNotZero() const noexceptPoint< T >
isZero() const noexceptPoint< T >
Line (defined in Point< T >)Point< T >friend
moveBy(const T &x, const T &y) noexceptPoint< T >
moveBy(const Point< T > &pos) noexceptPoint< T >
operator!=(const Point< T > &pos) const noexcept (defined in Point< T >)Point< T >
operator+(const Point< T > &pos) noexcept (defined in Point< T >)Point< T >
operator+=(const Point< T > &pos) noexcept (defined in Point< T >)Point< T >
operator-(const Point< T > &pos) noexcept (defined in Point< T >)Point< T >
operator-=(const Point< T > &pos) noexcept (defined in Point< T >)Point< T >
operator=(const Point< T > &pos) noexcept (defined in Point< T >)Point< T >
operator==(const Point< T > &pos) const noexcept (defined in Point< T >)Point< T >
Point() noexceptPoint< T >
Point(const T &x, const T &y) noexceptPoint< T >
Point(const Point< T > &pos) noexceptPoint< T >
Rectangle (defined in Point< T >)Point< T >friend
setPos(const T &x, const T &y) noexceptPoint< T >
setPos(const Point< T > &pos) noexceptPoint< T >
setX(const T &x) noexceptPoint< T >
setY(const T &y) noexceptPoint< T >
Triangle (defined in Point< T >)Point< T >friend
+ + + + diff --git a/classPoint.html b/classPoint.html new file mode 100644 index 00000000..b63cd5d0 --- /dev/null +++ b/classPoint.html @@ -0,0 +1,560 @@ + + + + + + +DISTRHO Plugin Framework: Point< T > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
Point< T > Class Template Reference
+
+
+ +

#include <Geometry.hpp>

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 Point () noexcept
 
 Point (const T &x, const T &y) noexcept
 
 Point (const Point< T > &pos) noexcept
 
const T & getX () const noexcept
 
const T & getY () const noexcept
 
void setX (const T &x) noexcept
 
void setY (const T &y) noexcept
 
void setPos (const T &x, const T &y) noexcept
 
void setPos (const Point< T > &pos) noexcept
 
void moveBy (const T &x, const T &y) noexcept
 
void moveBy (const Point< T > &pos) noexcept
 
bool isZero () const noexcept
 
bool isNotZero () const noexcept
 
+Point< T > operator+ (const Point< T > &pos) noexcept
 
+Point< T > operator- (const Point< T > &pos) noexcept
 
+Point< T > & operator= (const Point< T > &pos) noexcept
 
+Point< T > & operator+= (const Point< T > &pos) noexcept
 
+Point< T > & operator-= (const Point< T > &pos) noexcept
 
+bool operator== (const Point< T > &pos) const noexcept
 
+bool operator!= (const Point< T > &pos) const noexcept
 
+ + + + + + + + + + + + + +

+Friends

+template<typename >
class Line
 
+template<typename >
class Circle
 
+template<typename >
class Triangle
 
+template<typename >
class Rectangle
 
+

Detailed Description

+

template<typename T>
+class Point< T >

+ +

DGL Point class.

+

This class describes a single point in space, defined by an X and Y value.

+

Constructor & Destructor Documentation

+ +
+
+
+template<typename T>
+ + + + + +
+ + + + + + + +
Point< T >::Point ()
+
+noexcept
+
+

Constructor for (0, 0) point.

+ +
+
+ +
+
+
+template<typename T>
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
Point< T >::Point (const T & x,
const T & y 
)
+
+noexcept
+
+

Constructor using custom X and Y values.

+ +
+
+ +
+
+
+template<typename T>
+ + + + + +
+ + + + + + + + +
Point< T >::Point (const Point< T > & pos)
+
+noexcept
+
+

Constructor using another Point class values.

+ +
+
+

Member Function Documentation

+ +
+
+
+template<typename T>
+ + + + + +
+ + + + + + + +
const T& Point< T >::getX () const
+
+noexcept
+
+

Get X value.

+ +
+
+ +
+
+
+template<typename T>
+ + + + + +
+ + + + + + + +
const T& Point< T >::getY () const
+
+noexcept
+
+

Get Y value.

+ +
+
+ +
+
+
+template<typename T>
+ + + + + +
+ + + + + + + + +
void Point< T >::setX (const T & x)
+
+noexcept
+
+

Set X value to x.

+ +
+
+ +
+
+
+template<typename T>
+ + + + + +
+ + + + + + + + +
void Point< T >::setY (const T & y)
+
+noexcept
+
+

Set Y value to y.

+ +
+
+ +
+
+
+template<typename T>
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void Point< T >::setPos (const T & x,
const T & y 
)
+
+noexcept
+
+

Set X and Y values to x and y respectively.

+ +
+
+ +
+
+
+template<typename T>
+ + + + + +
+ + + + + + + + +
void Point< T >::setPos (const Point< T > & pos)
+
+noexcept
+
+

Set X and Y values according to pos.

+ +
+
+ +
+
+
+template<typename T>
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void Point< T >::moveBy (const T & x,
const T & y 
)
+
+noexcept
+
+

Move this point by x and y values.

+ +
+
+ +
+
+
+template<typename T>
+ + + + + +
+ + + + + + + + +
void Point< T >::moveBy (const Point< T > & pos)
+
+noexcept
+
+

Move this point by pos.

+ +
+
+ +
+
+
+template<typename T>
+ + + + + +
+ + + + + + + +
bool Point< T >::isZero () const
+
+noexcept
+
+

Return true if point is (0, 0).

+ +
+
+ +
+
+
+template<typename T>
+ + + + + +
+ + + + + + + +
bool Point< T >::isNotZero () const
+
+noexcept
+
+

Return true if point is not (0, 0).

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/classRectangle-members.html b/classRectangle-members.html new file mode 100644 index 00000000..c5259d55 --- /dev/null +++ b/classRectangle-members.html @@ -0,0 +1,137 @@ + + + + + + +DISTRHO Plugin Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + + + + +
+ +
+ +
+
+
+
Rectangle< T > Member List
+
+
+ +

This is the complete list of members for Rectangle< T >, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
contains(const T &x, const T &y) const noexceptRectangle< T >
contains(const Point< T > &pos) const noexceptRectangle< T >
containsX(const T &x) const noexceptRectangle< T >
containsY(const T &y) const noexceptRectangle< T >
draw()Rectangle< T >
drawOutline()Rectangle< T >
getHeight() const noexceptRectangle< T >
getPos() const noexceptRectangle< T >
getSize() const noexceptRectangle< T >
getWidth() const noexceptRectangle< T >
getX() const noexceptRectangle< T >
getY() const noexceptRectangle< T >
growBy(double multiplier) noexceptRectangle< T >
moveBy(const T &x, const T &y) noexceptRectangle< T >
moveBy(const Point< T > &pos) noexceptRectangle< T >
operator!=(const Rectangle< T > &size) const noexcept (defined in Rectangle< T >)Rectangle< T >
operator*=(double m) noexcept (defined in Rectangle< T >)Rectangle< T >
operator/=(double d) noexcept (defined in Rectangle< T >)Rectangle< T >
operator=(const Rectangle< T > &rect) noexcept (defined in Rectangle< T >)Rectangle< T >
operator==(const Rectangle< T > &size) const noexcept (defined in Rectangle< T >)Rectangle< T >
Rectangle() noexceptRectangle< T >
Rectangle(const T &x, const T &y, const T &width, const T &height) noexceptRectangle< T >
Rectangle(const T &x, const T &y, const Size< T > &size) noexceptRectangle< T >
Rectangle(const Point< T > &pos, const T &width, const T &height) noexceptRectangle< T >
Rectangle(const Point< T > &pos, const Size< T > &size) noexceptRectangle< T >
Rectangle(const Rectangle< T > &rect) noexceptRectangle< T >
setHeight(const T &height) noexceptRectangle< T >
setPos(const T &x, const T &y) noexceptRectangle< T >
setPos(const Point< T > &pos) noexceptRectangle< T >
setRectangle(const Point< T > &pos, const Size< T > &size) noexceptRectangle< T >
setRectangle(const Rectangle< T > &rect) noexceptRectangle< T >
setSize(const T &width, const T &height) noexceptRectangle< T >
setSize(const Size< T > &size) noexceptRectangle< T >
setWidth(const T &width) noexceptRectangle< T >
setX(const T &x) noexceptRectangle< T >
setY(const T &y) noexceptRectangle< T >
shrinkBy(double divider) noexceptRectangle< T >
+ + + + diff --git a/classRecursiveMutex-members.html b/classRecursiveMutex-members.html new file mode 100644 index 00000000..d9c8b10c --- /dev/null +++ b/classRecursiveMutex-members.html @@ -0,0 +1,105 @@ + + + + + + +DISTRHO Plugin Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + + + + +
+ +
+ +
+
+
+
RecursiveMutex Member List
+
+
+ +

This is the complete list of members for RecursiveMutex, including all inherited members.

+ + + + + + +
lock() const noexcept (defined in RecursiveMutex)RecursiveMutexinline
RecursiveMutex() noexcept (defined in RecursiveMutex)RecursiveMutexinline
tryLock() const noexcept (defined in RecursiveMutex)RecursiveMutexinline
unlock() const noexcept (defined in RecursiveMutex)RecursiveMutexinline
~RecursiveMutex() noexcept (defined in RecursiveMutex)RecursiveMutexinline
+ + + + diff --git a/classRecursiveMutex.html b/classRecursiveMutex.html new file mode 100644 index 00000000..21d977ba --- /dev/null +++ b/classRecursiveMutex.html @@ -0,0 +1,116 @@ + + + + + + +DISTRHO Plugin Framework: RecursiveMutex Class Reference + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
RecursiveMutex Class Reference
+
+
+ + + + + + + + +

+Public Member Functions

+void lock () const noexcept
 
+bool tryLock () const noexcept
 
+void unlock () const noexcept
 
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/classScopedLocker-members.html b/classScopedLocker-members.html new file mode 100644 index 00000000..66856ec5 --- /dev/null +++ b/classScopedLocker-members.html @@ -0,0 +1,102 @@ + + + + + + +DISTRHO Plugin Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + + + + +
+ +
+ +
+
+
+
ScopedLocker< Mutex > Member List
+
+
+ +

This is the complete list of members for ScopedLocker< Mutex >, including all inherited members.

+ + + +
ScopedLocker(const Mutex &mutex) noexcept (defined in ScopedLocker< Mutex >)ScopedLocker< Mutex >inline
~ScopedLocker() noexcept (defined in ScopedLocker< Mutex >)ScopedLocker< Mutex >inline
+ + + + diff --git a/classScopedLocker.html b/classScopedLocker.html new file mode 100644 index 00000000..c013e971 --- /dev/null +++ b/classScopedLocker.html @@ -0,0 +1,110 @@ + + + + + + +DISTRHO Plugin Framework: ScopedLocker< Mutex > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
ScopedLocker< Mutex > Class Template Reference
+
+
+ + + + +

+Public Member Functions

ScopedLocker (const Mutex &mutex) noexcept
 
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/classScopedPointer-members.html b/classScopedPointer-members.html new file mode 100644 index 00000000..89a416e8 --- /dev/null +++ b/classScopedPointer-members.html @@ -0,0 +1,112 @@ + + + + + + +DISTRHO Plugin Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + + + + +
+ +
+ +
+
+
+
ScopedPointer< ObjectType > Member List
+
+
+ +

This is the complete list of members for ScopedPointer< ObjectType >, including all inherited members.

+ + + + + + + + + + + + + +
get() const noexceptScopedPointer< ObjectType >inline
operator ObjectType *() const noexceptScopedPointer< ObjectType >inline
operator*() const noexceptScopedPointer< ObjectType >inline
operator->() const noexceptScopedPointer< ObjectType >inline
operator=(ScopedPointer &objectToTransferFrom)ScopedPointer< ObjectType >inline
operator=(ObjectType *const newObjectToTakePossessionOf)ScopedPointer< ObjectType >inline
release() noexceptScopedPointer< ObjectType >inline
ScopedPointer() noexceptScopedPointer< ObjectType >inline
ScopedPointer(ObjectType *const objectToTakePossessionOf) noexceptScopedPointer< ObjectType >inline
ScopedPointer(ScopedPointer &objectToTransferFrom) noexceptScopedPointer< ObjectType >inline
swapWith(ScopedPointer< ObjectType > &other) noexceptScopedPointer< ObjectType >inline
~ScopedPointer()ScopedPointer< ObjectType >inline
+ + + + diff --git a/classScopedPointer.html b/classScopedPointer.html new file mode 100644 index 00000000..52b32a30 --- /dev/null +++ b/classScopedPointer.html @@ -0,0 +1,467 @@ + + + + + + +DISTRHO Plugin Framework: ScopedPointer< ObjectType > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
ScopedPointer< ObjectType > Class Template Reference
+
+
+ +

#include <d_scopedpointer.hpp>

+ + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 ScopedPointer () noexcept
 
 ScopedPointer (ObjectType *const objectToTakePossessionOf) noexcept
 
 ScopedPointer (ScopedPointer &objectToTransferFrom) noexcept
 
 ~ScopedPointer ()
 
ScopedPointeroperator= (ScopedPointer &objectToTransferFrom)
 
ScopedPointeroperator= (ObjectType *const newObjectToTakePossessionOf)
 
 operator ObjectType * () const noexcept
 
ObjectType * get () const noexcept
 
ObjectType & operator* () const noexcept
 
ObjectType * operator-> () const noexcept
 
ObjectType * release () noexcept
 
void swapWith (ScopedPointer< ObjectType > &other) noexcept
 
+

Detailed Description

+

template<class ObjectType>
+class ScopedPointer< ObjectType >

+ +

This class holds a pointer which is automatically deleted when this object goes out of scope.

+

Once a pointer has been passed to a ScopedPointer, it will make sure that the pointer gets deleted when the ScopedPointer is deleted. Using the ScopedPointer on the stack or as member variables is a good way to use RAII to avoid accidentally leaking dynamically created objects.

+

A ScopedPointer can be used in pretty much the same way that you'd use a normal pointer to an object. If you use the assignment operator to assign a different object to a ScopedPointer, the old one will be automatically deleted.

+

A const ScopedPointer is guaranteed not to lose ownership of its object or change the object to which it points during its lifetime. This means that making a copy of a const ScopedPointer is impossible, as that would involve the new copy taking ownership from the old one.

+

If you need to get a pointer out of a ScopedPointer without it being deleted, you can use the release() method.

+

Something to note is the main difference between this class and the std::auto_ptr class, which is that ScopedPointer provides a cast-to-object operator, wheras std::auto_ptr requires that you always call get() to retrieve the pointer. The advantages of providing the cast is that you don't need to call get(), so can use the ScopedPointer in pretty much exactly the same way as a raw pointer. The disadvantage is that the compiler is free to use the cast in unexpected and sometimes dangerous ways - in particular, it becomes difficult to return a ScopedPointer as the result of a function. To avoid this causing errors, ScopedPointer contains an overloaded constructor that should cause a syntax error in these circumstances, but it does mean that instead of returning a ScopedPointer from a function, you'd need to return a raw pointer (or use a std::auto_ptr instead).

+

Constructor & Destructor Documentation

+ +
+
+
+template<class ObjectType>
+ + + + + +
+ + + + + + + +
ScopedPointer< ObjectType >::ScopedPointer ()
+
+inlinenoexcept
+
+

Creates a ScopedPointer containing a null pointer.

+ +
+
+ +
+
+
+template<class ObjectType>
+ + + + + +
+ + + + + + + + +
ScopedPointer< ObjectType >::ScopedPointer (ObjectType *const objectToTakePossessionOf)
+
+inlinenoexcept
+
+

Creates a ScopedPointer that owns the specified object.

+ +
+
+ +
+
+
+template<class ObjectType>
+ + + + + +
+ + + + + + + + +
ScopedPointer< ObjectType >::ScopedPointer (ScopedPointer< ObjectType > & objectToTransferFrom)
+
+inlinenoexcept
+
+

Creates a ScopedPointer that takes its pointer from another ScopedPointer.

+

Because a pointer can only belong to one ScopedPointer, this transfers the pointer from the other object to this one, and the other object is reset to be a null pointer.

+ +
+
+ +
+
+
+template<class ObjectType>
+ + + + + +
+ + + + + + + +
ScopedPointer< ObjectType >::~ScopedPointer ()
+
+inline
+
+

Destructor. This will delete the object that this ScopedPointer currently refers to.

+ +
+
+

Member Function Documentation

+ +
+
+
+template<class ObjectType>
+ + + + + +
+ + + + + + + + +
ScopedPointer& ScopedPointer< ObjectType >::operator= (ScopedPointer< ObjectType > & objectToTransferFrom)
+
+inline
+
+

Changes this ScopedPointer to point to a new object.

+

Because a pointer can only belong to one ScopedPointer, this transfers the pointer from the other object to this one, and the other object is reset to be a null pointer.

+

If this ScopedPointer already points to an object, that object will first be deleted.

+ +
+
+ +
+
+
+template<class ObjectType>
+ + + + + +
+ + + + + + + + +
ScopedPointer& ScopedPointer< ObjectType >::operator= (ObjectType *const newObjectToTakePossessionOf)
+
+inline
+
+

Changes this ScopedPointer to point to a new object.

+

If this ScopedPointer already points to an object, that object will first be deleted.

+

The pointer that you pass in may be a nullptr.

+ +
+
+ +
+
+
+template<class ObjectType>
+ + + + + +
+ + + + + + + +
ScopedPointer< ObjectType >::operator ObjectType * () const
+
+inlinenoexcept
+
+

Returns the object that this ScopedPointer refers to.

+ +
+
+ +
+
+
+template<class ObjectType>
+ + + + + +
+ + + + + + + +
ObjectType* ScopedPointer< ObjectType >::get () const
+
+inlinenoexcept
+
+

Returns the object that this ScopedPointer refers to.

+ +
+
+ +
+
+
+template<class ObjectType>
+ + + + + +
+ + + + + + + +
ObjectType& ScopedPointer< ObjectType >::operator* () const
+
+inlinenoexcept
+
+

Returns the object that this ScopedPointer refers to.

+ +
+
+ +
+
+
+template<class ObjectType>
+ + + + + +
+ + + + + + + +
ObjectType* ScopedPointer< ObjectType >::operator-> () const
+
+inlinenoexcept
+
+

Lets you access methods and properties of the object that this ScopedPointer refers to.

+ +
+
+ +
+
+
+template<class ObjectType>
+ + + + + +
+ + + + + + + +
ObjectType* ScopedPointer< ObjectType >::release ()
+
+inlinenoexcept
+
+

Removes the current object from this ScopedPointer without deleting it. This will return the current object, and set the ScopedPointer to a null pointer.

+ +
+
+ +
+
+
+template<class ObjectType>
+ + + + + +
+ + + + + + + + +
void ScopedPointer< ObjectType >::swapWith (ScopedPointer< ObjectType > & other)
+
+inlinenoexcept
+
+

Swaps this object with that of another ScopedPointer. The two objects simply exchange their pointers.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/classScopedUnlocker-members.html b/classScopedUnlocker-members.html new file mode 100644 index 00000000..c01197cb --- /dev/null +++ b/classScopedUnlocker-members.html @@ -0,0 +1,102 @@ + + + + + + +DISTRHO Plugin Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + + + + +
+ +
+ +
+
+
+
ScopedUnlocker< Mutex > Member List
+
+
+ +

This is the complete list of members for ScopedUnlocker< Mutex >, including all inherited members.

+ + + +
ScopedUnlocker(const Mutex &mutex) noexcept (defined in ScopedUnlocker< Mutex >)ScopedUnlocker< Mutex >inline
~ScopedUnlocker() noexcept (defined in ScopedUnlocker< Mutex >)ScopedUnlocker< Mutex >inline
+ + + + diff --git a/classScopedUnlocker.html b/classScopedUnlocker.html new file mode 100644 index 00000000..df93274c --- /dev/null +++ b/classScopedUnlocker.html @@ -0,0 +1,110 @@ + + + + + + +DISTRHO Plugin Framework: ScopedUnlocker< Mutex > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
ScopedUnlocker< Mutex > Class Template Reference
+
+
+ + + + +

+Public Member Functions

ScopedUnlocker (const Mutex &mutex) noexcept
 
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/classSize-members.html b/classSize-members.html new file mode 100644 index 00000000..4ffc3499 --- /dev/null +++ b/classSize-members.html @@ -0,0 +1,125 @@ + + + + + + +DISTRHO Plugin Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + + + + +
+ +
+ +
+
+
+
Size< T > Member List
+
+
+ +

This is the complete list of members for Size< T >, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
getHeight() const noexceptSize< T >
getWidth() const noexceptSize< T >
growBy(double multiplier) noexceptSize< T >
isInvalid() const noexceptSize< T >
isNotNull() const noexceptSize< T >
isNull() const noexceptSize< T >
isValid() const noexceptSize< T >
operator!=(const Size< T > &size) const noexcept (defined in Size< T >)Size< T >
operator*=(double m) noexcept (defined in Size< T >)Size< T >
operator+(const Size< T > &size) noexcept (defined in Size< T >)Size< T >
operator+=(const Size< T > &size) noexcept (defined in Size< T >)Size< T >
operator-(const Size< T > &size) noexcept (defined in Size< T >)Size< T >
operator-=(const Size< T > &size) noexcept (defined in Size< T >)Size< T >
operator/=(double d) noexcept (defined in Size< T >)Size< T >
operator=(const Size< T > &size) noexcept (defined in Size< T >)Size< T >
operator==(const Size< T > &size) const noexcept (defined in Size< T >)Size< T >
Rectangle (defined in Size< T >)Size< T >friend
setHeight(const T &height) noexceptSize< T >
setSize(const T &width, const T &height) noexceptSize< T >
setSize(const Size< T > &size) noexceptSize< T >
setWidth(const T &width) noexceptSize< T >
shrinkBy(double divider) noexceptSize< T >
Size() noexceptSize< T >
Size(const T &width, const T &height) noexceptSize< T >
Size(const Size< T > &size) noexceptSize< T >
+ + + + diff --git a/classSize.html b/classSize.html new file mode 100644 index 00000000..83320419 --- /dev/null +++ b/classSize.html @@ -0,0 +1,600 @@ + + + + + + +DISTRHO Plugin Framework: Size< T > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
Size< T > Class Template Reference
+
+
+ +

#include <Geometry.hpp>

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 Size () noexcept
 
 Size (const T &width, const T &height) noexcept
 
 Size (const Size< T > &size) noexcept
 
const T & getWidth () const noexcept
 
const T & getHeight () const noexcept
 
void setWidth (const T &width) noexcept
 
void setHeight (const T &height) noexcept
 
void setSize (const T &width, const T &height) noexcept
 
void setSize (const Size< T > &size) noexcept
 
void growBy (double multiplier) noexcept
 
void shrinkBy (double divider) noexcept
 
bool isNull () const noexcept
 
bool isNotNull () const noexcept
 
bool isValid () const noexcept
 
bool isInvalid () const noexcept
 
+Size< T > operator+ (const Size< T > &size) noexcept
 
+Size< T > operator- (const Size< T > &size) noexcept
 
+Size< T > & operator= (const Size< T > &size) noexcept
 
+Size< T > & operator+= (const Size< T > &size) noexcept
 
+Size< T > & operator-= (const Size< T > &size) noexcept
 
+Size< T > & operator*= (double m) noexcept
 
+Size< T > & operator/= (double d) noexcept
 
+bool operator== (const Size< T > &size) const noexcept
 
+bool operator!= (const Size< T > &size) const noexcept
 
+ + + + +

+Friends

+template<typename >
class Rectangle
 
+

Detailed Description

+

template<typename T>
+class Size< T >

+ +

DGL Size class.

+

This class describes a size, defined by a width and height value.

+

Constructor & Destructor Documentation

+ +
+
+
+template<typename T>
+ + + + + +
+ + + + + + + +
Size< T >::Size ()
+
+noexcept
+
+

Constructor for null size (0x0).

+ +
+
+ +
+
+
+template<typename T>
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
Size< T >::Size (const T & width,
const T & height 
)
+
+noexcept
+
+

Constructor using custom width and height values.

+ +
+
+ +
+
+
+template<typename T>
+ + + + + +
+ + + + + + + + +
Size< T >::Size (const Size< T > & size)
+
+noexcept
+
+

Constructor using another Size class values.

+ +
+
+

Member Function Documentation

+ +
+
+
+template<typename T>
+ + + + + +
+ + + + + + + +
const T& Size< T >::getWidth () const
+
+noexcept
+
+

Get width.

+ +
+
+ +
+
+
+template<typename T>
+ + + + + +
+ + + + + + + +
const T& Size< T >::getHeight () const
+
+noexcept
+
+

Get height.

+ +
+
+ +
+
+
+template<typename T>
+ + + + + +
+ + + + + + + + +
void Size< T >::setWidth (const T & width)
+
+noexcept
+
+

Set width.

+ +
+
+ +
+
+
+template<typename T>
+ + + + + +
+ + + + + + + + +
void Size< T >::setHeight (const T & height)
+
+noexcept
+
+

Set height.

+ +
+
+ +
+
+
+template<typename T>
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void Size< T >::setSize (const T & width,
const T & height 
)
+
+noexcept
+
+

Set size to width and height.

+ +
+
+ +
+
+
+template<typename T>
+ + + + + +
+ + + + + + + + +
void Size< T >::setSize (const Size< T > & size)
+
+noexcept
+
+

Set size.

+ +
+
+ +
+
+
+template<typename T>
+ + + + + +
+ + + + + + + + +
void Size< T >::growBy (double multiplier)
+
+noexcept
+
+

Grow size by multiplier.

+ +
+
+ +
+
+
+template<typename T>
+ + + + + +
+ + + + + + + + +
void Size< T >::shrinkBy (double divider)
+
+noexcept
+
+

Shrink size by divider.

+ +
+
+ +
+
+
+template<typename T>
+ + + + + +
+ + + + + + + +
bool Size< T >::isNull () const
+
+noexcept
+
+

Return true if size is null (0x0). An null size is also invalid.

+ +
+
+ +
+
+
+template<typename T>
+ + + + + +
+ + + + + + + +
bool Size< T >::isNotNull () const
+
+noexcept
+
+

Return true if size is not null (0x0). A non-null size is still invalid if its width or height is negative.

+ +
+
+ +
+
+
+template<typename T>
+ + + + + +
+ + + + + + + +
bool Size< T >::isValid () const
+
+noexcept
+
+

Return true if size is valid (width and height are higher than zero).

+ +
+
+ +
+
+
+template<typename T>
+ + + + + +
+ + + + + + + +
bool Size< T >::isInvalid () const
+
+noexcept
+
+

Return true if size is invalid (width or height are lower or equal to zero). An invalid size might not be null under some circumstances.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/classStandaloneWindow-members.html b/classStandaloneWindow-members.html new file mode 100644 index 00000000..ba642d40 --- /dev/null +++ b/classStandaloneWindow-members.html @@ -0,0 +1,139 @@ + + + + + + +DISTRHO Plugin Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + + + + +
+ +
+ +
+
+
+
StandaloneWindow Member List
+
+
+ +

This is the complete list of members for StandaloneWindow, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
addIdleCallback(IdleCallback *const callback) (defined in Window)Window
App::App()App
close() (defined in Window)Window
exec() (defined in StandaloneWindow)StandaloneWindowinline
exec(bool lockWait=false) (defined in Window)Window
fileBrowserSelected(const char *filename) (defined in Window)Windowprotectedvirtual
focus() (defined in Window)Window
getApp() const noexcept (defined in Window)Window
getHeight() const noexcept (defined in Window)Window
getSize() const noexcept (defined in Window)Window
getTitle() const noexcept (defined in Window)Window
getWidth() const noexcept (defined in Window)Window
getWindowId() const noexcept (defined in Window)Window
hide() (defined in Window)Window
idle()App
isQuiting() const noexceptApp
isResizable() const noexcept (defined in Window)Window
isVisible() const noexcept (defined in Window)Window
onClose() (defined in Window)Windowprotectedvirtual
onDisplayAfter() (defined in Window)Windowprotectedvirtual
onDisplayBefore() (defined in Window)Windowprotectedvirtual
onReshape(uint width, uint height) override (defined in StandaloneWindow)StandaloneWindowinlineprotectedvirtual
openFileBrowser(const FileBrowserOptions &options) (defined in Window)Window
quit()App
removeIdleCallback(IdleCallback *const callback) (defined in Window)Window
repaint() noexcept (defined in Window)Window
setResizable(bool yesNo) (defined in Window)Window
setSize(uint width, uint height) (defined in Window)Window
setSize(Size< uint > size) (defined in Window)Window
setTitle(const char *title) (defined in Window)Window
setTransientWinId(uintptr_t winId) (defined in Window)Window
setVisible(bool yesNo) (defined in Window)Window
show() (defined in Window)Window
StandaloneWindow() (defined in StandaloneWindow)StandaloneWindowinline
Window(App &app) (defined in Window)Windowexplicit
Window(App &app, Window &parent) (defined in Window)Windowexplicit
Window(App &app, intptr_t parentId) (defined in Window)Windowexplicit
~App()App
~Window() (defined in Window)Windowvirtual
+ + + + diff --git a/classStandaloneWindow.html b/classStandaloneWindow.html new file mode 100644 index 00000000..e4079228 --- /dev/null +++ b/classStandaloneWindow.html @@ -0,0 +1,232 @@ + + + + + + +DISTRHO Plugin Framework: StandaloneWindow Class Reference + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
StandaloneWindow Class Reference
+
+
+
+Inheritance diagram for StandaloneWindow:
+
+
+ + +App +Window + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

+void exec ()
 
- Public Member Functions inherited from App
 App ()
 
 ~App ()
 
void idle ()
 
void exec ()
 
void quit ()
 
bool isQuiting () const noexcept
 
- Public Member Functions inherited from Window
Window (App &app)
 
Window (App &app, Window &parent)
 
Window (App &app, intptr_t parentId)
 
+void show ()
 
+void hide ()
 
+void close ()
 
+void exec (bool lockWait=false)
 
+void focus ()
 
+void repaint () noexcept
 
+bool openFileBrowser (const FileBrowserOptions &options)
 
+bool isVisible () const noexcept
 
+void setVisible (bool yesNo)
 
+bool isResizable () const noexcept
 
+void setResizable (bool yesNo)
 
+uint getWidth () const noexcept
 
+uint getHeight () const noexcept
 
+Size< uint > getSize () const noexcept
 
+void setSize (uint width, uint height)
 
+void setSize (Size< uint > size)
 
+const char * getTitle () const noexcept
 
+void setTitle (const char *title)
 
+void setTransientWinId (uintptr_t winId)
 
+AppgetApp () const noexcept
 
+intptr_t getWindowId () const noexcept
 
+void addIdleCallback (IdleCallback *const callback)
 
+void removeIdleCallback (IdleCallback *const callback)
 
+ + + + + + + + + + + + +

+Protected Member Functions

+void onReshape (uint width, uint height) override
 
- Protected Member Functions inherited from Window
+virtual void onDisplayBefore ()
 
+virtual void onDisplayAfter ()
 
+virtual void onClose ()
 
+virtual void fileBrowserSelected (const char *filename)
 
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/classStandaloneWindow.png b/classStandaloneWindow.png new file mode 100644 index 00000000..b7fc5ef8 Binary files /dev/null and b/classStandaloneWindow.png differ diff --git a/classThread-members.html b/classThread-members.html new file mode 100644 index 00000000..beeb5b87 --- /dev/null +++ b/classThread-members.html @@ -0,0 +1,110 @@ + + + + + + +DISTRHO Plugin Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + + + + +
+ +
+ +
+
+
+
Thread Member List
+
+
+ +

This is the complete list of members for Thread, including all inherited members.

+ + + + + + + + + + + +
getThreadName() const noexcept (defined in Thread)Threadinline
isThreadRunning() const noexcept (defined in Thread)Threadinline
run()=0 (defined in Thread)Threadprotectedpure virtual
setCurrentThreadName(const char *const name) noexcept (defined in Thread)Threadinlinestatic
shouldThreadExit() const noexcept (defined in Thread)Threadinline
signalThreadShouldExit() noexcept (defined in Thread)Threadinline
startThread() noexcept (defined in Thread)Threadinline
stopThread(const int timeOutMilliseconds) noexcept (defined in Thread)Threadinline
Thread(const char *const threadName=nullptr) noexcept (defined in Thread)Threadinlineprotected
~Thread() (defined in Thread)Threadinlineprotectedvirtual
+ + + + diff --git a/classThread.html b/classThread.html new file mode 100644 index 00000000..4fd2b086 --- /dev/null +++ b/classThread.html @@ -0,0 +1,142 @@ + + + + + + +DISTRHO Plugin Framework: Thread Class Reference + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + + + + +
+ +
+ +
+ +
+ + + + + + + + + + + + + + +

+Public Member Functions

+bool isThreadRunning () const noexcept
 
+bool shouldThreadExit () const noexcept
 
+bool startThread () noexcept
 
+bool stopThread (const int timeOutMilliseconds) noexcept
 
+void signalThreadShouldExit () noexcept
 
+const d_stringgetThreadName () const noexcept
 
+ + + +

+Static Public Member Functions

+static void setCurrentThreadName (const char *const name) noexcept
 
+ + + + + +

+Protected Member Functions

Thread (const char *const threadName=nullptr) noexcept
 
+virtual void run ()=0
 
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/classTriangle-members.html b/classTriangle-members.html new file mode 100644 index 00000000..40823b0e --- /dev/null +++ b/classTriangle-members.html @@ -0,0 +1,113 @@ + + + + + + +DISTRHO Plugin Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + + + + +
+ +
+ +
+
+
+
Triangle< T > Member List
+
+
+ +

This is the complete list of members for Triangle< T >, including all inherited members.

+ + + + + + + + + + + + + + +
draw()Triangle< T >
drawOutline()Triangle< T >
isInvalid() const noexceptTriangle< T >
isNotNull() const noexceptTriangle< T >
isNull() const noexceptTriangle< T >
isValid() const noexceptTriangle< T >
operator!=(const Triangle< T > &tri) const noexcept (defined in Triangle< T >)Triangle< T >
operator=(const Triangle< T > &tri) noexcept (defined in Triangle< T >)Triangle< T >
operator==(const Triangle< T > &tri) const noexcept (defined in Triangle< T >)Triangle< T >
Triangle() noexceptTriangle< T >
Triangle(const T &x1, const T &y1, const T &x2, const T &y2, const T &x3, const T &y3) noexceptTriangle< T >
Triangle(const Point< T > &pos1, const Point< T > &pos2, const Point< T > &pos3) noexceptTriangle< T >
Triangle(const Triangle< T > &tri) noexceptTriangle< T >
+ + + + diff --git a/classUI-members.html b/classUI-members.html index edd19de6..9023ecf7 100644 --- a/classUI-members.html +++ b/classUI-members.html @@ -89,28 +89,28 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');

This is the complete list of members for UI, including all inherited members.

- - - - - - - - - - - - - + + + - - - + + + + + + + + + + + + +
d_editParameter(const uint32_t index, const bool started)UI
d_getPluginInstancePointer() const noexceptUI
d_getSampleRate() const noexceptUI
d_parameterChanged(uint32_t index, float value)=0UIprotectedpure virtual
d_programChanged(uint32_t index)=0UIprotectedpure virtual
d_sampleRateChanged(double newSampleRate)UIprotectedvirtual
d_sendNote(const uint8_t channel, const uint8_t note, const uint8_t velocity)UI
d_setParameterValue(const uint32_t index, const float value)UI
d_setState(const char *const key, const char *const value)UI
d_stateChanged(const char *key, const char *value)=0UIprotectedpure virtual
d_uiFileBrowserSelected(const char *filename)UIprotectedvirtual
d_uiIdle()UIinlineprotectedvirtual
d_uiReshape(uint width, uint height)UIprotectedvirtual
editParameter(const uint32_t index, const bool started)UI
getPluginInstancePointer() const noexceptUI
getSampleRate() const noexceptUI
onResize(const ResizeEvent &ev) overrideUIprotected
UI(uint width=0, uint height=0)UI
UIExporter (defined in UI)UIfriend
UIExporterWindow (defined in UI)UIfriend
parameterChanged(uint32_t index, float value)=0UIprotectedpure virtual
programChanged(uint32_t index)=0UIprotectedpure virtual
sampleRateChanged(double newSampleRate)UIprotectedvirtual
sendNote(const uint8_t channel, const uint8_t note, const uint8_t velocity)UI
setParameterValue(const uint32_t index, const float value)UI
setState(const char *const key, const char *const value)UI
stateChanged(const char *key, const char *value)=0UIprotectedpure virtual
UI(uint width=0, uint height=0)UI
UIExporter (defined in UI)UIfriend
UIExporterWindow (defined in UI)UIfriend
uiFileBrowserSelected(const char *filename)UIprotectedvirtual
uiIdle()UIinlineprotectedvirtual
uiReshape(uint width, uint height)UIprotectedvirtual
~UI()UIvirtual
diff --git a/classUI.html b/classUI.html index 0874f3a5..cc2d931c 100644 --- a/classUI.html +++ b/classUI.html @@ -88,7 +88,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); Friends | List of all members
-
UI Class Referenceabstract
+
UI Class Referenceabstract
@@ -108,35 +108,35 @@ Public Member Functions
 
virtual ~UI ()
 
double d_getSampleRate () const noexcept
 
void d_editParameter (const uint32_t index, const bool started)
 
void d_setParameterValue (const uint32_t index, const float value)
 
void d_setState (const char *const key, const char *const value)
 
void d_sendNote (const uint8_t channel, const uint8_t note, const uint8_t velocity)
 
void * d_getPluginInstancePointer () const noexcept
 
double getSampleRate () const noexcept
 
void editParameter (const uint32_t index, const bool started)
 
void setParameterValue (const uint32_t index, const float value)
 
void setState (const char *const key, const char *const value)
 
void sendNote (const uint8_t channel, const uint8_t note, const uint8_t velocity)
 
void * getPluginInstancePointer () const noexcept
 
- - - - - - - - - - - - - - + + + + + + + + + + + + + +

Protected Member Functions

virtual void d_parameterChanged (uint32_t index, float value)=0
 
virtual void d_programChanged (uint32_t index)=0
 
virtual void d_stateChanged (const char *key, const char *value)=0
 
virtual void d_sampleRateChanged (double newSampleRate)
 
virtual void d_uiIdle ()
 
virtual void d_uiFileBrowserSelected (const char *filename)
 
virtual void d_uiReshape (uint width, uint height)
 
virtual void parameterChanged (uint32_t index, float value)=0
 
virtual void programChanged (uint32_t index)=0
 
virtual void stateChanged (const char *key, const char *value)=0
 
virtual void sampleRateChanged (double newSampleRate)
 
virtual void uiIdle ()
 
virtual void uiFileBrowserSelected (const char *filename)
 
virtual void uiReshape (uint width, uint height)
 
void onResize (const ResizeEvent &ev) override
 
@@ -206,7 +206,7 @@ class  diff --git a/structParameterRanges-members.html b/structParameterRanges-members.html index 47eaa3ee..9be572cb 100644 --- a/structParameterRanges-members.html +++ b/structParameterRanges-members.html @@ -103,7 +103,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
UIExporterWindow

Member Function Documentation

- +
@@ -214,7 +214,7 @@ class  - +
UIExporterWindow - + @@ -226,16 +226,16 @@ class 
double UI::d_getSampleRate double UI::getSampleRate ( ) constUIExporterWindow
-

Get the current sample rate used in plugin processing.

See also
d_sampleRateChanged(double)
+

Get the current sample rate used in plugin processing.

See also
sampleRateChanged(double)
- +
- + @@ -257,12 +257,12 @@ class  - +
void UI::d_editParameter void UI::editParameter ( const uint32_t  index, UIExporterWindow - +
- + @@ -284,12 +284,12 @@ class  - +
void UI::d_setParameterValue void UI::setParameterValue ( const uint32_t  index, UIExporterWindow - +
- + @@ -311,12 +311,12 @@ class  Public Attributes - - - - - - + + + + + +
void UI::d_setState void UI::setState ( const char *const  key, UIExporterWindow - +
- + @@ -344,7 +344,7 @@ class  diff --git a/structNanoVG_1_1GlyphPosition-members.html b/structNanoVG_1_1GlyphPosition-members.html new file mode 100644 index 00000000..b30667ab --- /dev/null +++ b/structNanoVG_1_1GlyphPosition-members.html @@ -0,0 +1,108 @@ + + + + + + +DISTRHO Plugin Framework: Member List + + + + + + + + + +
+
+
void UI::d_sendNote void UI::sendNote ( const uint8_t  channel, UIExporterWindow - +
@@ -352,7 +352,7 @@ class 
UIExporterWindow - + @@ -368,7 +368,7 @@ class 
void* UI::d_getPluginInstancePointer void* UI::getPluginInstancePointer ( ) constUIExporterWindow - +
@@ -376,7 +376,7 @@ class  diff --git a/structColor-members.html b/structColor-members.html new file mode 100644 index 00000000..d013b7e5 --- /dev/null +++ b/structColor-members.html @@ -0,0 +1,121 @@ + + + + + + +DISTRHO Plugin Framework: Member List + + + + + + + + + +
+
+
UIExporterWindow - + @@ -403,7 +403,7 @@ class  - +
virtual void UI::d_parameterChanged virtual void UI::parameterChanged ( uint32_t  index, UIExporterWindow - +
@@ -411,7 +411,7 @@ class  - +
UIExporterWindow - + @@ -428,7 +428,7 @@ class  Public Attributes - - - - + + + +
virtual void UI::d_programChanged virtual void UI::programChanged ( uint32_t  index)UIExporterWindow - +
@@ -436,7 +436,7 @@ class  - + + +
UIExporterWindow - + @@ -463,7 +463,7 @@ class 
virtual void UI::d_stateChanged virtual void UI::stateChanged ( const char *  key, UIExporterWindow - +
@@ -471,7 +471,7 @@ class  Depending on which macros you enable, new functions will be available to call and/or override.

All values are either integer or strings.
For boolean-like values 1 means 'on' and 0 means 'off'.

-

The values defined in this file are for documentation purposes only.
+

The values defined in this group are for documentation purposes only.
All macros are disabled by default.

Only 4 macros are required, they are:

UIExporterWindow - + @@ -484,11 +484,11 @@ class 
virtual void UI::d_sampleRateChanged virtual void UI::sampleRateChanged ( double  newSampleRate)UIExporterWindow
-

Optional callback to inform the UI about a sample rate change on the plugin side.

See also
d_getSampleRate()
+

Optional callback to inform the UI about a sample rate change on the plugin side.

See also
getSampleRate()
- +
@@ -496,7 +496,7 @@ class 
UIExporterWindow - + @@ -512,7 +512,7 @@ class 
virtual void UI::d_uiIdle virtual void UI::uiIdle ( ) UIExporterWindow - +
@@ -520,7 +520,7 @@ class  - -
UIExporterWindow - + @@ -537,7 +537,7 @@ class  diff --git a/group__EntryPoints.html b/group__EntryPoints.html new file mode 100644 index 00000000..160cea48 --- /dev/null +++ b/group__EntryPoints.html @@ -0,0 +1,133 @@ + + + + + + +DISTRHO Plugin Framework: Entry Points + + + + + + + + + +
+
+
virtual void UI::d_uiFileBrowserSelected virtual void UI::uiFileBrowserSelected ( const char *  filename)UIExporterWindow - +
@@ -545,7 +545,7 @@ class  diff --git a/group__BasePluginStructs.html b/group__BasePluginStructs.html new file mode 100644 index 00000000..3848b95d --- /dev/null +++ b/group__BasePluginStructs.html @@ -0,0 +1,108 @@ + + + + + + +DISTRHO Plugin Framework: Base Plugin Structs + + + + + + + + + +
+
+
UIExporterWindow - + @@ -593,7 +593,7 @@ class 
virtual void UI::d_uiReshape virtual void UI::uiReshape ( uint  width, UIExporterWindow
-

OpenGL widget resize function, called when the widget is resized. This is overriden here so the host knows when the UI is resized by you.

See also
Widget::onResize(const ResizeEvent&)
+

OpenGL widget resize function, called when the widget is resized. This is overriden here so the host knows when the UI is resized by you.

See also
Widget::onResize(const ResizeEvent&)
@@ -603,7 +603,7 @@ class 
UIExporterWindow diff --git a/classWidget-members.html b/classWidget-members.html new file mode 100644 index 00000000..5b49e8e6 --- /dev/null +++ b/classWidget-members.html @@ -0,0 +1,138 @@ + + + + + + +DISTRHO Plugin Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + + + + +
+ +
+ +
+
+
+
Widget Member List
+
+
+ +

This is the complete list of members for Widget, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
contains(int x, int y) const noexceptWidget
contains(const Point< int > &pos) const noexceptWidget
getAbsolutePos() const noexceptWidget
getAbsoluteX() const noexceptWidget
getAbsoluteY() const noexceptWidget
getHeight() const noexceptWidget
getId() const noexceptWidget
getParentApp() const noexceptWidget
getParentWindow() const noexceptWidget
getSize() const noexceptWidget
getWidth() const noexceptWidget
hide()Widget
isVisible() const noexceptWidget
onDisplay()=0Widgetprotectedpure virtual
onKeyboard(const KeyboardEvent &)Widgetprotectedvirtual
onMotion(const MotionEvent &)Widgetprotectedvirtual
onMouse(const MouseEvent &)Widgetprotectedvirtual
onResize(const ResizeEvent &)Widgetprotectedvirtual
onScroll(const ScrollEvent &)Widgetprotectedvirtual
onSpecial(const SpecialEvent &)Widgetprotectedvirtual
repaint() noexceptWidget
setAbsolutePos(int x, int y) noexceptWidget
setAbsolutePos(const Point< int > &pos) noexceptWidget
setAbsoluteX(int x) noexceptWidget
setAbsoluteY(int y) noexceptWidget
setHeight(uint height) noexceptWidget
setId(uint id) noexceptWidget
setNeedsFullViewport(bool yesNo) noexceptWidgetprotected
setNeedsScaling(bool yesNo) noexceptWidgetprotected
setSize(uint width, uint height) noexceptWidget
setSize(const Size< uint > &size) noexceptWidget
setVisible(bool yesNo)Widget
setWidth(uint width) noexceptWidget
show()Widget
StandaloneWindow (defined in Widget)Widgetfriend
Widget(Window &parent)Widgetexplicit
Window (defined in Widget)Widgetfriend
~Widget()Widgetvirtual
+ + + + diff --git a/classWidget.html b/classWidget.html new file mode 100644 index 00000000..596a2c78 --- /dev/null +++ b/classWidget.html @@ -0,0 +1,1137 @@ + + + + + + +DISTRHO Plugin Framework: Widget Class Reference + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
Widget Class Referenceabstract
+
+
+ +

#include <Widget.hpp>

+
+Inheritance diagram for Widget:
+
+
+ + +ImageAboutWindow +ImageButton +ImageKnob +ImageSlider +ImageSwitch +NanoWidget + +
+ + + + + + + + + + + + + + + + +

+Classes

struct  BaseEvent
 
struct  KeyboardEvent
 
struct  MotionEvent
 
struct  MouseEvent
 
struct  ResizeEvent
 
struct  ScrollEvent
 
struct  SpecialEvent
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 Widget (Window &parent)
 
virtual ~Widget ()
 
bool isVisible () const noexcept
 
void setVisible (bool yesNo)
 
void show ()
 
void hide ()
 
uint getWidth () const noexcept
 
uint getHeight () const noexcept
 
const Size< uint > & getSize () const noexcept
 
void setWidth (uint width) noexcept
 
void setHeight (uint height) noexcept
 
void setSize (uint width, uint height) noexcept
 
void setSize (const Size< uint > &size) noexcept
 
int getAbsoluteX () const noexcept
 
int getAbsoluteY () const noexcept
 
const Point< int > & getAbsolutePos () const noexcept
 
void setAbsoluteX (int x) noexcept
 
void setAbsoluteY (int y) noexcept
 
void setAbsolutePos (int x, int y) noexcept
 
void setAbsolutePos (const Point< int > &pos) noexcept
 
AppgetParentApp () const noexcept
 
WindowgetParentWindow () const noexcept
 
bool contains (int x, int y) const noexcept
 
bool contains (const Point< int > &pos) const noexcept
 
void repaint () noexcept
 
uint getId () const noexcept
 
void setId (uint id) noexcept
 
+ + + + + + + + + + + + + + + + + + + +

+Protected Member Functions

virtual void onDisplay ()=0
 
virtual bool onKeyboard (const KeyboardEvent &)
 
virtual bool onSpecial (const SpecialEvent &)
 
virtual bool onMouse (const MouseEvent &)
 
virtual bool onMotion (const MotionEvent &)
 
virtual bool onScroll (const ScrollEvent &)
 
virtual void onResize (const ResizeEvent &)
 
void setNeedsFullViewport (bool yesNo) noexcept
 
void setNeedsScaling (bool yesNo) noexcept
 
+ + + + + +

+Friends

+class Window
 
+class StandaloneWindow
 
+

Detailed Description

+

Base DGL Widget class.

+

This is the base Widget class, from which all widgets are built.

+

All widgets have a parent Window where they'll be drawn. This parent is never changed during the widget lifetime.

+

Widgets receive events in relative coordinates. (0, 0) means its top-left position.

+

Windows paint widgets in the order they are constructed. Early widgets are drawn first, at the bottom, then newer ones on top. Events are sent in the inverse order so that the top-most widget gets a chance to catch the event and stop its propagation.

+

All widget event callbacks do nothing by default.

+

Constructor & Destructor Documentation

+ +
+
+ + + + + +
+ + + + + + + + +
Widget::Widget (Windowparent)
+
+explicit
+
+

Constructor.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
virtual Widget::~Widget ()
+
+virtual
+
+

Destructor.

+ +
+
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + +
bool Widget::isVisible () const
+
+noexcept
+
+

Check if this widget is visible within its parent window. Invisible widgets do not receive events except resize.

+ +
+
+ +
+
+ + + + + + + + +
void Widget::setVisible (bool yesNo)
+
+

Set widget visible (or not) according to yesNo.

+ +
+
+ +
+
+ + + + + + + +
void Widget::show ()
+
+

Show widget. This is the same as calling setVisible(true).

+ +
+
+ +
+
+ + + + + + + +
void Widget::hide ()
+
+

Hide widget. This is the same as calling setVisible(false).

+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
uint Widget::getWidth () const
+
+noexcept
+
+

Get width.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
uint Widget::getHeight () const
+
+noexcept
+
+

Get height.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
const Size<uint>& Widget::getSize () const
+
+noexcept
+
+

Get size.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
void Widget::setWidth (uint width)
+
+noexcept
+
+

Set width.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
void Widget::setHeight (uint height)
+
+noexcept
+
+

Set height.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void Widget::setSize (uint width,
uint height 
)
+
+noexcept
+
+

Set size using width and height values.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
void Widget::setSize (const Size< uint > & size)
+
+noexcept
+
+

Set size.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
int Widget::getAbsoluteX () const
+
+noexcept
+
+

Get absolute X.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
int Widget::getAbsoluteY () const
+
+noexcept
+
+

Get absolute Y.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
const Point<int>& Widget::getAbsolutePos () const
+
+noexcept
+
+

Get absolute position.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
void Widget::setAbsoluteX (int x)
+
+noexcept
+
+

Set absolute X.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
void Widget::setAbsoluteY (int y)
+
+noexcept
+
+

Set absolute Y.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void Widget::setAbsolutePos (int x,
int y 
)
+
+noexcept
+
+

Set absolute position using x and y values.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
void Widget::setAbsolutePos (const Point< int > & pos)
+
+noexcept
+
+

Set absolute position.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
App& Widget::getParentApp () const
+
+noexcept
+
+

Get this widget's window application. Same as calling getParentWindow().getApp().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
Window& Widget::getParentWindow () const
+
+noexcept
+
+

Get parent window, as passed in the constructor.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool Widget::contains (int x,
int y 
) const
+
+noexcept
+
+

Check if this widget contains the point defined by x and y.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
bool Widget::contains (const Point< int > & pos) const
+
+noexcept
+
+

Check if this widget contains the point pos.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
void Widget::repaint ()
+
+noexcept
+
+

Tell this widget's window to repaint itself.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
uint Widget::getId () const
+
+noexcept
+
+

Get the Id associated with this widget.

See also
setId
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
void Widget::setId (uint id)
+
+noexcept
+
+

Set an Id to be associated with this widget.

See also
getId
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
virtual void Widget::onDisplay ()
+
+protectedpure virtual
+
+

A function called to draw the view contents with OpenGL.

+ +

Implemented in ImageKnob, ImageSlider, ImageSwitch, ImageButton, and ImageAboutWindow.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
virtual bool Widget::onKeyboard (const KeyboardEvent)
+
+protectedvirtual
+
+

A function called when a key is pressed or released.

Returns
True to stop event propagation, false otherwise.
+ +

Reimplemented in ImageAboutWindow.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
virtual bool Widget::onSpecial (const SpecialEvent)
+
+protectedvirtual
+
+

A function called when a special key is pressed or released.

Returns
True to stop event propagation, false otherwise.
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
virtual bool Widget::onMouse (const MouseEvent)
+
+protectedvirtual
+
+

A function called when a mouse button is pressed or released.

Returns
True to stop event propagation, false otherwise.
+ +

Reimplemented in ImageKnob, ImageSlider, ImageSwitch, ImageButton, and ImageAboutWindow.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
virtual bool Widget::onMotion (const MotionEvent)
+
+protectedvirtual
+
+

A function called when the pointer moves.

Returns
True to stop event propagation, false otherwise.
+ +

Reimplemented in ImageKnob, ImageSlider, and ImageButton.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
virtual bool Widget::onScroll (const ScrollEvent)
+
+protectedvirtual
+
+

A function called on scrolling (e.g. mouse wheel or track pad).

Returns
True to stop event propagation, false otherwise.
+ +

Reimplemented in ImageKnob.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
virtual void Widget::onResize (const ResizeEvent)
+
+protectedvirtual
+
+

A function called when the widget is resized.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
void Widget::setNeedsFullViewport (bool yesNo)
+
+protectednoexcept
+
+

Tell the parent window this widget needs the full viewport. When enabled, the local widget coordinates are ignored.

Note
: This is an internal function; You do not need it under normal circumstances.
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
void Widget::setNeedsScaling (bool yesNo)
+
+protectednoexcept
+
+

Tell the parent window this widget needs scaling. When enabled, the widget viewport is scaled to match width and height.

Note
: This is an internal function; You do not need it under normal circumstances.
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/classWidget.png b/classWidget.png new file mode 100644 index 00000000..a7f3482c Binary files /dev/null and b/classWidget.png differ diff --git a/classWindow-members.html b/classWindow-members.html new file mode 100644 index 00000000..07384381 --- /dev/null +++ b/classWindow-members.html @@ -0,0 +1,135 @@ + + + + + + +DISTRHO Plugin Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + + + + +
+ +
+ +
+
+
+
Window Member List
+
+
+ +

This is the complete list of members for Window, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
addIdleCallback(IdleCallback *const callback) (defined in Window)Window
App (defined in Window)Windowfriend
close() (defined in Window)Window
exec(bool lockWait=false) (defined in Window)Window
fileBrowserSelected(const char *filename) (defined in Window)Windowprotectedvirtual
focus() (defined in Window)Window
getApp() const noexcept (defined in Window)Window
getHeight() const noexcept (defined in Window)Window
getSize() const noexcept (defined in Window)Window
getTitle() const noexcept (defined in Window)Window
getWidth() const noexcept (defined in Window)Window
getWindowId() const noexcept (defined in Window)Window
hide() (defined in Window)Window
isResizable() const noexcept (defined in Window)Window
isVisible() const noexcept (defined in Window)Window
onClose() (defined in Window)Windowprotectedvirtual
onDisplayAfter() (defined in Window)Windowprotectedvirtual
onDisplayBefore() (defined in Window)Windowprotectedvirtual
onReshape(uint width, uint height) (defined in Window)Windowprotectedvirtual
openFileBrowser(const FileBrowserOptions &options) (defined in Window)Window
removeIdleCallback(IdleCallback *const callback) (defined in Window)Window
repaint() noexcept (defined in Window)Window
setResizable(bool yesNo) (defined in Window)Window
setSize(uint width, uint height) (defined in Window)Window
setSize(Size< uint > size) (defined in Window)Window
setTitle(const char *title) (defined in Window)Window
setTransientWinId(uintptr_t winId) (defined in Window)Window
setVisible(bool yesNo) (defined in Window)Window
show() (defined in Window)Window
StandaloneWindow (defined in Window)Windowfriend
Widget (defined in Window)Windowfriend
Window(App &app) (defined in Window)Windowexplicit
Window(App &app, Window &parent) (defined in Window)Windowexplicit
Window(App &app, intptr_t parentId) (defined in Window)Windowexplicit
~Window() (defined in Window)Windowvirtual
+ + + + diff --git a/classWindow.html b/classWindow.html new file mode 100644 index 00000000..3c76a24f --- /dev/null +++ b/classWindow.html @@ -0,0 +1,233 @@ + + + + + + +DISTRHO Plugin Framework: Window Class Reference + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + + + + +
+ +
+ +
+ +
+
+Inheritance diagram for Window:
+
+
+ + +ImageAboutWindow +StandaloneWindow + +
+ + + + +

+Classes

struct  FileBrowserOptions
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

Window (App &app)
 
Window (App &app, Window &parent)
 
Window (App &app, intptr_t parentId)
 
+void show ()
 
+void hide ()
 
+void close ()
 
+void exec (bool lockWait=false)
 
+void focus ()
 
+void repaint () noexcept
 
+bool openFileBrowser (const FileBrowserOptions &options)
 
+bool isVisible () const noexcept
 
+void setVisible (bool yesNo)
 
+bool isResizable () const noexcept
 
+void setResizable (bool yesNo)
 
+uint getWidth () const noexcept
 
+uint getHeight () const noexcept
 
+Size< uint > getSize () const noexcept
 
+void setSize (uint width, uint height)
 
+void setSize (Size< uint > size)
 
+const char * getTitle () const noexcept
 
+void setTitle (const char *title)
 
+void setTransientWinId (uintptr_t winId)
 
+AppgetApp () const noexcept
 
+intptr_t getWindowId () const noexcept
 
+void addIdleCallback (IdleCallback *const callback)
 
+void removeIdleCallback (IdleCallback *const callback)
 
+ + + + + + + + + + + +

+Protected Member Functions

+virtual void onDisplayBefore ()
 
+virtual void onDisplayAfter ()
 
+virtual void onReshape (uint width, uint height)
 
+virtual void onClose ()
 
+virtual void fileBrowserSelected (const char *filename)
 
+ + + + + + + +

+Friends

+class App
 
+class Widget
 
+class StandaloneWindow
 
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/classWindow.png b/classWindow.png new file mode 100644 index 00000000..706a6b3e Binary files /dev/null and b/classWindow.png differ diff --git a/classd__string-members.html b/classd__string-members.html new file mode 100644 index 00000000..19aaee77 --- /dev/null +++ b/classd__string-members.html @@ -0,0 +1,147 @@ + + + + + + +DISTRHO Plugin Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + + + + +
+ +
+ +
+
+
+
d_string Member List
+
+
+ +

This is the complete list of members for d_string, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
buffer() const noexcept (defined in d_string)d_stringinline
clear() noexcept (defined in d_string)d_stringinline
contains(const char *const strBuf, const bool ignoreCase=false) const noexcept (defined in d_string)d_stringinline
d_string() noexcept (defined in d_string)d_stringinlineexplicit
d_string(const char c) noexcept (defined in d_string)d_stringinlineexplicit
d_string(char *const strBuf) noexcept (defined in d_string)d_stringinlineexplicit
d_string(const char *const strBuf) noexcept (defined in d_string)d_stringinlineexplicit
d_string(const int value) noexcept (defined in d_string)d_stringinlineexplicit
d_string(const unsigned int value, const bool hexadecimal=false) noexcept (defined in d_string)d_stringinlineexplicit
d_string(const long value) noexcept (defined in d_string)d_stringinlineexplicit
d_string(const unsigned long value, const bool hexadecimal=false) noexcept (defined in d_string)d_stringinlineexplicit
d_string(const long long value) noexcept (defined in d_string)d_stringinlineexplicit
d_string(const unsigned long long value, const bool hexadecimal=false) noexcept (defined in d_string)d_stringinlineexplicit
d_string(const float value) noexcept (defined in d_string)d_stringinlineexplicit
d_string(const double value) noexcept (defined in d_string)d_stringinlineexplicit
d_string(const d_string &str) noexcept (defined in d_string)d_stringinline
endsWith(const char c) const noexcept (defined in d_string)d_stringinline
endsWith(const char *const suffix) const noexcept (defined in d_string)d_stringinline
find(const char c, bool *const found=nullptr) const noexcept (defined in d_string)d_stringinline
find(const char *const strBuf, bool *const found=nullptr) const noexcept (defined in d_string)d_stringinline
isDigit(const size_t pos) const noexcept (defined in d_string)d_stringinline
isEmpty() const noexcept (defined in d_string)d_stringinline
isNotEmpty() const noexcept (defined in d_string)d_stringinline
length() const noexcept (defined in d_string)d_stringinline
operator const char *() const noexcept (defined in d_string)d_stringinline
operator!=(const char *const strBuf) const noexcept (defined in d_string)d_stringinline
operator!=(const d_string &str) const noexcept (defined in d_string)d_stringinline
operator+(const char *const strBuf) noexcept (defined in d_string)d_stringinline
operator+(const d_string &str) noexcept (defined in d_string)d_stringinline
operator+=(const char *const strBuf) noexcept (defined in d_string)d_stringinline
operator+=(const d_string &str) noexcept (defined in d_string)d_stringinline
operator=(const char *const strBuf) noexcept (defined in d_string)d_stringinline
operator=(const d_string &str) noexcept (defined in d_string)d_stringinline
operator==(const char *const strBuf) const noexcept (defined in d_string)d_stringinline
operator==(const d_string &str) const noexcept (defined in d_string)d_stringinline
operator[](const size_t pos) const noexcept (defined in d_string)d_stringinline
operator[](const size_t pos) noexcept (defined in d_string)d_stringinline
replace(const char before, const char after) noexcept (defined in d_string)d_stringinline
rfind(const char c, bool *const found=nullptr) const noexcept (defined in d_string)d_stringinline
rfind(const char *const strBuf, bool *const found=nullptr) const noexcept (defined in d_string)d_stringinline
startsWith(const char c) const noexcept (defined in d_string)d_stringinline
startsWith(const char *const prefix) const noexcept (defined in d_string)d_stringinline
toBasic() noexcept (defined in d_string)d_stringinline
toLower() noexcept (defined in d_string)d_stringinline
toUpper() noexcept (defined in d_string)d_stringinline
truncate(const size_t n) noexcept (defined in d_string)d_stringinline
~d_string() noexcept (defined in d_string)d_stringinline
+ + + + diff --git a/classd__string.html b/classd__string.html new file mode 100644 index 00000000..ba5de12f --- /dev/null +++ b/classd__string.html @@ -0,0 +1,242 @@ + + + + + + +DISTRHO Plugin Framework: d_string Class Reference + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
d_string Class Reference
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

d_string (const char c) noexcept
 
d_string (char *const strBuf) noexcept
 
d_string (const char *const strBuf) noexcept
 
d_string (const int value) noexcept
 
d_string (const unsigned int value, const bool hexadecimal=false) noexcept
 
d_string (const long value) noexcept
 
d_string (const unsigned long value, const bool hexadecimal=false) noexcept
 
d_string (const long long value) noexcept
 
d_string (const unsigned long long value, const bool hexadecimal=false) noexcept
 
d_string (const float value) noexcept
 
d_string (const double value) noexcept
 
d_string (const d_string &str) noexcept
 
+size_t length () const noexcept
 
+bool isEmpty () const noexcept
 
+bool isNotEmpty () const noexcept
 
+bool contains (const char *const strBuf, const bool ignoreCase=false) const noexcept
 
+bool isDigit (const size_t pos) const noexcept
 
+bool startsWith (const char c) const noexcept
 
+bool startsWith (const char *const prefix) const noexcept
 
+bool endsWith (const char c) const noexcept
 
+bool endsWith (const char *const suffix) const noexcept
 
+size_t find (const char c, bool *const found=nullptr) const noexcept
 
+size_t find (const char *const strBuf, bool *const found=nullptr) const noexcept
 
+size_t rfind (const char c, bool *const found=nullptr) const noexcept
 
+size_t rfind (const char *const strBuf, bool *const found=nullptr) const noexcept
 
+void clear () noexcept
 
+void replace (const char before, const char after) noexcept
 
+void truncate (const size_t n) noexcept
 
+void toBasic () noexcept
 
+void toLower () noexcept
 
+void toUpper () noexcept
 
+const char * buffer () const noexcept
 
operator const char * () const noexcept
 
+char operator[] (const size_t pos) const noexcept
 
+char & operator[] (const size_t pos) noexcept
 
+bool operator== (const char *const strBuf) const noexcept
 
+bool operator== (const d_string &str) const noexcept
 
+bool operator!= (const char *const strBuf) const noexcept
 
+bool operator!= (const d_string &str) const noexcept
 
+d_stringoperator= (const char *const strBuf) noexcept
 
+d_stringoperator= (const d_string &str) noexcept
 
+d_stringoperator+= (const char *const strBuf) noexcept
 
+d_stringoperator+= (const d_string &str) noexcept
 
+d_string operator+ (const char *const strBuf) noexcept
 
+d_string operator+ (const d_string &str) noexcept
 
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/classes.html b/classes.html index a0f88b09..292e6186 100644 --- a/classes.html +++ b/classes.html @@ -86,27 +86,50 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
Class Index
-
A | B | M | P | T | U
+
A | B | C | D | F | G | I | K | L | M | N | P | R | S | T | U | W
- - + + + + + + + + + + + + + + - - - + + + +
  A  
-
  M  
-
ParameterRanges   
  U  
+
  F  
+
  L  
+
Parameter   
  T  
Plugin   
AudioPort   MidiEvent   
  T  
-
UI   
ParameterRanges   
App   Window::FileBrowserOptions   LeakedObjectDetector   Plugin   NanoVG::TextRow   
AudioPort   
  G  
+
Line   Point   Thread   
  B  
+
  M  
+
  R  
+
TimePosition   
NanoVG::GlyphPosition   Triangle   
TimePosition::BarBeatTick   
  I  
+
MidiEvent   Rectangle   
  U  
+
Widget::BaseEvent   Widget::MotionEvent   RecursiveMutex   
Window::FileBrowserOptions::Buttons   IdleCallback   Widget::MouseEvent   Widget::ResizeEvent   UI   
  C  
+
Image   Mutex   
  S  
+
  W  
+
ImageAboutWindow   
  N  
+
ImageButton::Callback   ImageButton   ScopedLocker   Widget   
ImageKnob::Callback   ImageKnob   NanoImage   ScopedPointer   Window   
ImageSlider::Callback   ImageSlider   NanoVG   ScopedUnlocker   
  d  
+
ImageSwitch::Callback   ImageSwitch   NanoWidget   Widget::ScrollEvent   
Circle   
  K  
  P  
-
TimePosition   
TimePosition::BarBeatTick   Parameter   
Size   d_string   
Color   Widget::SpecialEvent   
ContainerDeletePolicy   Widget::KeyboardEvent   NanoVG::Paint   StandaloneWindow   
-
A | B | M | P | T | U
+
A | B | C | D | F | G | I | K | L | M | N | P | R | S | T | U | W
diff --git a/d__leakdetector_8hpp_source.html b/d__leakdetector_8hpp_source.html new file mode 100644 index 00000000..a6a2d2fa --- /dev/null +++ b/d__leakdetector_8hpp_source.html @@ -0,0 +1,241 @@ + + + + + + +DISTRHO Plugin Framework: distrho/extra/d_leakdetector.hpp Source File + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
d_leakdetector.hpp
+
+
+
1 /*
+
2  * DISTRHO Plugin Framework (DPF)
+
3  * Copyright (C) 2012-2014 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 DISTRHO_LEAK_DETECTOR_HPP_INCLUDED
+
18 #define DISTRHO_LEAK_DETECTOR_HPP_INCLUDED
+
19 
+
20 #include "../DistrhoUtils.hpp"
+
21 
+
22 START_NAMESPACE_DISTRHO
+
23 
+
24 // -----------------------------------------------------------------------
+
25 // The following code was based from juce-core LeakDetector class
+
26 // Copyright (C) 2013 Raw Material Software Ltd.
+
27 
+
28 /** A good old-fashioned C macro concatenation helper.
+
29  This combines two items (which may themselves be macros) into a single string,
+
30  avoiding the pitfalls of the ## macro operator.
+
31 */
+
32 #define DISTRHO_JOIN_MACRO_HELPER(a, b) a ## b
+
33 #define DISTRHO_JOIN_MACRO(item1, item2) DISTRHO_JOIN_MACRO_HELPER(item1, item2)
+
34 
+
35 /** This macro lets you embed a leak-detecting object inside a class.\n
+
36  To use it, simply declare a DISTRHO_LEAK_DETECTOR(YourClassName) inside a private section
+
37  of the class declaration. E.g.
+
38  \code
+
39  class MyClass
+
40  {
+
41  public:
+
42  MyClass();
+
43  void blahBlah();
+
44 
+
45  private:
+
46  DISTRHO_LEAK_DETECTOR(MyClass)
+
47  };
+
48  \endcode
+
49 */
+
50 #define DISTRHO_LEAK_DETECTOR(ClassName) \
+
51  friend class DISTRHO_NAMESPACE::LeakedObjectDetector<ClassName>; \
+
52  static const char* getLeakedObjectClassName() noexcept { return #ClassName; } \
+
53  DISTRHO_NAMESPACE::LeakedObjectDetector<ClassName> DISTRHO_JOIN_MACRO(leakDetector_, ClassName);
+
54 
+
55 #define DISTRHO_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(ClassName) \
+
56  DISTRHO_DECLARE_NON_COPY_CLASS(ClassName) \
+
57  DISTRHO_LEAK_DETECTOR(ClassName)
+
58 
+
59 //==============================================================================
+
60 /**
+
61  Embedding an instance of this class inside another class can be used as a low-overhead
+
62  way of detecting leaked instances.
+
63 
+
64  This class keeps an internal static count of the number of instances that are
+
65  active, so that when the app is shutdown and the static destructors are called,
+
66  it can check whether there are any left-over instances that may have been leaked.
+
67 
+
68  To use it, use the DISTRHO_LEAK_DETECTOR macro as a simple way to put one in your
+
69  class declaration.
+
70 */
+
71 template<class OwnerClass>
+ +
73 {
+
74 public:
+
75  //==============================================================================
+
76  LeakedObjectDetector() noexcept { ++(getCounter().numObjects); }
+
77  LeakedObjectDetector(const LeakedObjectDetector&) noexcept { ++(getCounter().numObjects); }
+
78 
+ +
80  {
+
81  if (--(getCounter().numObjects) < 0)
+
82  {
+
83  /** If you hit this, then you've managed to delete more instances of this class than you've
+
84  created.. That indicates that you're deleting some dangling pointers.
+
85 
+
86  Note that although this assertion will have been triggered during a destructor, it might
+
87  not be this particular deletion that's at fault - the incorrect one may have happened
+
88  at an earlier point in the program, and simply not been detected until now.
+
89 
+
90  Most errors like this are caused by using old-fashioned, non-RAII techniques for
+
91  your object management. Tut, tut. Always, always use ScopedPointers, OwnedArrays,
+
92  ReferenceCountedObjects, etc, and avoid the 'delete' operator at all costs!
+
93  */
+
94  d_stderr2("*** Dangling pointer deletion! Class: '%s', Count: %i", getLeakedObjectClassName(), getCounter().numObjects);
+
95  }
+
96  }
+
97 
+
98 private:
+
99  //==============================================================================
+
100  class LeakCounter
+
101  {
+
102  public:
+
103  LeakCounter() noexcept
+
104  : numObjects(0) {}
+
105 
+
106  ~LeakCounter() noexcept
+
107  {
+
108  if (numObjects > 0)
+
109  {
+
110  /** If you hit this, then you've leaked one or more objects of the type specified by
+
111  the 'OwnerClass' template parameter - the name should have been printed by the line above.
+
112 
+
113  If you're leaking, it's probably because you're using old-fashioned, non-RAII techniques for
+
114  your object management. Tut, tut. Always, always use ScopedPointers, OwnedArrays,
+
115  ReferenceCountedObjects, etc, and avoid the 'delete' operator at all costs!
+
116  */
+
117  d_stderr2("*** Leaked objects detected: %i instance(s) of class '%s'", numObjects, getLeakedObjectClassName());
+
118  }
+
119  }
+
120 
+
121  // this should be an atomic...
+
122  volatile int numObjects;
+
123  };
+
124 
+
125  static const char* getLeakedObjectClassName() noexcept
+
126  {
+
127  return OwnerClass::getLeakedObjectClassName();
+
128  }
+
129 
+
130  static LeakCounter& getCounter() noexcept
+
131  {
+
132  static LeakCounter counter;
+
133  return counter;
+
134  }
+
135 };
+
136 
+
137 // -----------------------------------------------------------------------
+
138 
+
139 END_NAMESPACE_DISTRHO
+
140 
+
141 #endif // DISTRHO_LEAK_DETECTOR_HPP_INCLUDED
+
Definition: d_leakdetector.hpp:72
+
~LeakedObjectDetector() noexcept
Definition: d_leakdetector.hpp:79
+
+ + + + diff --git a/d__mutex_8hpp_source.html b/d__mutex_8hpp_source.html new file mode 100644 index 00000000..ec4ff124 --- /dev/null +++ b/d__mutex_8hpp_source.html @@ -0,0 +1,332 @@ + + + + + + +DISTRHO Plugin Framework: distrho/extra/d_mutex.hpp Source File + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
d_mutex.hpp
+
+
+
1 /*
+
2  * DISTRHO Plugin Framework (DPF)
+
3  * Copyright (C) 2012-2014 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 DISTRHO_MUTEX_HPP_INCLUDED
+
18 #define DISTRHO_MUTEX_HPP_INCLUDED
+
19 
+
20 #include "../DistrhoUtils.hpp"
+
21 
+
22 #ifdef DISTRHO_OS_WINDOWS
+
23 # include <winsock2.h>
+
24 # include <windows.h>
+
25 #endif
+
26 
+
27 #include <pthread.h>
+
28 
+
29 START_NAMESPACE_DISTRHO
+
30 
+
31 // -----------------------------------------------------------------------
+
32 // Mutex class
+
33 
+
34 class Mutex
+
35 {
+
36 public:
+
37  /*
+
38  * Constructor.
+
39  */
+
40  Mutex() noexcept
+
41  {
+
42  pthread_mutex_init(&fMutex, nullptr);
+
43  }
+
44 
+
45  /*
+
46  * Destructor.
+
47  */
+
48  ~Mutex() noexcept
+
49  {
+
50  pthread_mutex_destroy(&fMutex);
+
51  }
+
52 
+
53  /*
+
54  * Lock the mutex.
+
55  */
+
56  void lock() const noexcept
+
57  {
+
58  pthread_mutex_lock(&fMutex);
+
59  }
+
60 
+
61  /*
+
62  * Try to lock the mutex.
+
63  * Returns true if successful.
+
64  */
+
65  bool tryLock() const noexcept
+
66  {
+
67  return (pthread_mutex_trylock(&fMutex) == 0);
+
68  }
+
69 
+
70  /*
+
71  * Unlock the mutex.
+
72  */
+
73  void unlock() const noexcept
+
74  {
+
75  pthread_mutex_unlock(&fMutex);
+
76  }
+
77 
+
78 private:
+
79  mutable pthread_mutex_t fMutex;
+
80 
+
81  DISTRHO_PREVENT_HEAP_ALLOCATION
+
82  DISTRHO_DECLARE_NON_COPY_CLASS(Mutex)
+
83 };
+
84 
+
85 // -----------------------------------------------------------------------
+
86 // RecursiveMutex class
+
87 
+ +
89 {
+
90 public:
+
91  /*
+
92  * Constructor.
+
93  */
+
94  RecursiveMutex() noexcept
+
95  {
+
96 #ifdef DISTRHO_OS_WINDOWS
+
97  InitializeCriticalSection(&fSection);
+
98 #else
+
99  pthread_mutexattr_t atts;
+
100  pthread_mutexattr_init(&atts);
+
101  pthread_mutexattr_settype(&atts, PTHREAD_MUTEX_RECURSIVE);
+
102  pthread_mutex_init(&fMutex, &atts);
+
103  pthread_mutexattr_destroy(&atts);
+
104 #endif
+
105  }
+
106 
+
107  /*
+
108  * Destructor.
+
109  */
+
110  ~RecursiveMutex() noexcept
+
111  {
+
112 #ifdef DISTRHO_OS_WINDOWS
+
113  DeleteCriticalSection(&fSection);
+
114 #else
+
115  pthread_mutex_destroy(&fMutex);
+
116 #endif
+
117  }
+
118 
+
119  /*
+
120  * Lock the mutex.
+
121  */
+
122  void lock() const noexcept
+
123  {
+
124 #ifdef DISTRHO_OS_WINDOWS
+
125  EnterCriticalSection(&fSection);
+
126 #else
+
127  pthread_mutex_lock(&fMutex);
+
128 #endif
+
129  }
+
130 
+
131  /*
+
132  * Try to lock the mutex.
+
133  * Returns true if successful.
+
134  */
+
135  bool tryLock() const noexcept
+
136  {
+
137 #ifdef DISTRHO_OS_WINDOWS
+
138  return (TryEnterCriticalSection(&fSection) != FALSE);
+
139 #else
+
140  return (pthread_mutex_trylock(&fMutex) == 0);
+
141 #endif
+
142  }
+
143 
+
144  /*
+
145  * Unlock the mutex.
+
146  */
+
147  void unlock() const noexcept
+
148  {
+
149 #ifdef DISTRHO_OS_WINDOWS
+
150  LeaveCriticalSection(&fSection);
+
151 #else
+
152  pthread_mutex_unlock(&fMutex);
+
153 #endif
+
154  }
+
155 
+
156 private:
+
157 #ifdef DISTRHO_OS_WINDOWS
+
158  mutable CRITICAL_SECTION fSection;
+
159 #else
+
160  mutable pthread_mutex_t fMutex;
+
161 #endif
+
162 
+
163  DISTRHO_PREVENT_HEAP_ALLOCATION
+
164  DISTRHO_DECLARE_NON_COPY_CLASS(RecursiveMutex)
+
165 };
+
166 
+
167 // -----------------------------------------------------------------------
+
168 // Helper class to lock&unlock a mutex during a function scope.
+
169 
+
170 template <class Mutex>
+ +
172 {
+
173 public:
+
174  ScopedLocker(const Mutex& mutex) noexcept
+
175  : fMutex(mutex)
+
176  {
+
177  fMutex.lock();
+
178  }
+
179 
+
180  ~ScopedLocker() noexcept
+
181  {
+
182  fMutex.unlock();
+
183  }
+
184 
+
185 private:
+
186  const Mutex& fMutex;
+
187 
+
188  DISTRHO_PREVENT_HEAP_ALLOCATION
+
189  DISTRHO_DECLARE_NON_COPY_CLASS(ScopedLocker)
+
190 };
+
191 
+
192 // -----------------------------------------------------------------------
+
193 // Helper class to unlock&lock a mutex during a function scope.
+
194 
+
195 template <class Mutex>
+ +
197 {
+
198 public:
+
199  ScopedUnlocker(const Mutex& mutex) noexcept
+
200  : fMutex(mutex)
+
201  {
+
202  fMutex.unlock();
+
203  }
+
204 
+
205  ~ScopedUnlocker() noexcept
+
206  {
+
207  fMutex.lock();
+
208  }
+
209 
+
210 private:
+
211  const Mutex& fMutex;
+
212 
+
213  DISTRHO_PREVENT_HEAP_ALLOCATION
+
214  DISTRHO_DECLARE_NON_COPY_CLASS(ScopedUnlocker)
+
215 };
+
216 
+
217 // -----------------------------------------------------------------------
+
218 // Define types
+
219 
+ + +
222 
+ + +
225 
+
226 // -----------------------------------------------------------------------
+
227 
+
228 END_NAMESPACE_DISTRHO
+
229 
+
230 #endif // DISTRHO_MUTEX_HPP_INCLUDED
+
Definition: d_mutex.hpp:88
+
Definition: d_mutex.hpp:196
+
Definition: d_mutex.hpp:34
+
Definition: d_mutex.hpp:171
+
+ + + + diff --git a/d__scopedpointer_8hpp_source.html b/d__scopedpointer_8hpp_source.html new file mode 100644 index 00000000..a5f7edb0 --- /dev/null +++ b/d__scopedpointer_8hpp_source.html @@ -0,0 +1,357 @@ + + + + + + +DISTRHO Plugin Framework: distrho/extra/d_scopedpointer.hpp Source File + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
d_scopedpointer.hpp
+
+
+
1 /*
+
2  * DISTRHO Plugin Framework (DPF)
+
3  * Copyright (C) 2012-2014 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 DISTRHO_SCOPED_POINTER_HPP_INCLUDED
+
18 #define DISTRHO_SCOPED_POINTER_HPP_INCLUDED
+
19 
+
20 #include "../DistrhoUtils.hpp"
+
21 
+
22 #include <algorithm>
+
23 
+
24 START_NAMESPACE_DISTRHO
+
25 
+
26 // -----------------------------------------------------------------------
+
27 // The following code was based from juce-core ScopedPointer class
+
28 // Copyright (C) 2013 Raw Material Software Ltd.
+
29 
+
30 /**
+
31  Used by container classes as an indirect way to delete an object of a
+
32  particular type.
+
33 
+
34  The generic implementation of this class simply calls 'delete', but you can
+
35  create a specialised version of it for a particular class if you need to
+
36  delete that type of object in a more appropriate way.
+
37 */
+
38 template<typename ObjectType>
+ +
40 {
+
41  static void destroy(ObjectType* const object)
+
42  {
+
43  delete object;
+
44  }
+
45 };
+
46 
+
47 //==============================================================================
+
48 /**
+
49  This class holds a pointer which is automatically deleted when this object goes
+
50  out of scope.
+
51 
+
52  Once a pointer has been passed to a ScopedPointer, it will make sure that the pointer
+
53  gets deleted when the ScopedPointer is deleted. Using the ScopedPointer on the stack or
+
54  as member variables is a good way to use RAII to avoid accidentally leaking dynamically
+
55  created objects.
+
56 
+
57  A ScopedPointer can be used in pretty much the same way that you'd use a normal pointer
+
58  to an object. If you use the assignment operator to assign a different object to a
+
59  ScopedPointer, the old one will be automatically deleted.
+
60 
+
61  A const ScopedPointer is guaranteed not to lose ownership of its object or change the
+
62  object to which it points during its lifetime. This means that making a copy of a const
+
63  ScopedPointer is impossible, as that would involve the new copy taking ownership from the
+
64  old one.
+
65 
+
66  If you need to get a pointer out of a ScopedPointer without it being deleted, you
+
67  can use the release() method.
+
68 
+
69  Something to note is the main difference between this class and the std::auto_ptr class,
+
70  which is that ScopedPointer provides a cast-to-object operator, wheras std::auto_ptr
+
71  requires that you always call get() to retrieve the pointer. The advantages of providing
+
72  the cast is that you don't need to call get(), so can use the ScopedPointer in pretty much
+
73  exactly the same way as a raw pointer. The disadvantage is that the compiler is free to
+
74  use the cast in unexpected and sometimes dangerous ways - in particular, it becomes difficult
+
75  to return a ScopedPointer as the result of a function. To avoid this causing errors,
+
76  ScopedPointer contains an overloaded constructor that should cause a syntax error in these
+
77  circumstances, but it does mean that instead of returning a ScopedPointer from a function,
+
78  you'd need to return a raw pointer (or use a std::auto_ptr instead).
+
79 */
+
80 template<class ObjectType>
+ +
82 {
+
83 public:
+
84  //==============================================================================
+
85  /** Creates a ScopedPointer containing a null pointer. */
+
86  ScopedPointer() noexcept
+
87  : object(nullptr) {}
+
88 
+
89  /** Creates a ScopedPointer that owns the specified object. */
+
90  ScopedPointer(ObjectType* const objectToTakePossessionOf) noexcept
+
91  : object(objectToTakePossessionOf) {}
+
92 
+
93  /** Creates a ScopedPointer that takes its pointer from another ScopedPointer.
+
94 
+
95  Because a pointer can only belong to one ScopedPointer, this transfers
+
96  the pointer from the other object to this one, and the other object is reset to
+
97  be a null pointer.
+
98  */
+
99  ScopedPointer(ScopedPointer& objectToTransferFrom) noexcept
+
100  : object(objectToTransferFrom.object)
+
101  {
+
102  objectToTransferFrom.object = nullptr;
+
103  }
+
104 
+
105  /** Destructor.
+
106  This will delete the object that this ScopedPointer currently refers to.
+
107  */
+ +
109  {
+ +
111  }
+
112 
+
113  /** Changes this ScopedPointer to point to a new object.
+
114 
+
115  Because a pointer can only belong to one ScopedPointer, this transfers
+
116  the pointer from the other object to this one, and the other object is reset to
+
117  be a null pointer.
+
118 
+
119  If this ScopedPointer already points to an object, that object
+
120  will first be deleted.
+
121  */
+
122  ScopedPointer& operator=(ScopedPointer& objectToTransferFrom)
+
123  {
+
124  if (this != objectToTransferFrom.getAddress())
+
125  {
+
126  // Two ScopedPointers should never be able to refer to the same object - if
+
127  // this happens, you must have done something dodgy!
+
128  DISTRHO_SAFE_ASSERT_RETURN(object == nullptr || object != objectToTransferFrom.object, *this);
+
129 
+
130  ObjectType* const oldObject = object;
+
131  object = objectToTransferFrom.object;
+
132  objectToTransferFrom.object = nullptr;
+ +
134  }
+
135 
+
136  return *this;
+
137  }
+
138 
+
139  /** Changes this ScopedPointer to point to a new object.
+
140 
+
141  If this ScopedPointer already points to an object, that object
+
142  will first be deleted.
+
143 
+
144  The pointer that you pass in may be a nullptr.
+
145  */
+
146  ScopedPointer& operator=(ObjectType* const newObjectToTakePossessionOf)
+
147  {
+
148  if (object != newObjectToTakePossessionOf)
+
149  {
+
150  ObjectType* const oldObject = object;
+
151  object = newObjectToTakePossessionOf;
+ +
153  }
+
154 
+
155  return *this;
+
156  }
+
157 
+
158  //==============================================================================
+
159  /** Returns the object that this ScopedPointer refers to. */
+
160  operator ObjectType*() const noexcept { return object; }
+
161 
+
162  /** Returns the object that this ScopedPointer refers to. */
+
163  ObjectType* get() const noexcept { return object; }
+
164 
+
165  /** Returns the object that this ScopedPointer refers to. */
+
166  ObjectType& operator*() const noexcept { return *object; }
+
167 
+
168  /** Lets you access methods and properties of the object that this ScopedPointer refers to. */
+
169  ObjectType* operator->() const noexcept { return object; }
+
170 
+
171  //==============================================================================
+
172  /** Removes the current object from this ScopedPointer without deleting it.
+
173  This will return the current object, and set the ScopedPointer to a null pointer.
+
174  */
+
175  ObjectType* release() noexcept { ObjectType* const o = object; object = nullptr; return o; }
+
176 
+
177  //==============================================================================
+
178  /** Swaps this object with that of another ScopedPointer.
+
179  The two objects simply exchange their pointers.
+
180  */
+
181  void swapWith(ScopedPointer<ObjectType>& other) noexcept
+
182  {
+
183  // Two ScopedPointers should never be able to refer to the same object - if
+
184  // this happens, you must have done something dodgy!
+
185  DISTRHO_SAFE_ASSERT_RETURN(object != other.object || this == other.getAddress() || object == nullptr,);
+
186 
+
187  std::swap(object, other.object);
+
188  }
+
189 
+
190 private:
+
191  //==============================================================================
+
192  ObjectType* object;
+
193 
+
194  // (Required as an alternative to the overloaded & operator).
+
195  const ScopedPointer* getAddress() const noexcept { return this; }
+
196 
+
197 #ifndef _MSC_VER // (MSVC can't deal with multiple copy constructors)
+
198  /* The copy constructors are private to stop people accidentally copying a const ScopedPointer
+
199  (the compiler would let you do so by implicitly casting the source to its raw object pointer).
+
200 
+
201  A side effect of this is that in a compiler that doesn't support C++11, you may hit an
+
202  error when you write something like this:
+
203 
+
204  ScopedPointer<MyClass> m = new MyClass(); // Compile error: copy constructor is private.
+
205 
+
206  Even though the compiler would normally ignore the assignment here, it can't do so when the
+
207  copy constructor is private. It's very easy to fix though - just write it like this:
+
208 
+
209  ScopedPointer<MyClass> m (new MyClass()); // Compiles OK
+
210 
+
211  It's probably best to use the latter form when writing your object declarations anyway, as
+
212  this is a better representation of the code that you actually want the compiler to produce.
+
213  */
+
214 # ifdef DISTRHO_PROPER_CPP11_SUPPORT
+
215  ScopedPointer(const ScopedPointer&) = delete;
+
216  ScopedPointer& operator=(const ScopedPointer&) = delete;
+
217 # else
+ + +
220 # endif
+
221 #endif
+
222 };
+
223 
+
224 //==============================================================================
+
225 /** Compares a ScopedPointer with another pointer.
+
226  This can be handy for checking whether this is a null pointer.
+
227 */
+
228 template<class ObjectType>
+
229 bool operator==(const ScopedPointer<ObjectType>& pointer1, ObjectType* const pointer2) noexcept
+
230 {
+
231  return static_cast<ObjectType*>(pointer1) == pointer2;
+
232 }
+
233 
+
234 /** Compares a ScopedPointer with another pointer.
+
235  This can be handy for checking whether this is a null pointer.
+
236 */
+
237 template<class ObjectType>
+
238 bool operator!=(const ScopedPointer<ObjectType>& pointer1, ObjectType* const pointer2) noexcept
+
239 {
+
240  return static_cast<ObjectType*>(pointer1) != pointer2;
+
241 }
+
242 
+
243 // -----------------------------------------------------------------------
+
244 
+
245 END_NAMESPACE_DISTRHO
+
246 
+
247 #endif // DISTRHO_SCOPED_POINTER_HPP_INCLUDED
+
ObjectType * release() noexcept
Definition: d_scopedpointer.hpp:175
+
~ScopedPointer()
Definition: d_scopedpointer.hpp:108
+
ObjectType & operator*() const noexcept
Definition: d_scopedpointer.hpp:166
+
ScopedPointer(ObjectType *const objectToTakePossessionOf) noexcept
Definition: d_scopedpointer.hpp:90
+
ObjectType * operator->() const noexcept
Definition: d_scopedpointer.hpp:169
+
ScopedPointer(ScopedPointer &objectToTransferFrom) noexcept
Definition: d_scopedpointer.hpp:99
+
void swapWith(ScopedPointer< ObjectType > &other) noexcept
Definition: d_scopedpointer.hpp:181
+
Definition: d_scopedpointer.hpp:81
+
ScopedPointer() noexcept
Definition: d_scopedpointer.hpp:86
+
Definition: d_scopedpointer.hpp:39
+
ScopedPointer & operator=(ObjectType *const newObjectToTakePossessionOf)
Definition: d_scopedpointer.hpp:146
+
ScopedPointer & operator=(ScopedPointer &objectToTransferFrom)
Definition: d_scopedpointer.hpp:122
+
+ + + + diff --git a/d__sleep_8hpp_source.html b/d__sleep_8hpp_source.html new file mode 100644 index 00000000..2fa9655d --- /dev/null +++ b/d__sleep_8hpp_source.html @@ -0,0 +1,160 @@ + + + + + + +DISTRHO Plugin Framework: distrho/extra/d_sleep.hpp Source File + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
d_sleep.hpp
+
+
+
1 /*
+
2  * DISTRHO Plugin Framework (DPF)
+
3  * Copyright (C) 2012-2014 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 DISTRHO_SLEEP_HPP_INCLUDED
+
18 #define DISTRHO_SLEEP_HPP_INCLUDED
+
19 
+
20 #include "../DistrhoUtils.hpp"
+
21 
+
22 #ifdef DISTRHO_OS_WINDOWS
+
23 # include <winsock2.h>
+
24 # include <windows.h>
+
25 #else
+
26 # include <unistd.h>
+
27 #endif
+
28 
+
29 // -----------------------------------------------------------------------
+
30 // d_*sleep
+
31 
+
32 static inline
+
33 void d_sleep(const uint secs) noexcept
+
34 {
+
35  DISTRHO_SAFE_ASSERT_RETURN(secs > 0,);
+
36 
+
37  try {
+
38 #ifdef DISTRHO_OS_WINDOWS
+
39  ::Sleep(secs * 1000);
+
40 #else
+
41  ::sleep(secs);
+
42 #endif
+
43  } DISTRHO_SAFE_EXCEPTION("d_sleep");
+
44 }
+
45 
+
46 static inline
+
47 void d_msleep(const uint msecs) noexcept
+
48 {
+
49  DISTRHO_SAFE_ASSERT_RETURN(msecs > 0,);
+
50 
+
51  try {
+
52 #ifdef DISTRHO_OS_WINDOWS
+
53  ::Sleep(msecs);
+
54 #else
+
55  ::usleep(msecs * 1000);
+
56 #endif
+
57  } DISTRHO_SAFE_EXCEPTION("d_msleep");
+
58 }
+
59 
+
60 // -----------------------------------------------------------------------
+
61 
+
62 #endif // DISTRHO_SLEEP_HPP_INCLUDED
+
+ + + + diff --git a/d__string_8hpp_source.html b/d__string_8hpp_source.html new file mode 100644 index 00000000..9f5032da --- /dev/null +++ b/d__string_8hpp_source.html @@ -0,0 +1,849 @@ + + + + + + +DISTRHO Plugin Framework: distrho/extra/d_string.hpp Source File + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
d_string.hpp
+
+
+
1 /*
+
2  * DISTRHO Plugin Framework (DPF)
+
3  * Copyright (C) 2012-2014 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 DISTRHO_STRING_HPP_INCLUDED
+
18 #define DISTRHO_STRING_HPP_INCLUDED
+
19 
+
20 #include "d_leakdetector.hpp"
+
21 
+
22 START_NAMESPACE_DISTRHO
+
23 
+
24 // -----------------------------------------------------------------------
+
25 // d_string class
+
26 
+
27 class d_string
+
28 {
+
29 public:
+
30  // -------------------------------------------------------------------
+
31  // constructors (no explicit conversions allowed)
+
32 
+
33  /*
+
34  * Empty string.
+
35  */
+
36  explicit d_string() noexcept
+
37  {
+
38  _init();
+
39  }
+
40 
+
41  /*
+
42  * Simple character.
+
43  */
+
44  explicit d_string(const char c) noexcept
+
45  {
+
46  char ch[2];
+
47  ch[0] = c;
+
48  ch[1] = '\0';
+
49 
+
50  _init();
+
51  _dup(ch);
+
52  }
+
53 
+
54  /*
+
55  * Simple char string.
+
56  */
+
57  explicit d_string(char* const strBuf) noexcept
+
58  {
+
59  _init();
+
60  _dup(strBuf);
+
61  }
+
62 
+
63  /*
+
64  * Simple const char string.
+
65  */
+
66  explicit d_string(const char* const strBuf) noexcept
+
67  {
+
68  _init();
+
69  _dup(strBuf);
+
70  }
+
71 
+
72  /*
+
73  * Integer.
+
74  */
+
75  explicit d_string(const int value) noexcept
+
76  {
+
77  char strBuf[0xff+1];
+
78  std::snprintf(strBuf, 0xff, "%d", value);
+
79  strBuf[0xff] = '\0';
+
80 
+
81  _init();
+
82  _dup(strBuf);
+
83  }
+
84 
+
85  /*
+
86  * Unsigned integer, possibly in hexadecimal.
+
87  */
+
88  explicit d_string(const unsigned int value, const bool hexadecimal = false) noexcept
+
89  {
+
90  char strBuf[0xff+1];
+
91  std::snprintf(strBuf, 0xff, hexadecimal ? "0x%x" : "%u", value);
+
92  strBuf[0xff] = '\0';
+
93 
+
94  _init();
+
95  _dup(strBuf);
+
96  }
+
97 
+
98  /*
+
99  * Long integer.
+
100  */
+
101  explicit d_string(const long value) noexcept
+
102  {
+
103  char strBuf[0xff+1];
+
104  std::snprintf(strBuf, 0xff, "%ld", value);
+
105  strBuf[0xff] = '\0';
+
106 
+
107  _init();
+
108  _dup(strBuf);
+
109  }
+
110 
+
111  /*
+
112  * Long unsigned integer, possibly hexadecimal.
+
113  */
+
114  explicit d_string(const unsigned long value, const bool hexadecimal = false) noexcept
+
115  {
+
116  char strBuf[0xff+1];
+
117  std::snprintf(strBuf, 0xff, hexadecimal ? "0x%lx" : "%lu", value);
+
118  strBuf[0xff] = '\0';
+
119 
+
120  _init();
+
121  _dup(strBuf);
+
122  }
+
123 
+
124  /*
+
125  * Long long integer.
+
126  */
+
127  explicit d_string(const long long value) noexcept
+
128  {
+
129  char strBuf[0xff+1];
+
130  std::snprintf(strBuf, 0xff, "%lld", value);
+
131  strBuf[0xff] = '\0';
+
132 
+
133  _init();
+
134  _dup(strBuf);
+
135  }
+
136 
+
137  /*
+
138  * Long long unsigned integer, possibly hexadecimal.
+
139  */
+
140  explicit d_string(const unsigned long long value, const bool hexadecimal = false) noexcept
+
141  {
+
142  char strBuf[0xff+1];
+
143  std::snprintf(strBuf, 0xff, hexadecimal ? "0x%llx" : "%llu", value);
+
144  strBuf[0xff] = '\0';
+
145 
+
146  _init();
+
147  _dup(strBuf);
+
148  }
+
149 
+
150  /*
+
151  * Single-precision floating point number.
+
152  */
+
153  explicit d_string(const float value) noexcept
+
154  {
+
155  char strBuf[0xff+1];
+
156  std::snprintf(strBuf, 0xff, "%f", value);
+
157  strBuf[0xff] = '\0';
+
158 
+
159  _init();
+
160  _dup(strBuf);
+
161  }
+
162 
+
163  /*
+
164  * Double-precision floating point number.
+
165  */
+
166  explicit d_string(const double value) noexcept
+
167  {
+
168  char strBuf[0xff+1];
+
169  std::snprintf(strBuf, 0xff, "%g", value);
+
170  strBuf[0xff] = '\0';
+
171 
+
172  _init();
+
173  _dup(strBuf);
+
174  }
+
175 
+
176  // -------------------------------------------------------------------
+
177  // non-explicit constructor
+
178 
+
179  /*
+
180  * Create string from another string.
+
181  */
+
182  d_string(const d_string& str) noexcept
+
183  {
+
184  _init();
+
185  _dup(str.fBuffer);
+
186  }
+
187 
+
188  // -------------------------------------------------------------------
+
189  // destructor
+
190 
+
191  /*
+
192  * Destructor.
+
193  */
+
194  ~d_string() noexcept
+
195  {
+
196  DISTRHO_SAFE_ASSERT_RETURN(fBuffer != nullptr,);
+
197 
+
198  if (fBuffer == _null())
+
199  return;
+
200 
+
201  std::free(fBuffer);
+
202 
+
203  fBuffer = nullptr;
+
204  fBufferLen = 0;
+
205  }
+
206 
+
207  // -------------------------------------------------------------------
+
208  // public methods
+
209 
+
210  /*
+
211  * Get length of the string.
+
212  */
+
213  size_t length() const noexcept
+
214  {
+
215  return fBufferLen;
+
216  }
+
217 
+
218  /*
+
219  * Check if the string is empty.
+
220  */
+
221  bool isEmpty() const noexcept
+
222  {
+
223  return (fBufferLen == 0);
+
224  }
+
225 
+
226  /*
+
227  * Check if the string is not empty.
+
228  */
+
229  bool isNotEmpty() const noexcept
+
230  {
+
231  return (fBufferLen != 0);
+
232  }
+
233 
+
234  /*
+
235  * Check if the string contains another string, optionally ignoring case.
+
236  */
+
237  bool contains(const char* const strBuf, const bool ignoreCase = false) const noexcept
+
238  {
+
239  DISTRHO_SAFE_ASSERT_RETURN(strBuf != nullptr, false);
+
240 
+
241  if (ignoreCase)
+
242  {
+
243 #ifdef __USE_GNU
+
244  return (strcasestr(fBuffer, strBuf) != nullptr);
+
245 #else
+
246  d_string tmp1(fBuffer), tmp2(strBuf);
+
247 
+
248  // memory allocation failed or empty string(s)
+
249  if (tmp1.fBuffer == _null() || tmp2.fBuffer == _null())
+
250  return false;
+
251 
+
252  tmp1.toLower();
+
253  tmp2.toLower();
+
254  return (std::strstr(tmp1, tmp2) != nullptr);
+
255 #endif
+
256  }
+
257 
+
258  return (std::strstr(fBuffer, strBuf) != nullptr);
+
259  }
+
260 
+
261  /*
+
262  * Check if character at 'pos' is a digit.
+
263  */
+
264  bool isDigit(const size_t pos) const noexcept
+
265  {
+
266  DISTRHO_SAFE_ASSERT_RETURN(pos < fBufferLen, false);
+
267 
+
268  return (fBuffer[pos] >= '0' && fBuffer[pos] <= '9');
+
269  }
+
270 
+
271  /*
+
272  * Check if the string starts with the character 'c'.
+
273  */
+
274  bool startsWith(const char c) const noexcept
+
275  {
+
276  DISTRHO_SAFE_ASSERT_RETURN(c != '\0', false);
+
277 
+
278  return (fBufferLen > 0 && fBuffer[0] == c);
+
279  }
+
280 
+
281  /*
+
282  * Check if the string starts with the string 'prefix'.
+
283  */
+
284  bool startsWith(const char* const prefix) const noexcept
+
285  {
+
286  DISTRHO_SAFE_ASSERT_RETURN(prefix != nullptr, false);
+
287 
+
288  const size_t prefixLen(std::strlen(prefix));
+
289 
+
290  if (fBufferLen < prefixLen)
+
291  return false;
+
292 
+
293  return (std::strncmp(fBuffer, prefix, prefixLen) == 0);
+
294  }
+
295 
+
296  /*
+
297  * Check if the string ends with the character 'c'.
+
298  */
+
299  bool endsWith(const char c) const noexcept
+
300  {
+
301  DISTRHO_SAFE_ASSERT_RETURN(c != '\0', false);
+
302 
+
303  return (fBufferLen > 0 && fBuffer[fBufferLen-1] == c);
+
304  }
+
305 
+
306  /*
+
307  * Check if the string ends with the string 'suffix'.
+
308  */
+
309  bool endsWith(const char* const suffix) const noexcept
+
310  {
+
311  DISTRHO_SAFE_ASSERT_RETURN(suffix != nullptr, false);
+
312 
+
313  const size_t suffixLen(std::strlen(suffix));
+
314 
+
315  if (fBufferLen < suffixLen)
+
316  return false;
+
317 
+
318  return (std::strncmp(fBuffer + (fBufferLen-suffixLen), suffix, suffixLen) == 0);
+
319  }
+
320 
+
321  /*
+
322  * Find the first occurrence of character 'c' in the string.
+
323  * Returns "length()" if the character is not found.
+
324  */
+
325  size_t find(const char c, bool* const found = nullptr) const noexcept
+
326  {
+
327  if (fBufferLen == 0 || c == '\0')
+
328  {
+
329  if (found != nullptr)
+
330  *found = false;
+
331  return fBufferLen;
+
332  }
+
333 
+
334  for (size_t i=0; i < fBufferLen; ++i)
+
335  {
+
336  if (fBuffer[i] == c)
+
337  {
+
338  if (found != nullptr)
+
339  *found = true;
+
340  return i;
+
341  }
+
342  }
+
343 
+
344  if (found != nullptr)
+
345  *found = false;
+
346  return fBufferLen;
+
347  }
+
348 
+
349  /*
+
350  * Find the first occurrence of string 'strBuf' in the string.
+
351  * Returns "length()" if the string is not found.
+
352  */
+
353  size_t find(const char* const strBuf, bool* const found = nullptr) const noexcept
+
354  {
+
355  if (fBufferLen == 0 || strBuf == nullptr || strBuf[0] == '\0')
+
356  {
+
357  if (found != nullptr)
+
358  *found = false;
+
359  return fBufferLen;
+
360  }
+
361 
+
362  if (char* const subStrBuf = std::strstr(fBuffer, strBuf))
+
363  {
+
364  const ssize_t ret(subStrBuf - fBuffer);
+
365 
+
366  if (ret < 0)
+
367  {
+
368  // should never happen!
+
369  d_safe_assert("ret >= 0", __FILE__, __LINE__);
+
370 
+
371  if (found != nullptr)
+
372  *found = false;
+
373  return fBufferLen;
+
374  }
+
375 
+
376  if (found != nullptr)
+
377  *found = true;
+
378  return static_cast<size_t>(ret);
+
379  }
+
380 
+
381  if (found != nullptr)
+
382  *found = false;
+
383  return fBufferLen;
+
384  }
+
385 
+
386  /*
+
387  * Find the last occurrence of character 'c' in the string.
+
388  * Returns "length()" if the character is not found.
+
389  */
+
390  size_t rfind(const char c, bool* const found = nullptr) const noexcept
+
391  {
+
392  if (fBufferLen == 0 || c == '\0')
+
393  {
+
394  if (found != nullptr)
+
395  *found = false;
+
396  return fBufferLen;
+
397  }
+
398 
+
399  for (size_t i=fBufferLen; i > 0; --i)
+
400  {
+
401  if (fBuffer[i-1] == c)
+
402  {
+
403  if (found != nullptr)
+
404  *found = true;
+
405  return i-1;
+
406  }
+
407  }
+
408 
+
409  if (found != nullptr)
+
410  *found = false;
+
411  return fBufferLen;
+
412  }
+
413 
+
414  /*
+
415  * Find the last occurrence of string 'strBuf' in the string.
+
416  * Returns "length()" if the string is not found.
+
417  */
+
418  size_t rfind(const char* const strBuf, bool* const found = nullptr) const noexcept
+
419  {
+
420  if (found != nullptr)
+
421  *found = false;
+
422 
+
423  if (fBufferLen == 0 || strBuf == nullptr || strBuf[0] == '\0')
+
424  return fBufferLen;
+
425 
+
426  const size_t strBufLen(std::strlen(strBuf));
+
427 
+
428  size_t ret = fBufferLen;
+
429  const char* tmpBuf = fBuffer;
+
430 
+
431  for (size_t i=0; i < fBufferLen; ++i)
+
432  {
+
433  if (std::strstr(tmpBuf+1, strBuf) == nullptr && std::strncmp(tmpBuf, strBuf, strBufLen) == 0)
+
434  {
+
435  if (found != nullptr)
+
436  *found = true;
+
437  break;
+
438  }
+
439 
+
440  --ret;
+
441  ++tmpBuf;
+
442  }
+
443 
+
444  return fBufferLen-ret;
+
445  }
+
446 
+
447  /*
+
448  * Clear the string.
+
449  */
+
450  void clear() noexcept
+
451  {
+
452  truncate(0);
+
453  }
+
454 
+
455  /*
+
456  * Replace all occurrences of character 'before' with character 'after'.
+
457  */
+
458  void replace(const char before, const char after) noexcept
+
459  {
+
460  DISTRHO_SAFE_ASSERT_RETURN(before != '\0' && after != '\0',);
+
461 
+
462  for (size_t i=0; i < fBufferLen; ++i)
+
463  {
+
464  if (fBuffer[i] == before)
+
465  fBuffer[i] = after;
+
466  }
+
467  }
+
468 
+
469  /*
+
470  * Truncate the string to size 'n'.
+
471  */
+
472  void truncate(const size_t n) noexcept
+
473  {
+
474  if (n >= fBufferLen)
+
475  return;
+
476 
+
477  for (size_t i=n; i < fBufferLen; ++i)
+
478  fBuffer[i] = '\0';
+
479 
+
480  fBufferLen = n;
+
481  }
+
482 
+
483  /*
+
484  * Convert all non-basic characters to '_'.
+
485  */
+
486  void toBasic() noexcept
+
487  {
+
488  for (size_t i=0; i < fBufferLen; ++i)
+
489  {
+
490  if (fBuffer[i] >= '0' && fBuffer[i] <= '9')
+
491  continue;
+
492  if (fBuffer[i] >= 'A' && fBuffer[i] <= 'Z')
+
493  continue;
+
494  if (fBuffer[i] >= 'a' && fBuffer[i] <= 'z')
+
495  continue;
+
496  if (fBuffer[i] == '_')
+
497  continue;
+
498 
+
499  fBuffer[i] = '_';
+
500  }
+
501  }
+
502 
+
503  /*
+
504  * Convert to all ascii characters to lowercase.
+
505  */
+
506  void toLower() noexcept
+
507  {
+
508  static const char kCharDiff('a' - 'A');
+
509 
+
510  for (size_t i=0; i < fBufferLen; ++i)
+
511  {
+
512  if (fBuffer[i] >= 'A' && fBuffer[i] <= 'Z')
+
513  fBuffer[i] = static_cast<char>(fBuffer[i] + kCharDiff);
+
514  }
+
515  }
+
516 
+
517  /*
+
518  * Convert to all ascii characters to uppercase.
+
519  */
+
520  void toUpper() noexcept
+
521  {
+
522  static const char kCharDiff('a' - 'A');
+
523 
+
524  for (size_t i=0; i < fBufferLen; ++i)
+
525  {
+
526  if (fBuffer[i] >= 'a' && fBuffer[i] <= 'z')
+
527  fBuffer[i] = static_cast<char>(fBuffer[i] - kCharDiff);
+
528  }
+
529  }
+
530 
+
531  /*
+
532  * Direct access to the string buffer (read-only).
+
533  */
+
534  const char* buffer() const noexcept
+
535  {
+
536  return fBuffer;
+
537  }
+
538 
+
539  // -------------------------------------------------------------------
+
540  // public operators
+
541 
+
542  operator const char*() const noexcept
+
543  {
+
544  return fBuffer;
+
545  }
+
546 
+
547  char operator[](const size_t pos) const noexcept
+
548  {
+
549  if (pos < fBufferLen)
+
550  return fBuffer[pos];
+
551 
+
552  d_safe_assert("pos < fBufferLen", __FILE__, __LINE__);
+
553 
+
554  static char fallback;
+
555  fallback = '\0';
+
556  return fallback;
+
557  }
+
558 
+
559  char& operator[](const size_t pos) noexcept
+
560  {
+
561  if (pos < fBufferLen)
+
562  return fBuffer[pos];
+
563 
+
564  d_safe_assert("pos < fBufferLen", __FILE__, __LINE__);
+
565 
+
566  static char fallback;
+
567  fallback = '\0';
+
568  return fallback;
+
569  }
+
570 
+
571  bool operator==(const char* const strBuf) const noexcept
+
572  {
+
573  return (strBuf != nullptr && std::strcmp(fBuffer, strBuf) == 0);
+
574  }
+
575 
+
576  bool operator==(const d_string& str) const noexcept
+
577  {
+
578  return operator==(str.fBuffer);
+
579  }
+
580 
+
581  bool operator!=(const char* const strBuf) const noexcept
+
582  {
+
583  return !operator==(strBuf);
+
584  }
+
585 
+
586  bool operator!=(const d_string& str) const noexcept
+
587  {
+
588  return !operator==(str.fBuffer);
+
589  }
+
590 
+
591  d_string& operator=(const char* const strBuf) noexcept
+
592  {
+
593  _dup(strBuf);
+
594 
+
595  return *this;
+
596  }
+
597 
+
598  d_string& operator=(const d_string& str) noexcept
+
599  {
+
600  _dup(str.fBuffer);
+
601 
+
602  return *this;
+
603  }
+
604 
+
605  d_string& operator+=(const char* const strBuf) noexcept
+
606  {
+
607  if (strBuf == nullptr)
+
608  return *this;
+
609 
+
610  const size_t newBufSize = fBufferLen + std::strlen(strBuf) + 1;
+
611  char newBuf[newBufSize];
+
612 
+
613  std::strcpy(newBuf, fBuffer);
+
614  std::strcat(newBuf, strBuf);
+
615 
+
616  _dup(newBuf, newBufSize-1);
+
617 
+
618  return *this;
+
619  }
+
620 
+
621  d_string& operator+=(const d_string& str) noexcept
+
622  {
+
623  return operator+=(str.fBuffer);
+
624  }
+
625 
+
626  d_string operator+(const char* const strBuf) noexcept
+
627  {
+
628  const size_t newBufSize = fBufferLen + ((strBuf != nullptr) ? std::strlen(strBuf) : 0) + 1;
+
629  char newBuf[newBufSize];
+
630 
+
631  std::strcpy(newBuf, fBuffer);
+
632 
+
633  if (strBuf != nullptr)
+
634  std::strcat(newBuf, strBuf);
+
635 
+
636  return d_string(newBuf);
+
637  }
+
638 
+
639  d_string operator+(const d_string& str) noexcept
+
640  {
+
641  return operator+(str.fBuffer);
+
642  }
+
643 
+
644  // -------------------------------------------------------------------
+
645 
+
646 private:
+
647  char* fBuffer; // the actual string buffer
+
648  size_t fBufferLen; // string length
+
649 
+
650  /*
+
651  * Static null string.
+
652  * Prevents allocation for new and/or empty strings.
+
653  */
+
654  static char* _null() noexcept
+
655  {
+
656  static char sNull = '\0';
+
657  return &sNull;
+
658  }
+
659 
+
660  /*
+
661  * Shared init function.
+
662  * Called on all constructors.
+
663  */
+
664  void _init() noexcept
+
665  {
+
666  fBuffer = _null();
+
667  fBufferLen = 0;
+
668  }
+
669 
+
670  /*
+
671  * Helper function.
+
672  * Called whenever the string needs to be allocated.
+
673  *
+
674  * Notes:
+
675  * - Allocates string only if 'strBuf' is not null and new string contents are different
+
676  * - If 'strBuf' is null, 'size' must be 0
+
677  */
+
678  void _dup(const char* const strBuf, const size_t size = 0) noexcept
+
679  {
+
680  if (strBuf != nullptr)
+
681  {
+
682  // don't recreate string if contents match
+
683  if (std::strcmp(fBuffer, strBuf) == 0)
+
684  return;
+
685 
+
686  if (fBuffer != _null())
+
687  std::free(fBuffer);
+
688 
+
689  fBufferLen = (size > 0) ? size : std::strlen(strBuf);
+
690  fBuffer = (char*)std::malloc(fBufferLen+1);
+
691 
+
692  if (fBuffer == nullptr)
+
693  return _init();
+
694 
+
695  std::strcpy(fBuffer, strBuf);
+
696 
+
697  fBuffer[fBufferLen] = '\0';
+
698  }
+
699  else
+
700  {
+
701  DISTRHO_SAFE_ASSERT(size == 0);
+
702 
+
703  // don't recreate null string
+
704  if (fBuffer == _null())
+
705  return;
+
706 
+
707  DISTRHO_SAFE_ASSERT(fBuffer != nullptr);
+
708  std::free(fBuffer);
+
709 
+
710  _init();
+
711  }
+
712  }
+
713 
+
714  DISTRHO_LEAK_DETECTOR(d_string)
+
715  DISTRHO_PREVENT_HEAP_ALLOCATION
+
716 };
+
717 
+
718 // -----------------------------------------------------------------------
+
719 
+
720 static inline
+
721 d_string operator+(const d_string& strBefore, const char* const strBufAfter) noexcept
+
722 {
+
723  const char* const strBufBefore = strBefore.buffer();
+
724  const size_t newBufSize = strBefore.length() + ((strBufAfter != nullptr) ? std::strlen(strBufAfter) : 0) + 1;
+
725  char newBuf[newBufSize];
+
726 
+
727  std::strcpy(newBuf, strBufBefore);
+
728  std::strcat(newBuf, strBufAfter);
+
729 
+
730  return d_string(newBuf);
+
731 }
+
732 
+
733 static inline
+
734 d_string operator+(const char* const strBufBefore, const d_string& strAfter) noexcept
+
735 {
+
736  const char* const strBufAfter = strAfter.buffer();
+
737  const size_t newBufSize = ((strBufBefore != nullptr) ? std::strlen(strBufBefore) : 0) + strAfter.length() + 1;
+
738  char newBuf[newBufSize];
+
739 
+
740  std::strcpy(newBuf, strBufBefore);
+
741  std::strcat(newBuf, strBufAfter);
+
742 
+
743  return d_string(newBuf);
+
744 }
+
745 
+
746 // -----------------------------------------------------------------------
+
747 
+
748 END_NAMESPACE_DISTRHO
+
749 
+
750 #endif // DISTRHO_STRING_HPP_INCLUDED
+
Definition: d_string.hpp:27
+
+ + + + diff --git a/d__thread_8hpp_source.html b/d__thread_8hpp_source.html new file mode 100644 index 00000000..52b75cd9 --- /dev/null +++ b/d__thread_8hpp_source.html @@ -0,0 +1,393 @@ + + + + + + +DISTRHO Plugin Framework: distrho/extra/d_thread.hpp Source File + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
d_thread.hpp
+
+
+
1 /*
+
2  * DISTRHO Plugin Framework (DPF)
+
3  * Copyright (C) 2012-2014 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 DISTRHO_THREAD_HPP_INCLUDED
+
18 #define DISTRHO_THREAD_HPP_INCLUDED
+
19 
+
20 #include "d_mutex.hpp"
+
21 #include "d_sleep.hpp"
+
22 #include "d_string.hpp"
+
23 
+
24 #if defined(__GLIBC__) && (__GLIBC__ * 1000 + __GLIBC_MINOR__) >= 2012
+
25 // has pthread_setname_np
+
26 #elif defined(DISTRHO_OS_LINUX)
+
27 # include <sys/prctl.h>
+
28 #endif
+
29 
+
30 START_NAMESPACE_DISTRHO
+
31 
+
32 // -----------------------------------------------------------------------
+
33 // Thread class
+
34 
+
35 class Thread
+
36 {
+
37 protected:
+
38  /*
+
39  * Constructor.
+
40  */
+
41  Thread(const char* const threadName = nullptr) noexcept
+
42  : fLock(),
+
43  fName(threadName),
+
44 #ifdef PTW32_DLLPORT
+
45  fHandle({nullptr, 0}),
+
46 #else
+
47  fHandle(0),
+
48 #endif
+
49  fShouldExit(false) {}
+
50 
+
51  /*
+
52  * Destructor.
+
53  */
+
54  virtual ~Thread() /*noexcept*/
+
55  {
+
56  DISTRHO_SAFE_ASSERT(! isThreadRunning());
+
57 
+
58  stopThread(-1);
+
59  }
+
60 
+
61  /*
+
62  * Virtual function to be implemented by the subclass.
+
63  */
+
64  virtual void run() = 0;
+
65 
+
66  // -------------------------------------------------------------------
+
67 
+
68 public:
+
69  /*
+
70  * Check if the thread is running.
+
71  */
+
72  bool isThreadRunning() const noexcept
+
73  {
+
74 #ifdef PTW32_DLLPORT
+
75  return (fHandle.p != nullptr);
+
76 #else
+
77  return (fHandle != 0);
+
78 #endif
+
79  }
+
80 
+
81  /*
+
82  * Check if the thread should exit.
+
83  */
+
84  bool shouldThreadExit() const noexcept
+
85  {
+
86  return fShouldExit;
+
87  }
+
88 
+
89  /*
+
90  * Start the thread.
+
91  */
+
92  bool startThread() noexcept
+
93  {
+
94  // check if already running
+
95  DISTRHO_SAFE_ASSERT_RETURN(! isThreadRunning(), true);
+
96 
+
97  const MutexLocker cml(fLock);
+
98 
+
99  fShouldExit = false;
+
100 
+
101  pthread_t handle;
+
102 
+
103  if (pthread_create(&handle, nullptr, _entryPoint, this) == 0)
+
104  {
+
105 #ifdef PTW32_DLLPORT
+
106  DISTRHO_SAFE_ASSERT_RETURN(handle.p != nullptr, false);
+
107 #else
+
108  DISTRHO_SAFE_ASSERT_RETURN(handle != 0, false);
+
109 #endif
+
110  pthread_detach(handle);
+
111  _copyFrom(handle);
+
112 
+
113  // wait for thread to start
+
114  fLock.lock();
+
115 
+
116  return true;
+
117  }
+
118 
+
119  return false;
+
120  }
+
121 
+
122  /*
+
123  * Stop the thread.
+
124  * In the 'timeOutMilliseconds':
+
125  * = 0 -> no wait
+
126  * > 0 -> wait timeout value
+
127  * < 0 -> wait forever
+
128  */
+
129  bool stopThread(const int timeOutMilliseconds) noexcept
+
130  {
+
131  const MutexLocker cml(fLock);
+
132 
+
133  if (isThreadRunning())
+
134  {
+
135  signalThreadShouldExit();
+
136 
+
137  if (timeOutMilliseconds != 0)
+
138  {
+
139  // Wait for the thread to stop
+
140  int timeOutCheck = (timeOutMilliseconds == 1 || timeOutMilliseconds == -1) ? timeOutMilliseconds : timeOutMilliseconds/2;
+
141 
+
142  for (; isThreadRunning();)
+
143  {
+
144  d_msleep(2);
+
145 
+
146  if (timeOutCheck < 0)
+
147  continue;
+
148 
+
149  if (timeOutCheck > 0)
+
150  timeOutCheck -= 1;
+
151  else
+
152  break;
+
153  }
+
154  }
+
155 
+
156  if (isThreadRunning())
+
157  {
+
158  // should never happen!
+
159  d_stderr2("Carla assertion failure: \"! isThreadRunning()\" in file %s, line %i", __FILE__, __LINE__);
+
160 
+
161  // copy thread id so we can clear our one
+
162  pthread_t threadId;
+
163  _copyTo(threadId);
+
164  _init();
+
165 
+
166  try {
+
167  pthread_cancel(threadId);
+
168  } DISTRHO_SAFE_EXCEPTION("pthread_cancel");
+
169 
+
170  return false;
+
171  }
+
172  }
+
173 
+
174  return true;
+
175  }
+
176 
+
177  /*
+
178  * Tell the thread to stop as soon as possible.
+
179  */
+
180  void signalThreadShouldExit() noexcept
+
181  {
+
182  fShouldExit = true;
+
183  }
+
184 
+
185  // -------------------------------------------------------------------
+
186 
+
187  /*
+
188  * Returns the name of the thread.
+
189  * This is the name that gets set in the constructor.
+
190  */
+
191  const d_string& getThreadName() const noexcept
+
192  {
+
193  return fName;
+
194  }
+
195 
+
196  /*
+
197  * Changes the name of the caller thread.
+
198  */
+
199  static void setCurrentThreadName(const char* const name) noexcept
+
200  {
+
201  DISTRHO_SAFE_ASSERT_RETURN(name != nullptr && name[0] != '\0',);
+
202 
+
203 #if defined(__GLIBC__) && (__GLIBC__ * 1000 + __GLIBC_MINOR__) >= 2012
+
204  pthread_setname_np(pthread_self(), name);
+
205 #elif defined(DISTRHO_OS_LINUX)
+
206  prctl(PR_SET_NAME, name, 0, 0, 0);
+
207 #endif
+
208  }
+
209 
+
210  // -------------------------------------------------------------------
+
211 
+
212 private:
+
213  Mutex fLock; // Thread lock
+
214  const d_string fName; // Thread name
+
215  volatile pthread_t fHandle; // Handle for this thread
+
216  volatile bool fShouldExit; // true if thread should exit
+
217 
+
218  /*
+
219  * Init pthread type.
+
220  */
+
221  void _init() noexcept
+
222  {
+
223 #ifdef PTW32_DLLPORT
+
224  fHandle.p = nullptr;
+
225  fHandle.x = 0;
+
226 #else
+
227  fHandle = 0;
+
228 #endif
+
229  }
+
230 
+
231  /*
+
232  * Copy our pthread type from another var.
+
233  */
+
234  void _copyFrom(const pthread_t& handle) noexcept
+
235  {
+
236 #ifdef PTW32_DLLPORT
+
237  fHandle.p = handle.p;
+
238  fHandle.x = handle.x;
+
239 #else
+
240  fHandle = handle;
+
241 #endif
+
242  }
+
243 
+
244  /*
+
245  * Copy our pthread type to another var.
+
246  */
+
247  void _copyTo(volatile pthread_t& handle) const noexcept
+
248  {
+
249 #ifdef PTW32_DLLPORT
+
250  handle.p = fHandle.p;
+
251  handle.x = fHandle.x;
+
252 #else
+
253  handle = fHandle;
+
254 #endif
+
255  }
+
256 
+
257  /*
+
258  * Thread entry point.
+
259  */
+
260  void _runEntryPoint() noexcept
+
261  {
+
262  // report ready
+
263  fLock.unlock();
+
264 
+
265  setCurrentThreadName(fName);
+
266 
+
267  try {
+
268  run();
+
269  } catch(...) {}
+
270 
+
271  // done
+
272  _init();
+
273  }
+
274 
+
275  /*
+
276  * Thread entry point.
+
277  */
+
278  static void* _entryPoint(void* userData) noexcept
+
279  {
+
280  static_cast<Thread*>(userData)->_runEntryPoint();
+
281  return nullptr;
+
282  }
+
283 
+
284  DISTRHO_DECLARE_NON_COPY_CLASS(Thread)
+
285 };
+
286 
+
287 // -----------------------------------------------------------------------
+
288 
+
289 END_NAMESPACE_DISTRHO
+
290 
+
291 #endif // DISTRHO_THREAD_HPP_INCLUDED
+
Definition: d_mutex.hpp:34
+
Definition: d_mutex.hpp:171
+
Definition: d_thread.hpp:35
+
Definition: d_string.hpp:27
+
+ + + + diff --git a/dir_37257469cca17bab24b582e18a78eb75.html b/dir_37257469cca17bab24b582e18a78eb75.html index b142c870..1dce12c5 100644 --- a/dir_37257469cca17bab24b582e18a78eb75.html +++ b/dir_37257469cca17bab24b582e18a78eb75.html @@ -83,8 +83,15 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
+ + + +

+Directories

directory  extra
 
+ + @@ -99,7 +106,7 @@ Files diff --git a/dir_99893ac99dd47c2a73745483a12a725f.html b/dir_99893ac99dd47c2a73745483a12a725f.html new file mode 100644 index 00000000..dd7834a5 --- /dev/null +++ b/dir_99893ac99dd47c2a73745483a12a725f.html @@ -0,0 +1,125 @@ + + + + + + +DISTRHO Plugin Framework: dgl Directory Reference + + + + + + + + + +
+
+

Files

file  DistrhoInfo.hpp [code]
 
file  DistrhoPlugin.hpp [code]
 
file  DistrhoPluginMain.cpp
+ + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + + + +
+ +
+ + + +
+
+
dgl Directory Reference
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Files

file  App.hpp [code]
 
file  Base.hpp [code]
 
file  Color.hpp [code]
 
file  Geometry.hpp [code]
 
file  Image.hpp [code]
 
file  ImageAboutWindow.hpp [code]
 
file  ImageButton.hpp [code]
 
file  ImageKnob.hpp [code]
 
file  ImageSlider.hpp [code]
 
file  ImageSwitch.hpp [code]
 
file  NanoVG.hpp [code]
 
file  StandaloneWindow.hpp [code]
 
file  Widget.hpp [code]
 
file  Window.hpp [code]
 
+
+ + + + diff --git a/dir_b1be46be7d80596b116b2b4ac973f2f0.html b/dir_b1be46be7d80596b116b2b4ac973f2f0.html new file mode 100644 index 00000000..56390402 --- /dev/null +++ b/dir_b1be46be7d80596b116b2b4ac973f2f0.html @@ -0,0 +1,109 @@ + + + + + + +DISTRHO Plugin Framework: distrho/extra Directory Reference + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + + + +
+ +
+ + +
+
+
+
extra Directory Reference
+
+
+ + + + + + + + + + + + + + +

+Files

file  d_leakdetector.hpp [code]
 
file  d_mutex.hpp [code]
 
file  d_scopedpointer.hpp [code]
 
file  d_sleep.hpp [code]
 
file  d_string.hpp [code]
 
file  d_thread.hpp [code]
 
+
+ + + + diff --git a/doxygen_sqlite3.db b/doxygen_sqlite3.db index 06fe8d2a..bf081f9b 100644 Binary files a/doxygen_sqlite3.db and b/doxygen_sqlite3.db differ diff --git a/files.html b/files.html index 42cf800e..3cede453 100644 --- a/files.html +++ b/files.html @@ -84,17 +84,40 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
Here is a list of all documented files with brief descriptions:
-
[detail level 12]
- - - - +
[detail level 123]
  distrho
 DistrhoPlugin.hpp
 DistrhoUI.hpp
 DistrhoUtils.hpp
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
  dgl
 App.hpp
 Base.hpp
 Color.hpp
 Geometry.hpp
 Image.hpp
 ImageAboutWindow.hpp
 ImageButton.hpp
 ImageKnob.hpp
 ImageSlider.hpp
 ImageSwitch.hpp
 NanoVG.hpp
 StandaloneWindow.hpp
 Widget.hpp
 Window.hpp
  distrho
  extra
 d_leakdetector.hpp
 d_mutex.hpp
 d_scopedpointer.hpp
 d_sleep.hpp
 d_string.hpp
 d_thread.hpp
 DistrhoInfo.hpp
 DistrhoPlugin.hpp
 DistrhoUI.hpp
 DistrhoUtils.hpp
diff --git a/functions.html b/functions.html index 52109d7c..8bb057e9 100644 --- a/functions.html +++ b/functions.html @@ -75,23 +75,29 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); @@ -113,296 +119,26 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
Here is a list of all documented class members with links to the class documentation for each member:

- a -

- - -

- b -

- - -

- d -

    -
  • d_activate() -: Plugin -
  • -
  • d_bufferSizeChanged() -: Plugin -
  • -
  • d_deactivate() -: Plugin -
  • -
  • d_editParameter() -: UI -
  • -
  • d_getBufferSize() -: Plugin -
  • -
  • d_getLabel() -: Plugin -
  • -
  • d_getLicense() -: Plugin -
  • -
  • d_getMaker() -: Plugin -
  • -
  • d_getName() -: Plugin -
  • -
  • d_getParameterValue() -: Plugin -
  • -
  • d_getPluginInstancePointer() -: UI -
  • -
  • d_getSampleRate() -: Plugin -, UI -
  • -
  • d_getTimePosition() -: Plugin -
  • -
  • d_getUniqueId() -: Plugin -
  • -
  • d_getVersion() -: Plugin -
  • -
  • d_initAudioPort() -: Plugin -
  • -
  • d_initParameter() -: Plugin -
  • -
  • d_initProgramName() -: Plugin -
  • -
  • d_initState() -: Plugin -
  • -
  • d_parameterChanged() -: UI -
  • -
  • d_programChanged() -: UI -
  • -
  • d_run() -: Plugin -
  • -
  • d_sampleRateChanged() -: Plugin -, UI -
  • -
  • d_sendNote() -: UI -
  • -
  • d_setLatency() -: Plugin -
  • -
  • d_setParameterValue() -: Plugin -, UI -
  • -
  • d_setProgram() -: Plugin -
  • -
  • d_setState() -: Plugin -, UI -
  • -
  • d_stateChanged() -: UI -
  • -
  • d_uiFileBrowserSelected() -: UI -
  • -
  • d_uiIdle() -: UI -
  • -
  • d_uiReshape() -: UI -
  • -
  • d_writeMidiEvent() -: Plugin -
  • -
  • data -: MidiEvent -
  • -
  • def -: ParameterRanges -
  • -
- - -

- f -

- - -

- g -

- - -

- h -

- - -

- k -

- - -

- m -

- - -

- n -

- - -

- o -

- - -

- p -

- - -

- r -

- - -

- s -

- - -

- t -

- - -

- u -

- - -

- v -

- - -

- ~ -

diff --git a/functions_b.html b/functions_b.html new file mode 100644 index 00000000..689ea402 --- /dev/null +++ b/functions_b.html @@ -0,0 +1,173 @@ + + + + + + +DISTRHO Plugin Framework: Class Members + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- b -

+
+ + + + diff --git a/functions_c.html b/functions_c.html new file mode 100644 index 00000000..1c556181 --- /dev/null +++ b/functions_c.html @@ -0,0 +1,171 @@ + + + + + + +DISTRHO Plugin Framework: Class Members + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- c -

+
+ + + + diff --git a/functions_d.html b/functions_d.html new file mode 100644 index 00000000..785ff45d --- /dev/null +++ b/functions_d.html @@ -0,0 +1,158 @@ + + + + + + +DISTRHO Plugin Framework: Class Members + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- d -

+
+ + + + diff --git a/functions_e.html b/functions_e.html new file mode 100644 index 00000000..4465b353 --- /dev/null +++ b/functions_e.html @@ -0,0 +1,143 @@ + + + + + + +DISTRHO Plugin Framework: Class Members + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- e -

    +
  • editParameter() +: UI +
  • +
  • ellipse() +: NanoVG +
  • +
  • endFrame() +: NanoVG +
  • +
  • exec() +: App +
  • +
+
+ + + + diff --git a/functions_f.html b/functions_f.html new file mode 100644 index 00000000..825d5391 --- /dev/null +++ b/functions_f.html @@ -0,0 +1,177 @@ + + + + + + +DISTRHO Plugin Framework: Class Members + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- f -

+
+ + + + diff --git a/functions_func.html b/functions_func.html index d65c49f1..de46b5d8 100644 --- a/functions_func.html +++ b/functions_func.html @@ -75,16 +75,28 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); @@ -106,198 +118,26 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');  

- a -

- - -

- b -

- - -

- d -

    -
  • d_activate() -: Plugin -
  • -
  • d_bufferSizeChanged() -: Plugin -
  • -
  • d_deactivate() -: Plugin -
  • -
  • d_editParameter() -: UI -
  • -
  • d_getBufferSize() -: Plugin -
  • -
  • d_getLabel() -: Plugin -
  • -
  • d_getLicense() -: Plugin -
  • -
  • d_getMaker() -: Plugin -
  • -
  • d_getName() -: Plugin -
  • -
  • d_getParameterValue() -: Plugin -
  • -
  • d_getPluginInstancePointer() -: UI -
  • -
  • d_getSampleRate() -: Plugin -, UI -
  • -
  • d_getTimePosition() -: Plugin -
  • -
  • d_getUniqueId() -: Plugin -
  • -
  • d_getVersion() -: Plugin -
  • -
  • d_initAudioPort() -: Plugin -
  • -
  • d_initParameter() -: Plugin -
  • -
  • d_initProgramName() -: Plugin -
  • -
  • d_initState() -: Plugin -
  • -
  • d_parameterChanged() -: UI -
  • -
  • d_programChanged() -: UI -
  • -
  • d_run() -: Plugin -
  • -
  • d_sampleRateChanged() -: Plugin -, UI -
  • -
  • d_sendNote() -: UI -
  • -
  • d_setLatency() -: Plugin -
  • -
  • d_setParameterValue() -: Plugin -, UI -
  • -
  • d_setProgram() -: Plugin -
  • -
  • d_setState() -: Plugin -, UI -
  • -
  • d_stateChanged() -: UI +
  • activated() +: Plugin
  • -
  • d_uiFileBrowserSelected() -: UI +
  • App() +: App
  • -
  • d_uiIdle() -: UI +
  • arc() +: NanoVG
  • -
  • d_uiReshape() -: UI +
  • arcTo() +: NanoVG
  • -
  • d_writeMidiEvent() -: Plugin -
  • -
- - -

- f -

- - -

- g -

- - -

- o -

    -
  • onResize() -: UI -
  • -
- - -

- p -

- - -

- t -

- - -

- u -

    -
  • UI() -: UI -
  • -
- - -

- ~ -

diff --git a/functions_func_b.html b/functions_func_b.html new file mode 100644 index 00000000..ea2210ca --- /dev/null +++ b/functions_func_b.html @@ -0,0 +1,154 @@ + + + + + + +DISTRHO Plugin Framework: Class Members - Functions + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- b -

+
+ + + + diff --git a/functions_func_c.html b/functions_func_c.html new file mode 100644 index 00000000..60f504ab --- /dev/null +++ b/functions_func_c.html @@ -0,0 +1,170 @@ + + + + + + +DISTRHO Plugin Framework: Class Members - Functions + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- c -

+
+ + + + diff --git a/functions_func_d.html b/functions_func_d.html new file mode 100644 index 00000000..f8a7b29a --- /dev/null +++ b/functions_func_d.html @@ -0,0 +1,151 @@ + + + + + + +DISTRHO Plugin Framework: Class Members - Functions + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- d -

+
+ + + + diff --git a/functions_func_e.html b/functions_func_e.html new file mode 100644 index 00000000..4fd33230 --- /dev/null +++ b/functions_func_e.html @@ -0,0 +1,142 @@ + + + + + + +DISTRHO Plugin Framework: Class Members - Functions + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- e -

    +
  • editParameter() +: UI +
  • +
  • ellipse() +: NanoVG +
  • +
  • endFrame() +: NanoVG +
  • +
  • exec() +: App +
  • +
+
+ + + + diff --git a/functions_func_f.html b/functions_func_f.html new file mode 100644 index 00000000..f23933c3 --- /dev/null +++ b/functions_func_f.html @@ -0,0 +1,172 @@ + + + + + + +DISTRHO Plugin Framework: Class Members - Functions + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- f -

+
+ + + + diff --git a/functions_func_g.html b/functions_func_g.html new file mode 100644 index 00000000..8b1336ba --- /dev/null +++ b/functions_func_g.html @@ -0,0 +1,267 @@ + + + + + + +DISTRHO Plugin Framework: Class Members - Functions + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- g -

+
+ + + + diff --git a/functions_func_h.html b/functions_func_h.html new file mode 100644 index 00000000..bca65894 --- /dev/null +++ b/functions_func_h.html @@ -0,0 +1,133 @@ + + + + + + +DISTRHO Plugin Framework: Class Members - Functions + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- h -

+
+ + + + diff --git a/functions_func_i.html b/functions_func_i.html new file mode 100644 index 00000000..c7d49128 --- /dev/null +++ b/functions_func_i.html @@ -0,0 +1,188 @@ + + + + + + +DISTRHO Plugin Framework: Class Members - Functions + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- i -

+
+ + + + diff --git a/functions_func_k.html b/functions_func_k.html new file mode 100644 index 00000000..271d9246 --- /dev/null +++ b/functions_func_k.html @@ -0,0 +1,133 @@ + + + + + + +DISTRHO Plugin Framework: Class Members - Functions + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- k -

+
+ + + + diff --git a/functions_func_l.html b/functions_func_l.html new file mode 100644 index 00000000..b2105b36 --- /dev/null +++ b/functions_func_l.html @@ -0,0 +1,148 @@ + + + + + + +DISTRHO Plugin Framework: Class Members - Functions + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- l -

+
+ + + + diff --git a/functions_func_m.html b/functions_func_m.html new file mode 100644 index 00000000..0f84dd77 --- /dev/null +++ b/functions_func_m.html @@ -0,0 +1,147 @@ + + + + + + +DISTRHO Plugin Framework: Class Members - Functions + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- m -

+
+ + + + diff --git a/functions_func_n.html b/functions_func_n.html new file mode 100644 index 00000000..1ee5c163 --- /dev/null +++ b/functions_func_n.html @@ -0,0 +1,139 @@ + + + + + + +DISTRHO Plugin Framework: Class Members - Functions + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- n -

+
+ + + + diff --git a/functions_func_o.html b/functions_func_o.html new file mode 100644 index 00000000..a4a04586 --- /dev/null +++ b/functions_func_o.html @@ -0,0 +1,182 @@ + + + + + + +DISTRHO Plugin Framework: Class Members - Functions + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- o -

+
+ + + + diff --git a/functions_func_p.html b/functions_func_p.html new file mode 100644 index 00000000..44f0b8bb --- /dev/null +++ b/functions_func_p.html @@ -0,0 +1,151 @@ + + + + + + +DISTRHO Plugin Framework: Class Members - Functions + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- p -

+
+ + + + diff --git a/functions_func_q.html b/functions_func_q.html new file mode 100644 index 00000000..0537ed6e --- /dev/null +++ b/functions_func_q.html @@ -0,0 +1,133 @@ + + + + + + +DISTRHO Plugin Framework: Class Members - Functions + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- q -

    +
  • quit() +: App +
  • +
+
+ + + + diff --git a/functions_func_r.html b/functions_func_r.html new file mode 100644 index 00000000..09a2cdad --- /dev/null +++ b/functions_func_r.html @@ -0,0 +1,172 @@ + + + + + + +DISTRHO Plugin Framework: Class Members - Functions + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- r -

+
+ + + + diff --git a/functions_func_s.html b/functions_func_s.html new file mode 100644 index 00000000..3edba22a --- /dev/null +++ b/functions_func_s.html @@ -0,0 +1,279 @@ + + + + + + +DISTRHO Plugin Framework: Class Members - Functions + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- s -

+
+ + + + diff --git a/functions_func_t.html b/functions_func_t.html new file mode 100644 index 00000000..d8758037 --- /dev/null +++ b/functions_func_t.html @@ -0,0 +1,202 @@ + + + + + + +DISTRHO Plugin Framework: Class Members - Functions + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- t -

+
+ + + + diff --git a/functions_func_u.html b/functions_func_u.html new file mode 100644 index 00000000..43363c8f --- /dev/null +++ b/functions_func_u.html @@ -0,0 +1,145 @@ + + + + + + +DISTRHO Plugin Framework: Class Members - Functions + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- u -

    +
  • UI() +: UI +
  • +
  • uiFileBrowserSelected() +: UI +
  • +
  • uiIdle() +: UI +
  • +
  • uiReshape() +: UI +
  • +
  • updateImage() +: NanoImage +
  • +
+
+ + + + diff --git a/functions_func_w.html b/functions_func_w.html new file mode 100644 index 00000000..3854213b --- /dev/null +++ b/functions_func_w.html @@ -0,0 +1,136 @@ + + + + + + +DISTRHO Plugin Framework: Class Members - Functions + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- w -

+
+ + + + diff --git a/functions_func_~.html b/functions_func_~.html new file mode 100644 index 00000000..28f9f1de --- /dev/null +++ b/functions_func_~.html @@ -0,0 +1,160 @@ + + + + + + +DISTRHO Plugin Framework: Class Members - Functions + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- ~ -

+
+ + + + diff --git a/functions_g.html b/functions_g.html new file mode 100644 index 00000000..19fc0fd2 --- /dev/null +++ b/functions_g.html @@ -0,0 +1,268 @@ + + + + + + +DISTRHO Plugin Framework: Class Members + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- g -

+
+ + + + diff --git a/functions_h.html b/functions_h.html new file mode 100644 index 00000000..3e625add --- /dev/null +++ b/functions_h.html @@ -0,0 +1,138 @@ + + + + + + +DISTRHO Plugin Framework: Class Members + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- h -

+
+ + + + diff --git a/functions_i.html b/functions_i.html new file mode 100644 index 00000000..a5124960 --- /dev/null +++ b/functions_i.html @@ -0,0 +1,189 @@ + + + + + + +DISTRHO Plugin Framework: Class Members + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- i -

+
+ + + + diff --git a/functions_k.html b/functions_k.html new file mode 100644 index 00000000..1073c68f --- /dev/null +++ b/functions_k.html @@ -0,0 +1,137 @@ + + + + + + +DISTRHO Plugin Framework: Class Members + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- k -

+
+ + + + diff --git a/functions_l.html b/functions_l.html new file mode 100644 index 00000000..f07cba44 --- /dev/null +++ b/functions_l.html @@ -0,0 +1,149 @@ + + + + + + +DISTRHO Plugin Framework: Class Members + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- l -

+
+ + + + diff --git a/functions_m.html b/functions_m.html new file mode 100644 index 00000000..380c79fa --- /dev/null +++ b/functions_m.html @@ -0,0 +1,154 @@ + + + + + + +DISTRHO Plugin Framework: Class Members + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- m -

+
+ + + + diff --git a/functions_n.html b/functions_n.html new file mode 100644 index 00000000..201fe154 --- /dev/null +++ b/functions_n.html @@ -0,0 +1,144 @@ + + + + + + +DISTRHO Plugin Framework: Class Members + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- n -

+
+ + + + diff --git a/functions_o.html b/functions_o.html new file mode 100644 index 00000000..ff9a9257 --- /dev/null +++ b/functions_o.html @@ -0,0 +1,183 @@ + + + + + + +DISTRHO Plugin Framework: Class Members + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- o -

+
+ + + + diff --git a/functions_p.html b/functions_p.html new file mode 100644 index 00000000..c411387e --- /dev/null +++ b/functions_p.html @@ -0,0 +1,155 @@ + + + + + + +DISTRHO Plugin Framework: Class Members + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- p -

+
+ + + + diff --git a/functions_q.html b/functions_q.html new file mode 100644 index 00000000..d0cde5a6 --- /dev/null +++ b/functions_q.html @@ -0,0 +1,134 @@ + + + + + + +DISTRHO Plugin Framework: Class Members + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- q -

    +
  • quit() +: App +
  • +
+
+ + + + diff --git a/functions_r.html b/functions_r.html new file mode 100644 index 00000000..337968fd --- /dev/null +++ b/functions_r.html @@ -0,0 +1,176 @@ + + + + + + +DISTRHO Plugin Framework: Class Members + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- r -

+
+ + + + diff --git a/functions_s.html b/functions_s.html new file mode 100644 index 00000000..433f65d5 --- /dev/null +++ b/functions_s.html @@ -0,0 +1,287 @@ + + + + + + +DISTRHO Plugin Framework: Class Members + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- s -

+
+ + + + diff --git a/functions_t.html b/functions_t.html new file mode 100644 index 00000000..60436ba3 --- /dev/null +++ b/functions_t.html @@ -0,0 +1,209 @@ + + + + + + +DISTRHO Plugin Framework: Class Members + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- t -

+
+ + + + diff --git a/functions_u.html b/functions_u.html new file mode 100644 index 00000000..254f842d --- /dev/null +++ b/functions_u.html @@ -0,0 +1,149 @@ + + + + + + +DISTRHO Plugin Framework: Class Members + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- u -

    +
  • UI() +: UI +
  • +
  • uiFileBrowserSelected() +: UI +
  • +
  • uiIdle() +: UI +
  • +
  • uiReshape() +: UI +
  • +
  • unit +: Parameter +
  • +
  • updateImage() +: NanoImage +
  • +
+
+ + + + diff --git a/functions_v.html b/functions_v.html new file mode 100644 index 00000000..50b8f4cb --- /dev/null +++ b/functions_v.html @@ -0,0 +1,134 @@ + + + + + + +DISTRHO Plugin Framework: Class Members + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- v -

+
+ + + + diff --git a/functions_vars.html b/functions_vars.html index 3aba8313..25f5ad40 100644 --- a/functions_vars.html +++ b/functions_vars.html @@ -132,8 +132,8 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); : ParameterRanges
  • name -: AudioPort -, Parameter +: AudioPort +, Parameter
  • playing : TimePosition @@ -145,8 +145,8 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); : MidiEvent
  • symbol -: AudioPort -, Parameter +: AudioPort +, Parameter
  • tick : TimePosition::BarBeatTick @@ -155,7 +155,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); : TimePosition::BarBeatTick
  • unit -: Parameter +: Parameter
  • valid : TimePosition::BarBeatTick @@ -164,7 +164,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/functions_w.html b/functions_w.html new file mode 100644 index 00000000..eb7672c6 --- /dev/null +++ b/functions_w.html @@ -0,0 +1,137 @@ + + + + + + +DISTRHO Plugin Framework: Class Members + + + + + + + + + +
    +
    + + + + + + +
    +
    DISTRHO Plugin Framework +
    +
    +
    + + + + + + + +
    + + + + +
    + +
    + +
    +
    Here is a list of all documented class members with links to the class documentation for each member:
    + +

    - w -

    +
    + + + + diff --git a/functions_~.html b/functions_~.html new file mode 100644 index 00000000..11fa72bc --- /dev/null +++ b/functions_~.html @@ -0,0 +1,161 @@ + + + + + + +DISTRHO Plugin Framework: Class Members + + + + + + + + + +
    +
    + + + + + + +
    +
    DISTRHO Plugin Framework +
    +
    +
    + + + + + + + +
    + + + + +
    + +
    + +
    +
    Here is a list of all documented class members with links to the class documentation for each member:
    + +

    - ~ -

    +
    + + + + diff --git a/group__AudioPortHints.html b/group__AudioPortHints.html index 45fefb91..fba89c53 100644 --- a/group__AudioPortHints.html +++ b/group__AudioPortHints.html @@ -136,7 +136,7 @@ Variables
  • + + + + + +
    +
    DISTRHO Plugin Framework +
    +
    +
    + + + + +
    + + + + +
    + +
    + +
    + +
    +
    Base Plugin Structs
    +
    +
    + + + + + + + + + + + + + + +

    +Classes

    struct  AudioPort
     
    struct  ParameterRanges
     
    struct  Parameter
     
    struct  MidiEvent
     
    struct  TimePosition
     
    struct  TimePosition::BarBeatTick
     
    +

    Detailed Description

    +
    + + + + diff --git a/group__BaseStructs.html b/group__BaseStructs.html index 6a6f83b8..f1d47cf9 100644 --- a/group__BaseStructs.html +++ b/group__BaseStructs.html @@ -100,7 +100,7 @@ Classes
    + + + + + +
    +
    DISTRHO Plugin Framework +
    +
    + + + + + + + + + + +
    + +
    + +
    + +
    +
    Entry Points
    +
    +
    + + + + + + +

    +Functions

    PlugincreatePlugin ()
     
    UIcreateUI ()
     
    +

    Detailed Description

    +

    Function Documentation

    + +
    +
    + + + + + + + +
    Plugin* createPlugin ()
    +
    +

    TODO.

    + +
    +
    + +
    +
    + + + + + + + +
    UI* createUI ()
    +
    +

    TODO.

    + +
    +
    +
    + + + + diff --git a/group__MainClasses.html b/group__MainClasses.html new file mode 100644 index 00000000..1c9735c6 --- /dev/null +++ b/group__MainClasses.html @@ -0,0 +1,100 @@ + + + + + + +DISTRHO Plugin Framework: Main Classes + + + + + + + + + +
    +
    + + + + + + +
    +
    DISTRHO Plugin Framework +
    +
    +
    + + + + +
    + + + + +
    + +
    + +
    + +
    +
    Main Classes
    +
    +
    + + + + + + +

    +Classes

    class  Plugin
     
    class  UI
     
    +

    Detailed Description

    +
    + + + + diff --git a/group__ParameterHints.html b/group__ParameterHints.html index 65dd1d0c..52d7578b 100644 --- a/group__ParameterHints.html +++ b/group__ParameterHints.html @@ -93,8 +93,6 @@ Variables
     
    static const uint32_t kParameterIsOutput = 0x10
     
    static const uint32_t kParameterIsCV = 0x20
     

    Detailed Description

    Various parameter hints.

    See also
    Parameter::hints
    @@ -116,7 +114,7 @@ Variables
    -

    Parameter is automable (real-time safe).

    See also
    Plugin::d_setParameterValue()
    +

    Parameter is automable (real-time safe).

    See also
    Plugin::setParameterValue(uint32_t, float)
    @@ -201,35 +199,14 @@ Variables

    Parameter is of output type. When unset, parameter is assumed to be of input type.

    -

    Parameter inputs are changed by the host and must not be changed by the plugin. The only exception being when changing programs, see Plugin::d_setProgram(). Outputs are changed by the plugin and never modified by the host.

    - -
    -
    - -
    -
    - - - - - -
    - - - - -
    const uint32_t kParameterIsCV = 0x20
    -
    -static
    -
    -

    Parameter can be used as control voltage (LV2 only).

    +

    Parameter inputs are changed by the host and must not be changed by the plugin. The only exception being when changing programs, see Plugin::setProgram(). Outputs are changed by the plugin and never modified by the host.

    diff --git a/group__PluginMacros.html b/group__PluginMacros.html index 9521251d..4d3dff7d 100644 --- a/group__PluginMacros.html +++ b/group__PluginMacros.html @@ -122,7 +122,7 @@ Macros
    -

    Enable direct access between the UI and plugin code.

    See also
    UI::d_getPluginInstancePointer()
    +

    Enable direct access between the UI and plugin code.

    See also
    UI::getPluginInstancePointer()
    Note
    DO NOT USE THIS UNLESS STRICTLY NECESSARY!! Try to avoid it at all costs!
    @@ -250,7 +250,7 @@ TODO - list rtsafe requirements

    -

    Wherever the plugin introduces latency during audio or midi processing.

    See also
    Plugin::d_setLatency(uint32_t)
    +

    Wherever the plugin introduces latency during audio or midi processing.

    See also
    Plugin::setLatency(uint32_t)
    @@ -277,7 +277,7 @@ This is automatically enabled if -

    Wherever the plugin wants MIDI output.

    See also
    Plugin::d_writeMidiEvent(const MidiEvent&)
    +

    Wherever the plugin wants MIDI output.

    See also
    Plugin::writeMidiEvent(const MidiEvent&)
    @@ -290,9 +290,9 @@ This is automatically enabled if -

    Wherever the plugin provides its own internal programs.

    See also
    Plugin::d_initProgramName(uint32_t, d_string&)
    +

    Wherever the plugin provides its own internal programs.

    See also
    Plugin::initProgramName(uint32_t, String&)
    -Plugin::d_setProgram(uint32_t)
    +Plugin::setProgram(uint32_t)
    @@ -305,9 +305,9 @@ This is automatically enabled if -

    Wherever the plugin uses internal non-parameter data.

    See also
    Plugin::d_initState(uint32_t, d_string&, d_string&)
    +

    Wherever the plugin uses internal non-parameter data.

    See also
    Plugin::initState(uint32_t, String&, String&)
    -Plugin::d_setState(const char*, const char*)
    +Plugin::setState(const char*, const char*)
    @@ -320,7 +320,7 @@ This is automatically enabled if -

    Wherever the plugin wants time position information from the host.

    See also
    Plugin::d_getTimePosition()
    +

    Wherever the plugin wants time position information from the host.

    See also
    Plugin::getTimePosition()
    @@ -333,8 +333,8 @@ This is automatically enabled if -

    Wherever the UI uses NanoVG for drawing instead of the default raw OpenGL calls.
    -When enabled your UI instance will subclass NanoWidget instead of Widget.

    +

    Wherever the UI uses NanoVG for drawing instead of the default raw OpenGL calls.
    +When enabled your UI instance will subclass NanoWidget instead of Widget.

    @@ -355,7 +355,7 @@ By default this is set to diff --git a/hierarchy.html b/hierarchy.html index ed6c3976..21718780 100644 --- a/hierarchy.html +++ b/hierarchy.html @@ -88,21 +88,75 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/index.html b/index.html index 75d1c87a..85c118e4 100644 --- a/index.html +++ b/index.html @@ -82,17 +82,85 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); It allows developers to create plugins with custom UIs using a simple C++ API.

    Macros

    -

    You start by creating a "DistrhoPluginInfo.h" file describing the plugin via macros, see Plugin Macros.

    +

    You start by creating a "DistrhoPluginInfo.h" file describing the plugin via macros, see Plugin Macros.
    +This file is included in the main DPF code to figure out which features for each plugin format to export.

    +

    For example, a plugin (with UI) that use states will require LV2 hosts to support Atom and Worker extensions for message passing from the UI to the plugin.
    +If your plugin does not make use of states, the Worker extension is not set as a required feature.

    Plugin

    -

    TODO

    +

    The next step is to create your plugin code by subclassing DPF's Plugin class.
    +You need to pass the number of parameters in the constructor and also the number of programs and states, if any.

    +

    Here's an example of an audio plugin that simply mutes the host output:

    class MutePlugin : public Plugin
    +
    {
    +
    public:
    +
    MutePlugin()
    +
    : Plugin(0, 0, 0) // 0 parameters, 0 programs and 0 states
    +
    {
    +
    }
    +
    +
    protected:
    +
    const char* getLabel() const override
    +
    {
    +
    return "Mute";
    +
    }
    +
    +
    const char* getMaker() const override
    +
    {
    +
    return "DPF";
    +
    }
    +
    +
    const char* getLicense() const override
    +
    {
    +
    return "MIT";
    +
    }
    +
    +
    uint32_t getVersion() const override
    +
    {
    +
    return 0x1000;
    +
    }
    +
    +
    int64_t getUniqueId() const override
    +
    {
    +
    return cconst('M', 'u', 't', 'e');
    +
    }
    +
    +
    void run(const float**, float** outputs, uint32_t frames) override
    +
    {
    +
    // get the left and right audio outputs
    +
    float* const outL = outputs[0];
    +
    float* const outR = outputs[1];
    +
    +
    // mute audio
    +
    std::memset(outL, 0, sizeof(float)*frames);
    +
    std::memset(outR, 0, sizeof(float)*frames);
    +
    }
    +
    };
    +

    See the Plugin class for more information and to understand what each function does.

    Parameters

    -

    describe input and output, automable and rt safe, boolean etc, cv

    +

    describe input and output, automable and rt safe, boolean etc, cv

    +

    +Programs

    +

    describe them

    +

    +States

    +

    describe them

    +

    +MIDI

    +

    describe them

    +

    +Latency

    +

    describe it

    +

    +Time-Position

    +

    describe it

    +

    +UI

    +

    describe them

    diff --git a/modules.html b/modules.html index 5a0505a3..2a3d3751 100644 --- a/modules.html +++ b/modules.html @@ -83,13 +83,15 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
     Plugin Macros
     Audio Port Hints
     Parameter Hints
     Base Structs
     Base Plugin Structs
     Main Classes
     Entry Points
    diff --git a/search/all_0.js b/search/all_0.js index 9eaf6ffa..b69a19a6 100644 --- a/search/all_0.js +++ b/search/all_0.js @@ -1,5 +1,9 @@ var searchData= [ + ['activated',['activated',['../classPlugin.html#a1c215b23ee7fcc9b49edbd91d985a4e1',1,'Plugin']]], + ['app',['App',['../classApp.html',1,'App'],['../classApp.html#acb8cbf3e285b91d0170ffe87df5989c5',1,'App::App()']]], + ['arc',['arc',['../classNanoVG.html#a5da07d6030f2918260e1fc20cfb4c9e6',1,'NanoVG']]], + ['arcto',['arcTo',['../classNanoVG.html#aea6996381cba59bdcef33a981af853e8',1,'NanoVG']]], ['audioport',['AudioPort',['../structAudioPort.html',1,'AudioPort'],['../structAudioPort.html#abbd5c1ad18e0b920c2ff6c5053e59ede',1,'AudioPort::AudioPort()']]], ['audio_20port_20hints',['Audio Port Hints',['../group__AudioPortHints.html',1,'']]] ]; diff --git a/search/all_1.js b/search/all_1.js index dd24aa07..9d36836f 100644 --- a/search/all_1.js +++ b/search/all_1.js @@ -4,9 +4,18 @@ var searchData= ['barbeattick',['BarBeatTick',['../structTimePosition_1_1BarBeatTick.html',1,'TimePosition']]], ['barbeattick',['BarBeatTick',['../structTimePosition_1_1BarBeatTick.html#abff8c9586a4e82694e7d6bac3e8da1ef',1,'TimePosition::BarBeatTick']]], ['barstarttick',['barStartTick',['../structTimePosition_1_1BarBeatTick.html#a5205e95c8f8021006bde2eae774d5b62',1,'TimePosition::BarBeatTick']]], - ['base_20structs',['Base Structs',['../group__BaseStructs.html',1,'']]], + ['baseevent',['BaseEvent',['../structWidget_1_1BaseEvent.html',1,'Widget']]], + ['baseevent',['BaseEvent',['../structWidget_1_1BaseEvent.html#a18c1114caca474cadefd9a13e2d9c693',1,'Widget::BaseEvent']]], + ['base_20plugin_20structs',['Base Plugin Structs',['../group__BasePluginStructs.html',1,'']]], ['beat',['beat',['../structTimePosition_1_1BarBeatTick.html#af4be3edce420539cbb21bc1b0278201c',1,'TimePosition::BarBeatTick']]], ['beatsperbar',['beatsPerBar',['../structTimePosition_1_1BarBeatTick.html#a4805c98ceeedca9fb886de068c50cb88',1,'TimePosition::BarBeatTick']]], ['beatsperminute',['beatsPerMinute',['../structTimePosition_1_1BarBeatTick.html#af7cb9ae9b30da287828ebddee5caff2f',1,'TimePosition::BarBeatTick']]], - ['beattype',['beatType',['../structTimePosition_1_1BarBeatTick.html#a3d0f3681391ab7d3d37abcae24c72257',1,'TimePosition::BarBeatTick']]] + ['beattype',['beatType',['../structTimePosition_1_1BarBeatTick.html#a3d0f3681391ab7d3d37abcae24c72257',1,'TimePosition::BarBeatTick']]], + ['beginframe',['beginFrame',['../classNanoVG.html#a202e92a01a9b78d469c77ed659f12c8b',1,'NanoVG::beginFrame(const uint width, const uint height, const float scaleFactor=1.0f, const Alpha alpha=PREMULTIPLIED_ALPHA)'],['../classNanoVG.html#a7758435376f2f223e38c6187cbf79096',1,'NanoVG::beginFrame(Widget *const widget)']]], + ['beginpath',['beginPath',['../classNanoVG.html#a1cd7ee075338cbd5069e0862dff70b41',1,'NanoVG']]], + ['bezierto',['bezierTo',['../classNanoVG.html#a44831e8c0c5e457eda688c9141e10f68',1,'NanoVG']]], + ['boxgradient',['boxGradient',['../classNanoVG.html#a1496424cb5a9e40844ebb4d8dad83799',1,'NanoVG']]], + ['buffersizechanged',['bufferSizeChanged',['../classPlugin.html#a9f6c8ad6b054056649d0250e527e1297',1,'Plugin']]], + ['buttons',['Buttons',['../structWindow_1_1FileBrowserOptions_1_1Buttons.html#a0483d4ab39bdec4f6e69699fb3c272dd',1,'Window::FileBrowserOptions::Buttons']]], + ['buttons',['Buttons',['../structWindow_1_1FileBrowserOptions_1_1Buttons.html',1,'Window::FileBrowserOptions']]] ]; diff --git a/search/all_10.js b/search/all_10.js index 0177647d..b51cff8c 100644 --- a/search/all_10.js +++ b/search/all_10.js @@ -1,5 +1,21 @@ var searchData= [ - ['_7eplugin',['~Plugin',['../classPlugin.html#a89814b8f0b1c91e49140d42eb8331383',1,'Plugin']]], - ['_7eui',['~UI',['../classUI.html#a47e7b6111faba049dfee4738d067cc42',1,'UI']]] + ['radialgradient',['radialGradient',['../classNanoVG.html#a19d27b1b3a22afe9a6d27f4f9f8bf167',1,'NanoVG']]], + ['radtodeg',['radToDeg',['../classNanoVG.html#a175f4c41e0d89ae5d8bdb65e5580c637',1,'NanoVG']]], + ['ranges',['ranges',['../structParameter.html#a2d0c81e4fb8fad18d920ef6ecd4a64db',1,'Parameter']]], + ['rect',['rect',['../classNanoVG.html#a1bc27cc57b0e2d3bc0fd12d519312251',1,'NanoVG']]], + ['rectangle',['Rectangle',['../singletonRectangle.html',1,'Rectangle< T >'],['../singletonRectangle.html#acf4a7cdc13c4176d44965db53a3561f3',1,'Rectangle::Rectangle() noexcept'],['../singletonRectangle.html#a883fb137e26b5b7e95791d91c232603f',1,'Rectangle::Rectangle(const T &x, const T &y, const T &width, const T &height) noexcept'],['../singletonRectangle.html#ae2560ef4446450f535414f70d7f46aa0',1,'Rectangle::Rectangle(const T &x, const T &y, const Size< T > &size) noexcept'],['../singletonRectangle.html#a7e55381bd7fe33d52a8847f65e9883ed',1,'Rectangle::Rectangle(const Point< T > &pos, const T &width, const T &height) noexcept'],['../singletonRectangle.html#a4b4d34708248ee56900916cdf1138edc',1,'Rectangle::Rectangle(const Point< T > &pos, const Size< T > &size) noexcept'],['../singletonRectangle.html#ac492f53d4f548c4f572c90c485606db8',1,'Rectangle::Rectangle(const Rectangle< T > &rect) noexcept']]], + ['rectangle_3c_20int_20_3e',['Rectangle< int >',['../singletonRectangle.html',1,'']]], + ['recursivemutex',['RecursiveMutex',['../classRecursiveMutex.html',1,'']]], + ['release',['release',['../classScopedPointer.html#a10c8f696fec0cca763b067ec3e469199',1,'ScopedPointer']]], + ['repaint',['repaint',['../classWidget.html#a808fa28a78ec9e850d5e86f63b3be26d',1,'Widget']]], + ['reset',['reset',['../classNanoVG.html#ad5ddb240794b35105eeadd1534f0911b',1,'NanoVG']]], + ['resetscissor',['resetScissor',['../classNanoVG.html#aff2eaea01970f0ec2005d1051f25ad35',1,'NanoVG']]], + ['resettransform',['resetTransform',['../classNanoVG.html#aac35e4a0ce84c0f4bf8d881d1b8a5b34',1,'NanoVG']]], + ['resizeevent',['ResizeEvent',['../structWidget_1_1ResizeEvent.html',1,'Widget']]], + ['resizeevent',['ResizeEvent',['../structWidget_1_1ResizeEvent.html#ac92abcdb2820807cd3d020864b96b3bd',1,'Widget::ResizeEvent']]], + ['restore',['restore',['../classNanoVG.html#aa1da11cb97d4f6718ffe8b4622684c3b',1,'NanoVG']]], + ['rotate',['rotate',['../classNanoVG.html#a13da8f469cd43117c19d8459c178b905',1,'NanoVG']]], + ['roundedrect',['roundedRect',['../classNanoVG.html#ac9d8502c3cbf6745ff3a41d1b97b6529',1,'NanoVG']]], + ['run',['run',['../classPlugin.html#a0a969c78f8455ac6ba65fa42e8c498f6',1,'Plugin']]] ]; diff --git a/search/all_11.html b/search/all_11.html new file mode 100644 index 00000000..fda6861d --- /dev/null +++ b/search/all_11.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/all_11.js b/search/all_11.js new file mode 100644 index 00000000..9de5352d --- /dev/null +++ b/search/all_11.js @@ -0,0 +1,55 @@ +var searchData= +[ + ['sampleratechanged',['sampleRateChanged',['../classPlugin.html#a2fcbfa1893f44e661d0d8cd53391dadc',1,'Plugin::sampleRateChanged()'],['../classUI.html#ac3e98726ca71f95a1e6c867706ebd9be',1,'UI::sampleRateChanged()']]], + ['save',['save',['../classNanoVG.html#a05fd441d579c42c76d786bd4a7b437af',1,'NanoVG']]], + ['scale',['scale',['../classNanoVG.html#a76273b763fa9b84c4a86d37065accee7',1,'NanoVG']]], + ['scissor',['scissor',['../classNanoVG.html#a7ac24b9a1ab2b901ab18d4d8dbb92c1c',1,'NanoVG']]], + ['scopedlocker',['ScopedLocker',['../classScopedLocker.html',1,'']]], + ['scopedpointer',['ScopedPointer',['../classScopedPointer.html',1,'ScopedPointer< ObjectType >'],['../classScopedPointer.html#ac187958296e33aa057dd37478ea70400',1,'ScopedPointer::ScopedPointer() noexcept'],['../classScopedPointer.html#a44a7843e49c3ff719f06607b6e908f7d',1,'ScopedPointer::ScopedPointer(ObjectType *const objectToTakePossessionOf) noexcept'],['../classScopedPointer.html#a04688b1561dd9d861ca80c6deb63a233',1,'ScopedPointer::ScopedPointer(ScopedPointer &objectToTransferFrom) noexcept']]], + ['scopedunlocker',['ScopedUnlocker',['../classScopedUnlocker.html',1,'']]], + ['scrollevent',['ScrollEvent',['../structWidget_1_1ScrollEvent.html',1,'Widget']]], + ['scrollevent',['ScrollEvent',['../structWidget_1_1ScrollEvent.html#abee88b10b7b031ddcca1454e064a3cc3',1,'Widget::ScrollEvent']]], + ['sendnote',['sendNote',['../classUI.html#a95d686f44e486f7ed1505399612b4f84',1,'UI']]], + ['setabsolutepos',['setAbsolutePos',['../classWidget.html#a1f58ab9f12f0e88da6bf600c504b53c5',1,'Widget::setAbsolutePos(int x, int y) noexcept'],['../classWidget.html#a65b3a31bbf5cfbecdf5cf84ae27ae089',1,'Widget::setAbsolutePos(const Point< int > &pos) noexcept']]], + ['setabsolutex',['setAbsoluteX',['../classWidget.html#a56b6c0c92551d25bafa54be5d185e4f6',1,'Widget']]], + ['setabsolutey',['setAbsoluteY',['../classWidget.html#a65f48c414326491ddb3bbb70bf783829',1,'Widget']]], + ['setendpos',['setEndPos',['../singletonLine.html#af05002adedbeaeea698d26bf4afadff0',1,'Line::setEndPos(const T &x, const T &y) noexcept'],['../singletonLine.html#a13324b63d42efff020622aa2979d1009',1,'Line::setEndPos(const Point< T > &pos) noexcept']]], + ['setendx',['setEndX',['../singletonLine.html#a17061d9ae2e85a5f929148e5106504bf',1,'Line']]], + ['setendy',['setEndY',['../singletonLine.html#a0dcd399a55aef168e91c645958670ee6',1,'Line']]], + ['setheight',['setHeight',['../classSize.html#a30d453133d7a677e14641f010204237e',1,'Size::setHeight()'],['../singletonRectangle.html#a5ff3aca88c9ef31a2e3f8e6cee846155',1,'Rectangle::setHeight()'],['../classWidget.html#ac6d2e6cbb2ff96f3645493d804af07f7',1,'Widget::setHeight()']]], + ['setid',['setId',['../classWidget.html#abfba3652559de84ba1ae9ccbd3d35e31',1,'Widget']]], + ['setlatency',['setLatency',['../classPlugin.html#a2a70c4ec55d74d9bc26862975d8df8a7',1,'Plugin']]], + ['setneedsfullviewport',['setNeedsFullViewport',['../classWidget.html#aa92462db80ed1dc8334910038cd262cc',1,'Widget']]], + ['setneedsscaling',['setNeedsScaling',['../classWidget.html#a2ce358088e8f3b65621afd02c675bad8',1,'Widget']]], + ['setnumsegments',['setNumSegments',['../singletonCircle.html#a34fa92504c0bcc008958779fa4d66c32',1,'Circle']]], + ['setparametervalue',['setParameterValue',['../classPlugin.html#a6911a881fabb9eca9daf0eadbaad8599',1,'Plugin::setParameterValue()'],['../classUI.html#ab280fd0729e3b51d15ededbd61f5c93c',1,'UI::setParameterValue()']]], + ['setpos',['setPos',['../classPoint.html#aac5c7220da858d14140ff0c78684d4e2',1,'Point::setPos(const T &x, const T &y) noexcept'],['../classPoint.html#a2df24dbabd272d2308cc2b53d24d548a',1,'Point::setPos(const Point< T > &pos) noexcept'],['../singletonCircle.html#a2046a9238a3870276e1dac7fb684eacb',1,'Circle::setPos(const T &x, const T &y) noexcept'],['../singletonCircle.html#addce92ba3813dc8ae1222127a9dd932d',1,'Circle::setPos(const Point< T > &pos) noexcept'],['../singletonRectangle.html#a52adba9ba93242a51de29865818fd776',1,'Rectangle::setPos(const T &x, const T &y) noexcept'],['../singletonRectangle.html#ae0904b281ed4811e6901d0d78c30f08e',1,'Rectangle::setPos(const Point< T > &pos) noexcept']]], + ['setprogram',['setProgram',['../classPlugin.html#af2bfc89eec6b984c17ed9e5b3aab8a20',1,'Plugin']]], + ['setrectangle',['setRectangle',['../singletonRectangle.html#a2907d68a36a3ba97cb8ef14f86d85075',1,'Rectangle::setRectangle(const Point< T > &pos, const Size< T > &size) noexcept'],['../singletonRectangle.html#ac74be2c368aee380680c0221c432cb7f',1,'Rectangle::setRectangle(const Rectangle< T > &rect) noexcept']]], + ['setsize',['setSize',['../classSize.html#a6dd4d69857ef92c65dd941eea3356ed9',1,'Size::setSize(const T &width, const T &height) noexcept'],['../classSize.html#a973da47d41aaa3757646a8ec0a1d93da',1,'Size::setSize(const Size< T > &size) noexcept'],['../singletonCircle.html#a02fc5ef5aae2d5d1c1bd016cab8afc5d',1,'Circle::setSize()'],['../singletonRectangle.html#a6af8f18557397f909cae8eb65f8367a4',1,'Rectangle::setSize(const T &width, const T &height) noexcept'],['../singletonRectangle.html#a23d728827f9c22167929c461aa65882e',1,'Rectangle::setSize(const Size< T > &size) noexcept'],['../classWidget.html#ab4d9e0156e455db3ff23730f82544daa',1,'Widget::setSize(uint width, uint height) noexcept'],['../classWidget.html#afce784b204902c0f11e9ed02bc692362',1,'Widget::setSize(const Size< uint > &size) noexcept']]], + ['setstartpos',['setStartPos',['../singletonLine.html#a958d534b1b0c2d581b110dd26c0d4cea',1,'Line::setStartPos(const T &x, const T &y) noexcept'],['../singletonLine.html#aa078f8d0f2cf36e3162bc1977dc56d4b',1,'Line::setStartPos(const Point< T > &pos) noexcept']]], + ['setstartx',['setStartX',['../singletonLine.html#ad2b10d3144ba0711f9ecb444bb08ad4c',1,'Line']]], + ['setstarty',['setStartY',['../singletonLine.html#ae35ba55c6ff3bae24c7f05133b9e003b',1,'Line']]], + ['setstate',['setState',['../classPlugin.html#a3c6aeb79775ecf24ffbfc7dafd3d449b',1,'Plugin::setState()'],['../classUI.html#aa50fc2fef715805435a14f653cb90cbd',1,'UI::setState()']]], + ['setvisible',['setVisible',['../classWidget.html#a0bec84d07a6c508e069da9821993d1c2',1,'Widget']]], + ['setwidth',['setWidth',['../classSize.html#aa552662217b3e8e9c0b6d69d7bc22665',1,'Size::setWidth()'],['../singletonRectangle.html#a75ce3e3a2e8745a1d749dd9da02e9443',1,'Rectangle::setWidth()'],['../classWidget.html#aed80a9cbc4a13c01641f35dd3d8688ea',1,'Widget::setWidth()']]], + ['setx',['setX',['../classPoint.html#a1539a6f24282a1d637b60ccfbbf46629',1,'Point::setX()'],['../singletonCircle.html#acc96a188288cdf83fd822bb41f8f2be1',1,'Circle::setX()'],['../singletonRectangle.html#af618ee618bd029fbe66291228041990e',1,'Rectangle::setX()']]], + ['sety',['setY',['../classPoint.html#a8ffe6785dc851accf06d02917fba54cf',1,'Point::setY()'],['../singletonCircle.html#a034ddfd162d89a7dacea7981a5406a1a',1,'Circle::setY()'],['../singletonRectangle.html#abe5b6c92cece58bbc0c7cb4855e73dac',1,'Rectangle::setY()']]], + ['show',['show',['../classWidget.html#a25ff178539e226b5f30ef0335d060f2b',1,'Widget']]], + ['shrinkby',['shrinkBy',['../classSize.html#abbcf98f504b23679162cab3b6f818949',1,'Size::shrinkBy()'],['../singletonRectangle.html#a22e5029d09c7eac8ebee0e079dab075f',1,'Rectangle::shrinkBy()']]], + ['size',['Size',['../classSize.html',1,'Size< T >'],['../structMidiEvent.html#a48b420a6dbca6502113b92c336a3041e',1,'MidiEvent::size()'],['../classSize.html#ada0c1f75029742b2514ede5466993776',1,'Size::Size() noexcept'],['../classSize.html#ac3096253937df7e318a02838c48bf941',1,'Size::Size(const T &width, const T &height) noexcept'],['../classSize.html#a90ab9513f96f3642def121d2fbd92593',1,'Size::Size(const Size< T > &size) noexcept']]], + ['size_3c_20int_20_3e',['Size< int >',['../classSize.html',1,'']]], + ['size_3c_20uint_20_3e',['Size< uint >',['../classSize.html',1,'']]], + ['skewx',['skewX',['../classNanoVG.html#a4f45e3cf465060491e73427e5868573f',1,'NanoVG']]], + ['skewy',['skewY',['../classNanoVG.html#a508c4fde6212c1b0598d9f8b32cba0f6',1,'NanoVG']]], + ['specialevent',['SpecialEvent',['../structWidget_1_1SpecialEvent.html',1,'Widget']]], + ['specialevent',['SpecialEvent',['../structWidget_1_1SpecialEvent.html#aabddc200eb8494dccac663b83248b14b',1,'Widget::SpecialEvent']]], + ['standalonewindow',['StandaloneWindow',['../classStandaloneWindow.html',1,'']]], + ['statechanged',['stateChanged',['../classUI.html#a1bdc7e158d974e82f0535f1658d66575',1,'UI']]], + ['stroke',['stroke',['../classNanoVG.html#aeed167687a8a269c4f9c44a7db4d3746',1,'NanoVG']]], + ['strokecolor',['strokeColor',['../classNanoVG.html#acefc70128644fb8ee5abe6dc04d4f710',1,'NanoVG::strokeColor(const Color &color)'],['../classNanoVG.html#a6242c3e68789ed57b46fb75ba396506d',1,'NanoVG::strokeColor(const int red, const int green, const int blue, const int alpha=255)'],['../classNanoVG.html#a22bac7e1806c9203a637337478a90165',1,'NanoVG::strokeColor(const float red, const float green, const float blue, const float alpha=1.0f)']]], + ['strokepaint',['strokePaint',['../classNanoVG.html#a8d00b35e0ab5c428af120cc78ff32804',1,'NanoVG']]], + ['strokewidth',['strokeWidth',['../classNanoVG.html#a373190894070313e8d321b2af0bbab58',1,'NanoVG']]], + ['swapwith',['swapWith',['../classScopedPointer.html#a362cd8d5a212df0ee08691b75a4ba3de',1,'ScopedPointer']]], + ['symbol',['symbol',['../structAudioPort.html#af2bda30f97a1b63cbeb9f11f718d3d30',1,'AudioPort::symbol()'],['../structParameter.html#a3e546efd8dbd0d77351208b670719468',1,'Parameter::symbol()']]] +]; diff --git a/search/all_12.html b/search/all_12.html new file mode 100644 index 00000000..fe96a790 --- /dev/null +++ b/search/all_12.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/all_12.js b/search/all_12.js new file mode 100644 index 00000000..d30e97e3 --- /dev/null +++ b/search/all_12.js @@ -0,0 +1,31 @@ +var searchData= +[ + ['text',['text',['../classNanoVG.html#af9526a1c4b2d5e1db0190c32ba9a1eaa',1,'NanoVG']]], + ['textalign',['textAlign',['../classNanoVG.html#a9c942ced1722beff8e326a6cf0c9a1d1',1,'NanoVG::textAlign(Align align)'],['../classNanoVG.html#a9a1a5e00351ff92ebb9795a2127f0529',1,'NanoVG::textAlign(int align)']]], + ['textbounds',['textBounds',['../classNanoVG.html#a281c71d51c5f9d6fb5d6e8369ca650f4',1,'NanoVG']]], + ['textbox',['textBox',['../classNanoVG.html#aaa73324a5969916f910fb9a41e7e5358',1,'NanoVG']]], + ['textboxbounds',['textBoxBounds',['../classNanoVG.html#a2dd842d5eaf729c43769da3a35db158d',1,'NanoVG']]], + ['textbreaklines',['textBreakLines',['../classNanoVG.html#a86f66c7dff7fc3a96667f139b88d1e9e',1,'NanoVG']]], + ['textglyphpositions',['textGlyphPositions',['../classNanoVG.html#a365eb3cc06e97f29cbcfa967e76f8798',1,'NanoVG']]], + ['textletterspacing',['textLetterSpacing',['../classNanoVG.html#ad768aae0871c1685ca5dc590859d5c1b',1,'NanoVG']]], + ['textlineheight',['textLineHeight',['../classNanoVG.html#aab69aa4f2ae1b15adcceb9d065ea8aa6',1,'NanoVG']]], + ['textmetrics',['textMetrics',['../classNanoVG.html#a5e84bf7dec65064733aec488389568b0',1,'NanoVG']]], + ['textrow',['TextRow',['../structNanoVG_1_1TextRow.html',1,'NanoVG']]], + ['thread',['Thread',['../classThread.html',1,'']]], + ['tick',['tick',['../structTimePosition_1_1BarBeatTick.html#ad38d7364a5441f1f49c3538f5691a299',1,'TimePosition::BarBeatTick']]], + ['ticksperbeat',['ticksPerBeat',['../structTimePosition_1_1BarBeatTick.html#ab8cfc3f2709a79e733e58556712da062',1,'TimePosition::BarBeatTick']]], + ['timeposition',['TimePosition',['../structTimePosition.html',1,'TimePosition'],['../structTimePosition.html#aee816daeed95cf309ded1087a0c800ae',1,'TimePosition::TimePosition()']]], + ['transform',['transform',['../classNanoVG.html#ad06096ade68bf78bcc256005cd6f2c45',1,'NanoVG']]], + ['transformidentity',['transformIdentity',['../classNanoVG.html#a81c8b60a87be8a8d4a5efce8eeaf1915',1,'NanoVG']]], + ['transforminverse',['transformInverse',['../classNanoVG.html#ac5692f82bcac4858f44d9fd0df287cad',1,'NanoVG']]], + ['transformmultiply',['transformMultiply',['../classNanoVG.html#a3ac9aade102afb3a4f84966f0727c6c6',1,'NanoVG']]], + ['transformpoint',['transformPoint',['../classNanoVG.html#ae2e49763ab7f503016c0dede0dbfd3cc',1,'NanoVG']]], + ['transformpremultiply',['transformPremultiply',['../classNanoVG.html#a1416fbff2a0ecada90b2d9852bfbaf42',1,'NanoVG']]], + ['transformrotate',['transformRotate',['../classNanoVG.html#a43e16d0f94dc0a49dae5128d69e75e3c',1,'NanoVG']]], + ['transformscale',['transformScale',['../classNanoVG.html#a94c1f78baadff1d6c6a5a4d52dd770d7',1,'NanoVG']]], + ['transformskewx',['transformSkewX',['../classNanoVG.html#a178b6b9a8c755cda91ccba2b6239d279',1,'NanoVG']]], + ['transformskewy',['transformSkewY',['../classNanoVG.html#af23e7f6a6056e5efe72944fa68767704',1,'NanoVG']]], + ['transformtranslate',['transformTranslate',['../classNanoVG.html#a022e3cdfa06f5bc9103b37dfa64adb2c',1,'NanoVG']]], + ['translate',['translate',['../classNanoVG.html#abc1d6466eb7fdc57a869ec7b9fdd6bdf',1,'NanoVG']]], + ['triangle',['Triangle',['../singletonTriangle.html',1,'Triangle< T >'],['../singletonTriangle.html#ad3ae4f80efb4b18f4f8b8a25543aa10c',1,'Triangle::Triangle() noexcept'],['../singletonTriangle.html#a394b031be82e2e0c043547ad1e551ddb',1,'Triangle::Triangle(const T &x1, const T &y1, const T &x2, const T &y2, const T &x3, const T &y3) noexcept'],['../singletonTriangle.html#a79fdc0930afc294c7bce90a2cd3075ed',1,'Triangle::Triangle(const Point< T > &pos1, const Point< T > &pos2, const Point< T > &pos3) noexcept'],['../singletonTriangle.html#a5130f571dd5de1f070573929637544ce',1,'Triangle::Triangle(const Triangle< T > &tri) noexcept']]] +]; diff --git a/search/all_13.html b/search/all_13.html new file mode 100644 index 00000000..f75c009c --- /dev/null +++ b/search/all_13.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/all_13.js b/search/all_13.js new file mode 100644 index 00000000..208d2329 --- /dev/null +++ b/search/all_13.js @@ -0,0 +1,9 @@ +var searchData= +[ + ['ui',['UI',['../classUI.html',1,'UI'],['../classUI.html#ad3425075e4a23234a8568d1893b54f22',1,'UI::UI()']]], + ['uifilebrowserselected',['uiFileBrowserSelected',['../classUI.html#a6d4697296129d3a6bc34fc810d6297ac',1,'UI']]], + ['uiidle',['uiIdle',['../classUI.html#af8de639088f3b2d42c266a2d2d6719da',1,'UI']]], + ['uireshape',['uiReshape',['../classUI.html#ab6861389e1bb01268a189dadbeb4fbcc',1,'UI']]], + ['unit',['unit',['../structParameter.html#a2f79574998d34504e3a694163b4599a1',1,'Parameter']]], + ['updateimage',['updateImage',['../classNanoImage.html#a7d7ef1338879e65b06230ddc45e5dcdc',1,'NanoImage']]] +]; diff --git a/search/all_14.html b/search/all_14.html new file mode 100644 index 00000000..05de7738 --- /dev/null +++ b/search/all_14.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/all_14.js b/search/all_14.js new file mode 100644 index 00000000..35de575c --- /dev/null +++ b/search/all_14.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['valid',['valid',['../structTimePosition_1_1BarBeatTick.html#a45a05047e923285af0fbeacb371e3f4e',1,'TimePosition::BarBeatTick']]] +]; diff --git a/search/all_15.html b/search/all_15.html new file mode 100644 index 00000000..0c43e501 --- /dev/null +++ b/search/all_15.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/all_15.js b/search/all_15.js new file mode 100644 index 00000000..d434b954 --- /dev/null +++ b/search/all_15.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['widget',['Widget',['../classWidget.html',1,'Widget'],['../classWidget.html#a556f58c8ff8a80ae22cc4df7e5f8218c',1,'Widget::Widget()']]], + ['window',['Window',['../classWindow.html',1,'']]], + ['writemidievent',['writeMidiEvent',['../classPlugin.html#a0467eef817ac130cbbe1c0fbe09660c6',1,'Plugin']]] +]; diff --git a/search/all_16.html b/search/all_16.html new file mode 100644 index 00000000..3206fb4d --- /dev/null +++ b/search/all_16.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/all_16.js b/search/all_16.js new file mode 100644 index 00000000..a910bbfa --- /dev/null +++ b/search/all_16.js @@ -0,0 +1,13 @@ +var searchData= +[ + ['_7eapp',['~App',['../classApp.html#a34f1f253b1cef5f4ecbac66eaf6964ec',1,'App']]], + ['_7ebaseevent',['~BaseEvent',['../structWidget_1_1BaseEvent.html#a58da172316b49f6d79b879b74ce5792a',1,'Widget::BaseEvent']]], + ['_7eimage',['~Image',['../classImage.html#a0294f63700543e11c0f0da85601c7ae5',1,'Image']]], + ['_7eleakedobjectdetector',['~LeakedObjectDetector',['../classLeakedObjectDetector.html#af4fd575fa5361ce5b01f65a635b1d6b3',1,'LeakedObjectDetector']]], + ['_7enanoimage',['~NanoImage',['../classNanoImage.html#a8915fb5eae1a0180edd3f5babf6a0091',1,'NanoImage']]], + ['_7enanovg',['~NanoVG',['../classNanoVG.html#a3e05169f4e66e811537adaea17e4bb3f',1,'NanoVG']]], + ['_7eplugin',['~Plugin',['../classPlugin.html#a89814b8f0b1c91e49140d42eb8331383',1,'Plugin']]], + ['_7escopedpointer',['~ScopedPointer',['../classScopedPointer.html#a3c540f0121065aafa5f9607362fc1450',1,'ScopedPointer']]], + ['_7eui',['~UI',['../classUI.html#a47e7b6111faba049dfee4738d067cc42',1,'UI']]], + ['_7ewidget',['~Widget',['../classWidget.html#a714cf798aadb4d615f6f60a355382c02',1,'Widget']]] +]; diff --git a/search/all_2.js b/search/all_2.js index 5d044ffd..11604013 100644 --- a/search/all_2.js +++ b/search/all_2.js @@ -1,55 +1,22 @@ var searchData= [ - ['d_5factivate',['d_activate',['../classPlugin.html#a15df4876febf5909fe040d401fc704d0',1,'Plugin']]], - ['d_5fbuffersizechanged',['d_bufferSizeChanged',['../classPlugin.html#a2c6ac454e24b667d54eaaf63da252627',1,'Plugin']]], - ['d_5fdeactivate',['d_deactivate',['../classPlugin.html#a5c008d623e558e7266aecaff22fc787a',1,'Plugin']]], - ['d_5feditparameter',['d_editParameter',['../classUI.html#a768b898d1e063d5c0112197b99ccba99',1,'UI']]], - ['d_5fgetbuffersize',['d_getBufferSize',['../classPlugin.html#aa0feb17c3dcf13a106505eb6d6b2a3ac',1,'Plugin']]], - ['d_5fgetlabel',['d_getLabel',['../classPlugin.html#ae512b28d1b274a055de33812cf094d81',1,'Plugin']]], - ['d_5fgetlicense',['d_getLicense',['../classPlugin.html#ae9333c170accfd2a237448a4579d5fef',1,'Plugin']]], - ['d_5fgetmaker',['d_getMaker',['../classPlugin.html#a0eaf2f46f04d60526622afb5a86e026c',1,'Plugin']]], - ['d_5fgetname',['d_getName',['../classPlugin.html#a0f8fb7aa5ab05ba246e158b1024dd031',1,'Plugin']]], - ['d_5fgetparametervalue',['d_getParameterValue',['../classPlugin.html#af088f855761b67489f19f42fbb585088',1,'Plugin']]], - ['d_5fgetplugininstancepointer',['d_getPluginInstancePointer',['../classUI.html#a5393f505fc8702905c15c70c9fcf0d48',1,'UI']]], - ['d_5fgetsamplerate',['d_getSampleRate',['../classPlugin.html#ace888940905e8875284e07c52bf7404f',1,'Plugin::d_getSampleRate()'],['../classUI.html#ab6cbe4dcade92f7f49d4405e51ee639c',1,'UI::d_getSampleRate()']]], - ['d_5fgettimeposition',['d_getTimePosition',['../classPlugin.html#ade0a082a3a2936286537a04f4b972225',1,'Plugin']]], - ['d_5fgetuniqueid',['d_getUniqueId',['../classPlugin.html#aea77208248b36c7b8c9dc57ee68ae97a',1,'Plugin']]], - ['d_5fgetversion',['d_getVersion',['../classPlugin.html#af9251f8d90e4df43c6387bd111487e4e',1,'Plugin']]], - ['d_5finitaudioport',['d_initAudioPort',['../classPlugin.html#a5ddc59a0dbbef9c7d7cda5f291431769',1,'Plugin']]], - ['d_5finitparameter',['d_initParameter',['../classPlugin.html#a3f93a8eb97db3dc9984c357c5ffca5ec',1,'Plugin']]], - ['d_5finitprogramname',['d_initProgramName',['../classPlugin.html#a8a1792b7c5c6a3fd9cd626c7156ec3b6',1,'Plugin']]], - ['d_5finitstate',['d_initState',['../classPlugin.html#a65f9f9d4a30b0a56dfa42703c0b4db76',1,'Plugin']]], - ['d_5fparameterchanged',['d_parameterChanged',['../classUI.html#a9599da33720f4648e9ce78cc18249b07',1,'UI']]], - ['d_5fprogramchanged',['d_programChanged',['../classUI.html#a7d703d2caff4765f270686b8428a2fa0',1,'UI']]], - ['d_5frun',['d_run',['../classPlugin.html#af67102a7c6d19a8530ce0e3293e55667',1,'Plugin']]], - ['d_5fsampleratechanged',['d_sampleRateChanged',['../classPlugin.html#a469b53e1c1417a32d766cf96d1b3c45e',1,'Plugin::d_sampleRateChanged()'],['../classUI.html#a18f4b84a973405fc098e69047e0d1994',1,'UI::d_sampleRateChanged()']]], - ['d_5fsendnote',['d_sendNote',['../classUI.html#a621c381126d8e2f0124199b82cdcd456',1,'UI']]], - ['d_5fsetlatency',['d_setLatency',['../classPlugin.html#a7816b45ffb52b0a6308cabb792b1a56f',1,'Plugin']]], - ['d_5fsetparametervalue',['d_setParameterValue',['../classPlugin.html#a4cdd613f58a013429094700f3d83904a',1,'Plugin::d_setParameterValue()'],['../classUI.html#a310a08018194f82937ca92bed4e77f1f',1,'UI::d_setParameterValue()']]], - ['d_5fsetprogram',['d_setProgram',['../classPlugin.html#a1d001e50781b35df23f6d9a218f5f804',1,'Plugin']]], - ['d_5fsetstate',['d_setState',['../classPlugin.html#ad9c46a36cab96f52a0370043093bca68',1,'Plugin::d_setState()'],['../classUI.html#ac32cb7fd88c642eadebf64137acd910e',1,'UI::d_setState()']]], - ['d_5fstatechanged',['d_stateChanged',['../classUI.html#a7f508ebffec7a5168b532ccb9d81df70',1,'UI']]], - ['d_5fuifilebrowserselected',['d_uiFileBrowserSelected',['../classUI.html#ab10300e34b40d6b447b1213813f474c0',1,'UI']]], - ['d_5fuiidle',['d_uiIdle',['../classUI.html#aa320b8d3e826394dad9f7c36692f9b6c',1,'UI']]], - ['d_5fuireshape',['d_uiReshape',['../classUI.html#aaf729415450434ad6690db93fd936bbf',1,'UI']]], - ['d_5fwritemidievent',['d_writeMidiEvent',['../classPlugin.html#afa10aea18e4036b4a7487f2779d92e0f',1,'Plugin']]], - ['data',['data',['../structMidiEvent.html#aba54410d44eef48c10516f29452ef3a9',1,'MidiEvent']]], - ['def',['def',['../structParameterRanges.html#aa0aba68115bcfff25c35b2da2f7aed4c',1,'ParameterRanges']]], - ['distrho_5fplugin_5fhas_5fui',['DISTRHO_PLUGIN_HAS_UI',['../group__PluginMacros.html#gacf8a1af679c09637ba0bdc5f4f8e37dd',1,'DistrhoPlugin.hpp']]], - ['distrho_5fplugin_5fis_5frt_5fsafe',['DISTRHO_PLUGIN_IS_RT_SAFE',['../group__PluginMacros.html#ga82546dd199fcea338b113f2f6da84ced',1,'DistrhoPlugin.hpp']]], - ['distrho_5fplugin_5fis_5fsynth',['DISTRHO_PLUGIN_IS_SYNTH',['../group__PluginMacros.html#ga854bde6b6fdb0d47182149dbab0fed72',1,'DistrhoPlugin.hpp']]], - ['distrho_5fplugin_5fname',['DISTRHO_PLUGIN_NAME',['../group__PluginMacros.html#ga888482a9f695c2ca2f433e5f3172dcc4',1,'DistrhoPlugin.hpp']]], - ['distrho_5fplugin_5fnum_5finputs',['DISTRHO_PLUGIN_NUM_INPUTS',['../group__PluginMacros.html#ga5f4f3d9a5dc3c23882d158e636319998',1,'DistrhoPlugin.hpp']]], - ['distrho_5fplugin_5fnum_5foutputs',['DISTRHO_PLUGIN_NUM_OUTPUTS',['../group__PluginMacros.html#ga917195804ebcb2bb48c9fad52b20b3ca',1,'DistrhoPlugin.hpp']]], - ['distrho_5fplugin_5furi',['DISTRHO_PLUGIN_URI',['../group__PluginMacros.html#ga9cc186448134e6a1956474b3878c97a8',1,'DistrhoPlugin.hpp']]], - ['distrho_5fplugin_5fwant_5fdirect_5faccess',['DISTRHO_PLUGIN_WANT_DIRECT_ACCESS',['../group__PluginMacros.html#gac6873a3950f52f3fde8e386af63b69a1',1,'DistrhoPlugin.hpp']]], - ['distrho_5fplugin_5fwant_5flatency',['DISTRHO_PLUGIN_WANT_LATENCY',['../group__PluginMacros.html#gad6b0ebf10e048f4742f29735da4d4930',1,'DistrhoPlugin.hpp']]], - ['distrho_5fplugin_5fwant_5fmidi_5finput',['DISTRHO_PLUGIN_WANT_MIDI_INPUT',['../group__PluginMacros.html#gadf2e2eb7550e4116001c816adfb04a70',1,'DistrhoPlugin.hpp']]], - ['distrho_5fplugin_5fwant_5fmidi_5foutput',['DISTRHO_PLUGIN_WANT_MIDI_OUTPUT',['../group__PluginMacros.html#ga548522eb91344a45841a5a95ff4f8073',1,'DistrhoPlugin.hpp']]], - ['distrho_5fplugin_5fwant_5fprograms',['DISTRHO_PLUGIN_WANT_PROGRAMS',['../group__PluginMacros.html#gad95e24b17f196260cee15255fdb5b677',1,'DistrhoPlugin.hpp']]], - ['distrho_5fplugin_5fwant_5fstate',['DISTRHO_PLUGIN_WANT_STATE',['../group__PluginMacros.html#ga255f43cc0997af8b56abcca260c875e0',1,'DistrhoPlugin.hpp']]], - ['distrho_5fplugin_5fwant_5ftimepos',['DISTRHO_PLUGIN_WANT_TIMEPOS',['../group__PluginMacros.html#ga496610b956d931b1940d07da48d123f2',1,'DistrhoPlugin.hpp']]], - ['distrho_5fui_5furi',['DISTRHO_UI_URI',['../group__PluginMacros.html#ga420a88022da249b9f38a6046998dbd7c',1,'DistrhoPlugin.hpp']]], - ['distrho_5fui_5fuse_5fnanovg',['DISTRHO_UI_USE_NANOVG',['../group__PluginMacros.html#gad49e79936a2aa5afa089cbc051426ccd',1,'DistrhoPlugin.hpp']]], - ['distrho_20_25plugin_20framework',['DISTRHO %Plugin Framework',['../index.html',1,'']]] + ['callback',['Callback',['../classImageButton_1_1Callback.html',1,'ImageButton']]], + ['callback',['Callback',['../classImageKnob_1_1Callback.html',1,'ImageKnob']]], + ['callback',['Callback',['../classImageSwitch_1_1Callback.html',1,'ImageSwitch']]], + ['callback',['Callback',['../classImageSlider_1_1Callback.html',1,'ImageSlider']]], + ['circle',['Circle',['../singletonCircle.html',1,'Circle< T >'],['../singletonCircle.html#a69bf0ddae80047ef3e9b230930eb1ba6',1,'Circle::Circle() noexcept'],['../singletonCircle.html#a391892aed07c5239153a038fea80423b',1,'Circle::Circle(const T &x, const T &y, const float size, const uint numSegments=300)'],['../singletonCircle.html#ab0e9f6bedf3dfa9fd958c573eca46368',1,'Circle::Circle(const Point< T > &pos, const float size, const uint numSegments=300)'],['../singletonCircle.html#aeee15927ea13e9114aa53a8c26c5e1df',1,'Circle::Circle(const Circle< T > &cir) noexcept'],['../classNanoVG.html#aa3230d48ce48f050d3ad636fc2ff4235',1,'NanoVG::circle()']]], + ['closepath',['closePath',['../classNanoVG.html#a74ae13eec498c0afb9fa20199eecbd48',1,'NanoVG']]], + ['color',['Color',['../structColor.html',1,'Color'],['../structColor.html#acbbdba6661c2bbd987ef27de59813b47',1,'Color::Color() noexcept'],['../structColor.html#a6539e54d79570ad579207289d087af70',1,'Color::Color(int red, int green, int blue, int alpha=255) noexcept'],['../structColor.html#a77dd2b8f997aaf034c790ffd4ffe64bc',1,'Color::Color(float red, float green, float blue, float alpha=1.0f) noexcept'],['../structColor.html#a7ac8018890423379bf8cdce2c6bc9d7e',1,'Color::Color(const Color &color) noexcept'],['../structColor.html#a8d51b3f9457c1d9524ad67c94152b99a',1,'Color::Color(const Color &color1, const Color &color2, float u) noexcept']]], + ['containerdeletepolicy',['ContainerDeletePolicy',['../structContainerDeletePolicy.html',1,'']]], + ['contains',['contains',['../singletonRectangle.html#a08b0741e6259e88552106136cdbff489',1,'Rectangle::contains(const T &x, const T &y) const noexcept'],['../singletonRectangle.html#a4420a73414a0fd1b85abd468a2c890d3',1,'Rectangle::contains(const Point< T > &pos) const noexcept'],['../classWidget.html#a655f9dac3838b52a3deec1a4b9e6001b',1,'Widget::contains(int x, int y) const noexcept'],['../classWidget.html#a9dc3a8c1c7fe1dd0ffa28577f1eaa5fd',1,'Widget::contains(const Point< int > &pos) const noexcept']]], + ['containsx',['containsX',['../singletonRectangle.html#a71d17fdf110e4ed2350d2a5fe248e540',1,'Rectangle']]], + ['containsy',['containsY',['../singletonRectangle.html#a38b56f4f8b38597fd34f68c677de2559',1,'Rectangle']]], + ['createfont',['createFont',['../classNanoVG.html#a45357f0e7cb62352ef05a529db233e9f',1,'NanoVG']]], + ['createfontmem',['createFontMem',['../classNanoVG.html#aa07d34eb15472088a67a9bfebe1c86e7',1,'NanoVG']]], + ['createimage',['createImage',['../classNanoVG.html#af7e33d8123baca23df22910791892874',1,'NanoVG']]], + ['createimagemem',['createImageMem',['../classNanoVG.html#a78590d08cd1c6a69e0487034ece7ab53',1,'NanoVG']]], + ['createimagergba',['createImageRGBA',['../classNanoVG.html#a2c37ef18f5eaf0052a57e2dd89723f01',1,'NanoVG']]], + ['createplugin',['createPlugin',['../group__EntryPoints.html#ga87f1fa9084f2490ca04ea733292c6dee',1,'DistrhoPlugin.hpp']]], + ['createui',['createUI',['../group__EntryPoints.html#gaad0ced21537a067680729bee6a65d8c8',1,'DistrhoUI.hpp']]], + ['currenttransform',['currentTransform',['../classNanoVG.html#ad51cefbcf8819d365205fa004a10b976',1,'NanoVG']]] ]; diff --git a/search/all_3.js b/search/all_3.js index adc245e8..acceb0d3 100644 --- a/search/all_3.js +++ b/search/all_3.js @@ -1,6 +1,28 @@ var searchData= [ - ['fixdefault',['fixDefault',['../structParameterRanges.html#a17519e584ccc28e87b73bfbd1a81cf10',1,'ParameterRanges']]], - ['fixvalue',['fixValue',['../structParameterRanges.html#a1dac84c100f420bfc529a4d2ea60dc7c',1,'ParameterRanges']]], - ['frame',['frame',['../structMidiEvent.html#aca2f6590b33bd2175ab71f985747d88e',1,'MidiEvent::frame()'],['../structTimePosition.html#aa3606d1c518c7ebe6335bc19f72b015b',1,'TimePosition::frame()']]] + ['d_5fstring',['d_string',['../classd__string.html',1,'']]], + ['data',['data',['../structMidiEvent.html#aba54410d44eef48c10516f29452ef3a9',1,'MidiEvent']]], + ['deactivated',['deactivated',['../classPlugin.html#a6f5d5d235ba624d082daed41a7af8fdd',1,'Plugin']]], + ['def',['def',['../structParameterRanges.html#aa0aba68115bcfff25c35b2da2f7aed4c',1,'ParameterRanges']]], + ['degtorad',['degToRad',['../classNanoVG.html#ae3913bdf0efc2f5504422f558dca2c45',1,'NanoVG']]], + ['distrho_5fplugin_5fhas_5fui',['DISTRHO_PLUGIN_HAS_UI',['../group__PluginMacros.html#gacf8a1af679c09637ba0bdc5f4f8e37dd',1,'DistrhoInfo.hpp']]], + ['distrho_5fplugin_5fis_5frt_5fsafe',['DISTRHO_PLUGIN_IS_RT_SAFE',['../group__PluginMacros.html#ga82546dd199fcea338b113f2f6da84ced',1,'DistrhoInfo.hpp']]], + ['distrho_5fplugin_5fis_5fsynth',['DISTRHO_PLUGIN_IS_SYNTH',['../group__PluginMacros.html#ga854bde6b6fdb0d47182149dbab0fed72',1,'DistrhoInfo.hpp']]], + ['distrho_5fplugin_5fname',['DISTRHO_PLUGIN_NAME',['../group__PluginMacros.html#ga888482a9f695c2ca2f433e5f3172dcc4',1,'DistrhoInfo.hpp']]], + ['distrho_5fplugin_5fnum_5finputs',['DISTRHO_PLUGIN_NUM_INPUTS',['../group__PluginMacros.html#ga5f4f3d9a5dc3c23882d158e636319998',1,'DistrhoInfo.hpp']]], + ['distrho_5fplugin_5fnum_5foutputs',['DISTRHO_PLUGIN_NUM_OUTPUTS',['../group__PluginMacros.html#ga917195804ebcb2bb48c9fad52b20b3ca',1,'DistrhoInfo.hpp']]], + ['distrho_5fplugin_5furi',['DISTRHO_PLUGIN_URI',['../group__PluginMacros.html#ga9cc186448134e6a1956474b3878c97a8',1,'DistrhoInfo.hpp']]], + ['distrho_5fplugin_5fwant_5fdirect_5faccess',['DISTRHO_PLUGIN_WANT_DIRECT_ACCESS',['../group__PluginMacros.html#gac6873a3950f52f3fde8e386af63b69a1',1,'DistrhoInfo.hpp']]], + ['distrho_5fplugin_5fwant_5flatency',['DISTRHO_PLUGIN_WANT_LATENCY',['../group__PluginMacros.html#gad6b0ebf10e048f4742f29735da4d4930',1,'DistrhoInfo.hpp']]], + ['distrho_5fplugin_5fwant_5fmidi_5finput',['DISTRHO_PLUGIN_WANT_MIDI_INPUT',['../group__PluginMacros.html#gadf2e2eb7550e4116001c816adfb04a70',1,'DistrhoInfo.hpp']]], + ['distrho_5fplugin_5fwant_5fmidi_5foutput',['DISTRHO_PLUGIN_WANT_MIDI_OUTPUT',['../group__PluginMacros.html#ga548522eb91344a45841a5a95ff4f8073',1,'DistrhoInfo.hpp']]], + ['distrho_5fplugin_5fwant_5fprograms',['DISTRHO_PLUGIN_WANT_PROGRAMS',['../group__PluginMacros.html#gad95e24b17f196260cee15255fdb5b677',1,'DistrhoInfo.hpp']]], + ['distrho_5fplugin_5fwant_5fstate',['DISTRHO_PLUGIN_WANT_STATE',['../group__PluginMacros.html#ga255f43cc0997af8b56abcca260c875e0',1,'DistrhoInfo.hpp']]], + ['distrho_5fplugin_5fwant_5ftimepos',['DISTRHO_PLUGIN_WANT_TIMEPOS',['../group__PluginMacros.html#ga496610b956d931b1940d07da48d123f2',1,'DistrhoInfo.hpp']]], + ['distrho_5fui_5furi',['DISTRHO_UI_URI',['../group__PluginMacros.html#ga420a88022da249b9f38a6046998dbd7c',1,'DistrhoInfo.hpp']]], + ['distrho_5fui_5fuse_5fnanovg',['DISTRHO_UI_USE_NANOVG',['../group__PluginMacros.html#gad49e79936a2aa5afa089cbc051426ccd',1,'DistrhoInfo.hpp']]], + ['draw',['draw',['../singletonLine.html#af3eebf8905576276741caab216516949',1,'Line::draw()'],['../singletonCircle.html#ae1006bb2486c75b45e43675783521915',1,'Circle::draw()'],['../singletonTriangle.html#a5dd94312d41f36fb149e03d90800bb53',1,'Triangle::draw()'],['../singletonRectangle.html#a415da25901ad63d87e3bac7755535cda',1,'Rectangle::draw()'],['../classImage.html#ae1e16dcef3072e4e49ec2887a9c1245a',1,'Image::draw()']]], + ['drawat',['drawAt',['../classImage.html#ab63094dc07e6d62624827bca904b5cdd',1,'Image::drawAt(const int x, const int y)'],['../classImage.html#aed2dc99624de978eade8124d2c099cfa',1,'Image::drawAt(const Point< int > &pos)']]], + ['drawoutline',['drawOutline',['../singletonCircle.html#a59ad688a9f13a2e639502a8adc979111',1,'Circle::drawOutline()'],['../singletonTriangle.html#a93cda515489108aa6c14b0b1ab8cff11',1,'Triangle::drawOutline()'],['../singletonRectangle.html#a562e46203701309da8748dcc5277373e',1,'Rectangle::drawOutline()']]], + ['distrho_20_25plugin_20framework',['DISTRHO %Plugin Framework',['../index.html',1,'']]] ]; diff --git a/search/all_4.js b/search/all_4.js index 3e12653c..8756d547 100644 --- a/search/all_4.js +++ b/search/all_4.js @@ -1,7 +1,8 @@ var searchData= [ - ['getfixedandnormalizedvalue',['getFixedAndNormalizedValue',['../structParameterRanges.html#a82698a1e07b1b04ccb5df0de4db0d0be',1,'ParameterRanges']]], - ['getfixedvalue',['getFixedValue',['../structParameterRanges.html#acd3d977c154ddb3138f36c0b6d2b7626',1,'ParameterRanges']]], - ['getnormalizedvalue',['getNormalizedValue',['../structParameterRanges.html#ad16ef939c1caa2f51e9a4041f769f86e',1,'ParameterRanges']]], - ['getunnormalizedvalue',['getUnnormalizedValue',['../structParameterRanges.html#a992f75a925b3cd5e66544087708ea3c3',1,'ParameterRanges']]] + ['editparameter',['editParameter',['../classUI.html#aeea59720583d501254284e5be540f60e',1,'UI']]], + ['ellipse',['ellipse',['../classNanoVG.html#a2081ea8d4c33481d24ae98d1a65a6f9b',1,'NanoVG']]], + ['endframe',['endFrame',['../classNanoVG.html#a432d8c79b21f61eb1010a75cc13ee711',1,'NanoVG']]], + ['entry_20points',['Entry Points',['../group__EntryPoints.html',1,'']]], + ['exec',['exec',['../classApp.html#a94fa325175749054947480e1ae66b110',1,'App']]] ]; diff --git a/search/all_5.js b/search/all_5.js index 63b16bcf..b388495f 100644 --- a/search/all_5.js +++ b/search/all_5.js @@ -1,4 +1,19 @@ var searchData= [ - ['hints',['hints',['../structAudioPort.html#af93f38f9ef48ea14544adf32e4b1e513',1,'AudioPort::hints()'],['../structParameter.html#a397fb977f0c6cbec31df4f141ca3f5b3',1,'Parameter::hints()']]] + ['filebrowseroptions',['FileBrowserOptions',['../structWindow_1_1FileBrowserOptions.html',1,'Window']]], + ['filebrowseroptions',['FileBrowserOptions',['../structWindow_1_1FileBrowserOptions.html#ad34fe0200a1bd00028f7753aeba9b2fc',1,'Window::FileBrowserOptions']]], + ['fill',['fill',['../classNanoVG.html#ae6e189b2c0b5a67c8c227d89b9bdb56e',1,'NanoVG']]], + ['fillcolor',['fillColor',['../classNanoVG.html#a9a802d6e276195d13bc33d0f4b39cff9',1,'NanoVG::fillColor(const Color &color)'],['../classNanoVG.html#a9b88f568b952402bbcfec289095734a7',1,'NanoVG::fillColor(const int red, const int green, const int blue, const int alpha=255)'],['../classNanoVG.html#a364794e2641625310aab9b7755b1e3d5',1,'NanoVG::fillColor(const float red, const float green, const float blue, const float alpha=1.0f)']]], + ['fillpaint',['fillPaint',['../classNanoVG.html#aca56cc6d1c2455fc9f750cce4dc132d0',1,'NanoVG']]], + ['findfont',['findFont',['../classNanoVG.html#afbcfaa824c76e00eb22bd3f7dd5d1ab0',1,'NanoVG']]], + ['fixbounds',['fixBounds',['../structColor.html#aad01f46af4cdb18b2bcbddd3f63d14d5',1,'Color']]], + ['fixdefault',['fixDefault',['../structParameterRanges.html#a17519e584ccc28e87b73bfbd1a81cf10',1,'ParameterRanges']]], + ['fixvalue',['fixValue',['../structParameterRanges.html#a1dac84c100f420bfc529a4d2ea60dc7c',1,'ParameterRanges']]], + ['fontblur',['fontBlur',['../classNanoVG.html#aa0a42259164f0893ea63929cfce29a75',1,'NanoVG']]], + ['fontface',['fontFace',['../classNanoVG.html#a22fa48b86dac0cc4ab1cd922de39c52b',1,'NanoVG']]], + ['fontfaceid',['fontFaceId',['../classNanoVG.html#a2d32dbd0fb0dd0ae36fdc6ef2be65f6c',1,'NanoVG']]], + ['fontsize',['fontSize',['../classNanoVG.html#a23353792b4267d74f8f7a665d358c1a4',1,'NanoVG']]], + ['frame',['frame',['../structMidiEvent.html#aca2f6590b33bd2175ab71f985747d88e',1,'MidiEvent::frame()'],['../structTimePosition.html#aa3606d1c518c7ebe6335bc19f72b015b',1,'TimePosition::frame()']]], + ['fromhsl',['fromHSL',['../structColor.html#a41820f7349e997489d53f98036e76a0c',1,'Color']]], + ['fromhtml',['fromHTML',['../structColor.html#a57a79f611e15fb0abd288838a85990cb',1,'Color']]] ]; diff --git a/search/all_6.js b/search/all_6.js index bdb526ab..029eed6e 100644 --- a/search/all_6.js +++ b/search/all_6.js @@ -1,12 +1,44 @@ var searchData= [ - ['kaudioportiscv',['kAudioPortIsCV',['../group__AudioPortHints.html#ga92c8a0135d1b6dacd22df25295c15ff3',1,'DistrhoPlugin.hpp']]], - ['kaudioportissidechain',['kAudioPortIsSidechain',['../group__AudioPortHints.html#gafbf1a5255d0a19f35ae21480ab2c7433',1,'DistrhoPlugin.hpp']]], - ['kdatasize',['kDataSize',['../structMidiEvent.html#a9e23ce17777c2ff5190670d3262129b9',1,'MidiEvent']]], - ['kparameterisautomable',['kParameterIsAutomable',['../group__ParameterHints.html#ga04161ef926442aa08ae7aa6847078ad9',1,'DistrhoPlugin.hpp']]], - ['kparameterisboolean',['kParameterIsBoolean',['../group__ParameterHints.html#gaafca30df903781d2e1c2491808e17c8d',1,'DistrhoPlugin.hpp']]], - ['kparameteriscv',['kParameterIsCV',['../group__ParameterHints.html#ga1eae4d034f2ff1bc14035d87c4b63b14',1,'DistrhoPlugin.hpp']]], - ['kparameterisinteger',['kParameterIsInteger',['../group__ParameterHints.html#ga76a82c93efe6ad728c9f0cb4ef33a2b9',1,'DistrhoPlugin.hpp']]], - ['kparameterislogarithmic',['kParameterIsLogarithmic',['../group__ParameterHints.html#gabc539ecbfe420246a33f93aed32b8a3b',1,'DistrhoPlugin.hpp']]], - ['kparameterisoutput',['kParameterIsOutput',['../group__ParameterHints.html#ga0a3633c93e8589f4b3e6124bb97ad8d4',1,'DistrhoPlugin.hpp']]] + ['get',['get',['../classScopedPointer.html#ac65fb45b9eb2d53773489fcfbc6fd740',1,'ScopedPointer']]], + ['getabsolutepos',['getAbsolutePos',['../classWidget.html#ae952149aa2b1661ebc9712547ac5cc04',1,'Widget']]], + ['getabsolutex',['getAbsoluteX',['../classWidget.html#a4e41debfe323ee307706af42818636dd',1,'Widget']]], + ['getabsolutey',['getAbsoluteY',['../classWidget.html#af2ee4713e052b65e839da667aec4e05a',1,'Widget']]], + ['getbuffersize',['getBufferSize',['../classPlugin.html#a2643e638f62cfd4990247ec66bed60d2',1,'Plugin']]], + ['getcontext',['getContext',['../classNanoVG.html#a8b6f8caad8acb883fadc06a606ccade7',1,'NanoVG']]], + ['getendpos',['getEndPos',['../singletonLine.html#aa3f70d792719c026b35b3f32dc19ac65',1,'Line']]], + ['getendx',['getEndX',['../singletonLine.html#a15462cbbe5154d8b27fd6c53ddafc17f',1,'Line']]], + ['getendy',['getEndY',['../singletonLine.html#a5c5de1ccedae8ea85fd711eab10359dd',1,'Line']]], + ['getfixedandnormalizedvalue',['getFixedAndNormalizedValue',['../structParameterRanges.html#a82698a1e07b1b04ccb5df0de4db0d0be',1,'ParameterRanges']]], + ['getfixedvalue',['getFixedValue',['../structParameterRanges.html#acd3d977c154ddb3138f36c0b6d2b7626',1,'ParameterRanges']]], + ['getformat',['getFormat',['../classImage.html#ac02e8bb7bfcc4adefc1f00557cc40e86',1,'Image']]], + ['getheight',['getHeight',['../classSize.html#a562e9d68738d1873a6aa0615af80505b',1,'Size::getHeight()'],['../singletonRectangle.html#a46b5c88ccfdf1b9f5c1086bb0852c94a',1,'Rectangle::getHeight()'],['../classImage.html#a464a18561e9d49b9af42f007113d55f6',1,'Image::getHeight()'],['../classWidget.html#aa20f6dc096a8836706173f31324c4db8',1,'Widget::getHeight()']]], + ['getid',['getId',['../classWidget.html#a3ee6b2824e3f3719c1c9b3d070385f49',1,'Widget']]], + ['getlabel',['getLabel',['../classPlugin.html#a00f7945c16149db6845fbcc2af729f4f',1,'Plugin']]], + ['getlicense',['getLicense',['../classPlugin.html#a686a3c92a376a185d6fd97efd59125d1',1,'Plugin']]], + ['getmaker',['getMaker',['../classPlugin.html#a955832840de786a7a22798f0ef451c5d',1,'Plugin']]], + ['getname',['getName',['../classPlugin.html#a181bc1b9e4094921da788640955a3018',1,'Plugin']]], + ['getnormalizedvalue',['getNormalizedValue',['../structParameterRanges.html#ad16ef939c1caa2f51e9a4041f769f86e',1,'ParameterRanges']]], + ['getnumsegments',['getNumSegments',['../singletonCircle.html#a3a1586ea9115cc97473a2338127223b6',1,'Circle']]], + ['getparametervalue',['getParameterValue',['../classPlugin.html#a2d1da98c90568bb4547662bc4f02c31f',1,'Plugin']]], + ['getparentapp',['getParentApp',['../classWidget.html#afa1fe45064cf9bb107fe1dcdb2384d33',1,'Widget']]], + ['getparentwindow',['getParentWindow',['../classWidget.html#a0e0b0b2293bb63b2d84774542cc6a421',1,'Widget']]], + ['getplugininstancepointer',['getPluginInstancePointer',['../classUI.html#a0863a8f7ca7fc7e172e703c58518329f',1,'UI']]], + ['getpos',['getPos',['../singletonCircle.html#abdabe0a9d85db389485c69d6a7b6071e',1,'Circle::getPos()'],['../singletonRectangle.html#aa91fa8951b6a77c86a3df804b1ed0717',1,'Rectangle::getPos()']]], + ['getrawdata',['getRawData',['../classImage.html#a638e0d75e9dff587f028639aaae8981b',1,'Image']]], + ['getsamplerate',['getSampleRate',['../classPlugin.html#a3e162cfe8f1c52bf09805fd327bcc3c4',1,'Plugin::getSampleRate()'],['../classUI.html#a97d880182254652f94e7bed355370c07',1,'UI::getSampleRate()']]], + ['getsize',['getSize',['../singletonCircle.html#a95cbbd0567463a29e0e1b43febcc1daa',1,'Circle::getSize()'],['../singletonRectangle.html#a89992b11e6d09286c2d6f4504b49d05f',1,'Rectangle::getSize()'],['../classImage.html#a86b31865bfa07b98b61f503699f5c5d1',1,'Image::getSize()'],['../classNanoImage.html#a979cc37d8a10dc0642fcea2d64d3b58c',1,'NanoImage::getSize()'],['../classWidget.html#ae375b05cd76f63c957949e9121ff56bb',1,'Widget::getSize()']]], + ['getstartpos',['getStartPos',['../singletonLine.html#a2c5ecf6513f1b1fd846a80915aff5744',1,'Line']]], + ['getstartx',['getStartX',['../singletonLine.html#a7f3af6a8c08af69188714a83353e09fb',1,'Line']]], + ['getstarty',['getStartY',['../singletonLine.html#a5a5ef0a94283339f2c20406a3d9fbb04',1,'Line']]], + ['gettimeposition',['getTimePosition',['../classPlugin.html#ae85d602c430b1a4361a88d714d3a42c1',1,'Plugin']]], + ['gettype',['getType',['../classImage.html#aafdd618cccc80f83a438b0c335de6205',1,'Image']]], + ['getuniqueid',['getUniqueId',['../classPlugin.html#ad6ff8c80227d5ceebd40b96f3be29a66',1,'Plugin']]], + ['getunnormalizedvalue',['getUnnormalizedValue',['../structParameterRanges.html#a992f75a925b3cd5e66544087708ea3c3',1,'ParameterRanges']]], + ['getversion',['getVersion',['../classPlugin.html#abae540dd93caf4834270358a8aad334a',1,'Plugin']]], + ['getwidth',['getWidth',['../classSize.html#a3e65e5ff12f6bf57eaa6f45c54346942',1,'Size::getWidth()'],['../singletonRectangle.html#a5974e66bef8300fa6e052d846d07afb1',1,'Rectangle::getWidth()'],['../classImage.html#a695d30afad2b73bc0e4208a94d052aea',1,'Image::getWidth()'],['../classWidget.html#a169c317caf734c6664494a573e427b40',1,'Widget::getWidth()']]], + ['getx',['getX',['../classPoint.html#af6d528d5f73b06282aae5be3b188528e',1,'Point::getX()'],['../singletonCircle.html#a2f8530b43b24d28380e232367fea0823',1,'Circle::getX()'],['../singletonRectangle.html#aa7a5dc1efa46ac87abdc57850f65c1ef',1,'Rectangle::getX()']]], + ['gety',['getY',['../classPoint.html#ab0250670052f5169c57de84a09d7534b',1,'Point::getY()'],['../singletonCircle.html#af1bdfeb5875cf8e6a8f09ad295d3bb09',1,'Circle::getY()'],['../singletonRectangle.html#a8f2fb02ceea742b6155a476be3694ec9',1,'Rectangle::getY()']]], + ['glyphposition',['GlyphPosition',['../structNanoVG_1_1GlyphPosition.html',1,'NanoVG']]], + ['growby',['growBy',['../classSize.html#ac6cb1721051ed5c8f21467f009d72982',1,'Size::growBy()'],['../singletonRectangle.html#a043d677b0fa28c50a18ed30bcb84e02b',1,'Rectangle::growBy()']]] ]; diff --git a/search/all_7.js b/search/all_7.js index 488b3673..17b0d44c 100644 --- a/search/all_7.js +++ b/search/all_7.js @@ -1,6 +1,5 @@ var searchData= [ - ['max',['max',['../structParameterRanges.html#a175c78c905c598df929a4450e4d2a2a0',1,'ParameterRanges']]], - ['midievent',['MidiEvent',['../structMidiEvent.html',1,'']]], - ['min',['min',['../structParameterRanges.html#a63c40988463a8ace9d0e9e55a00f3c7b',1,'ParameterRanges']]] + ['hide',['hide',['../classWidget.html#a4a2f8eebacdd20db505b838f1a118c6b',1,'Widget']]], + ['hints',['hints',['../structAudioPort.html#af93f38f9ef48ea14544adf32e4b1e513',1,'AudioPort::hints()'],['../structParameter.html#a397fb977f0c6cbec31df4f141ca3f5b3',1,'Parameter::hints()']]] ]; diff --git a/search/all_8.js b/search/all_8.js index 30017e79..3b22a25b 100644 --- a/search/all_8.js +++ b/search/all_8.js @@ -1,4 +1,26 @@ var searchData= [ - ['name',['name',['../structAudioPort.html#a9ef55a98c2d867cc9d909f79afe35914',1,'AudioPort::name()'],['../structParameter.html#a2e75f234cbbda1ed0517075e67d27191',1,'Parameter::name()']]] + ['idle',['idle',['../classApp.html#a4309d67edf51bdf612a82220285ada49',1,'App']]], + ['idlecallback',['IdleCallback',['../classIdleCallback.html',1,'']]], + ['image',['Image',['../classImage.html',1,'Image'],['../classImage.html#a58edd1c45b4faeb5f789b0d036d02313',1,'Image::Image()'],['../classImage.html#ad351054c0c6ebc0df99a7f8df12c8920',1,'Image::Image(const char *const rawData, const uint width, const uint height, const GLenum format=GL_BGRA, const GLenum type=GL_UNSIGNED_BYTE)'],['../classImage.html#a4587a30e65bacb349bc2d351d2fe49eb',1,'Image::Image(const char *const rawData, const Size< uint > &size, const GLenum format=GL_BGRA, const GLenum type=GL_UNSIGNED_BYTE)'],['../classImage.html#a34410a36b132ab597a8878d45facc89a',1,'Image::Image(const Image &image)']]], + ['imageaboutwindow',['ImageAboutWindow',['../classImageAboutWindow.html',1,'']]], + ['imagebutton',['ImageButton',['../classImageButton.html',1,'']]], + ['imageknob',['ImageKnob',['../classImageKnob.html',1,'']]], + ['imagepattern',['imagePattern',['../classNanoVG.html#a51ad176349e0169478844f862942af20',1,'NanoVG']]], + ['imageslider',['ImageSlider',['../classImageSlider.html',1,'']]], + ['imageswitch',['ImageSwitch',['../classImageSwitch.html',1,'']]], + ['initaudioport',['initAudioPort',['../classPlugin.html#a75f30935198a0acba25f4ea92af72dc4',1,'Plugin']]], + ['initparameter',['initParameter',['../classPlugin.html#a5b0ec59527a1c2f4b01f17fc8c18ea8b',1,'Plugin']]], + ['initprogramname',['initProgramName',['../classPlugin.html#a54d66af3111541b7c118f9749ef0231b',1,'Plugin']]], + ['initstate',['initState',['../classPlugin.html#ae301a970a8b5cff3c7ecef927ea20080',1,'Plugin']]], + ['interpolate',['interpolate',['../structColor.html#a96283f5b9ad6f6465e40f69012aca00f',1,'Color']]], + ['isequal',['isEqual',['../structColor.html#a16880d42b2d52ed23eb307ed2980a9a3',1,'Color']]], + ['isinvalid',['isInvalid',['../classSize.html#ab832e37b50a2d98648be4ac811af305f',1,'Size::isInvalid()'],['../singletonTriangle.html#a757b50c4c2e0d154c6626e252527fc2f',1,'Triangle::isInvalid()']]], + ['isnotnull',['isNotNull',['../classSize.html#a57093e93dcdfadc9f720b9d8fda4b59e',1,'Size::isNotNull()'],['../singletonLine.html#ad156bd44539aa28e052207a25d705695',1,'Line::isNotNull()'],['../singletonTriangle.html#ab825fecc8ba95577430002de793c5683',1,'Triangle::isNotNull()']]], + ['isnotzero',['isNotZero',['../classPoint.html#aede5df141963951a746d7e207fa7e073',1,'Point']]], + ['isnull',['isNull',['../classSize.html#ab49a572da2fb72ab4f6dfd7a06b000c8',1,'Size::isNull()'],['../singletonLine.html#ab300b2e8deeda3d08cc7e70299c3955d',1,'Line::isNull()'],['../singletonTriangle.html#a14729ce6716a66216a991ce7958dbed3',1,'Triangle::isNull()']]], + ['isquiting',['isQuiting',['../classApp.html#af7471b06a9bfccc16293b020268d0401',1,'App']]], + ['isvalid',['isValid',['../classSize.html#a1e6c381d5a5c19e7ab2c83118ebbd0ec',1,'Size::isValid()'],['../singletonTriangle.html#a3fd5cf976cd212276d10885f99856bdc',1,'Triangle::isValid()'],['../classImage.html#a761214d2fa016e3e793b5a2d6b8b85ec',1,'Image::isValid()']]], + ['isvisible',['isVisible',['../classWidget.html#a234a8ee8a685dc211ad11f492f0dbc71',1,'Widget']]], + ['iszero',['isZero',['../classPoint.html#a845d59d29722c962c7af8f602bcf9ba4',1,'Point']]] ]; diff --git a/search/all_9.js b/search/all_9.js index 7f17b943..832fe50c 100644 --- a/search/all_9.js +++ b/search/all_9.js @@ -1,4 +1,13 @@ var searchData= [ - ['onresize',['onResize',['../classUI.html#a8de15be030bbdf0eb81461349cb1cc77',1,'UI']]] + ['kaudioportiscv',['kAudioPortIsCV',['../group__AudioPortHints.html#ga92c8a0135d1b6dacd22df25295c15ff3',1,'DistrhoPlugin.hpp']]], + ['kaudioportissidechain',['kAudioPortIsSidechain',['../group__AudioPortHints.html#gafbf1a5255d0a19f35ae21480ab2c7433',1,'DistrhoPlugin.hpp']]], + ['kdatasize',['kDataSize',['../structMidiEvent.html#a9e23ce17777c2ff5190670d3262129b9',1,'MidiEvent']]], + ['keyboardevent',['KeyboardEvent',['../structWidget_1_1KeyboardEvent.html',1,'Widget']]], + ['keyboardevent',['KeyboardEvent',['../structWidget_1_1KeyboardEvent.html#a5a55a296264b9999a7915f2633eacb10',1,'Widget::KeyboardEvent']]], + ['kparameterisautomable',['kParameterIsAutomable',['../group__ParameterHints.html#ga04161ef926442aa08ae7aa6847078ad9',1,'DistrhoPlugin.hpp']]], + ['kparameterisboolean',['kParameterIsBoolean',['../group__ParameterHints.html#gaafca30df903781d2e1c2491808e17c8d',1,'DistrhoPlugin.hpp']]], + ['kparameterisinteger',['kParameterIsInteger',['../group__ParameterHints.html#ga76a82c93efe6ad728c9f0cb4ef33a2b9',1,'DistrhoPlugin.hpp']]], + ['kparameterislogarithmic',['kParameterIsLogarithmic',['../group__ParameterHints.html#gabc539ecbfe420246a33f93aed32b8a3b',1,'DistrhoPlugin.hpp']]], + ['kparameterisoutput',['kParameterIsOutput',['../group__ParameterHints.html#ga0a3633c93e8589f4b3e6124bb97ad8d4',1,'DistrhoPlugin.hpp']]] ]; diff --git a/search/all_a.js b/search/all_a.js index 37a0973b..de123559 100644 --- a/search/all_a.js +++ b/search/all_a.js @@ -1,9 +1,10 @@ var searchData= [ - ['parameter',['Parameter',['../structParameter.html',1,'Parameter'],['../structParameter.html#a12ced87d6d832deccb6c8ce2c8313b2e',1,'Parameter::Parameter()']]], - ['parameter_20hints',['Parameter Hints',['../group__ParameterHints.html',1,'']]], - ['parameterranges',['ParameterRanges',['../structParameterRanges.html',1,'ParameterRanges'],['../structParameterRanges.html#adb9b2712df3401eb0c5e11362d865d4e',1,'ParameterRanges::ParameterRanges() noexcept'],['../structParameterRanges.html#aad2afc730bee791aab1811744a48f99d',1,'ParameterRanges::ParameterRanges(const float df, const float mn, const float mx) noexcept']]], - ['playing',['playing',['../structTimePosition.html#a35db424bdf8ec01102a4fa6346c45574',1,'TimePosition']]], - ['plugin',['Plugin',['../classPlugin.html',1,'Plugin'],['../classPlugin.html#a3096e491376cb9378be55915d748de57',1,'Plugin::Plugin()']]], - ['plugin_20macros',['Plugin Macros',['../group__PluginMacros.html',1,'']]] + ['leakedobjectdetector',['LeakedObjectDetector',['../classLeakedObjectDetector.html',1,'']]], + ['line',['Line',['../singletonLine.html',1,'Line< T >'],['../singletonLine.html#a7895211d4fa97f63b3495ca5c9bfaed1',1,'Line::Line() noexcept'],['../singletonLine.html#abb3a2ed1ad09a372c39fab9820defb03',1,'Line::Line(const T &startX, const T &startY, const T &endX, const T &endY) noexcept'],['../singletonLine.html#afb5087aefdb5a66befc2af548fc34056',1,'Line::Line(const T &startX, const T &startY, const Point< T > &endPos) noexcept'],['../singletonLine.html#a4e4d056335720256b83ae491a55bcb1e',1,'Line::Line(const Point< T > &startPos, const T &endX, const T &endY) noexcept'],['../singletonLine.html#a9a3e4daec16c09c9f7ae1ce6b3a56847',1,'Line::Line(const Point< T > &startPos, const Point< T > &endPos) noexcept'],['../singletonLine.html#a96f1ec549a1cdab2ae4480a9b2f839ec',1,'Line::Line(const Line< T > &line) noexcept']]], + ['lineargradient',['linearGradient',['../classNanoVG.html#aa74a49bb588beb28654565a07022a178',1,'NanoVG']]], + ['linecap',['lineCap',['../classNanoVG.html#a95dfc697ae6fe9c8d525430c09f839d1',1,'NanoVG']]], + ['linejoin',['lineJoin',['../classNanoVG.html#a73767c9ade6a757bc6e1f4a2d45bdaeb',1,'NanoVG']]], + ['lineto',['lineTo',['../classNanoVG.html#a63f509eaeb04475a8541ed8e846f352f',1,'NanoVG']]], + ['loadfrommemory',['loadFromMemory',['../classImage.html#a097350feb2b30fd9289c346039298394',1,'Image::loadFromMemory(const char *const rawData, const uint width, const uint height, const GLenum format=GL_BGRA, const GLenum type=GL_UNSIGNED_BYTE) noexcept'],['../classImage.html#a2851a65c5885085be1d96878762fd860',1,'Image::loadFromMemory(const char *const rawData, const Size< uint > &size, const GLenum format=GL_BGRA, const GLenum type=GL_UNSIGNED_BYTE) noexcept']]] ]; diff --git a/search/all_b.js b/search/all_b.js index dfd71ae3..289ec6a0 100644 --- a/search/all_b.js +++ b/search/all_b.js @@ -1,4 +1,15 @@ var searchData= [ - ['ranges',['ranges',['../structParameter.html#a2d0c81e4fb8fad18d920ef6ecd4a64db',1,'Parameter']]] + ['main_20classes',['Main Classes',['../group__MainClasses.html',1,'']]], + ['max',['max',['../structParameterRanges.html#a175c78c905c598df929a4450e4d2a2a0',1,'ParameterRanges']]], + ['midievent',['MidiEvent',['../structMidiEvent.html',1,'']]], + ['min',['min',['../structParameterRanges.html#a63c40988463a8ace9d0e9e55a00f3c7b',1,'ParameterRanges']]], + ['miterlimit',['miterLimit',['../classNanoVG.html#a8a5ade44d39d21f28dcd02d27da62d14',1,'NanoVG']]], + ['motionevent',['MotionEvent',['../structWidget_1_1MotionEvent.html#a0d2bf8f5c66002bb129968f10e0cc082',1,'Widget::MotionEvent']]], + ['motionevent',['MotionEvent',['../structWidget_1_1MotionEvent.html',1,'Widget']]], + ['mouseevent',['MouseEvent',['../structWidget_1_1MouseEvent.html#aa37fee8a593c62c53e4ca5c67ad9278f',1,'Widget::MouseEvent']]], + ['mouseevent',['MouseEvent',['../structWidget_1_1MouseEvent.html',1,'Widget']]], + ['moveby',['moveBy',['../classPoint.html#a541cdef0c235dc26d79c0b6ee7118346',1,'Point::moveBy(const T &x, const T &y) noexcept'],['../classPoint.html#a678019258549ab43e7bb1ad34f212d15',1,'Point::moveBy(const Point< T > &pos) noexcept'],['../singletonLine.html#a47c83b136a3d4df6ac688ac41126b967',1,'Line::moveBy(const T &x, const T &y) noexcept'],['../singletonLine.html#af287984efeaf15d632a715f884194dab',1,'Line::moveBy(const Point< T > &pos) noexcept'],['../singletonRectangle.html#a040f154cde2faff853fd0bde9ca884b9',1,'Rectangle::moveBy(const T &x, const T &y) noexcept'],['../singletonRectangle.html#a9e81627f1201111f0e36cce15e317000',1,'Rectangle::moveBy(const Point< T > &pos) noexcept']]], + ['moveto',['moveTo',['../classNanoVG.html#af1ac0918567c17c93e0586c4284e04b9',1,'NanoVG']]], + ['mutex',['Mutex',['../classMutex.html',1,'']]] ]; diff --git a/search/all_c.js b/search/all_c.js index 02a09492..c6d18c62 100644 --- a/search/all_c.js +++ b/search/all_c.js @@ -1,5 +1,7 @@ var searchData= [ - ['size',['size',['../structMidiEvent.html#a48b420a6dbca6502113b92c336a3041e',1,'MidiEvent']]], - ['symbol',['symbol',['../structAudioPort.html#a24142c8e3d5a7214488ba2151e6e42ad',1,'AudioPort::symbol()'],['../structParameter.html#a0b5193e6131f65878dfb6fe4d9f5e970',1,'Parameter::symbol()']]] + ['name',['name',['../structAudioPort.html#adb3b58f79131b653d6b2adfa3ea07e5c',1,'AudioPort::name()'],['../structParameter.html#ae63c1fcfb20e320bada1f58c04ff18da',1,'Parameter::name()']]], + ['nanoimage',['NanoImage',['../classNanoImage.html',1,'NanoImage'],['../classNanoImage.html#ae2098db57c51c41247a4013eb1e0216c',1,'NanoImage::NanoImage()']]], + ['nanovg',['NanoVG',['../classNanoVG.html',1,'NanoVG'],['../classNanoVG.html#a1d6c677037e336e11baa5f32a4a11922',1,'NanoVG::NanoVG()'],['../classNanoVG.html#aaf714e36cc1619264899b373cdb8accd',1,'NanoVG::NanoVG(const int textAtlasWidth, const int textAtlasHeight)']]], + ['nanowidget',['NanoWidget',['../classNanoWidget.html',1,'NanoWidget'],['../classNanoWidget.html#af1f8b45101bbe1017b88893a699b4f86',1,'NanoWidget::NanoWidget()']]] ]; diff --git a/search/all_d.js b/search/all_d.js index 048a36f8..0d47a90f 100644 --- a/search/all_d.js +++ b/search/all_d.js @@ -1,6 +1,15 @@ var searchData= [ - ['tick',['tick',['../structTimePosition_1_1BarBeatTick.html#ad38d7364a5441f1f49c3538f5691a299',1,'TimePosition::BarBeatTick']]], - ['ticksperbeat',['ticksPerBeat',['../structTimePosition_1_1BarBeatTick.html#ab8cfc3f2709a79e733e58556712da062',1,'TimePosition::BarBeatTick']]], - ['timeposition',['TimePosition',['../structTimePosition.html',1,'TimePosition'],['../structTimePosition.html#aee816daeed95cf309ded1087a0c800ae',1,'TimePosition::TimePosition()']]] + ['ondisplay',['onDisplay',['../classImageAboutWindow.html#a4ebc99f9674e37ebdeeaa1ef9a71a0fc',1,'ImageAboutWindow::onDisplay()'],['../classImageButton.html#abb0d1081f8c794657ccbbcffb2d75efc',1,'ImageButton::onDisplay()'],['../classImageKnob.html#a7123a12c906463700df8c6f24cd0a62f',1,'ImageKnob::onDisplay()'],['../classImageSlider.html#a6c734dabcf0af01513fb5dec5b716831',1,'ImageSlider::onDisplay()'],['../classImageSwitch.html#a45cdf75bf08adf50742150f3d2029f76',1,'ImageSwitch::onDisplay()'],['../classWidget.html#ae1554f348fe3b2f9d4c3c5c4f9ec55bd',1,'Widget::onDisplay()']]], + ['onkeyboard',['onKeyboard',['../classImageAboutWindow.html#a952891b12bf379fafc184abc77daef24',1,'ImageAboutWindow::onKeyboard()'],['../classWidget.html#a9fa874aede538b41348f1029524aea11',1,'Widget::onKeyboard()']]], + ['onmotion',['onMotion',['../classImageButton.html#a53676b7a0cc31f78a371ef363344f7ba',1,'ImageButton::onMotion()'],['../classImageKnob.html#a299a1721471747dc173633f21bd75b1f',1,'ImageKnob::onMotion()'],['../classImageSlider.html#a2950b1058ae7c6d20397135615b4583c',1,'ImageSlider::onMotion()'],['../classWidget.html#a655569fb78a598652e9f24cefa1fe4a5',1,'Widget::onMotion()']]], + ['onmouse',['onMouse',['../classImageAboutWindow.html#a5af153208057de4baf7264c9a7bd30cd',1,'ImageAboutWindow::onMouse()'],['../classImageButton.html#acea33c4a730d0dce4f87a67cc290d747',1,'ImageButton::onMouse()'],['../classImageKnob.html#a473247914d3751d629dd8690f74af07b',1,'ImageKnob::onMouse()'],['../classImageSlider.html#a6ffe0c5b79ef8e397876154b904f0981',1,'ImageSlider::onMouse()'],['../classImageSwitch.html#aa2371a540211636f96ac3a3a161ee563',1,'ImageSwitch::onMouse()'],['../classWidget.html#a097ec1d56a06bdc9e0a4e54880def378',1,'Widget::onMouse()']]], + ['onnanodisplay',['onNanoDisplay',['../classNanoWidget.html#a50c53f68d816358fdb6abad250917372',1,'NanoWidget']]], + ['onresize',['onResize',['../classUI.html#a8de15be030bbdf0eb81461349cb1cc77',1,'UI::onResize()'],['../classWidget.html#acc0365ec4b9245bdffb8d0285be55dea',1,'Widget::onResize()']]], + ['onscroll',['onScroll',['../classImageKnob.html#a2cdc26028611554458a74b32740ac33b',1,'ImageKnob::onScroll()'],['../classWidget.html#a0d78d28bd4a98c3a016a38091b2d4185',1,'Widget::onScroll()']]], + ['onspecial',['onSpecial',['../classWidget.html#a3b42652fcb2f95c6f86bdd43a1727507',1,'Widget']]], + ['operator_20objecttype_20_2a',['operator ObjectType *',['../classScopedPointer.html#af7c241c736d79754fd6f8d305cce8bc3',1,'ScopedPointer']]], + ['operator_2a',['operator*',['../classScopedPointer.html#a2f48458a1656a6ef1bd35cb8452eed35',1,'ScopedPointer']]], + ['operator_2d_3e',['operator->',['../classScopedPointer.html#a6eedc84349cbe629cc1abb79ffa74e87',1,'ScopedPointer']]], + ['operator_3d',['operator=',['../classScopedPointer.html#afefc7940828d72c056e03804cd6bea9f',1,'ScopedPointer::operator=(ScopedPointer &objectToTransferFrom)'],['../classScopedPointer.html#a88ee7f038e57471539d3181141c0390e',1,'ScopedPointer::operator=(ObjectType *const newObjectToTakePossessionOf)']]] ]; diff --git a/search/all_e.js b/search/all_e.js index 828230dd..cd859d80 100644 --- a/search/all_e.js +++ b/search/all_e.js @@ -1,5 +1,16 @@ var searchData= [ - ['ui',['UI',['../classUI.html',1,'UI'],['../classUI.html#ad3425075e4a23234a8568d1893b54f22',1,'UI::UI()']]], - ['unit',['unit',['../structParameter.html#aa9ee36848d60d8ddd9185b9a3f2ce93f',1,'Parameter']]] + ['paint',['Paint',['../structNanoVG_1_1Paint.html',1,'NanoVG']]], + ['parameter',['Parameter',['../structParameter.html',1,'Parameter'],['../structParameter.html#a12ced87d6d832deccb6c8ce2c8313b2e',1,'Parameter::Parameter()']]], + ['parameterchanged',['parameterChanged',['../classUI.html#ab3086d302a9685b25abf144ade3e88f6',1,'UI']]], + ['parameter_20hints',['Parameter Hints',['../group__ParameterHints.html',1,'']]], + ['parameterranges',['ParameterRanges',['../structParameterRanges.html',1,'ParameterRanges'],['../structParameterRanges.html#adb9b2712df3401eb0c5e11362d865d4e',1,'ParameterRanges::ParameterRanges() noexcept'],['../structParameterRanges.html#aad2afc730bee791aab1811744a48f99d',1,'ParameterRanges::ParameterRanges(const float df, const float mn, const float mx) noexcept']]], + ['pathwinding',['pathWinding',['../classNanoVG.html#aaf7f45fc45cf920d261a8b2cfebf9026',1,'NanoVG']]], + ['playing',['playing',['../structTimePosition.html#a35db424bdf8ec01102a4fa6346c45574',1,'TimePosition']]], + ['plugin',['Plugin',['../classPlugin.html',1,'Plugin'],['../classPlugin.html#a3096e491376cb9378be55915d748de57',1,'Plugin::Plugin()']]], + ['plugin_20macros',['Plugin Macros',['../group__PluginMacros.html',1,'']]], + ['point',['Point',['../classPoint.html',1,'Point< T >'],['../classPoint.html#ada3e3f5f840cf70db3c7f884843a3d01',1,'Point::Point() noexcept'],['../classPoint.html#a273b90bf5380bacd6e58582ef9ce35f7',1,'Point::Point(const T &x, const T &y) noexcept'],['../classPoint.html#a31393ac57c0140243e8723f9cd9106bb',1,'Point::Point(const Point< T > &pos) noexcept']]], + ['point_3c_20float_20_3e',['Point< float >',['../classPoint.html',1,'']]], + ['point_3c_20int_20_3e',['Point< int >',['../classPoint.html',1,'']]], + ['programchanged',['programChanged',['../classUI.html#a84c36578d87c5b569d1ab6a372f31937',1,'UI']]] ]; diff --git a/search/all_f.js b/search/all_f.js index 35de575c..fbe3761c 100644 --- a/search/all_f.js +++ b/search/all_f.js @@ -1,4 +1,4 @@ var searchData= [ - ['valid',['valid',['../structTimePosition_1_1BarBeatTick.html#a45a05047e923285af0fbeacb371e3f4e',1,'TimePosition::BarBeatTick']]] + ['quit',['quit',['../classApp.html#ab474007a8e53ffa41f9a13e0640b387f',1,'App']]] ]; diff --git a/search/classes_0.js b/search/classes_0.js index 32651a69..333be03b 100644 --- a/search/classes_0.js +++ b/search/classes_0.js @@ -1,4 +1,5 @@ var searchData= [ + ['app',['App',['../classApp.html',1,'']]], ['audioport',['AudioPort',['../structAudioPort.html',1,'']]] ]; diff --git a/search/classes_1.js b/search/classes_1.js index 3c72e37f..6bae283c 100644 --- a/search/classes_1.js +++ b/search/classes_1.js @@ -1,4 +1,6 @@ var searchData= [ - ['barbeattick',['BarBeatTick',['../structTimePosition_1_1BarBeatTick.html',1,'TimePosition']]] + ['barbeattick',['BarBeatTick',['../structTimePosition_1_1BarBeatTick.html',1,'TimePosition']]], + ['baseevent',['BaseEvent',['../structWidget_1_1BaseEvent.html',1,'Widget']]], + ['buttons',['Buttons',['../structWindow_1_1FileBrowserOptions_1_1Buttons.html',1,'Window::FileBrowserOptions']]] ]; diff --git a/search/classes_10.html b/search/classes_10.html new file mode 100644 index 00000000..9d398267 --- /dev/null +++ b/search/classes_10.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/classes_10.js b/search/classes_10.js new file mode 100644 index 00000000..a493b42e --- /dev/null +++ b/search/classes_10.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['widget',['Widget',['../classWidget.html',1,'']]], + ['window',['Window',['../classWindow.html',1,'']]] +]; diff --git a/search/classes_2.js b/search/classes_2.js index ddfccd9f..b127052c 100644 --- a/search/classes_2.js +++ b/search/classes_2.js @@ -1,4 +1,10 @@ var searchData= [ - ['midievent',['MidiEvent',['../structMidiEvent.html',1,'']]] + ['callback',['Callback',['../classImageButton_1_1Callback.html',1,'ImageButton']]], + ['callback',['Callback',['../classImageKnob_1_1Callback.html',1,'ImageKnob']]], + ['callback',['Callback',['../classImageSwitch_1_1Callback.html',1,'ImageSwitch']]], + ['callback',['Callback',['../classImageSlider_1_1Callback.html',1,'ImageSlider']]], + ['circle',['Circle',['../singletonCircle.html',1,'']]], + ['color',['Color',['../structColor.html',1,'']]], + ['containerdeletepolicy',['ContainerDeletePolicy',['../structContainerDeletePolicy.html',1,'']]] ]; diff --git a/search/classes_3.js b/search/classes_3.js index cab226e0..4958bff3 100644 --- a/search/classes_3.js +++ b/search/classes_3.js @@ -1,6 +1,4 @@ var searchData= [ - ['parameter',['Parameter',['../structParameter.html',1,'']]], - ['parameterranges',['ParameterRanges',['../structParameterRanges.html',1,'']]], - ['plugin',['Plugin',['../classPlugin.html',1,'']]] + ['d_5fstring',['d_string',['../classd__string.html',1,'']]] ]; diff --git a/search/classes_4.js b/search/classes_4.js index 46482ad6..47a4f42e 100644 --- a/search/classes_4.js +++ b/search/classes_4.js @@ -1,4 +1,4 @@ var searchData= [ - ['timeposition',['TimePosition',['../structTimePosition.html',1,'']]] + ['filebrowseroptions',['FileBrowserOptions',['../structWindow_1_1FileBrowserOptions.html',1,'Window']]] ]; diff --git a/search/classes_5.js b/search/classes_5.js index bd668277..e0cea7ff 100644 --- a/search/classes_5.js +++ b/search/classes_5.js @@ -1,4 +1,4 @@ var searchData= [ - ['ui',['UI',['../classUI.html',1,'']]] + ['glyphposition',['GlyphPosition',['../structNanoVG_1_1GlyphPosition.html',1,'NanoVG']]] ]; diff --git a/search/classes_6.html b/search/classes_6.html new file mode 100644 index 00000000..d3b1f9bb --- /dev/null +++ b/search/classes_6.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/classes_6.js b/search/classes_6.js new file mode 100644 index 00000000..de891a31 --- /dev/null +++ b/search/classes_6.js @@ -0,0 +1,10 @@ +var searchData= +[ + ['idlecallback',['IdleCallback',['../classIdleCallback.html',1,'']]], + ['image',['Image',['../classImage.html',1,'']]], + ['imageaboutwindow',['ImageAboutWindow',['../classImageAboutWindow.html',1,'']]], + ['imagebutton',['ImageButton',['../classImageButton.html',1,'']]], + ['imageknob',['ImageKnob',['../classImageKnob.html',1,'']]], + ['imageslider',['ImageSlider',['../classImageSlider.html',1,'']]], + ['imageswitch',['ImageSwitch',['../classImageSwitch.html',1,'']]] +]; diff --git a/search/classes_7.html b/search/classes_7.html new file mode 100644 index 00000000..9afbae86 --- /dev/null +++ b/search/classes_7.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/classes_7.js b/search/classes_7.js new file mode 100644 index 00000000..a07f2056 --- /dev/null +++ b/search/classes_7.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['keyboardevent',['KeyboardEvent',['../structWidget_1_1KeyboardEvent.html',1,'Widget']]] +]; diff --git a/search/classes_8.html b/search/classes_8.html new file mode 100644 index 00000000..a309283b --- /dev/null +++ b/search/classes_8.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/classes_8.js b/search/classes_8.js new file mode 100644 index 00000000..3bf75682 --- /dev/null +++ b/search/classes_8.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['leakedobjectdetector',['LeakedObjectDetector',['../classLeakedObjectDetector.html',1,'']]], + ['line',['Line',['../singletonLine.html',1,'']]] +]; diff --git a/search/classes_9.html b/search/classes_9.html new file mode 100644 index 00000000..9da6f381 --- /dev/null +++ b/search/classes_9.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/classes_9.js b/search/classes_9.js new file mode 100644 index 00000000..8ee3d4a7 --- /dev/null +++ b/search/classes_9.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['midievent',['MidiEvent',['../structMidiEvent.html',1,'']]], + ['motionevent',['MotionEvent',['../structWidget_1_1MotionEvent.html',1,'Widget']]], + ['mouseevent',['MouseEvent',['../structWidget_1_1MouseEvent.html',1,'Widget']]], + ['mutex',['Mutex',['../classMutex.html',1,'']]] +]; diff --git a/search/classes_a.html b/search/classes_a.html new file mode 100644 index 00000000..b6f8b4c0 --- /dev/null +++ b/search/classes_a.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/classes_a.js b/search/classes_a.js new file mode 100644 index 00000000..e0979ef8 --- /dev/null +++ b/search/classes_a.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['nanoimage',['NanoImage',['../classNanoImage.html',1,'']]], + ['nanovg',['NanoVG',['../classNanoVG.html',1,'']]], + ['nanowidget',['NanoWidget',['../classNanoWidget.html',1,'']]] +]; diff --git a/search/classes_b.html b/search/classes_b.html new file mode 100644 index 00000000..1bffd19e --- /dev/null +++ b/search/classes_b.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/classes_b.js b/search/classes_b.js new file mode 100644 index 00000000..bdd64eef --- /dev/null +++ b/search/classes_b.js @@ -0,0 +1,10 @@ +var searchData= +[ + ['paint',['Paint',['../structNanoVG_1_1Paint.html',1,'NanoVG']]], + ['parameter',['Parameter',['../structParameter.html',1,'']]], + ['parameterranges',['ParameterRanges',['../structParameterRanges.html',1,'']]], + ['plugin',['Plugin',['../classPlugin.html',1,'']]], + ['point',['Point',['../classPoint.html',1,'']]], + ['point_3c_20float_20_3e',['Point< float >',['../classPoint.html',1,'']]], + ['point_3c_20int_20_3e',['Point< int >',['../classPoint.html',1,'']]] +]; diff --git a/search/classes_c.html b/search/classes_c.html new file mode 100644 index 00000000..6a3bca52 --- /dev/null +++ b/search/classes_c.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/classes_c.js b/search/classes_c.js new file mode 100644 index 00000000..4e8e6a17 --- /dev/null +++ b/search/classes_c.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['rectangle',['Rectangle',['../singletonRectangle.html',1,'']]], + ['rectangle_3c_20int_20_3e',['Rectangle< int >',['../singletonRectangle.html',1,'']]], + ['recursivemutex',['RecursiveMutex',['../classRecursiveMutex.html',1,'']]], + ['resizeevent',['ResizeEvent',['../structWidget_1_1ResizeEvent.html',1,'Widget']]] +]; diff --git a/search/classes_d.html b/search/classes_d.html new file mode 100644 index 00000000..ccf03106 --- /dev/null +++ b/search/classes_d.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/classes_d.js b/search/classes_d.js new file mode 100644 index 00000000..d04e612c --- /dev/null +++ b/search/classes_d.js @@ -0,0 +1,12 @@ +var searchData= +[ + ['scopedlocker',['ScopedLocker',['../classScopedLocker.html',1,'']]], + ['scopedpointer',['ScopedPointer',['../classScopedPointer.html',1,'']]], + ['scopedunlocker',['ScopedUnlocker',['../classScopedUnlocker.html',1,'']]], + ['scrollevent',['ScrollEvent',['../structWidget_1_1ScrollEvent.html',1,'Widget']]], + ['size',['Size',['../classSize.html',1,'']]], + ['size_3c_20int_20_3e',['Size< int >',['../classSize.html',1,'']]], + ['size_3c_20uint_20_3e',['Size< uint >',['../classSize.html',1,'']]], + ['specialevent',['SpecialEvent',['../structWidget_1_1SpecialEvent.html',1,'Widget']]], + ['standalonewindow',['StandaloneWindow',['../classStandaloneWindow.html',1,'']]] +]; diff --git a/search/classes_e.html b/search/classes_e.html new file mode 100644 index 00000000..54b8c162 --- /dev/null +++ b/search/classes_e.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/classes_e.js b/search/classes_e.js new file mode 100644 index 00000000..7f417a20 --- /dev/null +++ b/search/classes_e.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['textrow',['TextRow',['../structNanoVG_1_1TextRow.html',1,'NanoVG']]], + ['thread',['Thread',['../classThread.html',1,'']]], + ['timeposition',['TimePosition',['../structTimePosition.html',1,'']]], + ['triangle',['Triangle',['../singletonTriangle.html',1,'']]] +]; diff --git a/search/classes_f.html b/search/classes_f.html new file mode 100644 index 00000000..358e9d48 --- /dev/null +++ b/search/classes_f.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/classes_f.js b/search/classes_f.js new file mode 100644 index 00000000..bd668277 --- /dev/null +++ b/search/classes_f.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['ui',['UI',['../classUI.html',1,'']]] +]; diff --git a/search/functions_0.js b/search/functions_0.js index 7900fb08..611a8158 100644 --- a/search/functions_0.js +++ b/search/functions_0.js @@ -1,4 +1,8 @@ var searchData= [ + ['activated',['activated',['../classPlugin.html#a1c215b23ee7fcc9b49edbd91d985a4e1',1,'Plugin']]], + ['app',['App',['../classApp.html#acb8cbf3e285b91d0170ffe87df5989c5',1,'App']]], + ['arc',['arc',['../classNanoVG.html#a5da07d6030f2918260e1fc20cfb4c9e6',1,'NanoVG']]], + ['arcto',['arcTo',['../classNanoVG.html#aea6996381cba59bdcef33a981af853e8',1,'NanoVG']]], ['audioport',['AudioPort',['../structAudioPort.html#abbd5c1ad18e0b920c2ff6c5053e59ede',1,'AudioPort']]] ]; diff --git a/search/functions_1.js b/search/functions_1.js index 12f6451c..1ff66df9 100644 --- a/search/functions_1.js +++ b/search/functions_1.js @@ -1,4 +1,11 @@ var searchData= [ - ['barbeattick',['BarBeatTick',['../structTimePosition_1_1BarBeatTick.html#abff8c9586a4e82694e7d6bac3e8da1ef',1,'TimePosition::BarBeatTick']]] + ['barbeattick',['BarBeatTick',['../structTimePosition_1_1BarBeatTick.html#abff8c9586a4e82694e7d6bac3e8da1ef',1,'TimePosition::BarBeatTick']]], + ['baseevent',['BaseEvent',['../structWidget_1_1BaseEvent.html#a18c1114caca474cadefd9a13e2d9c693',1,'Widget::BaseEvent']]], + ['beginframe',['beginFrame',['../classNanoVG.html#a202e92a01a9b78d469c77ed659f12c8b',1,'NanoVG::beginFrame(const uint width, const uint height, const float scaleFactor=1.0f, const Alpha alpha=PREMULTIPLIED_ALPHA)'],['../classNanoVG.html#a7758435376f2f223e38c6187cbf79096',1,'NanoVG::beginFrame(Widget *const widget)']]], + ['beginpath',['beginPath',['../classNanoVG.html#a1cd7ee075338cbd5069e0862dff70b41',1,'NanoVG']]], + ['bezierto',['bezierTo',['../classNanoVG.html#a44831e8c0c5e457eda688c9141e10f68',1,'NanoVG']]], + ['boxgradient',['boxGradient',['../classNanoVG.html#a1496424cb5a9e40844ebb4d8dad83799',1,'NanoVG']]], + ['buffersizechanged',['bufferSizeChanged',['../classPlugin.html#a9f6c8ad6b054056649d0250e527e1297',1,'Plugin']]], + ['buttons',['Buttons',['../structWindow_1_1FileBrowserOptions_1_1Buttons.html#a0483d4ab39bdec4f6e69699fb3c272dd',1,'Window::FileBrowserOptions::Buttons']]] ]; diff --git a/search/functions_10.html b/search/functions_10.html new file mode 100644 index 00000000..51ae591b --- /dev/null +++ b/search/functions_10.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/functions_10.js b/search/functions_10.js new file mode 100644 index 00000000..c921d64b --- /dev/null +++ b/search/functions_10.js @@ -0,0 +1,17 @@ +var searchData= +[ + ['radialgradient',['radialGradient',['../classNanoVG.html#a19d27b1b3a22afe9a6d27f4f9f8bf167',1,'NanoVG']]], + ['radtodeg',['radToDeg',['../classNanoVG.html#a175f4c41e0d89ae5d8bdb65e5580c637',1,'NanoVG']]], + ['rect',['rect',['../classNanoVG.html#a1bc27cc57b0e2d3bc0fd12d519312251',1,'NanoVG']]], + ['rectangle',['Rectangle',['../singletonRectangle.html#acf4a7cdc13c4176d44965db53a3561f3',1,'Rectangle::Rectangle() noexcept'],['../singletonRectangle.html#a883fb137e26b5b7e95791d91c232603f',1,'Rectangle::Rectangle(const T &x, const T &y, const T &width, const T &height) noexcept'],['../singletonRectangle.html#ae2560ef4446450f535414f70d7f46aa0',1,'Rectangle::Rectangle(const T &x, const T &y, const Size< T > &size) noexcept'],['../singletonRectangle.html#a7e55381bd7fe33d52a8847f65e9883ed',1,'Rectangle::Rectangle(const Point< T > &pos, const T &width, const T &height) noexcept'],['../singletonRectangle.html#a4b4d34708248ee56900916cdf1138edc',1,'Rectangle::Rectangle(const Point< T > &pos, const Size< T > &size) noexcept'],['../singletonRectangle.html#ac492f53d4f548c4f572c90c485606db8',1,'Rectangle::Rectangle(const Rectangle< T > &rect) noexcept']]], + ['release',['release',['../classScopedPointer.html#a10c8f696fec0cca763b067ec3e469199',1,'ScopedPointer']]], + ['repaint',['repaint',['../classWidget.html#a808fa28a78ec9e850d5e86f63b3be26d',1,'Widget']]], + ['reset',['reset',['../classNanoVG.html#ad5ddb240794b35105eeadd1534f0911b',1,'NanoVG']]], + ['resetscissor',['resetScissor',['../classNanoVG.html#aff2eaea01970f0ec2005d1051f25ad35',1,'NanoVG']]], + ['resettransform',['resetTransform',['../classNanoVG.html#aac35e4a0ce84c0f4bf8d881d1b8a5b34',1,'NanoVG']]], + ['resizeevent',['ResizeEvent',['../structWidget_1_1ResizeEvent.html#ac92abcdb2820807cd3d020864b96b3bd',1,'Widget::ResizeEvent']]], + ['restore',['restore',['../classNanoVG.html#aa1da11cb97d4f6718ffe8b4622684c3b',1,'NanoVG']]], + ['rotate',['rotate',['../classNanoVG.html#a13da8f469cd43117c19d8459c178b905',1,'NanoVG']]], + ['roundedrect',['roundedRect',['../classNanoVG.html#ac9d8502c3cbf6745ff3a41d1b97b6529',1,'NanoVG']]], + ['run',['run',['../classPlugin.html#a0a969c78f8455ac6ba65fa42e8c498f6',1,'Plugin']]] +]; diff --git a/search/functions_11.html b/search/functions_11.html new file mode 100644 index 00000000..c53c506f --- /dev/null +++ b/search/functions_11.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/functions_11.js b/search/functions_11.js new file mode 100644 index 00000000..352b1ea9 --- /dev/null +++ b/search/functions_11.js @@ -0,0 +1,47 @@ +var searchData= +[ + ['sampleratechanged',['sampleRateChanged',['../classPlugin.html#a2fcbfa1893f44e661d0d8cd53391dadc',1,'Plugin::sampleRateChanged()'],['../classUI.html#ac3e98726ca71f95a1e6c867706ebd9be',1,'UI::sampleRateChanged()']]], + ['save',['save',['../classNanoVG.html#a05fd441d579c42c76d786bd4a7b437af',1,'NanoVG']]], + ['scale',['scale',['../classNanoVG.html#a76273b763fa9b84c4a86d37065accee7',1,'NanoVG']]], + ['scissor',['scissor',['../classNanoVG.html#a7ac24b9a1ab2b901ab18d4d8dbb92c1c',1,'NanoVG']]], + ['scopedpointer',['ScopedPointer',['../classScopedPointer.html#ac187958296e33aa057dd37478ea70400',1,'ScopedPointer::ScopedPointer() noexcept'],['../classScopedPointer.html#a44a7843e49c3ff719f06607b6e908f7d',1,'ScopedPointer::ScopedPointer(ObjectType *const objectToTakePossessionOf) noexcept'],['../classScopedPointer.html#a04688b1561dd9d861ca80c6deb63a233',1,'ScopedPointer::ScopedPointer(ScopedPointer &objectToTransferFrom) noexcept']]], + ['scrollevent',['ScrollEvent',['../structWidget_1_1ScrollEvent.html#abee88b10b7b031ddcca1454e064a3cc3',1,'Widget::ScrollEvent']]], + ['sendnote',['sendNote',['../classUI.html#a95d686f44e486f7ed1505399612b4f84',1,'UI']]], + ['setabsolutepos',['setAbsolutePos',['../classWidget.html#a1f58ab9f12f0e88da6bf600c504b53c5',1,'Widget::setAbsolutePos(int x, int y) noexcept'],['../classWidget.html#a65b3a31bbf5cfbecdf5cf84ae27ae089',1,'Widget::setAbsolutePos(const Point< int > &pos) noexcept']]], + ['setabsolutex',['setAbsoluteX',['../classWidget.html#a56b6c0c92551d25bafa54be5d185e4f6',1,'Widget']]], + ['setabsolutey',['setAbsoluteY',['../classWidget.html#a65f48c414326491ddb3bbb70bf783829',1,'Widget']]], + ['setendpos',['setEndPos',['../singletonLine.html#af05002adedbeaeea698d26bf4afadff0',1,'Line::setEndPos(const T &x, const T &y) noexcept'],['../singletonLine.html#a13324b63d42efff020622aa2979d1009',1,'Line::setEndPos(const Point< T > &pos) noexcept']]], + ['setendx',['setEndX',['../singletonLine.html#a17061d9ae2e85a5f929148e5106504bf',1,'Line']]], + ['setendy',['setEndY',['../singletonLine.html#a0dcd399a55aef168e91c645958670ee6',1,'Line']]], + ['setheight',['setHeight',['../classSize.html#a30d453133d7a677e14641f010204237e',1,'Size::setHeight()'],['../singletonRectangle.html#a5ff3aca88c9ef31a2e3f8e6cee846155',1,'Rectangle::setHeight()'],['../classWidget.html#ac6d2e6cbb2ff96f3645493d804af07f7',1,'Widget::setHeight()']]], + ['setid',['setId',['../classWidget.html#abfba3652559de84ba1ae9ccbd3d35e31',1,'Widget']]], + ['setlatency',['setLatency',['../classPlugin.html#a2a70c4ec55d74d9bc26862975d8df8a7',1,'Plugin']]], + ['setneedsfullviewport',['setNeedsFullViewport',['../classWidget.html#aa92462db80ed1dc8334910038cd262cc',1,'Widget']]], + ['setneedsscaling',['setNeedsScaling',['../classWidget.html#a2ce358088e8f3b65621afd02c675bad8',1,'Widget']]], + ['setnumsegments',['setNumSegments',['../singletonCircle.html#a34fa92504c0bcc008958779fa4d66c32',1,'Circle']]], + ['setparametervalue',['setParameterValue',['../classPlugin.html#a6911a881fabb9eca9daf0eadbaad8599',1,'Plugin::setParameterValue()'],['../classUI.html#ab280fd0729e3b51d15ededbd61f5c93c',1,'UI::setParameterValue()']]], + ['setpos',['setPos',['../classPoint.html#aac5c7220da858d14140ff0c78684d4e2',1,'Point::setPos(const T &x, const T &y) noexcept'],['../classPoint.html#a2df24dbabd272d2308cc2b53d24d548a',1,'Point::setPos(const Point< T > &pos) noexcept'],['../singletonCircle.html#a2046a9238a3870276e1dac7fb684eacb',1,'Circle::setPos(const T &x, const T &y) noexcept'],['../singletonCircle.html#addce92ba3813dc8ae1222127a9dd932d',1,'Circle::setPos(const Point< T > &pos) noexcept'],['../singletonRectangle.html#a52adba9ba93242a51de29865818fd776',1,'Rectangle::setPos(const T &x, const T &y) noexcept'],['../singletonRectangle.html#ae0904b281ed4811e6901d0d78c30f08e',1,'Rectangle::setPos(const Point< T > &pos) noexcept']]], + ['setprogram',['setProgram',['../classPlugin.html#af2bfc89eec6b984c17ed9e5b3aab8a20',1,'Plugin']]], + ['setrectangle',['setRectangle',['../singletonRectangle.html#a2907d68a36a3ba97cb8ef14f86d85075',1,'Rectangle::setRectangle(const Point< T > &pos, const Size< T > &size) noexcept'],['../singletonRectangle.html#ac74be2c368aee380680c0221c432cb7f',1,'Rectangle::setRectangle(const Rectangle< T > &rect) noexcept']]], + ['setsize',['setSize',['../classSize.html#a6dd4d69857ef92c65dd941eea3356ed9',1,'Size::setSize(const T &width, const T &height) noexcept'],['../classSize.html#a973da47d41aaa3757646a8ec0a1d93da',1,'Size::setSize(const Size< T > &size) noexcept'],['../singletonCircle.html#a02fc5ef5aae2d5d1c1bd016cab8afc5d',1,'Circle::setSize()'],['../singletonRectangle.html#a6af8f18557397f909cae8eb65f8367a4',1,'Rectangle::setSize(const T &width, const T &height) noexcept'],['../singletonRectangle.html#a23d728827f9c22167929c461aa65882e',1,'Rectangle::setSize(const Size< T > &size) noexcept'],['../classWidget.html#ab4d9e0156e455db3ff23730f82544daa',1,'Widget::setSize(uint width, uint height) noexcept'],['../classWidget.html#afce784b204902c0f11e9ed02bc692362',1,'Widget::setSize(const Size< uint > &size) noexcept']]], + ['setstartpos',['setStartPos',['../singletonLine.html#a958d534b1b0c2d581b110dd26c0d4cea',1,'Line::setStartPos(const T &x, const T &y) noexcept'],['../singletonLine.html#aa078f8d0f2cf36e3162bc1977dc56d4b',1,'Line::setStartPos(const Point< T > &pos) noexcept']]], + ['setstartx',['setStartX',['../singletonLine.html#ad2b10d3144ba0711f9ecb444bb08ad4c',1,'Line']]], + ['setstarty',['setStartY',['../singletonLine.html#ae35ba55c6ff3bae24c7f05133b9e003b',1,'Line']]], + ['setstate',['setState',['../classPlugin.html#a3c6aeb79775ecf24ffbfc7dafd3d449b',1,'Plugin::setState()'],['../classUI.html#aa50fc2fef715805435a14f653cb90cbd',1,'UI::setState()']]], + ['setvisible',['setVisible',['../classWidget.html#a0bec84d07a6c508e069da9821993d1c2',1,'Widget']]], + ['setwidth',['setWidth',['../classSize.html#aa552662217b3e8e9c0b6d69d7bc22665',1,'Size::setWidth()'],['../singletonRectangle.html#a75ce3e3a2e8745a1d749dd9da02e9443',1,'Rectangle::setWidth()'],['../classWidget.html#aed80a9cbc4a13c01641f35dd3d8688ea',1,'Widget::setWidth()']]], + ['setx',['setX',['../classPoint.html#a1539a6f24282a1d637b60ccfbbf46629',1,'Point::setX()'],['../singletonCircle.html#acc96a188288cdf83fd822bb41f8f2be1',1,'Circle::setX()'],['../singletonRectangle.html#af618ee618bd029fbe66291228041990e',1,'Rectangle::setX()']]], + ['sety',['setY',['../classPoint.html#a8ffe6785dc851accf06d02917fba54cf',1,'Point::setY()'],['../singletonCircle.html#a034ddfd162d89a7dacea7981a5406a1a',1,'Circle::setY()'],['../singletonRectangle.html#abe5b6c92cece58bbc0c7cb4855e73dac',1,'Rectangle::setY()']]], + ['show',['show',['../classWidget.html#a25ff178539e226b5f30ef0335d060f2b',1,'Widget']]], + ['shrinkby',['shrinkBy',['../classSize.html#abbcf98f504b23679162cab3b6f818949',1,'Size::shrinkBy()'],['../singletonRectangle.html#a22e5029d09c7eac8ebee0e079dab075f',1,'Rectangle::shrinkBy()']]], + ['size',['Size',['../classSize.html#ada0c1f75029742b2514ede5466993776',1,'Size::Size() noexcept'],['../classSize.html#ac3096253937df7e318a02838c48bf941',1,'Size::Size(const T &width, const T &height) noexcept'],['../classSize.html#a90ab9513f96f3642def121d2fbd92593',1,'Size::Size(const Size< T > &size) noexcept']]], + ['skewx',['skewX',['../classNanoVG.html#a4f45e3cf465060491e73427e5868573f',1,'NanoVG']]], + ['skewy',['skewY',['../classNanoVG.html#a508c4fde6212c1b0598d9f8b32cba0f6',1,'NanoVG']]], + ['specialevent',['SpecialEvent',['../structWidget_1_1SpecialEvent.html#aabddc200eb8494dccac663b83248b14b',1,'Widget::SpecialEvent']]], + ['statechanged',['stateChanged',['../classUI.html#a1bdc7e158d974e82f0535f1658d66575',1,'UI']]], + ['stroke',['stroke',['../classNanoVG.html#aeed167687a8a269c4f9c44a7db4d3746',1,'NanoVG']]], + ['strokecolor',['strokeColor',['../classNanoVG.html#acefc70128644fb8ee5abe6dc04d4f710',1,'NanoVG::strokeColor(const Color &color)'],['../classNanoVG.html#a6242c3e68789ed57b46fb75ba396506d',1,'NanoVG::strokeColor(const int red, const int green, const int blue, const int alpha=255)'],['../classNanoVG.html#a22bac7e1806c9203a637337478a90165',1,'NanoVG::strokeColor(const float red, const float green, const float blue, const float alpha=1.0f)']]], + ['strokepaint',['strokePaint',['../classNanoVG.html#a8d00b35e0ab5c428af120cc78ff32804',1,'NanoVG']]], + ['strokewidth',['strokeWidth',['../classNanoVG.html#a373190894070313e8d321b2af0bbab58',1,'NanoVG']]], + ['swapwith',['swapWith',['../classScopedPointer.html#a362cd8d5a212df0ee08691b75a4ba3de',1,'ScopedPointer']]] +]; diff --git a/search/functions_12.html b/search/functions_12.html new file mode 100644 index 00000000..b4ff9e4a --- /dev/null +++ b/search/functions_12.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/functions_12.js b/search/functions_12.js new file mode 100644 index 00000000..b8e77cc3 --- /dev/null +++ b/search/functions_12.js @@ -0,0 +1,27 @@ +var searchData= +[ + ['text',['text',['../classNanoVG.html#af9526a1c4b2d5e1db0190c32ba9a1eaa',1,'NanoVG']]], + ['textalign',['textAlign',['../classNanoVG.html#a9c942ced1722beff8e326a6cf0c9a1d1',1,'NanoVG::textAlign(Align align)'],['../classNanoVG.html#a9a1a5e00351ff92ebb9795a2127f0529',1,'NanoVG::textAlign(int align)']]], + ['textbounds',['textBounds',['../classNanoVG.html#a281c71d51c5f9d6fb5d6e8369ca650f4',1,'NanoVG']]], + ['textbox',['textBox',['../classNanoVG.html#aaa73324a5969916f910fb9a41e7e5358',1,'NanoVG']]], + ['textboxbounds',['textBoxBounds',['../classNanoVG.html#a2dd842d5eaf729c43769da3a35db158d',1,'NanoVG']]], + ['textbreaklines',['textBreakLines',['../classNanoVG.html#a86f66c7dff7fc3a96667f139b88d1e9e',1,'NanoVG']]], + ['textglyphpositions',['textGlyphPositions',['../classNanoVG.html#a365eb3cc06e97f29cbcfa967e76f8798',1,'NanoVG']]], + ['textletterspacing',['textLetterSpacing',['../classNanoVG.html#ad768aae0871c1685ca5dc590859d5c1b',1,'NanoVG']]], + ['textlineheight',['textLineHeight',['../classNanoVG.html#aab69aa4f2ae1b15adcceb9d065ea8aa6',1,'NanoVG']]], + ['textmetrics',['textMetrics',['../classNanoVG.html#a5e84bf7dec65064733aec488389568b0',1,'NanoVG']]], + ['timeposition',['TimePosition',['../structTimePosition.html#aee816daeed95cf309ded1087a0c800ae',1,'TimePosition']]], + ['transform',['transform',['../classNanoVG.html#ad06096ade68bf78bcc256005cd6f2c45',1,'NanoVG']]], + ['transformidentity',['transformIdentity',['../classNanoVG.html#a81c8b60a87be8a8d4a5efce8eeaf1915',1,'NanoVG']]], + ['transforminverse',['transformInverse',['../classNanoVG.html#ac5692f82bcac4858f44d9fd0df287cad',1,'NanoVG']]], + ['transformmultiply',['transformMultiply',['../classNanoVG.html#a3ac9aade102afb3a4f84966f0727c6c6',1,'NanoVG']]], + ['transformpoint',['transformPoint',['../classNanoVG.html#ae2e49763ab7f503016c0dede0dbfd3cc',1,'NanoVG']]], + ['transformpremultiply',['transformPremultiply',['../classNanoVG.html#a1416fbff2a0ecada90b2d9852bfbaf42',1,'NanoVG']]], + ['transformrotate',['transformRotate',['../classNanoVG.html#a43e16d0f94dc0a49dae5128d69e75e3c',1,'NanoVG']]], + ['transformscale',['transformScale',['../classNanoVG.html#a94c1f78baadff1d6c6a5a4d52dd770d7',1,'NanoVG']]], + ['transformskewx',['transformSkewX',['../classNanoVG.html#a178b6b9a8c755cda91ccba2b6239d279',1,'NanoVG']]], + ['transformskewy',['transformSkewY',['../classNanoVG.html#af23e7f6a6056e5efe72944fa68767704',1,'NanoVG']]], + ['transformtranslate',['transformTranslate',['../classNanoVG.html#a022e3cdfa06f5bc9103b37dfa64adb2c',1,'NanoVG']]], + ['translate',['translate',['../classNanoVG.html#abc1d6466eb7fdc57a869ec7b9fdd6bdf',1,'NanoVG']]], + ['triangle',['Triangle',['../singletonTriangle.html#ad3ae4f80efb4b18f4f8b8a25543aa10c',1,'Triangle::Triangle() noexcept'],['../singletonTriangle.html#a394b031be82e2e0c043547ad1e551ddb',1,'Triangle::Triangle(const T &x1, const T &y1, const T &x2, const T &y2, const T &x3, const T &y3) noexcept'],['../singletonTriangle.html#a79fdc0930afc294c7bce90a2cd3075ed',1,'Triangle::Triangle(const Point< T > &pos1, const Point< T > &pos2, const Point< T > &pos3) noexcept'],['../singletonTriangle.html#a5130f571dd5de1f070573929637544ce',1,'Triangle::Triangle(const Triangle< T > &tri) noexcept']]] +]; diff --git a/search/functions_13.html b/search/functions_13.html new file mode 100644 index 00000000..69866124 --- /dev/null +++ b/search/functions_13.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/functions_13.js b/search/functions_13.js new file mode 100644 index 00000000..ac36a462 --- /dev/null +++ b/search/functions_13.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['ui',['UI',['../classUI.html#ad3425075e4a23234a8568d1893b54f22',1,'UI']]], + ['uifilebrowserselected',['uiFileBrowserSelected',['../classUI.html#a6d4697296129d3a6bc34fc810d6297ac',1,'UI']]], + ['uiidle',['uiIdle',['../classUI.html#af8de639088f3b2d42c266a2d2d6719da',1,'UI']]], + ['uireshape',['uiReshape',['../classUI.html#ab6861389e1bb01268a189dadbeb4fbcc',1,'UI']]], + ['updateimage',['updateImage',['../classNanoImage.html#a7d7ef1338879e65b06230ddc45e5dcdc',1,'NanoImage']]] +]; diff --git a/search/functions_14.html b/search/functions_14.html new file mode 100644 index 00000000..e6465835 --- /dev/null +++ b/search/functions_14.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/functions_14.js b/search/functions_14.js new file mode 100644 index 00000000..edda2045 --- /dev/null +++ b/search/functions_14.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['widget',['Widget',['../classWidget.html#a556f58c8ff8a80ae22cc4df7e5f8218c',1,'Widget']]], + ['writemidievent',['writeMidiEvent',['../classPlugin.html#a0467eef817ac130cbbe1c0fbe09660c6',1,'Plugin']]] +]; diff --git a/search/functions_15.html b/search/functions_15.html new file mode 100644 index 00000000..06140aee --- /dev/null +++ b/search/functions_15.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/functions_15.js b/search/functions_15.js new file mode 100644 index 00000000..a910bbfa --- /dev/null +++ b/search/functions_15.js @@ -0,0 +1,13 @@ +var searchData= +[ + ['_7eapp',['~App',['../classApp.html#a34f1f253b1cef5f4ecbac66eaf6964ec',1,'App']]], + ['_7ebaseevent',['~BaseEvent',['../structWidget_1_1BaseEvent.html#a58da172316b49f6d79b879b74ce5792a',1,'Widget::BaseEvent']]], + ['_7eimage',['~Image',['../classImage.html#a0294f63700543e11c0f0da85601c7ae5',1,'Image']]], + ['_7eleakedobjectdetector',['~LeakedObjectDetector',['../classLeakedObjectDetector.html#af4fd575fa5361ce5b01f65a635b1d6b3',1,'LeakedObjectDetector']]], + ['_7enanoimage',['~NanoImage',['../classNanoImage.html#a8915fb5eae1a0180edd3f5babf6a0091',1,'NanoImage']]], + ['_7enanovg',['~NanoVG',['../classNanoVG.html#a3e05169f4e66e811537adaea17e4bb3f',1,'NanoVG']]], + ['_7eplugin',['~Plugin',['../classPlugin.html#a89814b8f0b1c91e49140d42eb8331383',1,'Plugin']]], + ['_7escopedpointer',['~ScopedPointer',['../classScopedPointer.html#a3c540f0121065aafa5f9607362fc1450',1,'ScopedPointer']]], + ['_7eui',['~UI',['../classUI.html#a47e7b6111faba049dfee4738d067cc42',1,'UI']]], + ['_7ewidget',['~Widget',['../classWidget.html#a714cf798aadb4d615f6f60a355382c02',1,'Widget']]] +]; diff --git a/search/functions_2.js b/search/functions_2.js index 24578b6b..9ec1679f 100644 --- a/search/functions_2.js +++ b/search/functions_2.js @@ -1,36 +1,17 @@ var searchData= [ - ['d_5factivate',['d_activate',['../classPlugin.html#a15df4876febf5909fe040d401fc704d0',1,'Plugin']]], - ['d_5fbuffersizechanged',['d_bufferSizeChanged',['../classPlugin.html#a2c6ac454e24b667d54eaaf63da252627',1,'Plugin']]], - ['d_5fdeactivate',['d_deactivate',['../classPlugin.html#a5c008d623e558e7266aecaff22fc787a',1,'Plugin']]], - ['d_5feditparameter',['d_editParameter',['../classUI.html#a768b898d1e063d5c0112197b99ccba99',1,'UI']]], - ['d_5fgetbuffersize',['d_getBufferSize',['../classPlugin.html#aa0feb17c3dcf13a106505eb6d6b2a3ac',1,'Plugin']]], - ['d_5fgetlabel',['d_getLabel',['../classPlugin.html#ae512b28d1b274a055de33812cf094d81',1,'Plugin']]], - ['d_5fgetlicense',['d_getLicense',['../classPlugin.html#ae9333c170accfd2a237448a4579d5fef',1,'Plugin']]], - ['d_5fgetmaker',['d_getMaker',['../classPlugin.html#a0eaf2f46f04d60526622afb5a86e026c',1,'Plugin']]], - ['d_5fgetname',['d_getName',['../classPlugin.html#a0f8fb7aa5ab05ba246e158b1024dd031',1,'Plugin']]], - ['d_5fgetparametervalue',['d_getParameterValue',['../classPlugin.html#af088f855761b67489f19f42fbb585088',1,'Plugin']]], - ['d_5fgetplugininstancepointer',['d_getPluginInstancePointer',['../classUI.html#a5393f505fc8702905c15c70c9fcf0d48',1,'UI']]], - ['d_5fgetsamplerate',['d_getSampleRate',['../classPlugin.html#ace888940905e8875284e07c52bf7404f',1,'Plugin::d_getSampleRate()'],['../classUI.html#ab6cbe4dcade92f7f49d4405e51ee639c',1,'UI::d_getSampleRate()']]], - ['d_5fgettimeposition',['d_getTimePosition',['../classPlugin.html#ade0a082a3a2936286537a04f4b972225',1,'Plugin']]], - ['d_5fgetuniqueid',['d_getUniqueId',['../classPlugin.html#aea77208248b36c7b8c9dc57ee68ae97a',1,'Plugin']]], - ['d_5fgetversion',['d_getVersion',['../classPlugin.html#af9251f8d90e4df43c6387bd111487e4e',1,'Plugin']]], - ['d_5finitaudioport',['d_initAudioPort',['../classPlugin.html#a5ddc59a0dbbef9c7d7cda5f291431769',1,'Plugin']]], - ['d_5finitparameter',['d_initParameter',['../classPlugin.html#a3f93a8eb97db3dc9984c357c5ffca5ec',1,'Plugin']]], - ['d_5finitprogramname',['d_initProgramName',['../classPlugin.html#a8a1792b7c5c6a3fd9cd626c7156ec3b6',1,'Plugin']]], - ['d_5finitstate',['d_initState',['../classPlugin.html#a65f9f9d4a30b0a56dfa42703c0b4db76',1,'Plugin']]], - ['d_5fparameterchanged',['d_parameterChanged',['../classUI.html#a9599da33720f4648e9ce78cc18249b07',1,'UI']]], - ['d_5fprogramchanged',['d_programChanged',['../classUI.html#a7d703d2caff4765f270686b8428a2fa0',1,'UI']]], - ['d_5frun',['d_run',['../classPlugin.html#af67102a7c6d19a8530ce0e3293e55667',1,'Plugin']]], - ['d_5fsampleratechanged',['d_sampleRateChanged',['../classPlugin.html#a469b53e1c1417a32d766cf96d1b3c45e',1,'Plugin::d_sampleRateChanged()'],['../classUI.html#a18f4b84a973405fc098e69047e0d1994',1,'UI::d_sampleRateChanged()']]], - ['d_5fsendnote',['d_sendNote',['../classUI.html#a621c381126d8e2f0124199b82cdcd456',1,'UI']]], - ['d_5fsetlatency',['d_setLatency',['../classPlugin.html#a7816b45ffb52b0a6308cabb792b1a56f',1,'Plugin']]], - ['d_5fsetparametervalue',['d_setParameterValue',['../classPlugin.html#a4cdd613f58a013429094700f3d83904a',1,'Plugin::d_setParameterValue()'],['../classUI.html#a310a08018194f82937ca92bed4e77f1f',1,'UI::d_setParameterValue()']]], - ['d_5fsetprogram',['d_setProgram',['../classPlugin.html#a1d001e50781b35df23f6d9a218f5f804',1,'Plugin']]], - ['d_5fsetstate',['d_setState',['../classPlugin.html#ad9c46a36cab96f52a0370043093bca68',1,'Plugin::d_setState()'],['../classUI.html#ac32cb7fd88c642eadebf64137acd910e',1,'UI::d_setState()']]], - ['d_5fstatechanged',['d_stateChanged',['../classUI.html#a7f508ebffec7a5168b532ccb9d81df70',1,'UI']]], - ['d_5fuifilebrowserselected',['d_uiFileBrowserSelected',['../classUI.html#ab10300e34b40d6b447b1213813f474c0',1,'UI']]], - ['d_5fuiidle',['d_uiIdle',['../classUI.html#aa320b8d3e826394dad9f7c36692f9b6c',1,'UI']]], - ['d_5fuireshape',['d_uiReshape',['../classUI.html#aaf729415450434ad6690db93fd936bbf',1,'UI']]], - ['d_5fwritemidievent',['d_writeMidiEvent',['../classPlugin.html#afa10aea18e4036b4a7487f2779d92e0f',1,'Plugin']]] + ['circle',['Circle',['../singletonCircle.html#a69bf0ddae80047ef3e9b230930eb1ba6',1,'Circle::Circle() noexcept'],['../singletonCircle.html#a391892aed07c5239153a038fea80423b',1,'Circle::Circle(const T &x, const T &y, const float size, const uint numSegments=300)'],['../singletonCircle.html#ab0e9f6bedf3dfa9fd958c573eca46368',1,'Circle::Circle(const Point< T > &pos, const float size, const uint numSegments=300)'],['../singletonCircle.html#aeee15927ea13e9114aa53a8c26c5e1df',1,'Circle::Circle(const Circle< T > &cir) noexcept'],['../classNanoVG.html#aa3230d48ce48f050d3ad636fc2ff4235',1,'NanoVG::circle()']]], + ['closepath',['closePath',['../classNanoVG.html#a74ae13eec498c0afb9fa20199eecbd48',1,'NanoVG']]], + ['color',['Color',['../structColor.html#acbbdba6661c2bbd987ef27de59813b47',1,'Color::Color() noexcept'],['../structColor.html#a6539e54d79570ad579207289d087af70',1,'Color::Color(int red, int green, int blue, int alpha=255) noexcept'],['../structColor.html#a77dd2b8f997aaf034c790ffd4ffe64bc',1,'Color::Color(float red, float green, float blue, float alpha=1.0f) noexcept'],['../structColor.html#a7ac8018890423379bf8cdce2c6bc9d7e',1,'Color::Color(const Color &color) noexcept'],['../structColor.html#a8d51b3f9457c1d9524ad67c94152b99a',1,'Color::Color(const Color &color1, const Color &color2, float u) noexcept']]], + ['contains',['contains',['../singletonRectangle.html#a08b0741e6259e88552106136cdbff489',1,'Rectangle::contains(const T &x, const T &y) const noexcept'],['../singletonRectangle.html#a4420a73414a0fd1b85abd468a2c890d3',1,'Rectangle::contains(const Point< T > &pos) const noexcept'],['../classWidget.html#a655f9dac3838b52a3deec1a4b9e6001b',1,'Widget::contains(int x, int y) const noexcept'],['../classWidget.html#a9dc3a8c1c7fe1dd0ffa28577f1eaa5fd',1,'Widget::contains(const Point< int > &pos) const noexcept']]], + ['containsx',['containsX',['../singletonRectangle.html#a71d17fdf110e4ed2350d2a5fe248e540',1,'Rectangle']]], + ['containsy',['containsY',['../singletonRectangle.html#a38b56f4f8b38597fd34f68c677de2559',1,'Rectangle']]], + ['createfont',['createFont',['../classNanoVG.html#a45357f0e7cb62352ef05a529db233e9f',1,'NanoVG']]], + ['createfontmem',['createFontMem',['../classNanoVG.html#aa07d34eb15472088a67a9bfebe1c86e7',1,'NanoVG']]], + ['createimage',['createImage',['../classNanoVG.html#af7e33d8123baca23df22910791892874',1,'NanoVG']]], + ['createimagemem',['createImageMem',['../classNanoVG.html#a78590d08cd1c6a69e0487034ece7ab53',1,'NanoVG']]], + ['createimagergba',['createImageRGBA',['../classNanoVG.html#a2c37ef18f5eaf0052a57e2dd89723f01',1,'NanoVG']]], + ['createplugin',['createPlugin',['../group__EntryPoints.html#ga87f1fa9084f2490ca04ea733292c6dee',1,'DistrhoPlugin.hpp']]], + ['createui',['createUI',['../group__EntryPoints.html#gaad0ced21537a067680729bee6a65d8c8',1,'DistrhoUI.hpp']]], + ['currenttransform',['currentTransform',['../classNanoVG.html#ad51cefbcf8819d365205fa004a10b976',1,'NanoVG']]] ]; diff --git a/search/functions_3.js b/search/functions_3.js index 9bef7282..2c981e26 100644 --- a/search/functions_3.js +++ b/search/functions_3.js @@ -1,5 +1,8 @@ var searchData= [ - ['fixdefault',['fixDefault',['../structParameterRanges.html#a17519e584ccc28e87b73bfbd1a81cf10',1,'ParameterRanges']]], - ['fixvalue',['fixValue',['../structParameterRanges.html#a1dac84c100f420bfc529a4d2ea60dc7c',1,'ParameterRanges']]] + ['deactivated',['deactivated',['../classPlugin.html#a6f5d5d235ba624d082daed41a7af8fdd',1,'Plugin']]], + ['degtorad',['degToRad',['../classNanoVG.html#ae3913bdf0efc2f5504422f558dca2c45',1,'NanoVG']]], + ['draw',['draw',['../singletonLine.html#af3eebf8905576276741caab216516949',1,'Line::draw()'],['../singletonCircle.html#ae1006bb2486c75b45e43675783521915',1,'Circle::draw()'],['../singletonTriangle.html#a5dd94312d41f36fb149e03d90800bb53',1,'Triangle::draw()'],['../singletonRectangle.html#a415da25901ad63d87e3bac7755535cda',1,'Rectangle::draw()'],['../classImage.html#ae1e16dcef3072e4e49ec2887a9c1245a',1,'Image::draw()']]], + ['drawat',['drawAt',['../classImage.html#ab63094dc07e6d62624827bca904b5cdd',1,'Image::drawAt(const int x, const int y)'],['../classImage.html#aed2dc99624de978eade8124d2c099cfa',1,'Image::drawAt(const Point< int > &pos)']]], + ['drawoutline',['drawOutline',['../singletonCircle.html#a59ad688a9f13a2e639502a8adc979111',1,'Circle::drawOutline()'],['../singletonTriangle.html#a93cda515489108aa6c14b0b1ab8cff11',1,'Triangle::drawOutline()'],['../singletonRectangle.html#a562e46203701309da8748dcc5277373e',1,'Rectangle::drawOutline()']]] ]; diff --git a/search/functions_4.js b/search/functions_4.js index 3e12653c..b01803d4 100644 --- a/search/functions_4.js +++ b/search/functions_4.js @@ -1,7 +1,7 @@ var searchData= [ - ['getfixedandnormalizedvalue',['getFixedAndNormalizedValue',['../structParameterRanges.html#a82698a1e07b1b04ccb5df0de4db0d0be',1,'ParameterRanges']]], - ['getfixedvalue',['getFixedValue',['../structParameterRanges.html#acd3d977c154ddb3138f36c0b6d2b7626',1,'ParameterRanges']]], - ['getnormalizedvalue',['getNormalizedValue',['../structParameterRanges.html#ad16ef939c1caa2f51e9a4041f769f86e',1,'ParameterRanges']]], - ['getunnormalizedvalue',['getUnnormalizedValue',['../structParameterRanges.html#a992f75a925b3cd5e66544087708ea3c3',1,'ParameterRanges']]] + ['editparameter',['editParameter',['../classUI.html#aeea59720583d501254284e5be540f60e',1,'UI']]], + ['ellipse',['ellipse',['../classNanoVG.html#a2081ea8d4c33481d24ae98d1a65a6f9b',1,'NanoVG']]], + ['endframe',['endFrame',['../classNanoVG.html#a432d8c79b21f61eb1010a75cc13ee711',1,'NanoVG']]], + ['exec',['exec',['../classApp.html#a94fa325175749054947480e1ae66b110',1,'App']]] ]; diff --git a/search/functions_5.js b/search/functions_5.js index 7f17b943..7eb923af 100644 --- a/search/functions_5.js +++ b/search/functions_5.js @@ -1,4 +1,17 @@ var searchData= [ - ['onresize',['onResize',['../classUI.html#a8de15be030bbdf0eb81461349cb1cc77',1,'UI']]] + ['filebrowseroptions',['FileBrowserOptions',['../structWindow_1_1FileBrowserOptions.html#ad34fe0200a1bd00028f7753aeba9b2fc',1,'Window::FileBrowserOptions']]], + ['fill',['fill',['../classNanoVG.html#ae6e189b2c0b5a67c8c227d89b9bdb56e',1,'NanoVG']]], + ['fillcolor',['fillColor',['../classNanoVG.html#a9a802d6e276195d13bc33d0f4b39cff9',1,'NanoVG::fillColor(const Color &color)'],['../classNanoVG.html#a9b88f568b952402bbcfec289095734a7',1,'NanoVG::fillColor(const int red, const int green, const int blue, const int alpha=255)'],['../classNanoVG.html#a364794e2641625310aab9b7755b1e3d5',1,'NanoVG::fillColor(const float red, const float green, const float blue, const float alpha=1.0f)']]], + ['fillpaint',['fillPaint',['../classNanoVG.html#aca56cc6d1c2455fc9f750cce4dc132d0',1,'NanoVG']]], + ['findfont',['findFont',['../classNanoVG.html#afbcfaa824c76e00eb22bd3f7dd5d1ab0',1,'NanoVG']]], + ['fixbounds',['fixBounds',['../structColor.html#aad01f46af4cdb18b2bcbddd3f63d14d5',1,'Color']]], + ['fixdefault',['fixDefault',['../structParameterRanges.html#a17519e584ccc28e87b73bfbd1a81cf10',1,'ParameterRanges']]], + ['fixvalue',['fixValue',['../structParameterRanges.html#a1dac84c100f420bfc529a4d2ea60dc7c',1,'ParameterRanges']]], + ['fontblur',['fontBlur',['../classNanoVG.html#aa0a42259164f0893ea63929cfce29a75',1,'NanoVG']]], + ['fontface',['fontFace',['../classNanoVG.html#a22fa48b86dac0cc4ab1cd922de39c52b',1,'NanoVG']]], + ['fontfaceid',['fontFaceId',['../classNanoVG.html#a2d32dbd0fb0dd0ae36fdc6ef2be65f6c',1,'NanoVG']]], + ['fontsize',['fontSize',['../classNanoVG.html#a23353792b4267d74f8f7a665d358c1a4',1,'NanoVG']]], + ['fromhsl',['fromHSL',['../structColor.html#a41820f7349e997489d53f98036e76a0c',1,'Color']]], + ['fromhtml',['fromHTML',['../structColor.html#a57a79f611e15fb0abd288838a85990cb',1,'Color']]] ]; diff --git a/search/functions_6.js b/search/functions_6.js index 87a57e71..0dcb6218 100644 --- a/search/functions_6.js +++ b/search/functions_6.js @@ -1,6 +1,43 @@ var searchData= [ - ['parameter',['Parameter',['../structParameter.html#a12ced87d6d832deccb6c8ce2c8313b2e',1,'Parameter']]], - ['parameterranges',['ParameterRanges',['../structParameterRanges.html#adb9b2712df3401eb0c5e11362d865d4e',1,'ParameterRanges::ParameterRanges() noexcept'],['../structParameterRanges.html#aad2afc730bee791aab1811744a48f99d',1,'ParameterRanges::ParameterRanges(const float df, const float mn, const float mx) noexcept']]], - ['plugin',['Plugin',['../classPlugin.html#a3096e491376cb9378be55915d748de57',1,'Plugin']]] + ['get',['get',['../classScopedPointer.html#ac65fb45b9eb2d53773489fcfbc6fd740',1,'ScopedPointer']]], + ['getabsolutepos',['getAbsolutePos',['../classWidget.html#ae952149aa2b1661ebc9712547ac5cc04',1,'Widget']]], + ['getabsolutex',['getAbsoluteX',['../classWidget.html#a4e41debfe323ee307706af42818636dd',1,'Widget']]], + ['getabsolutey',['getAbsoluteY',['../classWidget.html#af2ee4713e052b65e839da667aec4e05a',1,'Widget']]], + ['getbuffersize',['getBufferSize',['../classPlugin.html#a2643e638f62cfd4990247ec66bed60d2',1,'Plugin']]], + ['getcontext',['getContext',['../classNanoVG.html#a8b6f8caad8acb883fadc06a606ccade7',1,'NanoVG']]], + ['getendpos',['getEndPos',['../singletonLine.html#aa3f70d792719c026b35b3f32dc19ac65',1,'Line']]], + ['getendx',['getEndX',['../singletonLine.html#a15462cbbe5154d8b27fd6c53ddafc17f',1,'Line']]], + ['getendy',['getEndY',['../singletonLine.html#a5c5de1ccedae8ea85fd711eab10359dd',1,'Line']]], + ['getfixedandnormalizedvalue',['getFixedAndNormalizedValue',['../structParameterRanges.html#a82698a1e07b1b04ccb5df0de4db0d0be',1,'ParameterRanges']]], + ['getfixedvalue',['getFixedValue',['../structParameterRanges.html#acd3d977c154ddb3138f36c0b6d2b7626',1,'ParameterRanges']]], + ['getformat',['getFormat',['../classImage.html#ac02e8bb7bfcc4adefc1f00557cc40e86',1,'Image']]], + ['getheight',['getHeight',['../classSize.html#a562e9d68738d1873a6aa0615af80505b',1,'Size::getHeight()'],['../singletonRectangle.html#a46b5c88ccfdf1b9f5c1086bb0852c94a',1,'Rectangle::getHeight()'],['../classImage.html#a464a18561e9d49b9af42f007113d55f6',1,'Image::getHeight()'],['../classWidget.html#aa20f6dc096a8836706173f31324c4db8',1,'Widget::getHeight()']]], + ['getid',['getId',['../classWidget.html#a3ee6b2824e3f3719c1c9b3d070385f49',1,'Widget']]], + ['getlabel',['getLabel',['../classPlugin.html#a00f7945c16149db6845fbcc2af729f4f',1,'Plugin']]], + ['getlicense',['getLicense',['../classPlugin.html#a686a3c92a376a185d6fd97efd59125d1',1,'Plugin']]], + ['getmaker',['getMaker',['../classPlugin.html#a955832840de786a7a22798f0ef451c5d',1,'Plugin']]], + ['getname',['getName',['../classPlugin.html#a181bc1b9e4094921da788640955a3018',1,'Plugin']]], + ['getnormalizedvalue',['getNormalizedValue',['../structParameterRanges.html#ad16ef939c1caa2f51e9a4041f769f86e',1,'ParameterRanges']]], + ['getnumsegments',['getNumSegments',['../singletonCircle.html#a3a1586ea9115cc97473a2338127223b6',1,'Circle']]], + ['getparametervalue',['getParameterValue',['../classPlugin.html#a2d1da98c90568bb4547662bc4f02c31f',1,'Plugin']]], + ['getparentapp',['getParentApp',['../classWidget.html#afa1fe45064cf9bb107fe1dcdb2384d33',1,'Widget']]], + ['getparentwindow',['getParentWindow',['../classWidget.html#a0e0b0b2293bb63b2d84774542cc6a421',1,'Widget']]], + ['getplugininstancepointer',['getPluginInstancePointer',['../classUI.html#a0863a8f7ca7fc7e172e703c58518329f',1,'UI']]], + ['getpos',['getPos',['../singletonCircle.html#abdabe0a9d85db389485c69d6a7b6071e',1,'Circle::getPos()'],['../singletonRectangle.html#aa91fa8951b6a77c86a3df804b1ed0717',1,'Rectangle::getPos()']]], + ['getrawdata',['getRawData',['../classImage.html#a638e0d75e9dff587f028639aaae8981b',1,'Image']]], + ['getsamplerate',['getSampleRate',['../classPlugin.html#a3e162cfe8f1c52bf09805fd327bcc3c4',1,'Plugin::getSampleRate()'],['../classUI.html#a97d880182254652f94e7bed355370c07',1,'UI::getSampleRate()']]], + ['getsize',['getSize',['../singletonCircle.html#a95cbbd0567463a29e0e1b43febcc1daa',1,'Circle::getSize()'],['../singletonRectangle.html#a89992b11e6d09286c2d6f4504b49d05f',1,'Rectangle::getSize()'],['../classImage.html#a86b31865bfa07b98b61f503699f5c5d1',1,'Image::getSize()'],['../classNanoImage.html#a979cc37d8a10dc0642fcea2d64d3b58c',1,'NanoImage::getSize()'],['../classWidget.html#ae375b05cd76f63c957949e9121ff56bb',1,'Widget::getSize()']]], + ['getstartpos',['getStartPos',['../singletonLine.html#a2c5ecf6513f1b1fd846a80915aff5744',1,'Line']]], + ['getstartx',['getStartX',['../singletonLine.html#a7f3af6a8c08af69188714a83353e09fb',1,'Line']]], + ['getstarty',['getStartY',['../singletonLine.html#a5a5ef0a94283339f2c20406a3d9fbb04',1,'Line']]], + ['gettimeposition',['getTimePosition',['../classPlugin.html#ae85d602c430b1a4361a88d714d3a42c1',1,'Plugin']]], + ['gettype',['getType',['../classImage.html#aafdd618cccc80f83a438b0c335de6205',1,'Image']]], + ['getuniqueid',['getUniqueId',['../classPlugin.html#ad6ff8c80227d5ceebd40b96f3be29a66',1,'Plugin']]], + ['getunnormalizedvalue',['getUnnormalizedValue',['../structParameterRanges.html#a992f75a925b3cd5e66544087708ea3c3',1,'ParameterRanges']]], + ['getversion',['getVersion',['../classPlugin.html#abae540dd93caf4834270358a8aad334a',1,'Plugin']]], + ['getwidth',['getWidth',['../classSize.html#a3e65e5ff12f6bf57eaa6f45c54346942',1,'Size::getWidth()'],['../singletonRectangle.html#a5974e66bef8300fa6e052d846d07afb1',1,'Rectangle::getWidth()'],['../classImage.html#a695d30afad2b73bc0e4208a94d052aea',1,'Image::getWidth()'],['../classWidget.html#a169c317caf734c6664494a573e427b40',1,'Widget::getWidth()']]], + ['getx',['getX',['../classPoint.html#af6d528d5f73b06282aae5be3b188528e',1,'Point::getX()'],['../singletonCircle.html#a2f8530b43b24d28380e232367fea0823',1,'Circle::getX()'],['../singletonRectangle.html#aa7a5dc1efa46ac87abdc57850f65c1ef',1,'Rectangle::getX()']]], + ['gety',['getY',['../classPoint.html#ab0250670052f5169c57de84a09d7534b',1,'Point::getY()'],['../singletonCircle.html#af1bdfeb5875cf8e6a8f09ad295d3bb09',1,'Circle::getY()'],['../singletonRectangle.html#a8f2fb02ceea742b6155a476be3694ec9',1,'Rectangle::getY()']]], + ['growby',['growBy',['../classSize.html#ac6cb1721051ed5c8f21467f009d72982',1,'Size::growBy()'],['../singletonRectangle.html#a043d677b0fa28c50a18ed30bcb84e02b',1,'Rectangle::growBy()']]] ]; diff --git a/search/functions_7.js b/search/functions_7.js index ae965bd9..75262703 100644 --- a/search/functions_7.js +++ b/search/functions_7.js @@ -1,4 +1,4 @@ var searchData= [ - ['timeposition',['TimePosition',['../structTimePosition.html#aee816daeed95cf309ded1087a0c800ae',1,'TimePosition']]] + ['hide',['hide',['../classWidget.html#a4a2f8eebacdd20db505b838f1a118c6b',1,'Widget']]] ]; diff --git a/search/functions_8.js b/search/functions_8.js index c17c0582..16a4a231 100644 --- a/search/functions_8.js +++ b/search/functions_8.js @@ -1,4 +1,20 @@ var searchData= [ - ['ui',['UI',['../classUI.html#ad3425075e4a23234a8568d1893b54f22',1,'UI']]] + ['idle',['idle',['../classApp.html#a4309d67edf51bdf612a82220285ada49',1,'App']]], + ['image',['Image',['../classImage.html#a58edd1c45b4faeb5f789b0d036d02313',1,'Image::Image()'],['../classImage.html#ad351054c0c6ebc0df99a7f8df12c8920',1,'Image::Image(const char *const rawData, const uint width, const uint height, const GLenum format=GL_BGRA, const GLenum type=GL_UNSIGNED_BYTE)'],['../classImage.html#a4587a30e65bacb349bc2d351d2fe49eb',1,'Image::Image(const char *const rawData, const Size< uint > &size, const GLenum format=GL_BGRA, const GLenum type=GL_UNSIGNED_BYTE)'],['../classImage.html#a34410a36b132ab597a8878d45facc89a',1,'Image::Image(const Image &image)']]], + ['imagepattern',['imagePattern',['../classNanoVG.html#a51ad176349e0169478844f862942af20',1,'NanoVG']]], + ['initaudioport',['initAudioPort',['../classPlugin.html#a75f30935198a0acba25f4ea92af72dc4',1,'Plugin']]], + ['initparameter',['initParameter',['../classPlugin.html#a5b0ec59527a1c2f4b01f17fc8c18ea8b',1,'Plugin']]], + ['initprogramname',['initProgramName',['../classPlugin.html#a54d66af3111541b7c118f9749ef0231b',1,'Plugin']]], + ['initstate',['initState',['../classPlugin.html#ae301a970a8b5cff3c7ecef927ea20080',1,'Plugin']]], + ['interpolate',['interpolate',['../structColor.html#a96283f5b9ad6f6465e40f69012aca00f',1,'Color']]], + ['isequal',['isEqual',['../structColor.html#a16880d42b2d52ed23eb307ed2980a9a3',1,'Color']]], + ['isinvalid',['isInvalid',['../classSize.html#ab832e37b50a2d98648be4ac811af305f',1,'Size::isInvalid()'],['../singletonTriangle.html#a757b50c4c2e0d154c6626e252527fc2f',1,'Triangle::isInvalid()']]], + ['isnotnull',['isNotNull',['../classSize.html#a57093e93dcdfadc9f720b9d8fda4b59e',1,'Size::isNotNull()'],['../singletonLine.html#ad156bd44539aa28e052207a25d705695',1,'Line::isNotNull()'],['../singletonTriangle.html#ab825fecc8ba95577430002de793c5683',1,'Triangle::isNotNull()']]], + ['isnotzero',['isNotZero',['../classPoint.html#aede5df141963951a746d7e207fa7e073',1,'Point']]], + ['isnull',['isNull',['../classSize.html#ab49a572da2fb72ab4f6dfd7a06b000c8',1,'Size::isNull()'],['../singletonLine.html#ab300b2e8deeda3d08cc7e70299c3955d',1,'Line::isNull()'],['../singletonTriangle.html#a14729ce6716a66216a991ce7958dbed3',1,'Triangle::isNull()']]], + ['isquiting',['isQuiting',['../classApp.html#af7471b06a9bfccc16293b020268d0401',1,'App']]], + ['isvalid',['isValid',['../classSize.html#a1e6c381d5a5c19e7ab2c83118ebbd0ec',1,'Size::isValid()'],['../singletonTriangle.html#a3fd5cf976cd212276d10885f99856bdc',1,'Triangle::isValid()'],['../classImage.html#a761214d2fa016e3e793b5a2d6b8b85ec',1,'Image::isValid()']]], + ['isvisible',['isVisible',['../classWidget.html#a234a8ee8a685dc211ad11f492f0dbc71',1,'Widget']]], + ['iszero',['isZero',['../classPoint.html#a845d59d29722c962c7af8f602bcf9ba4',1,'Point']]] ]; diff --git a/search/functions_9.js b/search/functions_9.js index 0177647d..ea41487f 100644 --- a/search/functions_9.js +++ b/search/functions_9.js @@ -1,5 +1,4 @@ var searchData= [ - ['_7eplugin',['~Plugin',['../classPlugin.html#a89814b8f0b1c91e49140d42eb8331383',1,'Plugin']]], - ['_7eui',['~UI',['../classUI.html#a47e7b6111faba049dfee4738d067cc42',1,'UI']]] + ['keyboardevent',['KeyboardEvent',['../structWidget_1_1KeyboardEvent.html#a5a55a296264b9999a7915f2633eacb10',1,'Widget::KeyboardEvent']]] ]; diff --git a/search/functions_a.html b/search/functions_a.html new file mode 100644 index 00000000..15310b4f --- /dev/null +++ b/search/functions_a.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/functions_a.js b/search/functions_a.js new file mode 100644 index 00000000..d1eada69 --- /dev/null +++ b/search/functions_a.js @@ -0,0 +1,9 @@ +var searchData= +[ + ['line',['Line',['../singletonLine.html#a7895211d4fa97f63b3495ca5c9bfaed1',1,'Line::Line() noexcept'],['../singletonLine.html#abb3a2ed1ad09a372c39fab9820defb03',1,'Line::Line(const T &startX, const T &startY, const T &endX, const T &endY) noexcept'],['../singletonLine.html#afb5087aefdb5a66befc2af548fc34056',1,'Line::Line(const T &startX, const T &startY, const Point< T > &endPos) noexcept'],['../singletonLine.html#a4e4d056335720256b83ae491a55bcb1e',1,'Line::Line(const Point< T > &startPos, const T &endX, const T &endY) noexcept'],['../singletonLine.html#a9a3e4daec16c09c9f7ae1ce6b3a56847',1,'Line::Line(const Point< T > &startPos, const Point< T > &endPos) noexcept'],['../singletonLine.html#a96f1ec549a1cdab2ae4480a9b2f839ec',1,'Line::Line(const Line< T > &line) noexcept']]], + ['lineargradient',['linearGradient',['../classNanoVG.html#aa74a49bb588beb28654565a07022a178',1,'NanoVG']]], + ['linecap',['lineCap',['../classNanoVG.html#a95dfc697ae6fe9c8d525430c09f839d1',1,'NanoVG']]], + ['linejoin',['lineJoin',['../classNanoVG.html#a73767c9ade6a757bc6e1f4a2d45bdaeb',1,'NanoVG']]], + ['lineto',['lineTo',['../classNanoVG.html#a63f509eaeb04475a8541ed8e846f352f',1,'NanoVG']]], + ['loadfrommemory',['loadFromMemory',['../classImage.html#a097350feb2b30fd9289c346039298394',1,'Image::loadFromMemory(const char *const rawData, const uint width, const uint height, const GLenum format=GL_BGRA, const GLenum type=GL_UNSIGNED_BYTE) noexcept'],['../classImage.html#a2851a65c5885085be1d96878762fd860',1,'Image::loadFromMemory(const char *const rawData, const Size< uint > &size, const GLenum format=GL_BGRA, const GLenum type=GL_UNSIGNED_BYTE) noexcept']]] +]; diff --git a/search/functions_b.html b/search/functions_b.html new file mode 100644 index 00000000..c42f064e --- /dev/null +++ b/search/functions_b.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/functions_b.js b/search/functions_b.js new file mode 100644 index 00000000..32cb991a --- /dev/null +++ b/search/functions_b.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['miterlimit',['miterLimit',['../classNanoVG.html#a8a5ade44d39d21f28dcd02d27da62d14',1,'NanoVG']]], + ['motionevent',['MotionEvent',['../structWidget_1_1MotionEvent.html#a0d2bf8f5c66002bb129968f10e0cc082',1,'Widget::MotionEvent']]], + ['mouseevent',['MouseEvent',['../structWidget_1_1MouseEvent.html#aa37fee8a593c62c53e4ca5c67ad9278f',1,'Widget::MouseEvent']]], + ['moveby',['moveBy',['../classPoint.html#a541cdef0c235dc26d79c0b6ee7118346',1,'Point::moveBy(const T &x, const T &y) noexcept'],['../classPoint.html#a678019258549ab43e7bb1ad34f212d15',1,'Point::moveBy(const Point< T > &pos) noexcept'],['../singletonLine.html#a47c83b136a3d4df6ac688ac41126b967',1,'Line::moveBy(const T &x, const T &y) noexcept'],['../singletonLine.html#af287984efeaf15d632a715f884194dab',1,'Line::moveBy(const Point< T > &pos) noexcept'],['../singletonRectangle.html#a040f154cde2faff853fd0bde9ca884b9',1,'Rectangle::moveBy(const T &x, const T &y) noexcept'],['../singletonRectangle.html#a9e81627f1201111f0e36cce15e317000',1,'Rectangle::moveBy(const Point< T > &pos) noexcept']]], + ['moveto',['moveTo',['../classNanoVG.html#af1ac0918567c17c93e0586c4284e04b9',1,'NanoVG']]] +]; diff --git a/search/functions_c.html b/search/functions_c.html new file mode 100644 index 00000000..8940020f --- /dev/null +++ b/search/functions_c.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/functions_c.js b/search/functions_c.js new file mode 100644 index 00000000..0ac4546b --- /dev/null +++ b/search/functions_c.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['nanoimage',['NanoImage',['../classNanoImage.html#ae2098db57c51c41247a4013eb1e0216c',1,'NanoImage']]], + ['nanovg',['NanoVG',['../classNanoVG.html#a1d6c677037e336e11baa5f32a4a11922',1,'NanoVG::NanoVG()'],['../classNanoVG.html#aaf714e36cc1619264899b373cdb8accd',1,'NanoVG::NanoVG(const int textAtlasWidth, const int textAtlasHeight)']]], + ['nanowidget',['NanoWidget',['../classNanoWidget.html#af1f8b45101bbe1017b88893a699b4f86',1,'NanoWidget']]] +]; diff --git a/search/functions_d.html b/search/functions_d.html new file mode 100644 index 00000000..ac0f16a6 --- /dev/null +++ b/search/functions_d.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/functions_d.js b/search/functions_d.js new file mode 100644 index 00000000..0d47a90f --- /dev/null +++ b/search/functions_d.js @@ -0,0 +1,15 @@ +var searchData= +[ + ['ondisplay',['onDisplay',['../classImageAboutWindow.html#a4ebc99f9674e37ebdeeaa1ef9a71a0fc',1,'ImageAboutWindow::onDisplay()'],['../classImageButton.html#abb0d1081f8c794657ccbbcffb2d75efc',1,'ImageButton::onDisplay()'],['../classImageKnob.html#a7123a12c906463700df8c6f24cd0a62f',1,'ImageKnob::onDisplay()'],['../classImageSlider.html#a6c734dabcf0af01513fb5dec5b716831',1,'ImageSlider::onDisplay()'],['../classImageSwitch.html#a45cdf75bf08adf50742150f3d2029f76',1,'ImageSwitch::onDisplay()'],['../classWidget.html#ae1554f348fe3b2f9d4c3c5c4f9ec55bd',1,'Widget::onDisplay()']]], + ['onkeyboard',['onKeyboard',['../classImageAboutWindow.html#a952891b12bf379fafc184abc77daef24',1,'ImageAboutWindow::onKeyboard()'],['../classWidget.html#a9fa874aede538b41348f1029524aea11',1,'Widget::onKeyboard()']]], + ['onmotion',['onMotion',['../classImageButton.html#a53676b7a0cc31f78a371ef363344f7ba',1,'ImageButton::onMotion()'],['../classImageKnob.html#a299a1721471747dc173633f21bd75b1f',1,'ImageKnob::onMotion()'],['../classImageSlider.html#a2950b1058ae7c6d20397135615b4583c',1,'ImageSlider::onMotion()'],['../classWidget.html#a655569fb78a598652e9f24cefa1fe4a5',1,'Widget::onMotion()']]], + ['onmouse',['onMouse',['../classImageAboutWindow.html#a5af153208057de4baf7264c9a7bd30cd',1,'ImageAboutWindow::onMouse()'],['../classImageButton.html#acea33c4a730d0dce4f87a67cc290d747',1,'ImageButton::onMouse()'],['../classImageKnob.html#a473247914d3751d629dd8690f74af07b',1,'ImageKnob::onMouse()'],['../classImageSlider.html#a6ffe0c5b79ef8e397876154b904f0981',1,'ImageSlider::onMouse()'],['../classImageSwitch.html#aa2371a540211636f96ac3a3a161ee563',1,'ImageSwitch::onMouse()'],['../classWidget.html#a097ec1d56a06bdc9e0a4e54880def378',1,'Widget::onMouse()']]], + ['onnanodisplay',['onNanoDisplay',['../classNanoWidget.html#a50c53f68d816358fdb6abad250917372',1,'NanoWidget']]], + ['onresize',['onResize',['../classUI.html#a8de15be030bbdf0eb81461349cb1cc77',1,'UI::onResize()'],['../classWidget.html#acc0365ec4b9245bdffb8d0285be55dea',1,'Widget::onResize()']]], + ['onscroll',['onScroll',['../classImageKnob.html#a2cdc26028611554458a74b32740ac33b',1,'ImageKnob::onScroll()'],['../classWidget.html#a0d78d28bd4a98c3a016a38091b2d4185',1,'Widget::onScroll()']]], + ['onspecial',['onSpecial',['../classWidget.html#a3b42652fcb2f95c6f86bdd43a1727507',1,'Widget']]], + ['operator_20objecttype_20_2a',['operator ObjectType *',['../classScopedPointer.html#af7c241c736d79754fd6f8d305cce8bc3',1,'ScopedPointer']]], + ['operator_2a',['operator*',['../classScopedPointer.html#a2f48458a1656a6ef1bd35cb8452eed35',1,'ScopedPointer']]], + ['operator_2d_3e',['operator->',['../classScopedPointer.html#a6eedc84349cbe629cc1abb79ffa74e87',1,'ScopedPointer']]], + ['operator_3d',['operator=',['../classScopedPointer.html#afefc7940828d72c056e03804cd6bea9f',1,'ScopedPointer::operator=(ScopedPointer &objectToTransferFrom)'],['../classScopedPointer.html#a88ee7f038e57471539d3181141c0390e',1,'ScopedPointer::operator=(ObjectType *const newObjectToTakePossessionOf)']]] +]; diff --git a/search/functions_e.html b/search/functions_e.html new file mode 100644 index 00000000..4ca72017 --- /dev/null +++ b/search/functions_e.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/functions_e.js b/search/functions_e.js new file mode 100644 index 00000000..a8567832 --- /dev/null +++ b/search/functions_e.js @@ -0,0 +1,10 @@ +var searchData= +[ + ['parameter',['Parameter',['../structParameter.html#a12ced87d6d832deccb6c8ce2c8313b2e',1,'Parameter']]], + ['parameterchanged',['parameterChanged',['../classUI.html#ab3086d302a9685b25abf144ade3e88f6',1,'UI']]], + ['parameterranges',['ParameterRanges',['../structParameterRanges.html#adb9b2712df3401eb0c5e11362d865d4e',1,'ParameterRanges::ParameterRanges() noexcept'],['../structParameterRanges.html#aad2afc730bee791aab1811744a48f99d',1,'ParameterRanges::ParameterRanges(const float df, const float mn, const float mx) noexcept']]], + ['pathwinding',['pathWinding',['../classNanoVG.html#aaf7f45fc45cf920d261a8b2cfebf9026',1,'NanoVG']]], + ['plugin',['Plugin',['../classPlugin.html#a3096e491376cb9378be55915d748de57',1,'Plugin']]], + ['point',['Point',['../classPoint.html#ada3e3f5f840cf70db3c7f884843a3d01',1,'Point::Point() noexcept'],['../classPoint.html#a273b90bf5380bacd6e58582ef9ce35f7',1,'Point::Point(const T &x, const T &y) noexcept'],['../classPoint.html#a31393ac57c0140243e8723f9cd9106bb',1,'Point::Point(const Point< T > &pos) noexcept']]], + ['programchanged',['programChanged',['../classUI.html#a84c36578d87c5b569d1ab6a372f31937',1,'UI']]] +]; diff --git a/search/functions_f.html b/search/functions_f.html new file mode 100644 index 00000000..5683ff31 --- /dev/null +++ b/search/functions_f.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/functions_f.js b/search/functions_f.js new file mode 100644 index 00000000..fbe3761c --- /dev/null +++ b/search/functions_f.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['quit',['quit',['../classApp.html#ab474007a8e53ffa41f9a13e0640b387f',1,'App']]] +]; diff --git a/search/groups_1.js b/search/groups_1.js index e61dfdea..3ed247d7 100644 --- a/search/groups_1.js +++ b/search/groups_1.js @@ -1,4 +1,4 @@ var searchData= [ - ['base_20structs',['Base Structs',['../group__BaseStructs.html',1,'']]] + ['base_20plugin_20structs',['Base Plugin Structs',['../group__BasePluginStructs.html',1,'']]] ]; diff --git a/search/groups_2.js b/search/groups_2.js index 4cb07cd3..f4853e0c 100644 --- a/search/groups_2.js +++ b/search/groups_2.js @@ -1,5 +1,4 @@ var searchData= [ - ['parameter_20hints',['Parameter Hints',['../group__ParameterHints.html',1,'']]], - ['plugin_20macros',['Plugin Macros',['../group__PluginMacros.html',1,'']]] + ['entry_20points',['Entry Points',['../group__EntryPoints.html',1,'']]] ]; diff --git a/search/groups_3.html b/search/groups_3.html new file mode 100644 index 00000000..2ccb4333 --- /dev/null +++ b/search/groups_3.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/groups_3.js b/search/groups_3.js new file mode 100644 index 00000000..c100f552 --- /dev/null +++ b/search/groups_3.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['main_20classes',['Main Classes',['../group__MainClasses.html',1,'']]] +]; diff --git a/search/groups_4.html b/search/groups_4.html new file mode 100644 index 00000000..123f91c0 --- /dev/null +++ b/search/groups_4.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/groups_4.js b/search/groups_4.js new file mode 100644 index 00000000..4cb07cd3 --- /dev/null +++ b/search/groups_4.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['parameter_20hints',['Parameter Hints',['../group__ParameterHints.html',1,'']]], + ['plugin_20macros',['Plugin Macros',['../group__PluginMacros.html',1,'']]] +]; diff --git a/search/search.js b/search/search.js index fe76e82f..6167a16e 100644 --- a/search/search.js +++ b/search/search.js @@ -7,11 +7,11 @@ var indexSectionsWithContent = { - 0: "abdfghkmnoprstuv~", - 1: "abmptu", - 2: "abdfgoptu~", + 0: "abcdefghiklmnopqrstuvw~", + 1: "abcdfgiklmnprstuw", + 2: "abcdefghiklmnopqrstuw~", 3: "bdfhkmnprstuv", - 4: "abp", + 4: "abemp", 5: "d" }; diff --git a/search/variables_4.js b/search/variables_4.js index bdb526ab..168df0b7 100644 --- a/search/variables_4.js +++ b/search/variables_4.js @@ -5,7 +5,6 @@ var searchData= ['kdatasize',['kDataSize',['../structMidiEvent.html#a9e23ce17777c2ff5190670d3262129b9',1,'MidiEvent']]], ['kparameterisautomable',['kParameterIsAutomable',['../group__ParameterHints.html#ga04161ef926442aa08ae7aa6847078ad9',1,'DistrhoPlugin.hpp']]], ['kparameterisboolean',['kParameterIsBoolean',['../group__ParameterHints.html#gaafca30df903781d2e1c2491808e17c8d',1,'DistrhoPlugin.hpp']]], - ['kparameteriscv',['kParameterIsCV',['../group__ParameterHints.html#ga1eae4d034f2ff1bc14035d87c4b63b14',1,'DistrhoPlugin.hpp']]], ['kparameterisinteger',['kParameterIsInteger',['../group__ParameterHints.html#ga76a82c93efe6ad728c9f0cb4ef33a2b9',1,'DistrhoPlugin.hpp']]], ['kparameterislogarithmic',['kParameterIsLogarithmic',['../group__ParameterHints.html#gabc539ecbfe420246a33f93aed32b8a3b',1,'DistrhoPlugin.hpp']]], ['kparameterisoutput',['kParameterIsOutput',['../group__ParameterHints.html#ga0a3633c93e8589f4b3e6124bb97ad8d4',1,'DistrhoPlugin.hpp']]] diff --git a/search/variables_6.js b/search/variables_6.js index 30017e79..7050dc91 100644 --- a/search/variables_6.js +++ b/search/variables_6.js @@ -1,4 +1,4 @@ var searchData= [ - ['name',['name',['../structAudioPort.html#a9ef55a98c2d867cc9d909f79afe35914',1,'AudioPort::name()'],['../structParameter.html#a2e75f234cbbda1ed0517075e67d27191',1,'Parameter::name()']]] + ['name',['name',['../structAudioPort.html#adb3b58f79131b653d6b2adfa3ea07e5c',1,'AudioPort::name()'],['../structParameter.html#ae63c1fcfb20e320bada1f58c04ff18da',1,'Parameter::name()']]] ]; diff --git a/search/variables_9.js b/search/variables_9.js index 02a09492..20a0108e 100644 --- a/search/variables_9.js +++ b/search/variables_9.js @@ -1,5 +1,5 @@ var searchData= [ ['size',['size',['../structMidiEvent.html#a48b420a6dbca6502113b92c336a3041e',1,'MidiEvent']]], - ['symbol',['symbol',['../structAudioPort.html#a24142c8e3d5a7214488ba2151e6e42ad',1,'AudioPort::symbol()'],['../structParameter.html#a0b5193e6131f65878dfb6fe4d9f5e970',1,'Parameter::symbol()']]] + ['symbol',['symbol',['../structAudioPort.html#af2bda30f97a1b63cbeb9f11f718d3d30',1,'AudioPort::symbol()'],['../structParameter.html#a3e546efd8dbd0d77351208b670719468',1,'Parameter::symbol()']]] ]; diff --git a/search/variables_b.js b/search/variables_b.js index 187fc6f9..73f95686 100644 --- a/search/variables_b.js +++ b/search/variables_b.js @@ -1,4 +1,4 @@ var searchData= [ - ['unit',['unit',['../structParameter.html#aa9ee36848d60d8ddd9185b9a3f2ce93f',1,'Parameter']]] + ['unit',['unit',['../structParameter.html#a2f79574998d34504e3a694163b4599a1',1,'Parameter']]] ]; diff --git a/singletonCircle.html b/singletonCircle.html new file mode 100644 index 00000000..9728c96c --- /dev/null +++ b/singletonCircle.html @@ -0,0 +1,620 @@ + + + + + + +DISTRHO Plugin Framework: Circle< T > Class Template Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    DISTRHO Plugin Framework +
    +
    +
    + + + + + + + + + +
    + +
    + +
    +
    + +
    +
    Circle< T > Class Template Reference
    +
    +
    + +

    #include <Geometry.hpp>

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Public Member Functions

     Circle () noexcept
     
     Circle (const T &x, const T &y, const float size, const uint numSegments=300)
     
     Circle (const Point< T > &pos, const float size, const uint numSegments=300)
     
     Circle (const Circle< T > &cir) noexcept
     
    const T & getX () const noexcept
     
    const T & getY () const noexcept
     
    const Point< T > & getPos () const noexcept
     
    void setX (const T &x) noexcept
     
    void setY (const T &y) noexcept
     
    void setPos (const T &x, const T &y) noexcept
     
    void setPos (const Point< T > &pos) noexcept
     
    float getSize () const noexcept
     
    void setSize (const float size) noexcept
     
    uint getNumSegments () const noexcept
     
    void setNumSegments (const uint num)
     
    void draw ()
     
    void drawOutline ()
     
    +Circle< T > & operator= (const Circle< T > &cir) noexcept
     
    +bool operator== (const Circle< T > &cir) const noexcept
     
    +bool operator!= (const Circle< T > &cir) const noexcept
     
    +

    Detailed Description

    +

    template<typename T>
    +class Circle< T >

    + +

    DGL Circle class.

    +

    This class describes a circle, defined by position, size and a minimum of 3 segments.

    +

    TODO: report if circle starts at top-left, bottom-right or center. and size grows from which point?

    +

    Constructor & Destructor Documentation

    + +
    +
    +
    +template<typename T >
    + + + + + +
    + + + + + + + +
    Circle< T >::Circle ()
    +
    +noexcept
    +
    +

    Constructor for a null circle.

    + +
    +
    + +
    +
    +
    +template<typename T >
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Circle< T >::Circle (const T & x,
    const T & y,
    const float size,
    const uint numSegments = 300 
    )
    +
    +

    Constructor using custom X, Y and size values.

    + +
    +
    + +
    +
    +
    +template<typename T >
    + + + + + + + + + + + + + + + + + + + + + + + + +
    Circle< T >::Circle (const Point< T > & pos,
    const float size,
    const uint numSegments = 300 
    )
    +
    +

    Constructor using custom position and size values.

    + +
    +
    + +
    +
    +
    +template<typename T >
    + + + + + +
    + + + + + + + + +
    Circle< T >::Circle (const Circle< T > & cir)
    +
    +noexcept
    +
    +

    Constructor using another Circle class values.

    + +
    +
    +

    Member Function Documentation

    + +
    +
    +
    +template<typename T >
    + + + + + +
    + + + + + + + +
    const T& Circle< T >::getX () const
    +
    +noexcept
    +
    +

    Get X value.

    + +
    +
    + +
    +
    +
    +template<typename T >
    + + + + + +
    + + + + + + + +
    const T& Circle< T >::getY () const
    +
    +noexcept
    +
    +

    Get Y value.

    + +
    +
    + +
    +
    +
    +template<typename T >
    + + + + + +
    + + + + + + + +
    const Point<T>& Circle< T >::getPos () const
    +
    +noexcept
    +
    +

    Get position.

    + +
    +
    + +
    +
    +
    +template<typename T >
    + + + + + +
    + + + + + + + + +
    void Circle< T >::setX (const T & x)
    +
    +noexcept
    +
    +

    Set X value to x.

    + +
    +
    + +
    +
    +
    +template<typename T >
    + + + + + +
    + + + + + + + + +
    void Circle< T >::setY (const T & y)
    +
    +noexcept
    +
    +

    Set Y value to y.

    + +
    +
    + +
    +
    +
    +template<typename T >
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    void Circle< T >::setPos (const T & x,
    const T & y 
    )
    +
    +noexcept
    +
    +

    Set X and Y values to x and y respectively.

    + +
    +
    + +
    +
    +
    +template<typename T >
    + + + + + +
    + + + + + + + + +
    void Circle< T >::setPos (const Point< T > & pos)
    +
    +noexcept
    +
    +

    Set X and Y values according to pos.

    + +
    +
    + +
    +
    +
    +template<typename T >
    + + + + + +
    + + + + + + + +
    float Circle< T >::getSize () const
    +
    +noexcept
    +
    +

    Get size.

    + +
    +
    + +
    +
    +
    +template<typename T >
    + + + + + +
    + + + + + + + + +
    void Circle< T >::setSize (const float size)
    +
    +noexcept
    +
    +

    Set size.

    Note
    Must always be > 0
    + +
    +
    + +
    +
    +
    +template<typename T >
    + + + + + +
    + + + + + + + +
    uint Circle< T >::getNumSegments () const
    +
    +noexcept
    +
    +

    Get the current number of line segments that make this circle.

    + +
    +
    + +
    +
    +
    +template<typename T >
    + + + + + + + + +
    void Circle< T >::setNumSegments (const uint num)
    +
    +

    Set the number of line segments that will make this circle.

    Note
    Must always be >= 3
    + +
    +
    + +
    +
    +
    +template<typename T >
    + + + + + + + +
    void Circle< T >::draw ()
    +
    +

    Draw this circle using the current OpenGL state.

    + +
    +
    + +
    +
    +
    +template<typename T >
    + + + + + + + +
    void Circle< T >::drawOutline ()
    +
    +

    Draw lines (outline of this circle) using the current OpenGL state.

    + +
    +
    +
    The documentation for this class was generated from the following file: +
    + + + + diff --git a/singletonLine.html b/singletonLine.html new file mode 100644 index 00000000..8964116d --- /dev/null +++ b/singletonLine.html @@ -0,0 +1,927 @@ + + + + + + +DISTRHO Plugin Framework: Line< T > Class Template Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    DISTRHO Plugin Framework +
    +
    +
    + + + + + + + + + +
    + +
    + +
    +
    + +
    +
    Line< T > Class Template Reference
    +
    +
    + +

    #include <Geometry.hpp>

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Public Member Functions

     Line () noexcept
     
     Line (const T &startX, const T &startY, const T &endX, const T &endY) noexcept
     
     Line (const T &startX, const T &startY, const Point< T > &endPos) noexcept
     
     Line (const Point< T > &startPos, const T &endX, const T &endY) noexcept
     
     Line (const Point< T > &startPos, const Point< T > &endPos) noexcept
     
     Line (const Line< T > &line) noexcept
     
    const T & getStartX () const noexcept
     
    const T & getStartY () const noexcept
     
    const T & getEndX () const noexcept
     
    const T & getEndY () const noexcept
     
    const Point< T > & getStartPos () const noexcept
     
    const Point< T > & getEndPos () const noexcept
     
    void setStartX (const T &x) noexcept
     
    void setStartY (const T &y) noexcept
     
    void setStartPos (const T &x, const T &y) noexcept
     
    void setStartPos (const Point< T > &pos) noexcept
     
    void setEndX (const T &x) noexcept
     
    void setEndY (const T &y) noexcept
     
    void setEndPos (const T &x, const T &y) noexcept
     
    void setEndPos (const Point< T > &pos) noexcept
     
    void moveBy (const T &x, const T &y) noexcept
     
    void moveBy (const Point< T > &pos) noexcept
     
    void draw ()
     
    bool isNull () const noexcept
     
    bool isNotNull () const noexcept
     
    +Line< T > & operator= (const Line< T > &line) noexcept
     
    +bool operator== (const Line< T > &line) const noexcept
     
    +bool operator!= (const Line< T > &line) const noexcept
     
    +

    Detailed Description

    +

    template<typename T>
    +class Line< T >

    + +

    DGL Line class.

    +

    This class describes a line, defined by two points.

    +

    Constructor & Destructor Documentation

    + +
    +
    +
    +template<typename T >
    + + + + + +
    + + + + + + + +
    Line< T >::Line ()
    +
    +noexcept
    +
    +

    Constructor for a null line ([0,0] to [0,0]).

    + +
    +
    + +
    +
    +
    +template<typename T >
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Line< T >::Line (const T & startX,
    const T & startY,
    const T & endX,
    const T & endY 
    )
    +
    +noexcept
    +
    +

    Constructor using custom start X, start Y, end X and end Y values.

    + +
    +
    + +
    +
    +
    +template<typename T >
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    Line< T >::Line (const T & startX,
    const T & startY,
    const Point< T > & endPos 
    )
    +
    +noexcept
    +
    +

    Constructor using custom start X, start Y and end pos values.

    + +
    +
    + +
    +
    +
    +template<typename T >
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    Line< T >::Line (const Point< T > & startPos,
    const T & endX,
    const T & endY 
    )
    +
    +noexcept
    +
    +

    Constructor using custom start pos, end X and end Y values.

    + +
    +
    + +
    +
    +
    +template<typename T >
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    Line< T >::Line (const Point< T > & startPos,
    const Point< T > & endPos 
    )
    +
    +noexcept
    +
    +

    Constructor using custom start and end pos values.

    + +
    +
    + +
    +
    +
    +template<typename T >
    + + + + + +
    + + + + + + + + +
    Line< T >::Line (const Line< T > & line)
    +
    +noexcept
    +
    +

    Constructor using another Line class values.

    + +
    +
    +

    Member Function Documentation

    + +
    +
    +
    +template<typename T >
    + + + + + +
    + + + + + + + +
    const T& Line< T >::getStartX () const
    +
    +noexcept
    +
    +

    Get start X value.

    + +
    +
    + +
    +
    +
    +template<typename T >
    + + + + + +
    + + + + + + + +
    const T& Line< T >::getStartY () const
    +
    +noexcept
    +
    +

    Get start Y value.

    + +
    +
    + +
    +
    +
    +template<typename T >
    + + + + + +
    + + + + + + + +
    const T& Line< T >::getEndX () const
    +
    +noexcept
    +
    +

    Get end X value.

    + +
    +
    + +
    +
    +
    +template<typename T >
    + + + + + +
    + + + + + + + +
    const T& Line< T >::getEndY () const
    +
    +noexcept
    +
    +

    Get end Y value.

    + +
    +
    + +
    +
    +
    +template<typename T >
    + + + + + +
    + + + + + + + +
    const Point<T>& Line< T >::getStartPos () const
    +
    +noexcept
    +
    +

    Get start position.

    + +
    +
    + +
    +
    +
    +template<typename T >
    + + + + + +
    + + + + + + + +
    const Point<T>& Line< T >::getEndPos () const
    +
    +noexcept
    +
    +

    Get end position.

    + +
    +
    + +
    +
    +
    +template<typename T >
    + + + + + +
    + + + + + + + + +
    void Line< T >::setStartX (const T & x)
    +
    +noexcept
    +
    +

    Set start X value to x.

    + +
    +
    + +
    +
    +
    +template<typename T >
    + + + + + +
    + + + + + + + + +
    void Line< T >::setStartY (const T & y)
    +
    +noexcept
    +
    +

    Set start Y value to y.

    + +
    +
    + +
    +
    +
    +template<typename T >
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    void Line< T >::setStartPos (const T & x,
    const T & y 
    )
    +
    +noexcept
    +
    +

    Set start X and Y values to x and y respectively.

    + +
    +
    + +
    +
    +
    +template<typename T >
    + + + + + +
    + + + + + + + + +
    void Line< T >::setStartPos (const Point< T > & pos)
    +
    +noexcept
    +
    +

    Set start X and Y values according to pos.

    + +
    +
    + +
    +
    +
    +template<typename T >
    + + + + + +
    + + + + + + + + +
    void Line< T >::setEndX (const T & x)
    +
    +noexcept
    +
    +

    Set end X value to x.

    + +
    +
    + +
    +
    +
    +template<typename T >
    + + + + + +
    + + + + + + + + +
    void Line< T >::setEndY (const T & y)
    +
    +noexcept
    +
    +

    Set end Y value to y.

    + +
    +
    + +
    +
    +
    +template<typename T >
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    void Line< T >::setEndPos (const T & x,
    const T & y 
    )
    +
    +noexcept
    +
    +

    Set end X and Y values to x and y respectively.

    + +
    +
    + +
    +
    +
    +template<typename T >
    + + + + + +
    + + + + + + + + +
    void Line< T >::setEndPos (const Point< T > & pos)
    +
    +noexcept
    +
    +

    Set end X and Y values according to pos.

    + +
    +
    + +
    +
    +
    +template<typename T >
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    void Line< T >::moveBy (const T & x,
    const T & y 
    )
    +
    +noexcept
    +
    +

    Move this line by x and y values.

    + +
    +
    + +
    +
    +
    +template<typename T >
    + + + + + +
    + + + + + + + + +
    void Line< T >::moveBy (const Point< T > & pos)
    +
    +noexcept
    +
    +

    Move this line by pos.

    + +
    +
    + +
    +
    +
    +template<typename T >
    + + + + + + + +
    void Line< T >::draw ()
    +
    +

    Draw this line using the current OpenGL state.

    + +
    +
    + +
    +
    +
    +template<typename T >
    + + + + + +
    + + + + + + + +
    bool Line< T >::isNull () const
    +
    +noexcept
    +
    +

    Return true if line is null (start and end pos are equal).

    + +
    +
    + +
    +
    +
    +template<typename T >
    + + + + + +
    + + + + + + + +
    bool Line< T >::isNotNull () const
    +
    +noexcept
    +
    +

    Return true if line is not null (start and end pos are different).

    + +
    +
    +
    The documentation for this class was generated from the following file: +
    + + + + diff --git a/singletonRectangle.html b/singletonRectangle.html new file mode 100644 index 00000000..0a88b703 --- /dev/null +++ b/singletonRectangle.html @@ -0,0 +1,1149 @@ + + + + + + +DISTRHO Plugin Framework: Rectangle< T > Class Template Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    DISTRHO Plugin Framework +
    +
    +
    + + + + + + + + + +
    + +
    + +
    +
    + +
    +
    Rectangle< T > Class Template Reference
    +
    +
    + +

    #include <Geometry.hpp>

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Public Member Functions

     Rectangle () noexcept
     
     Rectangle (const T &x, const T &y, const T &width, const T &height) noexcept
     
     Rectangle (const T &x, const T &y, const Size< T > &size) noexcept
     
     Rectangle (const Point< T > &pos, const T &width, const T &height) noexcept
     
     Rectangle (const Point< T > &pos, const Size< T > &size) noexcept
     
     Rectangle (const Rectangle< T > &rect) noexcept
     
    const T & getX () const noexcept
     
    const T & getY () const noexcept
     
    const T & getWidth () const noexcept
     
    const T & getHeight () const noexcept
     
    const Point< T > & getPos () const noexcept
     
    const Size< T > & getSize () const noexcept
     
    void setX (const T &x) noexcept
     
    void setY (const T &y) noexcept
     
    void setPos (const T &x, const T &y) noexcept
     
    void setPos (const Point< T > &pos) noexcept
     
    void moveBy (const T &x, const T &y) noexcept
     
    void moveBy (const Point< T > &pos) noexcept
     
    void setWidth (const T &width) noexcept
     
    void setHeight (const T &height) noexcept
     
    void setSize (const T &width, const T &height) noexcept
     
    void setSize (const Size< T > &size) noexcept
     
    void growBy (double multiplier) noexcept
     
    void shrinkBy (double divider) noexcept
     
    void setRectangle (const Point< T > &pos, const Size< T > &size) noexcept
     
    void setRectangle (const Rectangle< T > &rect) noexcept
     
    bool contains (const T &x, const T &y) const noexcept
     
    bool contains (const Point< T > &pos) const noexcept
     
    bool containsX (const T &x) const noexcept
     
    bool containsY (const T &y) const noexcept
     
    void draw ()
     
    void drawOutline ()
     
    +Rectangle< T > & operator= (const Rectangle< T > &rect) noexcept
     
    +Rectangle< T > & operator*= (double m) noexcept
     
    +Rectangle< T > & operator/= (double d) noexcept
     
    +bool operator== (const Rectangle< T > &size) const noexcept
     
    +bool operator!= (const Rectangle< T > &size) const noexcept
     
    +

    Detailed Description

    +

    template<typename T>
    +class Rectangle< T >

    + +

    DGL Rectangle class.

    +

    This class describes a rectangle, defined by a starting point and a size.

    +

    Constructor & Destructor Documentation

    + +
    +
    +
    +template<typename T>
    + + + + + +
    + + + + + + + +
    Rectangle< T >::Rectangle ()
    +
    +noexcept
    +
    +

    Constructor for a null rectangle.

    + +
    +
    + +
    +
    +
    +template<typename T>
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Rectangle< T >::Rectangle (const T & x,
    const T & y,
    const T & width,
    const T & height 
    )
    +
    +noexcept
    +
    +

    Constructor using custom X, Y, width and height values.

    + +
    +
    + +
    +
    +
    +template<typename T>
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    Rectangle< T >::Rectangle (const T & x,
    const T & y,
    const Size< T > & size 
    )
    +
    +noexcept
    +
    +

    Constructor using custom X, Y and size values.

    + +
    +
    + +
    +
    +
    +template<typename T>
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    Rectangle< T >::Rectangle (const Point< T > & pos,
    const T & width,
    const T & height 
    )
    +
    +noexcept
    +
    +

    Constructor using custom pos, width and height values.

    + +
    +
    + +
    +
    +
    +template<typename T>
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    Rectangle< T >::Rectangle (const Point< T > & pos,
    const Size< T > & size 
    )
    +
    +noexcept
    +
    +

    Constructor using custom position and size.

    + +
    +
    + +
    +
    +
    +template<typename T>
    + + + + + +
    + + + + + + + + +
    Rectangle< T >::Rectangle (const Rectangle< T > & rect)
    +
    +noexcept
    +
    +

    Constructor using another Rectangle class values.

    + +
    +
    +

    Member Function Documentation

    + +
    +
    +
    +template<typename T>
    + + + + + +
    + + + + + + + +
    const T& Rectangle< T >::getX () const
    +
    +noexcept
    +
    +

    Get X value.

    + +
    +
    + +
    +
    +
    +template<typename T>
    + + + + + +
    + + + + + + + +
    const T& Rectangle< T >::getY () const
    +
    +noexcept
    +
    +

    Get Y value.

    + +
    +
    + +
    +
    +
    +template<typename T>
    + + + + + +
    + + + + + + + +
    const T& Rectangle< T >::getWidth () const
    +
    +noexcept
    +
    +

    Get width.

    + +
    +
    + +
    +
    +
    +template<typename T>
    + + + + + +
    + + + + + + + +
    const T& Rectangle< T >::getHeight () const
    +
    +noexcept
    +
    +

    Get height.

    + +
    +
    + +
    +
    +
    +template<typename T>
    + + + + + +
    + + + + + + + +
    const Point<T>& Rectangle< T >::getPos () const
    +
    +noexcept
    +
    +

    Get position.

    + +
    +
    + +
    +
    +
    +template<typename T>
    + + + + + +
    + + + + + + + +
    const Size<T>& Rectangle< T >::getSize () const
    +
    +noexcept
    +
    +

    Get size.

    + +
    +
    + +
    +
    +
    +template<typename T>
    + + + + + +
    + + + + + + + + +
    void Rectangle< T >::setX (const T & x)
    +
    +noexcept
    +
    +

    Set X value as x.

    + +
    +
    + +
    +
    +
    +template<typename T>
    + + + + + +
    + + + + + + + + +
    void Rectangle< T >::setY (const T & y)
    +
    +noexcept
    +
    +

    Set Y value as y.

    + +
    +
    + +
    +
    +
    +template<typename T>
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    void Rectangle< T >::setPos (const T & x,
    const T & y 
    )
    +
    +noexcept
    +
    +

    Set X and Y values as x and y respectively.

    + +
    +
    + +
    +
    +
    +template<typename T>
    + + + + + +
    + + + + + + + + +
    void Rectangle< T >::setPos (const Point< T > & pos)
    +
    +noexcept
    +
    +

    Set X and Y values according to pos.

    + +
    +
    + +
    +
    +
    +template<typename T>
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    void Rectangle< T >::moveBy (const T & x,
    const T & y 
    )
    +
    +noexcept
    +
    +

    Move this rectangle by x and y values.

    + +
    +
    + +
    +
    +
    +template<typename T>
    + + + + + +
    + + + + + + + + +
    void Rectangle< T >::moveBy (const Point< T > & pos)
    +
    +noexcept
    +
    +

    Move this rectangle by pos.

    + +
    +
    + +
    +
    +
    +template<typename T>
    + + + + + +
    + + + + + + + + +
    void Rectangle< T >::setWidth (const T & width)
    +
    +noexcept
    +
    +

    Set width.

    + +
    +
    + +
    +
    +
    +template<typename T>
    + + + + + +
    + + + + + + + + +
    void Rectangle< T >::setHeight (const T & height)
    +
    +noexcept
    +
    +

    Set height.

    + +
    +
    + +
    +
    +
    +template<typename T>
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    void Rectangle< T >::setSize (const T & width,
    const T & height 
    )
    +
    +noexcept
    +
    +

    Set size using width and height.

    + +
    +
    + +
    +
    +
    +template<typename T>
    + + + + + +
    + + + + + + + + +
    void Rectangle< T >::setSize (const Size< T > & size)
    +
    +noexcept
    +
    +

    Set size.

    + +
    +
    + +
    +
    +
    +template<typename T>
    + + + + + +
    + + + + + + + + +
    void Rectangle< T >::growBy (double multiplier)
    +
    +noexcept
    +
    +

    Grow size by multiplier.

    + +
    +
    + +
    +
    +
    +template<typename T>
    + + + + + +
    + + + + + + + + +
    void Rectangle< T >::shrinkBy (double divider)
    +
    +noexcept
    +
    +

    Shrink size by divider.

    + +
    +
    + +
    +
    +
    +template<typename T>
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    void Rectangle< T >::setRectangle (const Point< T > & pos,
    const Size< T > & size 
    )
    +
    +noexcept
    +
    +

    Set rectangle using pos and size.

    + +
    +
    + +
    +
    +
    +template<typename T>
    + + + + + +
    + + + + + + + + +
    void Rectangle< T >::setRectangle (const Rectangle< T > & rect)
    +
    +noexcept
    +
    +

    Set rectangle.

    + +
    +
    + +
    +
    +
    +template<typename T>
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    bool Rectangle< T >::contains (const T & x,
    const T & y 
    ) const
    +
    +noexcept
    +
    +

    Check if this rectangle contains the point defined by X and Y.

    + +
    +
    + +
    +
    +
    +template<typename T>
    + + + + + +
    + + + + + + + + +
    bool Rectangle< T >::contains (const Point< T > & pos) const
    +
    +noexcept
    +
    +

    Check if this rectangle contains the point pos.

    + +
    +
    + +
    +
    +
    +template<typename T>
    + + + + + +
    + + + + + + + + +
    bool Rectangle< T >::containsX (const T & x) const
    +
    +noexcept
    +
    +

    Check if this rectangle contains X.

    + +
    +
    + +
    +
    +
    +template<typename T>
    + + + + + +
    + + + + + + + + +
    bool Rectangle< T >::containsY (const T & y) const
    +
    +noexcept
    +
    +

    Check if this rectangle contains Y.

    + +
    +
    + +
    +
    +
    +template<typename T>
    + + + + + + + +
    void Rectangle< T >::draw ()
    +
    +

    Draw this rectangle using the current OpenGL state.

    + +
    +
    + +
    +
    +
    +template<typename T>
    + + + + + + + +
    void Rectangle< T >::drawOutline ()
    +
    +

    Draw lines (outline of this rectangle) using the current OpenGL state.

    + +
    +
    +
    The documentation for this class was generated from the following file: +
    + + + + diff --git a/singletonTriangle.html b/singletonTriangle.html new file mode 100644 index 00000000..5e341b14 --- /dev/null +++ b/singletonTriangle.html @@ -0,0 +1,443 @@ + + + + + + +DISTRHO Plugin Framework: Triangle< T > Class Template Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    DISTRHO Plugin Framework +
    +
    +
    + + + + + + + + + +
    + +
    + +
    +
    + +
    +
    Triangle< T > Class Template Reference
    +
    +
    + +

    #include <Geometry.hpp>

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Public Member Functions

     Triangle () noexcept
     
     Triangle (const T &x1, const T &y1, const T &x2, const T &y2, const T &x3, const T &y3) noexcept
     
     Triangle (const Point< T > &pos1, const Point< T > &pos2, const Point< T > &pos3) noexcept
     
     Triangle (const Triangle< T > &tri) noexcept
     
    void draw ()
     
    void drawOutline ()
     
    bool isNull () const noexcept
     
    bool isNotNull () const noexcept
     
    bool isValid () const noexcept
     
    bool isInvalid () const noexcept
     
    +Triangle< T > & operator= (const Triangle< T > &tri) noexcept
     
    +bool operator== (const Triangle< T > &tri) const noexcept
     
    +bool operator!= (const Triangle< T > &tri) const noexcept
     
    +

    Detailed Description

    +

    template<typename T>
    +class Triangle< T >

    + +

    DGL Triangle class.

    +

    This class describes a triangle, defined by 3 points.

    +

    Constructor & Destructor Documentation

    + +
    +
    +
    +template<typename T >
    + + + + + +
    + + + + + + + +
    Triangle< T >::Triangle ()
    +
    +noexcept
    +
    +

    Constructor for a null triangle.

    + +
    +
    + +
    +
    +
    +template<typename T >
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Triangle< T >::Triangle (const T & x1,
    const T & y1,
    const T & x2,
    const T & y2,
    const T & x3,
    const T & y3 
    )
    +
    +noexcept
    +
    +

    Constructor using custom X and Y values.

    + +
    +
    + +
    +
    +
    +template<typename T >
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    Triangle< T >::Triangle (const Point< T > & pos1,
    const Point< T > & pos2,
    const Point< T > & pos3 
    )
    +
    +noexcept
    +
    +

    Constructor using custom position values.

    + +
    +
    + +
    +
    +
    +template<typename T >
    + + + + + +
    + + + + + + + + +
    Triangle< T >::Triangle (const Triangle< T > & tri)
    +
    +noexcept
    +
    +

    Constructor using another Triangle class values.

    + +
    +
    +

    Member Function Documentation

    + +
    +
    +
    +template<typename T >
    + + + + + + + +
    void Triangle< T >::draw ()
    +
    +

    Draw this triangle using the current OpenGL state.

    + +
    +
    + +
    +
    +
    +template<typename T >
    + + + + + + + +
    void Triangle< T >::drawOutline ()
    +
    +

    Draw lines (outline of this triangle) using the current OpenGL state.

    + +
    +
    + +
    +
    +
    +template<typename T >
    + + + + + +
    + + + + + + + +
    bool Triangle< T >::isNull () const
    +
    +noexcept
    +
    +

    Return true if triangle is null (all its points are equal). An null triangle is also invalid.

    + +
    +
    + +
    +
    +
    +template<typename T >
    + + + + + +
    + + + + + + + +
    bool Triangle< T >::isNotNull () const
    +
    +noexcept
    +
    +

    Return true if triangle is not null (one its points is different from the others). A non-null triangle is still invalid if two of its points are equal.

    + +
    +
    + +
    +
    +
    +template<typename T >
    + + + + + +
    + + + + + + + +
    bool Triangle< T >::isValid () const
    +
    +noexcept
    +
    +

    Return true if triangle is valid (all its points are different).

    + +
    +
    + +
    +
    +
    +template<typename T >
    + + + + + +
    + + + + + + + +
    bool Triangle< T >::isInvalid () const
    +
    +noexcept
    +
    +

    Return true if triangle is invalid (one or two of its points are equal). An invalid triangle might not be null under some circumstances.

    + +
    +
    +
    The documentation for this class was generated from the following file: +
    + + + + diff --git a/structAudioPort-members.html b/structAudioPort-members.html index b6c5ccbb..6a72879d 100644 --- a/structAudioPort-members.html +++ b/structAudioPort-members.html @@ -91,12 +91,12 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); - - + +
    AudioPort() noexceptAudioPortinline
    hintsAudioPort
    nameAudioPort
    symbolAudioPort
    nameAudioPort
    symbolAudioPort
    diff --git a/structAudioPort.html b/structAudioPort.html index 37ff9893..20f544e1 100644 --- a/structAudioPort.html +++ b/structAudioPort.html @@ -87,7 +87,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); Public Attributes | List of all members
    -
    AudioPort Struct Reference
    +
    AudioPort Struct Reference
    @@ -102,10 +102,10 @@ Public Member Functions
    uint32_t hints
     
    d_string name
     
    d_string symbol
     
    String name
     
    String symbol
     

    Detailed Description

    Audio Port.

    @@ -148,12 +148,12 @@ Public Attributes
    - +
    d_string AudioPort::nameString AudioPort::name
    @@ -161,12 +161,12 @@ Public Attributes
    - +
    d_string AudioPort::symbolString AudioPort::symbol
    @@ -180,7 +180,7 @@ Public Attributes
    + + + + + +
    +
    DISTRHO Plugin Framework +
    +
    +
    + + + + + + + + + +
    + +
    + +
    +
    +
    +
    Color Member List
    +
    +
    + +

    This is the complete list of members for Color, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + +
    alpha (defined in Color)Color
    blue (defined in Color)Color
    Color() noexceptColor
    Color(int red, int green, int blue, int alpha=255) noexceptColor
    Color(float red, float green, float blue, float alpha=1.0f) noexceptColor
    Color(const Color &color) noexceptColor
    Color(const Color &color1, const Color &color2, float u) noexceptColor
    Color(const NVGcolor &) noexcept (defined in Color)Color
    fixBounds() noexceptColor
    fromHSL(float hue, float saturation, float lightness, float alpha=1.0f)Colorstatic
    fromHTML(const char *rgb, float alpha=1.0f)Colorstatic
    green (defined in Color)Color
    interpolate(const Color &other, float u) noexceptColor
    isEqual(const Color &color, bool withAlpha=true) noexceptColor
    isNotEqual(const Color &color, bool withAlpha=true) noexcept (defined in Color)Color
    operator NVGcolor() const noexcept (defined in Color)Color
    operator!=(const Color &color) noexcept (defined in Color)Color
    operator=(const Color &color) noexcept (defined in Color)Color
    operator==(const Color &color) noexcept (defined in Color)Color
    red (defined in Color)Color
    rgba (defined in Color)Color
    + + + + diff --git a/structColor.html b/structColor.html new file mode 100644 index 00000000..f08ddcbf --- /dev/null +++ b/structColor.html @@ -0,0 +1,555 @@ + + + + + + +DISTRHO Plugin Framework: Color Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    DISTRHO Plugin Framework +
    +
    +
    + + + + + + + + + +
    + +
    + +
    + +
    + +

    #include <Color.hpp>

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Public Member Functions

     Color () noexcept
     
     Color (int red, int green, int blue, int alpha=255) noexcept
     
     Color (float red, float green, float blue, float alpha=1.0f) noexcept
     
     Color (const Color &color) noexcept
     
    +Coloroperator= (const Color &color) noexcept
     
     Color (const Color &color1, const Color &color2, float u) noexcept
     
    void interpolate (const Color &other, float u) noexcept
     
    bool isEqual (const Color &color, bool withAlpha=true) noexcept
     
    +bool isNotEqual (const Color &color, bool withAlpha=true) noexcept
     
    +bool operator== (const Color &color) noexcept
     
    +bool operator!= (const Color &color) noexcept
     
    void fixBounds () noexcept
     
    Color (const NVGcolor &) noexcept
     
    operator NVGcolor () const noexcept
     
    + + + + + +

    +Static Public Member Functions

    static Color fromHSL (float hue, float saturation, float lightness, float alpha=1.0f)
     
    static Color fromHTML (const char *rgb, float alpha=1.0f)
     
    + + + + + + + + + + + + + + + + + +

    +Public Attributes

    union {
    +   float   rgba [4]
     
    +   struct {
    +      float   red
     
    +      float   green
     
    +      float   blue
     
    +      float   alpha
     
       } 
     
    }; 
     
    +

    Detailed Description

    +

    A color made from red, green, blue and alpha floating-point values in [0..1] range.

    +

    Constructor & Destructor Documentation

    + +
    +
    + + + + + +
    + + + + + + + +
    Color::Color ()
    +
    +noexcept
    +
    +

    Create black color.

    + +
    +
    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Color::Color (int red,
    int green,
    int blue,
    int alpha = 255 
    )
    +
    +noexcept
    +
    +

    Create a color from red, green, blue and alpha numeric values. Values must be in [0..255] range.

    + +
    +
    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Color::Color (float red,
    float green,
    float blue,
    float alpha = 1.0f 
    )
    +
    +noexcept
    +
    +

    Create a color from red, green, blue and alpha floating-point values. Values must in [0..1] range.

    + +
    +
    + +
    +
    + + + + + +
    + + + + + + + + +
    Color::Color (const Colorcolor)
    +
    +noexcept
    +
    +

    Create a color by copying another color.

    + +
    +
    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    Color::Color (const Colorcolor1,
    const Colorcolor2,
    float u 
    )
    +
    +noexcept
    +
    +

    Create a color by linearly interpolating two other colors.

    + +
    +
    +

    Member Function Documentation

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    static Color Color::fromHSL (float hue,
    float saturation,
    float lightness,
    float alpha = 1.0f 
    )
    +
    +static
    +
    +

    Create a color specified by hue, saturation and lightness. Values must in [0..1] range.

    + +
    +
    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    static Color Color::fromHTML (const char * rgb,
    float alpha = 1.0f 
    )
    +
    +static
    +
    +

    Create a color from a HTML string like "#333" or "#112233".

    + +
    +
    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    void Color::interpolate (const Colorother,
    float u 
    )
    +
    +noexcept
    +
    +

    Linearly interpolate this color against another.

    + +
    +
    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    bool Color::isEqual (const Colorcolor,
    bool withAlpha = true 
    )
    +
    +noexcept
    +
    +

    Check if this color matches another.

    Note
    : Comparison is forced within 8-bit color values.
    + +
    +
    + +
    +
    + + + + + +
    + + + + + + + +
    void Color::fixBounds ()
    +
    +noexcept
    +
    +

    Fix color bounds if needed.

    + +
    +
    +

    Member Data Documentation

    + +
    +
    + + + + +
    union { ... }
    +
    +

    Direct access to the color values.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structContainerDeletePolicy-members.html b/structContainerDeletePolicy-members.html new file mode 100644 index 00000000..239401af --- /dev/null +++ b/structContainerDeletePolicy-members.html @@ -0,0 +1,101 @@ + + + + + + +DISTRHO Plugin Framework: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    DISTRHO Plugin Framework +
    +
    +
    + + + + + + + + + +
    + +
    + +
    +
    +
    +
    ContainerDeletePolicy< ObjectType > Member List
    +
    +
    + +

    This is the complete list of members for ContainerDeletePolicy< ObjectType >, including all inherited members.

    + + +
    destroy(ObjectType *const object) (defined in ContainerDeletePolicy< ObjectType >)ContainerDeletePolicy< ObjectType >inlinestatic
    + + + + diff --git a/structContainerDeletePolicy.html b/structContainerDeletePolicy.html new file mode 100644 index 00000000..59f31b77 --- /dev/null +++ b/structContainerDeletePolicy.html @@ -0,0 +1,118 @@ + + + + + + +DISTRHO Plugin Framework: ContainerDeletePolicy< ObjectType > Struct Template Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    DISTRHO Plugin Framework +
    +
    +
    + + + + + + + + + +
    + +
    + +
    +
    + +
    +
    ContainerDeletePolicy< ObjectType > Struct Template Reference
    +
    +
    + +

    #include <d_scopedpointer.hpp>

    + + + + +

    +Static Public Member Functions

    +static void destroy (ObjectType *const object)
     
    +

    Detailed Description

    +

    template<typename ObjectType>
    +struct ContainerDeletePolicy< ObjectType >

    + +

    Used by container classes as an indirect way to delete an object of a particular type.

    +

    The generic implementation of this class simply calls 'delete', but you can create a specialised version of it for a particular class if you need to delete that type of object in a more appropriate way.

    +

    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structMidiEvent-members.html b/structMidiEvent-members.html index 37aa538f..6a66f83b 100644 --- a/structMidiEvent-members.html +++ b/structMidiEvent-members.html @@ -97,7 +97,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
    diff --git a/structMidiEvent.html b/structMidiEvent.html index 006b0cc6..3f966189 100644 --- a/structMidiEvent.html +++ b/structMidiEvent.html @@ -87,7 +87,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); Static Public Attributes | List of all members
    -
    MidiEvent Struct Reference
    +
    MidiEvent Struct Reference
    @@ -130,7 +130,7 @@ Static Public Attributes
    -

    Size of internal data.

    +

    Size of internal data.

    @@ -179,7 +179,7 @@ Static Public Attributes
    + + + + + +
    +
    DISTRHO Plugin Framework +
    +
    +
    + + + + + + + + + +
    + +
    + + +
    +
    +
    +
    NanoVG::GlyphPosition Member List
    +
    +
    + +

    This is the complete list of members for NanoVG::GlyphPosition, including all inherited members.

    + + + + + +
    maxx (defined in NanoVG::GlyphPosition)NanoVG::GlyphPosition
    minx (defined in NanoVG::GlyphPosition)NanoVG::GlyphPosition
    str (defined in NanoVG::GlyphPosition)NanoVG::GlyphPosition
    x (defined in NanoVG::GlyphPosition)NanoVG::GlyphPosition
    + + + + diff --git a/structNanoVG_1_1GlyphPosition.html b/structNanoVG_1_1GlyphPosition.html new file mode 100644 index 00000000..e503d72f --- /dev/null +++ b/structNanoVG_1_1GlyphPosition.html @@ -0,0 +1,123 @@ + + + + + + +DISTRHO Plugin Framework: NanoVG::GlyphPosition Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    DISTRHO Plugin Framework +
    +
    +
    + + + + + + + + + +
    + +
    + + +
    +
    + +
    +
    NanoVG::GlyphPosition Struct Reference
    +
    +
    + + + + + + + + + + +

    +Public Attributes

    +const char * str
     
    +float x
     
    +float minx
     
    +float maxx
     
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structNanoVG_1_1Paint-members.html b/structNanoVG_1_1Paint-members.html new file mode 100644 index 00000000..354c0118 --- /dev/null +++ b/structNanoVG_1_1Paint-members.html @@ -0,0 +1,115 @@ + + + + + + +DISTRHO Plugin Framework: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    DISTRHO Plugin Framework +
    +
    +
    + + + + + + + + + +
    + +
    + + +
    +
    +
    +
    NanoVG::Paint Member List
    +
    +
    + +

    This is the complete list of members for NanoVG::Paint, including all inherited members.

    + + + + + + + + + + + + +
    extent (defined in NanoVG::Paint)NanoVG::Paint
    feather (defined in NanoVG::Paint)NanoVG::Paint
    imageId (defined in NanoVG::Paint)NanoVG::Paint
    innerColor (defined in NanoVG::Paint)NanoVG::Paint
    operator NVGpaint() const noexcept (defined in NanoVG::Paint)NanoVG::Paint
    outerColor (defined in NanoVG::Paint)NanoVG::Paint
    Paint() noexcept (defined in NanoVG::Paint)NanoVG::Paint
    Paint(const NVGpaint &) noexcept (defined in NanoVG::Paint)NanoVG::Paint
    radius (defined in NanoVG::Paint)NanoVG::Paint
    repeat (defined in NanoVG::Paint)NanoVG::Paint
    xform (defined in NanoVG::Paint)NanoVG::Paint
    + + + + diff --git a/structNanoVG_1_1Paint.html b/structNanoVG_1_1Paint.html new file mode 100644 index 00000000..d3b58f90 --- /dev/null +++ b/structNanoVG_1_1Paint.html @@ -0,0 +1,145 @@ + + + + + + +DISTRHO Plugin Framework: NanoVG::Paint Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    DISTRHO Plugin Framework +
    +
    +
    + + + + + + + + + +
    + +
    + + +
    +
    + +
    +
    NanoVG::Paint Struct Reference
    +
    +
    + + + + + + +

    +Public Member Functions

    Paint (const NVGpaint &) noexcept
     
    operator NVGpaint () const noexcept
     
    + + + + + + + + + + + + + + + + + +

    +Public Attributes

    +float xform [6]
     
    +float extent [2]
     
    +float radius
     
    +float feather
     
    +Color innerColor
     
    +Color outerColor
     
    +int imageId
     
    +PatternRepeat repeat
     
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structNanoVG_1_1TextRow-members.html b/structNanoVG_1_1TextRow-members.html new file mode 100644 index 00000000..6b0b4961 --- /dev/null +++ b/structNanoVG_1_1TextRow-members.html @@ -0,0 +1,110 @@ + + + + + + +DISTRHO Plugin Framework: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    DISTRHO Plugin Framework +
    +
    +
    + + + + + + + + + +
    + +
    + + +
    +
    +
    +
    NanoVG::TextRow Member List
    +
    +
    + +

    This is the complete list of members for NanoVG::TextRow, including all inherited members.

    + + + + + + + +
    end (defined in NanoVG::TextRow)NanoVG::TextRow
    maxx (defined in NanoVG::TextRow)NanoVG::TextRow
    minx (defined in NanoVG::TextRow)NanoVG::TextRow
    next (defined in NanoVG::TextRow)NanoVG::TextRow
    start (defined in NanoVG::TextRow)NanoVG::TextRow
    width (defined in NanoVG::TextRow)NanoVG::TextRow
    + + + + diff --git a/structNanoVG_1_1TextRow.html b/structNanoVG_1_1TextRow.html new file mode 100644 index 00000000..508b551d --- /dev/null +++ b/structNanoVG_1_1TextRow.html @@ -0,0 +1,129 @@ + + + + + + +DISTRHO Plugin Framework: NanoVG::TextRow Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    DISTRHO Plugin Framework +
    +
    +
    + + + + + + + + + +
    + +
    + + +
    +
    + +
    +
    NanoVG::TextRow Struct Reference
    +
    +
    + + + + + + + + + + + + + + +

    +Public Attributes

    +const char * start
     
    +const char * end
     
    +const char * next
     
    +float width
     
    +float minx
     
    +float maxx
     
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structParameter-members.html b/structParameter-members.html index ecbf3d88..8768922e 100644 --- a/structParameter-members.html +++ b/structParameter-members.html @@ -90,15 +90,15 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');

    This is the complete list of members for Parameter, including all inherited members.

    - + - - + +
    hintsParameter
    nameParameter
    nameParameter
    Parameter() noexceptParameterinline
    rangesParameter
    symbolParameter
    unitParameter
    symbolParameter
    unitParameter
    diff --git a/structParameter.html b/structParameter.html index 4539e332..41ec6e79 100644 --- a/structParameter.html +++ b/structParameter.html @@ -87,7 +87,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); Public Attributes | List of all members
    -
    Parameter Struct Reference
    +
    Parameter Struct Reference
    @@ -102,12 +102,12 @@ Public Member Functions
    uint32_t hints
     
    d_string name
     
    d_string symbol
     
    d_string unit
     
    String name
     
    String symbol
     
    String unit
     
    ParameterRanges ranges
     
    @@ -152,12 +152,12 @@ Public Attributes
    - +
    d_string Parameter::nameString Parameter::name
    @@ -165,12 +165,12 @@ Public Attributes
    - +
    d_string Parameter::symbolString Parameter::symbol
    @@ -178,12 +178,12 @@ Public Attributes
    - +
    d_string Parameter::unitString Parameter::unit
    @@ -210,7 +210,7 @@ Public Attributes
    diff --git a/structParameterRanges.html b/structParameterRanges.html index e927a1bf..5122216c 100644 --- a/structParameterRanges.html +++ b/structParameterRanges.html @@ -87,7 +87,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); Public Attributes | List of all members
    -
    ParameterRanges Struct Reference
    +
    ParameterRanges Struct Reference
    @@ -386,7 +386,7 @@ Public Attributes
    diff --git a/structTimePosition.html b/structTimePosition.html index b3c6523a..0a19f868 100644 --- a/structTimePosition.html +++ b/structTimePosition.html @@ -88,7 +88,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); Public Attributes | List of all members
    -
    TimePosition Struct Reference
    +
    TimePosition Struct Reference
    @@ -175,7 +175,7 @@ struct TimePosition:
    diff --git a/structTimePosition_1_1BarBeatTick-members.html b/structTimePosition_1_1BarBeatTick-members.html index 33b075d5..f2994be8 100644 --- a/structTimePosition_1_1BarBeatTick-members.html +++ b/structTimePosition_1_1BarBeatTick-members.html @@ -106,7 +106,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
    diff --git a/structTimePosition_1_1BarBeatTick.html b/structTimePosition_1_1BarBeatTick.html index 3fad5e42..0f75c372 100644 --- a/structTimePosition_1_1BarBeatTick.html +++ b/structTimePosition_1_1BarBeatTick.html @@ -91,7 +91,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); Public Attributes | List of all members
    -
    TimePosition::BarBeatTick Struct Reference
    +
    TimePosition::BarBeatTick Struct Reference
    @@ -274,7 +274,7 @@ Public Attributes
    + + + + + +
    +
    DISTRHO Plugin Framework +
    +
    + + + + + + + + + + +
    + +
    + + + +
    +
    +
    Widget::BaseEvent Member List
    +
    +
    + +

    This is the complete list of members for Widget::BaseEvent, including all inherited members.

    + + + + + +
    BaseEvent() noexceptWidget::BaseEventinline
    mod (defined in Widget::BaseEvent)Widget::BaseEvent
    time (defined in Widget::BaseEvent)Widget::BaseEvent
    ~BaseEvent() noexceptWidget::BaseEventinlinevirtual
    + + + + diff --git a/structWidget_1_1BaseEvent.html b/structWidget_1_1BaseEvent.html new file mode 100644 index 00000000..5290b06d --- /dev/null +++ b/structWidget_1_1BaseEvent.html @@ -0,0 +1,191 @@ + + + + + + +DISTRHO Plugin Framework: Widget::BaseEvent Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    DISTRHO Plugin Framework +
    +
    +
    + + + + + + + + + +
    + +
    + + +
    +
    + +
    +
    Widget::BaseEvent Struct Reference
    +
    +
    + +

    #include <Widget.hpp>

    +
    +Inheritance diagram for Widget::BaseEvent:
    +
    +
    + + +Widget::KeyboardEvent +Widget::MotionEvent +Widget::MouseEvent +Widget::ScrollEvent +Widget::SpecialEvent + +
    + + + + + + +

    +Public Member Functions

     BaseEvent () noexcept
     
    virtual ~BaseEvent () noexcept
     
    + + + + + +

    +Public Attributes

    +uint mod
     
    +uint32_t time
     
    +

    Detailed Description

    +

    Base event data. mod The currently active keyboard modifiers,

    See also
    Modifier. time The timestamp (if any).
    +

    Constructor & Destructor Documentation

    + +
    +
    + + + + + +
    + + + + + + + +
    Widget::BaseEvent::BaseEvent ()
    +
    +inlinenoexcept
    +
    +

    Constuctor

    + +
    +
    + +
    +
    + + + + + +
    + + + + + + + +
    virtual Widget::BaseEvent::~BaseEvent ()
    +
    +inlinevirtualnoexcept
    +
    +

    Destuctor

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structWidget_1_1BaseEvent.png b/structWidget_1_1BaseEvent.png new file mode 100644 index 00000000..542e6311 Binary files /dev/null and b/structWidget_1_1BaseEvent.png differ diff --git a/structWidget_1_1KeyboardEvent-members.html b/structWidget_1_1KeyboardEvent-members.html new file mode 100644 index 00000000..4b4a17e8 --- /dev/null +++ b/structWidget_1_1KeyboardEvent-members.html @@ -0,0 +1,111 @@ + + + + + + +DISTRHO Plugin Framework: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    DISTRHO Plugin Framework +
    +
    +
    + + + + + + + + + +
    + +
    + + +
    +
    +
    +
    Widget::KeyboardEvent Member List
    +
    +
    + +

    This is the complete list of members for Widget::KeyboardEvent, including all inherited members.

    + + + + + + + + +
    BaseEvent() noexceptWidget::BaseEventinline
    key (defined in Widget::KeyboardEvent)Widget::KeyboardEvent
    KeyboardEvent() noexceptWidget::KeyboardEventinline
    mod (defined in Widget::BaseEvent)Widget::BaseEvent
    press (defined in Widget::KeyboardEvent)Widget::KeyboardEvent
    time (defined in Widget::BaseEvent)Widget::BaseEvent
    ~BaseEvent() noexceptWidget::BaseEventinlinevirtual
    + + + + diff --git a/structWidget_1_1KeyboardEvent.html b/structWidget_1_1KeyboardEvent.html new file mode 100644 index 00000000..be0b3fa5 --- /dev/null +++ b/structWidget_1_1KeyboardEvent.html @@ -0,0 +1,173 @@ + + + + + + +DISTRHO Plugin Framework: Widget::KeyboardEvent Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    DISTRHO Plugin Framework +
    +
    +
    + + + + + + + + + +
    + +
    + + +
    +
    + +
    +
    Widget::KeyboardEvent Struct Reference
    +
    +
    + +

    #include <Widget.hpp>

    +
    +Inheritance diagram for Widget::KeyboardEvent:
    +
    +
    + + +Widget::BaseEvent + +
    + + + + + + + + + +

    +Public Member Functions

     KeyboardEvent () noexcept
     
    - Public Member Functions inherited from Widget::BaseEvent
     BaseEvent () noexcept
     
    virtual ~BaseEvent () noexcept
     
    + + + + + + + + + + +

    +Public Attributes

    +bool press
     
    +uint key
     
    - Public Attributes inherited from Widget::BaseEvent
    +uint mod
     
    +uint32_t time
     
    +

    Detailed Description

    +

    Keyboard event. press True if the key was pressed, false if released. key Unicode point of the key pressed.

    See also
    onKeyboard
    +

    Constructor & Destructor Documentation

    + +
    +
    + + + + + +
    + + + + + + + +
    Widget::KeyboardEvent::KeyboardEvent ()
    +
    +inlinenoexcept
    +
    +

    Constuctor

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structWidget_1_1KeyboardEvent.png b/structWidget_1_1KeyboardEvent.png new file mode 100644 index 00000000..492eccdf Binary files /dev/null and b/structWidget_1_1KeyboardEvent.png differ diff --git a/structWidget_1_1MotionEvent-members.html b/structWidget_1_1MotionEvent-members.html new file mode 100644 index 00000000..15fb2a97 --- /dev/null +++ b/structWidget_1_1MotionEvent-members.html @@ -0,0 +1,110 @@ + + + + + + +DISTRHO Plugin Framework: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    DISTRHO Plugin Framework +
    +
    +
    + + + + + + + + + +
    + +
    + + +
    +
    +
    +
    Widget::MotionEvent Member List
    +
    +
    + +

    This is the complete list of members for Widget::MotionEvent, including all inherited members.

    + + + + + + + +
    BaseEvent() noexceptWidget::BaseEventinline
    mod (defined in Widget::BaseEvent)Widget::BaseEvent
    MotionEvent() noexceptWidget::MotionEventinline
    pos (defined in Widget::MotionEvent)Widget::MotionEvent
    time (defined in Widget::BaseEvent)Widget::BaseEvent
    ~BaseEvent() noexceptWidget::BaseEventinlinevirtual
    + + + + diff --git a/structWidget_1_1MotionEvent.html b/structWidget_1_1MotionEvent.html new file mode 100644 index 00000000..01bf3b35 --- /dev/null +++ b/structWidget_1_1MotionEvent.html @@ -0,0 +1,170 @@ + + + + + + +DISTRHO Plugin Framework: Widget::MotionEvent Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    DISTRHO Plugin Framework +
    +
    +
    + + + + + + + + + +
    + +
    + + +
    +
    + +
    +
    Widget::MotionEvent Struct Reference
    +
    +
    + +

    #include <Widget.hpp>

    +
    +Inheritance diagram for Widget::MotionEvent:
    +
    +
    + + +Widget::BaseEvent + +
    + + + + + + + + + +

    +Public Member Functions

     MotionEvent () noexcept
     
    - Public Member Functions inherited from Widget::BaseEvent
     BaseEvent () noexcept
     
    virtual ~BaseEvent () noexcept
     
    + + + + + + + + +

    +Public Attributes

    +Point< int > pos
     
    - Public Attributes inherited from Widget::BaseEvent
    +uint mod
     
    +uint32_t time
     
    +

    Detailed Description

    +

    Mouse motion event. pos The widget-relative coordinates of the pointer.

    See also
    onMotion
    +

    Constructor & Destructor Documentation

    + +
    +
    + + + + + +
    + + + + + + + +
    Widget::MotionEvent::MotionEvent ()
    +
    +inlinenoexcept
    +
    +

    Constuctor

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structWidget_1_1MotionEvent.png b/structWidget_1_1MotionEvent.png new file mode 100644 index 00000000..5db37e5f Binary files /dev/null and b/structWidget_1_1MotionEvent.png differ diff --git a/structWidget_1_1MouseEvent-members.html b/structWidget_1_1MouseEvent-members.html new file mode 100644 index 00000000..9e8025ad --- /dev/null +++ b/structWidget_1_1MouseEvent-members.html @@ -0,0 +1,112 @@ + + + + + + +DISTRHO Plugin Framework: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    DISTRHO Plugin Framework +
    +
    +
    + + + + + + + + + +
    + +
    + + +
    +
    +
    +
    Widget::MouseEvent Member List
    +
    +
    + +

    This is the complete list of members for Widget::MouseEvent, including all inherited members.

    + + + + + + + + + +
    BaseEvent() noexceptWidget::BaseEventinline
    button (defined in Widget::MouseEvent)Widget::MouseEvent
    mod (defined in Widget::BaseEvent)Widget::BaseEvent
    MouseEvent() noexceptWidget::MouseEventinline
    pos (defined in Widget::MouseEvent)Widget::MouseEvent
    press (defined in Widget::MouseEvent)Widget::MouseEvent
    time (defined in Widget::BaseEvent)Widget::BaseEvent
    ~BaseEvent() noexceptWidget::BaseEventinlinevirtual
    + + + + diff --git a/structWidget_1_1MouseEvent.html b/structWidget_1_1MouseEvent.html new file mode 100644 index 00000000..3dfd78da --- /dev/null +++ b/structWidget_1_1MouseEvent.html @@ -0,0 +1,176 @@ + + + + + + +DISTRHO Plugin Framework: Widget::MouseEvent Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    DISTRHO Plugin Framework +
    +
    +
    + + + + + + + + + +
    + +
    + + +
    +
    + +
    +
    Widget::MouseEvent Struct Reference
    +
    +
    + +

    #include <Widget.hpp>

    +
    +Inheritance diagram for Widget::MouseEvent:
    +
    +
    + + +Widget::BaseEvent + +
    + + + + + + + + + +

    +Public Member Functions

     MouseEvent () noexcept
     
    - Public Member Functions inherited from Widget::BaseEvent
     BaseEvent () noexcept
     
    virtual ~BaseEvent () noexcept
     
    + + + + + + + + + + + + +

    +Public Attributes

    +int button
     
    +bool press
     
    +Point< int > pos
     
    - Public Attributes inherited from Widget::BaseEvent
    +uint mod
     
    +uint32_t time
     
    +

    Detailed Description

    +

    Mouse event. button The button number (1 = left, 2 = middle, 3 = right). press True if the key was pressed, false if released. pos The widget-relative coordinates of the pointer.

    See also
    onMouse
    +

    Constructor & Destructor Documentation

    + +
    +
    + + + + + +
    + + + + + + + +
    Widget::MouseEvent::MouseEvent ()
    +
    +inlinenoexcept
    +
    +

    Constuctor

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structWidget_1_1MouseEvent.png b/structWidget_1_1MouseEvent.png new file mode 100644 index 00000000..595804a3 Binary files /dev/null and b/structWidget_1_1MouseEvent.png differ diff --git a/structWidget_1_1ResizeEvent-members.html b/structWidget_1_1ResizeEvent-members.html new file mode 100644 index 00000000..8bb9a467 --- /dev/null +++ b/structWidget_1_1ResizeEvent-members.html @@ -0,0 +1,107 @@ + + + + + + +DISTRHO Plugin Framework: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    DISTRHO Plugin Framework +
    +
    +
    + + + + + + + + + +
    + +
    + + +
    +
    +
    +
    Widget::ResizeEvent Member List
    +
    +
    + +

    This is the complete list of members for Widget::ResizeEvent, including all inherited members.

    + + + + +
    oldSize (defined in Widget::ResizeEvent)Widget::ResizeEvent
    ResizeEvent() noexceptWidget::ResizeEventinline
    size (defined in Widget::ResizeEvent)Widget::ResizeEvent
    + + + + diff --git a/structWidget_1_1ResizeEvent.html b/structWidget_1_1ResizeEvent.html new file mode 100644 index 00000000..a21e83af --- /dev/null +++ b/structWidget_1_1ResizeEvent.html @@ -0,0 +1,152 @@ + + + + + + +DISTRHO Plugin Framework: Widget::ResizeEvent Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    DISTRHO Plugin Framework +
    +
    +
    + + + + + + + + + +
    + +
    + + +
    +
    + +
    +
    Widget::ResizeEvent Struct Reference
    +
    +
    + +

    #include <Widget.hpp>

    + + + + +

    +Public Member Functions

     ResizeEvent () noexcept
     
    + + + + + +

    +Public Attributes

    +Size< uint > size
     
    +Size< uint > oldSize
     
    +

    Detailed Description

    +

    Resize event. size The new widget size. oldSize The previous size, may be null.

    See also
    onResize
    +

    Constructor & Destructor Documentation

    + +
    +
    + + + + + +
    + + + + + + + +
    Widget::ResizeEvent::ResizeEvent ()
    +
    +inlinenoexcept
    +
    +

    Constuctor

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structWidget_1_1ScrollEvent-members.html b/structWidget_1_1ScrollEvent-members.html new file mode 100644 index 00000000..228d78bf --- /dev/null +++ b/structWidget_1_1ScrollEvent-members.html @@ -0,0 +1,111 @@ + + + + + + +DISTRHO Plugin Framework: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    DISTRHO Plugin Framework +
    +
    +
    + + + + + + + + + +
    + +
    + + +
    +
    +
    +
    Widget::ScrollEvent Member List
    +
    +
    + +

    This is the complete list of members for Widget::ScrollEvent, including all inherited members.

    + + + + + + + + +
    BaseEvent() noexceptWidget::BaseEventinline
    delta (defined in Widget::ScrollEvent)Widget::ScrollEvent
    mod (defined in Widget::BaseEvent)Widget::BaseEvent
    pos (defined in Widget::ScrollEvent)Widget::ScrollEvent
    ScrollEvent() noexceptWidget::ScrollEventinline
    time (defined in Widget::BaseEvent)Widget::BaseEvent
    ~BaseEvent() noexceptWidget::BaseEventinlinevirtual
    + + + + diff --git a/structWidget_1_1ScrollEvent.html b/structWidget_1_1ScrollEvent.html new file mode 100644 index 00000000..db4602b5 --- /dev/null +++ b/structWidget_1_1ScrollEvent.html @@ -0,0 +1,173 @@ + + + + + + +DISTRHO Plugin Framework: Widget::ScrollEvent Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    DISTRHO Plugin Framework +
    +
    +
    + + + + + + + + + +
    + +
    + + +
    +
    + +
    +
    Widget::ScrollEvent Struct Reference
    +
    +
    + +

    #include <Widget.hpp>

    +
    +Inheritance diagram for Widget::ScrollEvent:
    +
    +
    + + +Widget::BaseEvent + +
    + + + + + + + + + +

    +Public Member Functions

     ScrollEvent () noexcept
     
    - Public Member Functions inherited from Widget::BaseEvent
     BaseEvent () noexcept
     
    virtual ~BaseEvent () noexcept
     
    + + + + + + + + + + +

    +Public Attributes

    +Point< int > pos
     
    +Point< float > delta
     
    - Public Attributes inherited from Widget::BaseEvent
    +uint mod
     
    +uint32_t time
     
    +

    Detailed Description

    +

    Mouse scroll event. pos The widget-relative coordinates of the pointer. delta The scroll distance.

    See also
    onScroll
    +

    Constructor & Destructor Documentation

    + +
    +
    + + + + + +
    + + + + + + + +
    Widget::ScrollEvent::ScrollEvent ()
    +
    +inlinenoexcept
    +
    +

    Constuctor

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structWidget_1_1ScrollEvent.png b/structWidget_1_1ScrollEvent.png new file mode 100644 index 00000000..8f5b49c8 Binary files /dev/null and b/structWidget_1_1ScrollEvent.png differ diff --git a/structWidget_1_1SpecialEvent-members.html b/structWidget_1_1SpecialEvent-members.html new file mode 100644 index 00000000..4fbab564 --- /dev/null +++ b/structWidget_1_1SpecialEvent-members.html @@ -0,0 +1,111 @@ + + + + + + +DISTRHO Plugin Framework: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    DISTRHO Plugin Framework +
    +
    +
    + + + + + + + + + +
    + +
    + + +
    +
    +
    +
    Widget::SpecialEvent Member List
    +
    +
    + +

    This is the complete list of members for Widget::SpecialEvent, including all inherited members.

    + + + + + + + + +
    BaseEvent() noexceptWidget::BaseEventinline
    key (defined in Widget::SpecialEvent)Widget::SpecialEvent
    mod (defined in Widget::BaseEvent)Widget::BaseEvent
    press (defined in Widget::SpecialEvent)Widget::SpecialEvent
    SpecialEvent() noexceptWidget::SpecialEventinline
    time (defined in Widget::BaseEvent)Widget::BaseEvent
    ~BaseEvent() noexceptWidget::BaseEventinlinevirtual
    + + + + diff --git a/structWidget_1_1SpecialEvent.html b/structWidget_1_1SpecialEvent.html new file mode 100644 index 00000000..d65516b7 --- /dev/null +++ b/structWidget_1_1SpecialEvent.html @@ -0,0 +1,173 @@ + + + + + + +DISTRHO Plugin Framework: Widget::SpecialEvent Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    DISTRHO Plugin Framework +
    +
    +
    + + + + + + + + + +
    + +
    + + +
    +
    + +
    +
    Widget::SpecialEvent Struct Reference
    +
    +
    + +

    #include <Widget.hpp>

    +
    +Inheritance diagram for Widget::SpecialEvent:
    +
    +
    + + +Widget::BaseEvent + +
    + + + + + + + + + +

    +Public Member Functions

     SpecialEvent () noexcept
     
    - Public Member Functions inherited from Widget::BaseEvent
     BaseEvent () noexcept
     
    virtual ~BaseEvent () noexcept
     
    + + + + + + + + + + +

    +Public Attributes

    +bool press
     
    +Key key
     
    - Public Attributes inherited from Widget::BaseEvent
    +uint mod
     
    +uint32_t time
     
    +

    Detailed Description

    +

    Special keyboard event. press True if the key was pressed, false if released. key The key pressed.

    See also
    onSpecial
    +

    Constructor & Destructor Documentation

    + +
    +
    + + + + + +
    + + + + + + + +
    Widget::SpecialEvent::SpecialEvent ()
    +
    +inlinenoexcept
    +
    +

    Constuctor

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structWidget_1_1SpecialEvent.png b/structWidget_1_1SpecialEvent.png new file mode 100644 index 00000000..11f3e669 Binary files /dev/null and b/structWidget_1_1SpecialEvent.png differ diff --git a/structWindow_1_1FileBrowserOptions-members.html b/structWindow_1_1FileBrowserOptions-members.html new file mode 100644 index 00000000..fb28bdf9 --- /dev/null +++ b/structWindow_1_1FileBrowserOptions-members.html @@ -0,0 +1,110 @@ + + + + + + +DISTRHO Plugin Framework: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    DISTRHO Plugin Framework +
    +
    +
    + + + + + + + + + +
    + +
    + + +
    +
    +
    +
    Window::FileBrowserOptions Member List
    +
    + + + + + diff --git a/structWindow_1_1FileBrowserOptions.html b/structWindow_1_1FileBrowserOptions.html new file mode 100644 index 00000000..5264e959 --- /dev/null +++ b/structWindow_1_1FileBrowserOptions.html @@ -0,0 +1,168 @@ + + + + + + +DISTRHO Plugin Framework: Window::FileBrowserOptions Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    DISTRHO Plugin Framework +
    +
    +
    + + + + + + + + + +
    + +
    + + +
    +
    + +
    +
    Window::FileBrowserOptions Struct Reference
    +
    +
    + +

    #include <Window.hpp>

    + + + + +

    +Classes

    struct  Buttons
     
    + + + +

    +Public Member Functions

     FileBrowserOptions ()
     
    + + + + + + + + + + + +

    +Public Attributes

    +const char * startDir
     
    +const char * title
     
    +uint width
     
    +uint height
     
    +struct
    +Window::FileBrowserOptions::Buttons 
    buttons
     
    +

    Detailed Description

    +

    File browser options.

    +

    Constructor & Destructor Documentation

    + +
    +
    + + + + + +
    + + + + + + + +
    Window::FileBrowserOptions::FileBrowserOptions ()
    +
    +inline
    +
    +

    Constuctor for default values

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structWindow_1_1FileBrowserOptions_1_1Buttons-members.html b/structWindow_1_1FileBrowserOptions_1_1Buttons-members.html new file mode 100644 index 00000000..3edf6ad6 --- /dev/null +++ b/structWindow_1_1FileBrowserOptions_1_1Buttons-members.html @@ -0,0 +1,108 @@ + + + + + + +DISTRHO Plugin Framework: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    DISTRHO Plugin Framework +
    +
    +
    + + + + + + + + + +
    + +
    + + +
    +
    +
    +
    Window::FileBrowserOptions::Buttons Member List
    +
    + + + + + diff --git a/structWindow_1_1FileBrowserOptions_1_1Buttons.html b/structWindow_1_1FileBrowserOptions_1_1Buttons.html new file mode 100644 index 00000000..06209a97 --- /dev/null +++ b/structWindow_1_1FileBrowserOptions_1_1Buttons.html @@ -0,0 +1,156 @@ + + + + + + +DISTRHO Plugin Framework: Window::FileBrowserOptions::Buttons Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    DISTRHO Plugin Framework +
    +
    +
    + + + + + + + + + +
    + +
    + + +
    +
    + +
    +
    Window::FileBrowserOptions::Buttons Struct Reference
    +
    +
    + +

    #include <Window.hpp>

    + + + + +

    +Public Member Functions

     Buttons ()
     
    + + + + + + + +

    +Public Attributes

    +uint listAllFiles
     
    +uint showHidden
     
    +uint showPlaces
     
    +

    Detailed Description

    +

    File browser buttons.

    +

    0 means hidden. 1 means visible and unchecked. 2 means visible and checked.

    +

    Constructor & Destructor Documentation

    + +
    +
    + + + + + +
    + + + + + + + +
    Window::FileBrowserOptions::Buttons::Buttons ()
    +
    +inline
    +
    +

    Constuctor for default values

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + +