From 2c0f450169ed2637668e2cdd13f8b7564e878ed8 Mon Sep 17 00:00:00 2001 From: falkTX Date: Sun, 26 Apr 2015 14:50:04 +0200 Subject: [PATCH] Update --- App_8hpp_source.html | 197 ++ Base_8hpp_source.html | 286 ++ Color_8hpp_source.html | 217 ++ DistrhoInfo_8hpp_source.html | 350 ++ DistrhoPlugin_8hpp_source.html | 1630 +++++----- DistrhoUI_8hpp_source.html | 347 +- DistrhoUtils_8hpp_source.html | 314 +- Geometry_8hpp_source.html | 892 ++++++ ImageAboutWindow_8hpp_source.html | 161 + ImageButton_8hpp_source.html | 175 + ImageKnob_8hpp_source.html | 216 ++ ImageSlider_8hpp_source.html | 208 ++ ImageSwitch_8hpp_source.html | 171 + Image_8hpp_source.html | 260 ++ NanoVG_8hpp_source.html | 993 ++++++ StandaloneWindow_8hpp_source.html | 187 ++ Widget_8hpp_source.html | 539 ++++ Window_8hpp_source.html | 242 ++ annotated.html | 66 +- classApp-members.html | 107 + classApp.html | 247 ++ classApp.png | Bin 0 -> 470 bytes classCircle-members.html | 120 + classIdleCallback-members.html | 102 + classIdleCallback.html | 114 + classImage-members.html | 120 + classImage.html | 620 ++++ classImageAboutWindow-members.html | 171 + classImageAboutWindow.html | 380 +++ classImageAboutWindow.png | Bin 0 -> 686 bytes classImageButton-members.html | 143 + classImageButton.html | 302 ++ classImageButton.png | Bin 0 -> 440 bytes classImageButton_1_1Callback-members.html | 106 + classImageButton_1_1Callback.html | 114 + classImageKnob-members.html | 154 + classImageKnob.html | 358 +++ classImageKnob.png | Bin 0 -> 433 bytes classImageKnob_1_1Callback-members.html | 108 + classImageKnob_1_1Callback.html | 120 + classImageSlider-members.html | 150 + classImageSlider.html | 323 ++ classImageSlider.png | Bin 0 -> 444 bytes classImageSlider_1_1Callback-members.html | 108 + classImageSlider_1_1Callback.html | 120 + classImageSwitch-members.html | 143 + classImageSwitch.html | 275 ++ classImageSwitch.png | Bin 0 -> 456 bytes classImageSwitch_1_1Callback-members.html | 106 + classImageSwitch_1_1Callback.html | 114 + classLeakedObjectDetector-members.html | 103 + classLeakedObjectDetector.html | 151 + classLine-members.html | 128 + classMutex-members.html | 105 + classMutex.html | 116 + classNanoImage-members.html | 105 + classNanoImage.html | 225 ++ classNanoVG-members.html | 211 ++ classNanoVG.html | 2827 +++++++++++++++++ classNanoVG.png | Bin 0 -> 450 bytes classNanoWidget-members.html | 248 ++ classNanoWidget.html | 467 +++ classNanoWidget.png | Bin 0 -> 624 bytes classPlugin-members.html | 54 +- classPlugin.html | 247 +- classPoint-members.html | 124 + classPoint.html | 560 ++++ classRectangle-members.html | 137 + classRecursiveMutex-members.html | 105 + classRecursiveMutex.html | 116 + classScopedLocker-members.html | 102 + classScopedLocker.html | 110 + classScopedPointer-members.html | 112 + classScopedPointer.html | 467 +++ classScopedUnlocker-members.html | 102 + classScopedUnlocker.html | 110 + classSize-members.html | 125 + classSize.html | 600 ++++ classStandaloneWindow-members.html | 139 + classStandaloneWindow.html | 232 ++ classStandaloneWindow.png | Bin 0 -> 658 bytes classThread-members.html | 110 + classThread.html | 142 + classTriangle-members.html | 113 + classUI-members.html | 34 +- classUI.html | 114 +- classWidget-members.html | 138 + classWidget.html | 1137 +++++++ classWidget.png | Bin 0 -> 1437 bytes classWindow-members.html | 135 + classWindow.html | 233 ++ classWindow.png | Bin 0 -> 714 bytes classd__string-members.html | 147 + classd__string.html | 242 ++ classes.html | 47 +- d__leakdetector_8hpp_source.html | 241 ++ d__mutex_8hpp_source.html | 332 ++ d__scopedpointer_8hpp_source.html | 357 +++ d__sleep_8hpp_source.html | 160 + d__string_8hpp_source.html | 849 +++++ d__thread_8hpp_source.html | 393 +++ dir_37257469cca17bab24b582e18a78eb75.html | 9 +- dir_99893ac99dd47c2a73745483a12a725f.html | 125 + dir_b1be46be7d80596b116b2b4ac973f2f0.html | 109 + doxygen_sqlite3.db | Bin 134144 -> 3686400 bytes files.html | 35 +- functions.html | 332 +- functions_b.html | 173 + functions_c.html | 171 + functions_d.html | 158 + functions_e.html | 143 + functions_f.html | 177 ++ functions_func.html | 226 +- functions_func_b.html | 154 + functions_func_c.html | 170 + functions_func_d.html | 151 + functions_func_e.html | 142 + functions_func_f.html | 172 + functions_func_g.html | 267 ++ functions_func_h.html | 133 + functions_func_i.html | 188 ++ functions_func_k.html | 133 + functions_func_l.html | 148 + functions_func_m.html | 147 + functions_func_n.html | 139 + functions_func_o.html | 182 ++ functions_func_p.html | 151 + functions_func_q.html | 133 + functions_func_r.html | 172 + functions_func_s.html | 279 ++ functions_func_t.html | 202 ++ functions_func_u.html | 145 + functions_func_w.html | 136 + functions_func_~.html | 160 + functions_g.html | 268 ++ functions_h.html | 138 + functions_i.html | 189 ++ functions_k.html | 137 + functions_l.html | 149 + functions_m.html | 154 + functions_n.html | 144 + functions_o.html | 183 ++ functions_p.html | 155 + functions_q.html | 134 + functions_r.html | 176 + functions_s.html | 287 ++ functions_t.html | 209 ++ functions_u.html | 149 + functions_v.html | 134 + functions_vars.html | 12 +- functions_w.html | 137 + functions_~.html | 161 + group__AudioPortHints.html | 2 +- group__BasePluginStructs.html | 108 + group__BaseStructs.html | 2 +- group__EntryPoints.html | 133 + group__MainClasses.html | 100 + group__ParameterHints.html | 29 +- group__PluginMacros.html | 24 +- hierarchy.html | 74 +- index.html | 76 +- modules.html | 6 +- search/all_0.js | 4 + search/all_1.js | 13 +- search/all_10.js | 20 +- search/all_11.html | 26 + search/all_11.js | 55 + search/all_12.html | 26 + search/all_12.js | 31 + search/all_13.html | 26 + search/all_13.js | 9 + search/all_14.html | 26 + search/all_14.js | 4 + search/all_15.html | 26 + search/all_15.js | 6 + search/all_16.html | 26 + search/all_16.js | 13 + search/all_2.js | 71 +- search/all_3.js | 28 +- search/all_4.js | 9 +- search/all_5.js | 17 +- search/all_6.js | 50 +- search/all_7.js | 5 +- search/all_8.js | 24 +- search/all_9.js | 11 +- search/all_a.js | 13 +- search/all_b.js | 13 +- search/all_c.js | 6 +- search/all_d.js | 15 +- search/all_e.js | 15 +- search/all_f.js | 2 +- search/classes_0.js | 1 + search/classes_1.js | 4 +- search/classes_10.html | 26 + search/classes_10.js | 5 + search/classes_2.js | 8 +- search/classes_3.js | 4 +- search/classes_4.js | 2 +- search/classes_5.js | 2 +- search/classes_6.html | 26 + search/classes_6.js | 10 + search/classes_7.html | 26 + search/classes_7.js | 4 + search/classes_8.html | 26 + search/classes_8.js | 5 + search/classes_9.html | 26 + search/classes_9.js | 7 + search/classes_a.html | 26 + search/classes_a.js | 6 + search/classes_b.html | 26 + search/classes_b.js | 10 + search/classes_c.html | 26 + search/classes_c.js | 7 + search/classes_d.html | 26 + search/classes_d.js | 12 + search/classes_e.html | 26 + search/classes_e.js | 7 + search/classes_f.html | 26 + search/classes_f.js | 4 + search/functions_0.js | 4 + search/functions_1.js | 9 +- search/functions_10.html | 26 + search/functions_10.js | 17 + search/functions_11.html | 26 + search/functions_11.js | 47 + search/functions_12.html | 26 + search/functions_12.js | 27 + search/functions_13.html | 26 + search/functions_13.js | 8 + search/functions_14.html | 26 + search/functions_14.js | 5 + search/functions_15.html | 26 + search/functions_15.js | 13 + search/functions_2.js | 47 +- search/functions_3.js | 7 +- search/functions_4.js | 8 +- search/functions_5.js | 15 +- search/functions_6.js | 43 +- search/functions_7.js | 2 +- search/functions_8.js | 18 +- search/functions_9.js | 3 +- search/functions_a.html | 26 + search/functions_a.js | 9 + search/functions_b.html | 26 + search/functions_b.js | 8 + search/functions_c.html | 26 + search/functions_c.js | 6 + search/functions_d.html | 26 + search/functions_d.js | 15 + search/functions_e.html | 26 + search/functions_e.js | 10 + search/functions_f.html | 26 + search/functions_f.js | 4 + search/groups_1.js | 2 +- search/groups_2.js | 3 +- search/groups_3.html | 26 + search/groups_3.js | 4 + search/groups_4.html | 26 + search/groups_4.js | 5 + search/search.js | 8 +- search/variables_4.js | 1 - search/variables_6.js | 2 +- search/variables_9.js | 2 +- search/variables_b.js | 2 +- singletonCircle.html | 620 ++++ singletonLine.html | 927 ++++++ singletonRectangle.html | 1149 +++++++ singletonTriangle.html | 443 +++ structAudioPort-members.html | 6 +- structAudioPort.html | 20 +- structColor-members.html | 121 + structColor.html | 555 ++++ structContainerDeletePolicy-members.html | 101 + structContainerDeletePolicy.html | 118 + structMidiEvent-members.html | 2 +- structMidiEvent.html | 6 +- structNanoVG_1_1GlyphPosition-members.html | 108 + structNanoVG_1_1GlyphPosition.html | 123 + structNanoVG_1_1Paint-members.html | 115 + structNanoVG_1_1Paint.html | 145 + structNanoVG_1_1TextRow-members.html | 110 + structNanoVG_1_1TextRow.html | 129 + structParameter-members.html | 8 +- structParameter.html | 28 +- structParameterRanges-members.html | 2 +- structParameterRanges.html | 4 +- structTimePosition-members.html | 2 +- structTimePosition.html | 4 +- ...ctTimePosition_1_1BarBeatTick-members.html | 2 +- structTimePosition_1_1BarBeatTick.html | 4 +- structWidget_1_1BaseEvent-members.html | 108 + structWidget_1_1BaseEvent.html | 191 ++ structWidget_1_1BaseEvent.png | Bin 0 -> 1594 bytes structWidget_1_1KeyboardEvent-members.html | 111 + structWidget_1_1KeyboardEvent.html | 173 + structWidget_1_1KeyboardEvent.png | Bin 0 -> 665 bytes structWidget_1_1MotionEvent-members.html | 110 + structWidget_1_1MotionEvent.html | 170 + structWidget_1_1MotionEvent.png | Bin 0 -> 590 bytes structWidget_1_1MouseEvent-members.html | 112 + structWidget_1_1MouseEvent.html | 176 + structWidget_1_1MouseEvent.png | Bin 0 -> 594 bytes structWidget_1_1ResizeEvent-members.html | 107 + structWidget_1_1ResizeEvent.html | 152 + structWidget_1_1ScrollEvent-members.html | 111 + structWidget_1_1ScrollEvent.html | 173 + structWidget_1_1ScrollEvent.png | Bin 0 -> 598 bytes structWidget_1_1SpecialEvent-members.html | 111 + structWidget_1_1SpecialEvent.html | 173 + structWidget_1_1SpecialEvent.png | Bin 0 -> 605 bytes ...tWindow_1_1FileBrowserOptions-members.html | 110 + structWindow_1_1FileBrowserOptions.html | 168 + ...FileBrowserOptions_1_1Buttons-members.html | 108 + ...ndow_1_1FileBrowserOptions_1_1Buttons.html | 156 + 314 files changed, 40706 insertions(+), 2218 deletions(-) create mode 100644 App_8hpp_source.html create mode 100644 Base_8hpp_source.html create mode 100644 Color_8hpp_source.html create mode 100644 DistrhoInfo_8hpp_source.html create mode 100644 Geometry_8hpp_source.html create mode 100644 ImageAboutWindow_8hpp_source.html create mode 100644 ImageButton_8hpp_source.html create mode 100644 ImageKnob_8hpp_source.html create mode 100644 ImageSlider_8hpp_source.html create mode 100644 ImageSwitch_8hpp_source.html create mode 100644 Image_8hpp_source.html create mode 100644 NanoVG_8hpp_source.html create mode 100644 StandaloneWindow_8hpp_source.html create mode 100644 Widget_8hpp_source.html create mode 100644 Window_8hpp_source.html create mode 100644 classApp-members.html create mode 100644 classApp.html create mode 100644 classApp.png create mode 100644 classCircle-members.html create mode 100644 classIdleCallback-members.html create mode 100644 classIdleCallback.html create mode 100644 classImage-members.html create mode 100644 classImage.html create mode 100644 classImageAboutWindow-members.html create mode 100644 classImageAboutWindow.html create mode 100644 classImageAboutWindow.png create mode 100644 classImageButton-members.html create mode 100644 classImageButton.html create mode 100644 classImageButton.png create mode 100644 classImageButton_1_1Callback-members.html create mode 100644 classImageButton_1_1Callback.html create mode 100644 classImageKnob-members.html create mode 100644 classImageKnob.html create mode 100644 classImageKnob.png create mode 100644 classImageKnob_1_1Callback-members.html create mode 100644 classImageKnob_1_1Callback.html create mode 100644 classImageSlider-members.html create mode 100644 classImageSlider.html create mode 100644 classImageSlider.png create mode 100644 classImageSlider_1_1Callback-members.html create mode 100644 classImageSlider_1_1Callback.html create mode 100644 classImageSwitch-members.html create mode 100644 classImageSwitch.html create mode 100644 classImageSwitch.png create mode 100644 classImageSwitch_1_1Callback-members.html create mode 100644 classImageSwitch_1_1Callback.html create mode 100644 classLeakedObjectDetector-members.html create mode 100644 classLeakedObjectDetector.html create mode 100644 classLine-members.html create mode 100644 classMutex-members.html create mode 100644 classMutex.html create mode 100644 classNanoImage-members.html create mode 100644 classNanoImage.html create mode 100644 classNanoVG-members.html create mode 100644 classNanoVG.html create mode 100644 classNanoVG.png create mode 100644 classNanoWidget-members.html create mode 100644 classNanoWidget.html create mode 100644 classNanoWidget.png create mode 100644 classPoint-members.html create mode 100644 classPoint.html create mode 100644 classRectangle-members.html create mode 100644 classRecursiveMutex-members.html create mode 100644 classRecursiveMutex.html create mode 100644 classScopedLocker-members.html create mode 100644 classScopedLocker.html create mode 100644 classScopedPointer-members.html create mode 100644 classScopedPointer.html create mode 100644 classScopedUnlocker-members.html create mode 100644 classScopedUnlocker.html create mode 100644 classSize-members.html create mode 100644 classSize.html create mode 100644 classStandaloneWindow-members.html create mode 100644 classStandaloneWindow.html create mode 100644 classStandaloneWindow.png create mode 100644 classThread-members.html create mode 100644 classThread.html create mode 100644 classTriangle-members.html create mode 100644 classWidget-members.html create mode 100644 classWidget.html create mode 100644 classWidget.png create mode 100644 classWindow-members.html create mode 100644 classWindow.html create mode 100644 classWindow.png create mode 100644 classd__string-members.html create mode 100644 classd__string.html create mode 100644 d__leakdetector_8hpp_source.html create mode 100644 d__mutex_8hpp_source.html create mode 100644 d__scopedpointer_8hpp_source.html create mode 100644 d__sleep_8hpp_source.html create mode 100644 d__string_8hpp_source.html create mode 100644 d__thread_8hpp_source.html create mode 100644 dir_99893ac99dd47c2a73745483a12a725f.html create mode 100644 dir_b1be46be7d80596b116b2b4ac973f2f0.html create mode 100644 functions_b.html create mode 100644 functions_c.html create mode 100644 functions_d.html create mode 100644 functions_e.html create mode 100644 functions_f.html create mode 100644 functions_func_b.html create mode 100644 functions_func_c.html create mode 100644 functions_func_d.html create mode 100644 functions_func_e.html create mode 100644 functions_func_f.html create mode 100644 functions_func_g.html create mode 100644 functions_func_h.html create mode 100644 functions_func_i.html create mode 100644 functions_func_k.html create mode 100644 functions_func_l.html create mode 100644 functions_func_m.html create mode 100644 functions_func_n.html create mode 100644 functions_func_o.html create mode 100644 functions_func_p.html create mode 100644 functions_func_q.html create mode 100644 functions_func_r.html create mode 100644 functions_func_s.html create mode 100644 functions_func_t.html create mode 100644 functions_func_u.html create mode 100644 functions_func_w.html create mode 100644 functions_func_~.html create mode 100644 functions_g.html create mode 100644 functions_h.html create mode 100644 functions_i.html create mode 100644 functions_k.html create mode 100644 functions_l.html create mode 100644 functions_m.html create mode 100644 functions_n.html create mode 100644 functions_o.html create mode 100644 functions_p.html create mode 100644 functions_q.html create mode 100644 functions_r.html create mode 100644 functions_s.html create mode 100644 functions_t.html create mode 100644 functions_u.html create mode 100644 functions_v.html create mode 100644 functions_w.html create mode 100644 functions_~.html create mode 100644 group__BasePluginStructs.html create mode 100644 group__EntryPoints.html create mode 100644 group__MainClasses.html create mode 100644 search/all_11.html create mode 100644 search/all_11.js create mode 100644 search/all_12.html create mode 100644 search/all_12.js create mode 100644 search/all_13.html create mode 100644 search/all_13.js create mode 100644 search/all_14.html create mode 100644 search/all_14.js create mode 100644 search/all_15.html create mode 100644 search/all_15.js create mode 100644 search/all_16.html create mode 100644 search/all_16.js create mode 100644 search/classes_10.html create mode 100644 search/classes_10.js create mode 100644 search/classes_6.html create mode 100644 search/classes_6.js create mode 100644 search/classes_7.html create mode 100644 search/classes_7.js create mode 100644 search/classes_8.html create mode 100644 search/classes_8.js create mode 100644 search/classes_9.html create mode 100644 search/classes_9.js create mode 100644 search/classes_a.html create mode 100644 search/classes_a.js create mode 100644 search/classes_b.html create mode 100644 search/classes_b.js create mode 100644 search/classes_c.html create mode 100644 search/classes_c.js create mode 100644 search/classes_d.html create mode 100644 search/classes_d.js create mode 100644 search/classes_e.html create mode 100644 search/classes_e.js create mode 100644 search/classes_f.html create mode 100644 search/classes_f.js create mode 100644 search/functions_10.html create mode 100644 search/functions_10.js create mode 100644 search/functions_11.html create mode 100644 search/functions_11.js create mode 100644 search/functions_12.html create mode 100644 search/functions_12.js create mode 100644 search/functions_13.html create mode 100644 search/functions_13.js create mode 100644 search/functions_14.html create mode 100644 search/functions_14.js create mode 100644 search/functions_15.html create mode 100644 search/functions_15.js create mode 100644 search/functions_a.html create mode 100644 search/functions_a.js create mode 100644 search/functions_b.html create mode 100644 search/functions_b.js create mode 100644 search/functions_c.html create mode 100644 search/functions_c.js create mode 100644 search/functions_d.html create mode 100644 search/functions_d.js create mode 100644 search/functions_e.html create mode 100644 search/functions_e.js create mode 100644 search/functions_f.html create mode 100644 search/functions_f.js create mode 100644 search/groups_3.html create mode 100644 search/groups_3.js create mode 100644 search/groups_4.html create mode 100644 search/groups_4.js create mode 100644 singletonCircle.html create mode 100644 singletonLine.html create mode 100644 singletonRectangle.html create mode 100644 singletonTriangle.html create mode 100644 structColor-members.html create mode 100644 structColor.html create mode 100644 structContainerDeletePolicy-members.html create mode 100644 structContainerDeletePolicy.html create mode 100644 structNanoVG_1_1GlyphPosition-members.html create mode 100644 structNanoVG_1_1GlyphPosition.html create mode 100644 structNanoVG_1_1Paint-members.html create mode 100644 structNanoVG_1_1Paint.html create mode 100644 structNanoVG_1_1TextRow-members.html create mode 100644 structNanoVG_1_1TextRow.html create mode 100644 structWidget_1_1BaseEvent-members.html create mode 100644 structWidget_1_1BaseEvent.html create mode 100644 structWidget_1_1BaseEvent.png create mode 100644 structWidget_1_1KeyboardEvent-members.html create mode 100644 structWidget_1_1KeyboardEvent.html create mode 100644 structWidget_1_1KeyboardEvent.png create mode 100644 structWidget_1_1MotionEvent-members.html create mode 100644 structWidget_1_1MotionEvent.html create mode 100644 structWidget_1_1MotionEvent.png create mode 100644 structWidget_1_1MouseEvent-members.html create mode 100644 structWidget_1_1MouseEvent.html create mode 100644 structWidget_1_1MouseEvent.png create mode 100644 structWidget_1_1ResizeEvent-members.html create mode 100644 structWidget_1_1ResizeEvent.html create mode 100644 structWidget_1_1ScrollEvent-members.html create mode 100644 structWidget_1_1ScrollEvent.html create mode 100644 structWidget_1_1ScrollEvent.png create mode 100644 structWidget_1_1SpecialEvent-members.html create mode 100644 structWidget_1_1SpecialEvent.html create mode 100644 structWidget_1_1SpecialEvent.png create mode 100644 structWindow_1_1FileBrowserOptions-members.html create mode 100644 structWindow_1_1FileBrowserOptions.html create mode 100644 structWindow_1_1FileBrowserOptions_1_1Buttons-members.html create mode 100644 structWindow_1_1FileBrowserOptions_1_1Buttons.html 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 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
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 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
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 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
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 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
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
-
float min
Definition: DistrhoPlugin.hpp:319
-
virtual const char * d_getMaker() const =0
-
Definition: DistrhoPlugin.hpp:272
-
virtual void d_initState(uint32_t index, d_string &stateKey, d_string &defaultStateValue)=0
-
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
+
float min
Definition: DistrhoPlugin.hpp:151
+
Definition: DistrhoPlugin.hpp:104
Plugin(const uint32_t parameterCount, const uint32_t programCount, const uint32_t stateCount)
-
const TimePosition & d_getTimePosition() const noexcept
-
virtual int64_t d_getUniqueId() const =0
-
Parameter() noexcept
Definition: DistrhoPlugin.hpp:462
-
uint32_t frame
Definition: DistrhoPlugin.hpp:482
-
virtual uint32_t d_getVersion() const =0
-
uint32_t size
Definition: DistrhoPlugin.hpp:487
-
bool d_writeMidiEvent(const MidiEvent &midiEvent) noexcept
-
uint8_t data[kDataSize]
Definition: DistrhoPlugin.hpp:493
-
virtual float d_getParameterValue(uint32_t index) const =0
-
virtual void d_initAudioPort(bool input, uint32_t index, AudioPort &port)
-
virtual void d_setParameterValue(uint32_t index, float value)=0
-
virtual const char * d_getLabel() const =0
-
void fixValue(float &value) const noexcept
Definition: DistrhoPlugin.hpp:353
-
virtual void d_sampleRateChanged(double newSampleRate)
-
double ticksPerBeat
Definition: DistrhoPlugin.hpp:565
-
virtual const char * d_getName() const
Definition: DistrhoPlugin.hpp:696
-
Definition: DistrhoPlugin.hpp:473
-
int32_t bar
Definition: DistrhoPlugin.hpp:530
-
virtual void d_run(const float **inputs, float **outputs, uint32_t frames, const MidiEvent *midiEvents, uint32_t midiEventCount)=0
-
virtual const char * d_getLicense() const =0
-
#define DISTRHO_PLUGIN_NAME
Definition: DistrhoPlugin.hpp:86
-
static const uint32_t kAudioPortIsSidechain
Definition: DistrhoPlugin.hpp:207
-
ParameterRanges() noexcept
Definition: DistrhoPlugin.hpp:329
-
double beatsPerMinute
Definition: DistrhoPlugin.hpp:570
-
uint32_t hints
Definition: DistrhoPlugin.hpp:429
-
static const uint32_t kParameterIsCV
Definition: DistrhoPlugin.hpp:257
-
Definition: DistrhoPlugin.hpp:627
-
float getUnnormalizedValue(const float &value) const noexcept
Definition: DistrhoPlugin.hpp:410
-
bool playing
Definition: DistrhoPlugin.hpp:508
-
int32_t tick
Definition: DistrhoPlugin.hpp:544
-
float beatsPerBar
Definition: DistrhoPlugin.hpp:554
-
uint32_t hints
Definition: DistrhoPlugin.hpp:277
+
virtual float getParameterValue(uint32_t index) const =0
+
virtual void setProgram(uint32_t index)=0
+
Parameter() noexcept
Definition: DistrhoPlugin.hpp:294
+
Plugin * createPlugin()
+
uint32_t frame
Definition: DistrhoPlugin.hpp:314
+
uint32_t size
Definition: DistrhoPlugin.hpp:319
+
String name
Definition: DistrhoPlugin.hpp:116
+
uint32_t getBufferSize() const noexcept
+
String symbol
Definition: DistrhoPlugin.hpp:276
+
virtual void initState(uint32_t index, String &stateKey, String &defaultStateValue)=0
+
uint8_t data[kDataSize]
Definition: DistrhoPlugin.hpp:325
+
String symbol
Definition: DistrhoPlugin.hpp:124
+
void fixValue(float &value) const noexcept
Definition: DistrhoPlugin.hpp:185
+
double ticksPerBeat
Definition: DistrhoPlugin.hpp:397
+
Definition: DistrhoPlugin.hpp:305
+
int32_t bar
Definition: DistrhoPlugin.hpp:362
+
virtual void setState(const String &key, const String &value)=0
+
virtual uint32_t getVersion() const =0
+
virtual const char * getLabel() const =0
+
virtual void bufferSizeChanged(uint32_t newBufferSize)
+
#define DISTRHO_PLUGIN_NAME
Definition: DistrhoInfo.hpp:148
+
static const uint32_t kAudioPortIsSidechain
Definition: DistrhoPlugin.hpp:44
+
virtual const char * getLicense() const =0
+
ParameterRanges() noexcept
Definition: DistrhoPlugin.hpp:161
+
virtual void activated()
Definition: DistrhoPlugin.hpp:637
+
double beatsPerMinute
Definition: DistrhoPlugin.hpp:402
+
uint32_t hints
Definition: DistrhoPlugin.hpp:261
+
virtual void run(const float **inputs, float **outputs, uint32_t frames, const MidiEvent *midiEvents, uint32_t midiEventCount)=0
+
bool writeMidiEvent(const MidiEvent &midiEvent) noexcept
+
Definition: DistrhoPlugin.hpp:464
+
float getUnnormalizedValue(const float &value) const noexcept
Definition: DistrhoPlugin.hpp:242
+
bool playing
Definition: DistrhoPlugin.hpp:340
+
int32_t tick
Definition: DistrhoPlugin.hpp:376
+
float beatsPerBar
Definition: DistrhoPlugin.hpp:386
+
uint32_t hints
Definition: DistrhoPlugin.hpp:109
virtual ~Plugin()
-
TimePosition() noexcept
Definition: DistrhoPlugin.hpp:590
-
virtual void d_setProgram(uint32_t index)=0
-
uint64_t frame
Definition: DistrhoPlugin.hpp:513
-
BarBeatTick() noexcept
Definition: DistrhoPlugin.hpp:575
-
static const uint32_t kParameterIsAutomable
Definition: DistrhoPlugin.hpp:226
-
virtual void d_setState(const char *key, const char *value)=0
-
float beatType
Definition: DistrhoPlugin.hpp:559
-
float getNormalizedValue(const float &value) const noexcept
Definition: DistrhoPlugin.hpp:376
-
float def
Definition: DistrhoPlugin.hpp:314
-
double barStartTick
Definition: DistrhoPlugin.hpp:549
-
d_string name
Definition: DistrhoPlugin.hpp:436
-
void d_setLatency(uint32_t frames) noexcept
-
d_string unit
Definition: DistrhoPlugin.hpp:451
-
ParameterRanges ranges
Definition: DistrhoPlugin.hpp:457
-
AudioPort() noexcept
Definition: DistrhoPlugin.hpp:297
-
int32_t beat
Definition: DistrhoPlugin.hpp:537
-
virtual void d_initParameter(uint32_t index, Parameter &parameter)=0
-
virtual void d_bufferSizeChanged(uint32_t newBufferSize)
-
const float & getFixedValue(const float &value) const noexcept
Definition: DistrhoPlugin.hpp:364
-
static const uint32_t kParameterIsBoolean
Definition: DistrhoPlugin.hpp:232
-
float max
Definition: DistrhoPlugin.hpp:324
-
Definition: DistrhoPlugin.hpp:310
-
d_string symbol
Definition: DistrhoPlugin.hpp:292
-
static const uint32_t kParameterIsInteger
Definition: DistrhoPlugin.hpp:237
-
Definition: DistrhoPlugin.hpp:424
-
static const uint32_t kAudioPortIsCV
Definition: DistrhoPlugin.hpp:202
-
bool valid
Definition: DistrhoPlugin.hpp:523
-
static const uint32_t kDataSize
Definition: DistrhoPlugin.hpp:477
-
d_string symbol
Definition: DistrhoPlugin.hpp:444
-
d_string name
Definition: DistrhoPlugin.hpp:284
-
void fixDefault() noexcept
Definition: DistrhoPlugin.hpp:345
-
double d_getSampleRate() const noexcept
-
float getFixedAndNormalizedValue(const float &value) const noexcept
Definition: DistrhoPlugin.hpp:390
-
virtual void d_activate()
Definition: DistrhoPlugin.hpp:800
-
static const uint32_t kParameterIsOutput
Definition: DistrhoPlugin.hpp:252
-
Definition: DistrhoPlugin.hpp:518
-
Definition: DistrhoPlugin.hpp:504
-
virtual void d_initProgramName(uint32_t index, d_string &programName)=0
-
uint32_t d_getBufferSize() const noexcept
-
static const uint32_t kParameterIsLogarithmic
Definition: DistrhoPlugin.hpp:242
-
ParameterRanges(const float df, const float mn, const float mx) noexcept
Definition: DistrhoPlugin.hpp:337
+
TimePosition() noexcept
Definition: DistrhoPlugin.hpp:422
+
uint64_t frame
Definition: DistrhoPlugin.hpp:345
+
virtual void setParameterValue(uint32_t index, float value)=0
+
virtual const char * getMaker() const =0
+
BarBeatTick() noexcept
Definition: DistrhoPlugin.hpp:407
+
static const uint32_t kParameterIsAutomable
Definition: DistrhoPlugin.hpp:63
+
float beatType
Definition: DistrhoPlugin.hpp:391
+
float getNormalizedValue(const float &value) const noexcept
Definition: DistrhoPlugin.hpp:208
+
float def
Definition: DistrhoPlugin.hpp:146
+
virtual void initProgramName(uint32_t index, String &programName)=0
+
double barStartTick
Definition: DistrhoPlugin.hpp:381
+
ParameterRanges ranges
Definition: DistrhoPlugin.hpp:289
+
AudioPort() noexcept
Definition: DistrhoPlugin.hpp:129
+
int32_t beat
Definition: DistrhoPlugin.hpp:369
+
const float & getFixedValue(const float &value) const noexcept
Definition: DistrhoPlugin.hpp:196
+
virtual void initParameter(uint32_t index, Parameter &parameter)=0
+
static const uint32_t kParameterIsBoolean
Definition: DistrhoPlugin.hpp:69
+
float max
Definition: DistrhoPlugin.hpp:156
+
Definition: DistrhoPlugin.hpp:142
+
String unit
Definition: DistrhoPlugin.hpp:283
+
virtual int64_t getUniqueId() const =0
+
static const uint32_t kParameterIsInteger
Definition: DistrhoPlugin.hpp:74
+
Definition: DistrhoPlugin.hpp:256
+
static const uint32_t kAudioPortIsCV
Definition: DistrhoPlugin.hpp:39
+
bool valid
Definition: DistrhoPlugin.hpp:355
+
virtual const char * getName() const
Definition: DistrhoPlugin.hpp:533
+
static const uint32_t kDataSize
Definition: DistrhoPlugin.hpp:309
+
virtual void initAudioPort(bool input, uint32_t index, AudioPort &port)
+
virtual void deactivated()
Definition: DistrhoPlugin.hpp:642
+
void fixDefault() noexcept
Definition: DistrhoPlugin.hpp:177
+
double getSampleRate() const noexcept
+
const TimePosition & getTimePosition() const noexcept
+
float getFixedAndNormalizedValue(const float &value) const noexcept
Definition: DistrhoPlugin.hpp:222
+
void setLatency(uint32_t frames) noexcept
+
static const uint32_t kParameterIsOutput
Definition: DistrhoPlugin.hpp:89
+
Definition: DistrhoPlugin.hpp:350
+
Definition: DistrhoPlugin.hpp:336
+
String name
Definition: DistrhoPlugin.hpp:268
+
virtual void sampleRateChanged(double newSampleRate)
+
static const uint32_t kParameterIsLogarithmic
Definition: DistrhoPlugin.hpp:79
+
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
-
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
+
virtual void parameterChanged(uint32_t index, float value)=0
void onResize(const ResizeEvent &ev) override
virtual ~UI()
-
virtual void d_stateChanged(const char *key, const char *value)=0
-
void * d_getPluginInstancePointer() const noexcept
-
virtual void d_parameterChanged(uint32_t index, float value)=0
-
virtual void d_uiFileBrowserSelected(const char *filename)
-
void d_setState(const char *const key, const char *const value)
-
virtual void d_programChanged(uint32_t index)=0
+
void editParameter(const uint32_t index, const bool started)
+
void * getPluginInstancePointer() const noexcept
+
virtual void programChanged(uint32_t index)=0
+
virtual void sampleRateChanged(double newSampleRate)
+
void setState(const char *const key, const char *const value)
UI(uint width=0, uint height=0)
-
virtual void d_uiIdle()
Definition: DistrhoUI.hpp:141
-
void d_sendNote(const uint8_t channel, const uint8_t note, const uint8_t velocity)
-
void d_editParameter(const uint32_t index, const bool started)
-
Definition: DistrhoUI.hpp:43
-
double d_getSampleRate() const noexcept
-
void d_setParameterValue(const uint32_t index, const float value)
-
virtual void d_uiReshape(uint width, uint height)
+
UI * createUI()
+
void setParameterValue(const uint32_t index, const float value)
+
virtual void stateChanged(const char *key, const char *value)=0
+
double getSampleRate() const noexcept
+
void sendNote(const uint8_t channel, const uint8_t note, const uint8_t velocity)
+
virtual void uiFileBrowserSelected(const char *filename)
+
virtual void uiReshape(uint width, uint height)
+
Definition: DistrhoUI.hpp:48
+
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 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
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 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
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 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
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 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
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 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
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 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
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 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
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 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
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 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
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 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
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 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
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:
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 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+
+
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 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
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 0000000000000000000000000000000000000000..ef4a557b676948b8ba01327c7d874551df302cc5 GIT binary patch literal 470 zcmeAS@N?(olHy`uVBq!ia0vp^td|!&m{i(awzgNFkF!R&a~xuex<#9_SEmRYyWx6B<@NV5O304pbrswCng@hPQUyj)wfnB*0~Gn@ALXTpWCLr`poO|@3#H_tepNu zb^c@LmxokVSHHIXwDH{RCs)rObe))b&3s{DO8(yOzoT;w@7;c8g~gfIzjr?`p2U$J z6le5%$L_Ds)*osPpY-ctoM%>lwdzV+=DlfYe}6KiL`fXnCM)m&7zqrXu6{1-oD!M< DZe!vn literal 0 HcmV?d00001 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 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+
+
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 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+
+
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 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
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 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+
+
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 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
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 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+
+
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 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
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 0000000000000000000000000000000000000000..5fc3845998ca7991193c920d5eb073ad5b0985f0 GIT binary patch literal 686 zcmV;f0#W^mP)vTJkN^MxkN^Mxkifve1&Q1r00008bW%=J0RR90|NsC0)yh;d0006#Nkl(Z()5Cl7uD&GH*4|f8DBjFR5%PK93DKbr#%0D4^ut86oBtt6r5w{=$5_o@5a^J;q+~PG-Hoe`Ge@XvW_kK=))^ZK>bDh6`CP~sqO7tb^ ziyYOLqznaX{xtofs(aw-_cxy;74e+nm!x7`Uy>|veb+bFk1<9Q68#usGy&i^6@W2@ z8Q!g5Rrdad8Q!g5&us2*nBnF6-uVHHaeV*_Tpz#`*9Wk`^#M$AeENtZ1RDU%F-zh40LHjJ!0&N= z0AuMvLow*&GDZ3kd0H{O+R#lcIX4ib`$+puQTi(%JpaK(?6m|{o&t9xcNR` z{b|&6j`;<;oPHa5irF0^z?{J^zZ<@dzov6sTtB^US7u9cyYBtz>J)SvfOE;|*QJ`S zV_)XO{^|Pb=xN1n`b~wsJ!-f>_s~y^AZZc#K^ywH{&D%@A9~@e#V>k#(%RG8V%{-k zPmjy$17tWc + + + + + +DISTRHO Plugin Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + + + + +
+ +
+ +
+
+
+
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 +
+
+
+ + + + + + + + + +
+ +
+ +
+ +
+
+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 0000000000000000000000000000000000000000..6e6fe256bcc48148fe77291e51ecd33216852df0 GIT binary patch literal 440 zcmeAS@N?(olHy`uVBq!ia0vp^0U*r53?z4+XPOVBBm#UwT>t<74`jZ0^R=}9&;%e0 zj1L?*z}k679?0b=3GxeO04f53tEWPY7#JAcJzX3_Dj46+Jv*scL4a*`zt;W#6U#-P zxL@q>;ajP+uz5iV8=KAJz2B!jP(9hFIc16Ax)#07VH;I7rw1Poet7lA^+RimO1GA+ zx1SVJytD1#l)1B&Lyrb|Xr1mgsNuiotm4&P8dtaKlk3-+=b4{)1B-#4{RqyvIGW16<=xh|z>)v=V>c{)drn9)~6;20p z7@QDc>M?9(NcK@YAOYka6Jgp?c+S$hfT0W|;`!sEbWj9O4*yGmYyP%^dDjzTI#lyk zUAWcy(CXdJ5`ETq&h7t9)XGHHI?eF@c|-G1lG0YqBa@VDIX`D@X)Uyx`qJzW{~_m$ z(x784Z%upl)&}3(JZ1Bq_lIlNpZFBXabdx4nY*0b|5+=J<+fanWUe?+BhS?Hk#}M7 cImu7#zb6ZR@we$d4-94oPgg&ebxsLQ0IgNN(*OVf literal 0 HcmV?d00001 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 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
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 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
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 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+
+
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 +
+
+
+ + + + + + + + + +
+ +
+ +
+ +
+
+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 0000000000000000000000000000000000000000..c85a0de646e96fa04657ca61c0f1bf094f711a24 GIT binary patch literal 433 zcmeAS@N?(olHy`uVBq!ia0vp^UO*hc!3-ojorU)SDTx4|5ZC|z{{xvX-h3_XKQsZz z0^2e|`=3 z4~C;$X3f?IiljOdg*mL$S_EobCaCcHPEq-~vU8L3#Wl8`?z=7K1(qwvFPOCPmP`4c z$syam#ibr|^j=&Zth0xGYQ6fSlO9^PEwtj8S0rD4f2p$fSK@lDkkw6{S}Svsm+zf; zS~{dQP4(rH#x+sLi|SHTGGq3w5O69GJg`}eLH_5$X-9jXw*Q*2C!%jfebm8DrWaRS z7{6pLV)$he$WS{=qruKMWY?K9H7$%489>1;i{&~s9|(n791FONp|@vextr>LE0x(2+rJk*d39^gZJy_AzO7vSBKJa9mhB$*rPmiEh|J_!wC-ZV zRVla7>Z@_zJ~M5%nj(7VvG@C}O$@xed${ihymjWhaOL`%ZNHdpvg_6}{Cd)DWL$hv Zp2t#P!CnoH#lY}o@O1TaS?83{1ON%uzrFwf literal 0 HcmV?d00001 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 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
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 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
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 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+
+
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 +
+
+
+ + + + + + + + + +
+ +
+ +
+ +
+
+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 0000000000000000000000000000000000000000..3624a12b4a9cb8178e9492d72290a55a005b7e03 GIT binary patch literal 444 zcmV;t0YmvTJkN^MxkN^Mxkifve1&Q1r00008bW%=J0RR90|NsC0)yh;d0003?Nklg0}?A8r72rl9pkz=k0cfJ)-HOIF&K`JErO(M>+9mTvQ|No3PyD6=cO(+qF2@@ z-N&^nbgj+?vm_O~eJYwYjp@q!T9Qt@s;+(O&KHym4o>~+pLXT~4Y(-D0GzLC-Z0000 + + + + + +DISTRHO Plugin Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
DISTRHO Plugin Framework +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
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 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
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 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+
+
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 +
+
+
+ + + + + + + + + +
+ +
+ +
+ +
+
+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 0000000000000000000000000000000000000000..b578b5c8867732860769c163153d2c2e721bb78e GIT binary patch literal 456 zcmeAS@N?(olHy`uVBq!ia0vp^ARNHK3?%njU0MXBBm#UwT>t<74`jZ0^R=}9&;%e0 zj1L?*z}k679?0b=3GxeO04f53tEWPY7#JACJzX3_Dj46+y}PMdfrrgp-gw`C<9clg!ki8fWSI@La{y%Mx$@G=B2evYW!- z$fN4Oi?A&A7N2*#CUNgBTc@RG9(QjmsXV83^HI#yfA?&8OQ-1BPpy=US#0{@?D{LA z)4XyR-;^3wyE~;0E3;u)78&qol`;+0Gn^mkpKVy literal 0 HcmV?d00001 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 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
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 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
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 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+
+
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 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
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 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+
+
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 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+
+
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 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
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 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+
+
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 +
+
+
+ + + + + + + + + +
+ +
+ +
+ +
+ +

#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 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+
+
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 +
+
+
+ + + + + + + + + +
+ +
+ +
+ +
+ +

#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 0000000000000000000000000000000000000000..1944e723e5a0376095bf57e83a573d2b98a0c35b GIT binary patch literal 450 zcmeAS@N?(olHy`uVBq!ia0vp^0U*r53?z4+XPOVBBm#UwT>t<74`jZ0^R=}9&;%e0 zj1L?*z}k679?0b=3GxeO04f53tEWPY7#J7>JzX3_Dj46+J>7R$frsJvwkiMrKk;QY zv6<5$dhf88$6O~3xfQ+^%1T0P_K#m<81sXF z)t**{?i|GfQqde6jse}Wv6Ue^N3o%Q=1rdVnKxNxtjdy!Ua@M|v2cy6+gD|sPPdu7 zoX7a{0o^@pYAv~cx|(P9=su-S=#7<(eWpk<| qO!v0>_I2qhspIh+XU{PGWOQC97~jsa{53GZ89ZJ6T-G@yGywoBMZ!1$ literal 0 HcmV?d00001 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 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+
+
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 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
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 0000000000000000000000000000000000000000..b2849884abac4536cfb310008b611eea672e7b8f GIT binary patch literal 624 zcmV-$0+0QPP)vTJkN^MxkN^Mxkifve1&Q1r00008bW%=J0RR90|NsC0)yh;d00061Nklld zD>wc&t8>`l;{N!V#Cm!pEnBlzN5{o>u$zaXFeH`RF4gB?7Ws$j_+1&V21&BKsZ~?^ zHlAhspM9k|R{eL6)m%bb)#+U8>1#Kuvc9Y7{D*2a18%B5wK}zdhH9CF4+_9`jY_?5-a)SJk#D3L9UxQz4k1(lya`nRZ$cHo8-LZV>$+nA z_!+-l9bh-13gAts0(cXu0N#WufH$EE;7zCkcoV7sdr2uJPXG?WId-UqD!?J!Pjwtx z3q9s1%wd6y-gbbg zVO;oa)oQN*?tCBHz7sC3Iv2+cQ~}n6YN!Gn!ktu8O34v`-TVPep(F|wU+`c60000< KMNUMnLSTZsNFPoB literal 0 HcmV?d00001 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
@@ -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 0000000000000000000000000000000000000000..b7fc5ef834a3f6a4113fe01661928efac0f24817 GIT binary patch literal 658 zcmeAS@N?(olHy`uVBq!ia0vp^KY%!ZgBeINJ9z8@QW60^A+G=b{|7Q(y!l$%e`o@b z1;z&s9ANFdBM;cxAr*{o=f0k_T0wwqcE8sB{}ZpT z(70E0uvkJ@&9hzf@Hvx1AErwrn>73sP3~b6P+e)YbB9Xk@uR9MmGs^{niMk8=%a$? z^dFIbM2nJS_Zm!B`dD!HPuGqmZ;}=6nI~&GD|_BA{@A&E#^3K3e(tiGE9H4BP|41H z#-tl-?L2=ScwcQJ`P^{xi_1J$1mm~Gh<^OI_tSl|`}WOBAFr=={P@xS{UNVQ-$i87 zi{})7G%=m@rP2FQ==UF;Kenx@oqckvdfdiU@?Gm!{i+wgKW~96duHPfmA}?8F_Y?+ zL>78#9X%QwGfC?a$d%R|$0d?$jXp{wuiU(wOc9P!{0gJ@>>p4Yq1i8Qc(y0V8+@8Kf`T^zVyxkZ47VZ%{1 zR&n+X2ahtY0;)4xBC;%~dd9^|mD38OZf*W|@?^vB4*s)xZ-ojKe%msKw;`Mhrd%(d Sv+o8bAO=rYKbLh*2~7Z?UpTq| literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..a7f3482cbeada4cbb77a08ee8f1ad78453cce6b3 GIT binary patch literal 1437 zcmYjQ4K$N$9Df}j?MiQAM?Ut_t~nj4Xu7pF`Bs}8X(XIl=X6B)_GOli zmH+@OBN2ni0ALEjaRkB?UU^f>WO%cW2#X3a7z}VYrq!{2zgq}Li&H9->Gv4^~itm*0t zGoBn1Tv*S>CtCq~z;p_cemztJP=T^s7T^Wk$HU1)2(aQbfq;cHDmvMZl{DY`wyWg2 z35;g=%`s!3NWCZh?T*A_1uVE&($1T>_x_rugKOj^B z`xx3H+EsF^_iKo1P-Mx0Yckj=XOz*l=E{LVo3HW%b;`x0k?^bkm?eNI)hOn5qmC}D z`O_Re0(Z(mDSY>@vqpb48m-aG$3e(B+cINx0 z>22E^HDP_M(((4jY%^eHDvu`g#>s=Qvj~yQfj#GsTim*VJUJeC#rMYLvKSVtP~B7r z&T|+sOE_^yEND{`1XF8J12875QDS?dQYe_Xw(v;mjvExK5d zHjue_-$2U*1!i%+SWzM-AP&b1CZ!G{boY=e!-6IOVJ1Okf>EYE7na3zcCb<~?sBiy zTRx6H(J!1os!%9Tww5pJ{p44G5fopYNBp}%&}>;*eBhzyPwDq)OZb~B*9INoeo9EX zL)pDNHFaHqQyEa!$-P;i4qX~yD6y-$n4!ZJ}PB9^}?npbR39;8mGGCA( z%0Iq)=^gJ@Nt5Q|c;h`!|Ck$0+~C*jn|d#{i=_hXqGcYB7!A|Svj^SW9e3lC5;3hb zf`2J!?zBQ1!aO#tCXu=OA-;_nYlAcU5e3;N&;F9~LV~)OZH-h%=M#B-it?M#8?tL> zn6516a!$5E7n|4$UXksG1nwAjQYm=ZemJOVjej+G*;eQrrzwXCGoVnLJbdwokOr_I za0gO7IvjhONanT?%$ir0_^#Gr=ezo`l!_Vx-P~y);AbBFm-_cGkGiVK%RenkJ7fjMjim8HsybfTCC|*^#oV+^UMe%@^a@``&tCMefnBlF zwIs3-!Xw?c)GCW1{XLnv|;j z8{N91i>B_!C)u1CWmkh9PPg~v^&e9`PpFBXeUqUK6;RKnYzN1^mfPK)%f^cngLjGx zSTX(iBi%d5LRUP-=5g85WZtd{`Ml5xALiD?_9rSuV(@sJL*FGmzg_-p<%7?&Wy0rZ z%J4OCoEllBXK!NO=LV{-%HQeP>1_77WV)(42rEln&3zrO?Z8ym_9b`+h=axxo{w2$ z@@KLqJB!!Xtt5qh>Zh9MWs_4+jR4h@sCK=tz zd^i(Bdig{@;OD7QW83!ddN%FPI%S(Wf`=4A>6yG*15x<}<(}Kjg|rb@@8JaM`m?yH z6nw+B^;)nKy_r=g*0i;32_-wz7#14%jo(!pe~c)Aj9Yx?@b{t>iZ8i9FI& + + + + + +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 0000000000000000000000000000000000000000..706a6b3e24e1d65fda32d9fd819bd604898fc1c6 GIT binary patch literal 714 zcmeAS@N?(olHy`uVBq!ia0vp^|A07vgBeKj#aa9XQW60^A+G=b{|7Q(y!l$%e`o@b z1;z&s9ANFdBM;yF;t`DdED>Ao;| zk8RJswCBcb|9$`Aqql2rIWko5%XxSH-s3#W=%e+q^?%a#Zn*nai`hXEXuz`?vC{|E zy*@9?Qg9^yMSl0asZmS`XM%r4KK)-<+aUhv7sIg~b_aeJ)-oi=$UpeI!>++lu_b}| zK>20HE#9|(#a`c1fBV^5D z{d?>DpZIDm^!~N*|DDPse;cM7?^q^(%uW4^s_N~^zn1?#|C%)E?Ua8D%+n0^G}oEC zNuLk<`}6+S!tIauyuTin-D9(N*1tOyT=5>Nwzr-a*){k6D>!^BW6u(Wr)Msn-u*Mf zGCEo2l|QF^i{`(-9&ER_&*#}Q_vW-qd4J@-p8L{L^wRtJKfCt1kIasGOJ4bMoNLRM zM)DUi>(Ut(@(D4EN?uyH>97OgyWVZx?g<>SKrc$nVQf&A+nB^h_S_ z39;qck}AI@g)G>W + + + + + +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 06fe8d2a11acc3f58cd49235b053f9f5c898be03..bf081f9ba569aad7250f3c65e05f34274ecda6a3 100644 GIT binary patch literal 3686400 zcmeFa3w#_`eJ?%_Y1fkch~p@-<0xKRu_f8Ew6m|-mE+j*Gs2c%lI%F(hqKyQIQXt|+E|NA>< zW_EV9yB3b&rr`b9Gov|YX3qJYbAIRd{tX{Jn4PgAcD^vB%|zltgCL5+&PYTMgw=wu z{5qVy-%?yOcz@t52Ci#et`@d_JKTs;S$>h~tdjqa{6l_O>yc~suR-7%1b&(jSWYW> zX%h}DOK5G1^8caZ57`M<*M8R^a18>#01yy=aB7+S`@$00Xq5k2J}-YkezW{8`StSm zWaAg0_t(034FW$42;8tl-XiH*(K7N=)A`w)S+Hzz$udc9m$Erya@Mqp!f!Q)kR9ZWT<+9^zis+;-S z>qNOj^1h0v<=3+?~6N$ zGxG1tzbij0zfXR*{G0NV^5gOw<%eZQzE7T&^Kw=;C4g=q(6~9E&UhiW70Fy)6#FTkN+&j;o3L; z^Fd&__{hD2uucjEZ|hqvGuei(I{{^Mb=v`s&L zD2L;H51~$z^3VW|(T93)Y<~z0@sfKk;yp`@i>R|izjzYIeHZr#Lijf?qE7gUi#Or; z=8It*S6x7z&~q2=!trw#_Tu>Q3kr_S7x13O|G0oUjX$0*;P{RCQ#hvQQKzwQK8|DW zd<4Aq`{z-oL7yw)sLkDtIP07d1nJKl)R8{x9Ki82 zP724Eb2AA0A34o9{_nFmOyEnx-`|15>+lZYwX13UH^|?`QEKznKmNG(y9R-45cs)+ zfVg`YeR@j8A>ECG+9t^>g$C(^xR#E|ACf*OpO#PHk88hc5O{e)Aa!?xvqS6~p3n-G z*>}V$6!ST4vTxtv;o-jhgCl)=28TzE-Er7EkLAqb)+3X%GS}uQlKfUiZ+W*7yU*RZ4y!~JPw)_ot z3wN*mu0h}$1paeEK>TaxcF_EvbvkhT6~+Xd$>Y)Epr@X$*{yI4dXQ zuSk!AOCOW(mYd~A{&V*FTB~1H5D=f-Bp;TvjA_KRw4oTPZ7HT1wQVhyPO7S{Sell! zP2qPi11(lHX-1-HWfJj>Wtze#WcmF9k*|ySiF53ws+G3X zXf&Fz<7qvWv6ZxGq!YGkrgSYD(_+G>@cr*@ln;xVsixzZXeO@ddK8~kO)HI$ClpIh zTbXz&0Tx;uVl|bF8B=vdk881*W?LC8g}?2Dow3upt)x^i?$X=Y=kQ&U>f zOsIN1W2UuKTF<28YD%?*&*G(@zeOGpnOtsgN*lKhl=S;JF8ep^|3852|L^7h32nev z<>%!;mH$ZoL-~{PN8}I4?}29E*X1YVUy&b?=j8|Fv+_OQ6)bs7J}D2&L-KxkK;9-N zIeTIDy-@Nv_27#9Zfn}e0 z5;C%7GjBVL`1ysvvaau8@h*MeKY(gj z+WYN|KsX=#8$vtEUt=*gfA|GDs$aPih~*Q{L%83x?F$eTEcyNCnsD6lM_A_J|N5zW zaoqEJSm2>Q`UEKzUhz>v6rcYPp^iiE?*v--;(KOsJoZ~aKJs7w<~|%x{5rlX{ncBK z;CR>L%dptL{3|!$s62Wfp#9#5W^jCZ{x%c{ON7@!A0S4>IjL7VFFhswiyXo2pUKbJ zDu&zI+r_!9GnzhWc?wbQEbTtFcVJ|1WMp91!MzdhZltS_KbtipgNH`;?%#VXa^%?H z(7>^ikpp{AMg~Sl4i6r}V?%onjYJL|#{bcS2YVuuc|)7@pYZQzApMTMoCaUoXzJyAbe{ zvn4fcL)n{3_pbyFP%#5?BYW=*0B5?8U)a?iYGHZB?!ksoTU(o0WG%I`lU9)(8q3

)`(}>S6Tau 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%0A918+yzm4=fJ=bd+rD~M<**+1_mOJwSCI6HizMq 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

ty2S?EncEnctENwV(#A25y@ z)ijODr zaoFVe#j)&FSh70EUA{YhB`CNJfmR4z&ZCK?Uj?i5|7@QaeuS!GyhuZ=nQ?4|Hj{kF; zvE2w91poWb%oE1%lDXwS%o$JW*}iFC4>+P`J?l@$oUzCF$t*^5V)hBfKK^ONOdL=I zz`=2K5`X4mA$D@uwO7=znNz$(_uT~Ebwm@z^b8pxS&muO>gfg*^w7zy zZDSKv;2#1L=8J5B;Os{5Y{=rA4Sv4uUupg6!9jlx1%zwK=)c@;owQEx(W*UdgjnU7 zHeF?P103QpP5JVvLk%|)JyN@^qiiJUd@=&^S|rJ;l1bS}(ZiTE<4}}joFUY609mU{ zW~xv&f;G2p;SqoJtWtRPsN3(W8jMoc|XZBSv7I^%3)T%zH?FtA7AH zJwh`OX(G0_vtDZr7UIs7p}4+KB2-ieUKJ*Z>e z);|U6gM_#IJBk7S@j{;nPY#R5YcRNHA`c`I7O|rC5pB*HU4aeTI>Fwol6rx?|QAFdllh|2ZBEo%dWl#l-skX z*@0>L4MQt7L%ApNt}$jVae(OAnZ?(X&?}%(6~Ij`robu$Yzc#0JXjcwC}~6mS=r(p zw#17zTzkh;Ji4?06lIZ-5tOBI!1AcKQ^MusTX z9EIug+rs)_8$54|dU0DA3W!;#l|yRe>cvvaD7fP&Cq=j9=~R@JVAeIC5MvQ_c0&T9 z+!8Q4;YjMXw}b<8{D0qP1RkmMg^!^fqc*8ZM@{cP?3n7#9<_Mj@a6wy{pGu>QO$gNEKh{%+G2e6ML^8VS=#p zUeGISG;2FR+lGkBQ0o?*m{)q`uHx+JbIsLzG&%28E7s$BJ`9~~I`3u4#qcKv%7{e5 zA?k7%5uAiq33Wu3#jD?0dYhH;Dd;O}LEW|X!P&=j zr*_5A3^bWqLi)p5AiwgMbKw(1kQo9I5f6<}+BqUW7C?$YPrzYaoDNY7_&15lCEpS& z5sBnXG;U)=Q`s`)vasc~*PgM*Ci0`xSDBb~YZ9G(RQCZjxzM5_M*#zi5*9|{ljM_l zV6g%d&xt5lDV!j{`;jB0D|PT!#HZ5G6jK2&tjaujgD%o+uao_Mfw9xD{?7b@@o5sT z@UL{oY>rw>;G`WLti%l^R?>aO8{v8IQco8^LW{D�yAY0Pl|Y<4{!ZFkgb_?J=%nEQSF(@u4#C{W2#& zt+12GqEmKQ!nBJTz&nIDUMS|55kl)8dWZz1{&HQ-S%bNc|J}wL4~?)U&G( zSy;0rQ`+L$Y>HI@69G=j`BYY*YmssQK$Xjg;balaJv3yM&Dh;D{WHyfTN=PWNaqbt zS1hkqOubpX`m3dWugr7sqXw=mojt2tWD`oFW-Wrowr47f6+k#vh>B1(o!4l!9k$GCRBHLUBkDVetKk=SmWk?b%EVx)&*d{`rKG)us3 z@0q;e~a8x4}WT z67wstuJ2lEwxF9Zw6|kNla=qcmX+FT$??L(WoaIHAEvA0Nbki6(chG?HgXIj-nW#kG{(RZ z*P&+8_Drd0M@qOaa`0^&cnjyFYVvzcC@*!IP-sxoaHGt{zS5=Hyl%QJk2l{mK$q$< z-ii}00}uUHJclj=L*qC|2vJ<9QEkSF&d9oOY19|+WyBt{37%9fzI3;>dgW@@&LYuf z#A1#1l;XkMBqIm2vnl7rUNh8GR-SXB)VMVG*5v*^ng6#LZxH|gFIaobmyLfW^X>T? zoqbC9C-X>$d_UvU98~C8q+=p>2bU0AfcOy^nd?bA$!RN>i4 zc&J#BitFDh+9_fOtgB1vhlq!G@9cSxRMws5q<#>DlsE|Zuox(P2yBPjbOb~Kw%P;; z*~MJ!)=7mhF+G~DOW6mF4tDADdsmhwrbymFIsb-`MOlzwueAMPgQJkt|CsQso8wrpxX8X3B)l zH3!Q=|CX}QzqR}TzuU@d`Q2U?`gfFt{+;D8ze8nCh32kuhTlD9^iJl!vQRr*9_II< z@?m}tl#la!uzZ@|BV|DI%%kNzza!=I{GKRZ;P+%1+$!@_S!g?5ev#iZa{+!InUfZN zbWU3Mu{mkmC+F_tH#@hA-`t!~RhVN(H_y#&Mb{EIyab z7qR^p>!1t=>m*TU0rbMo8U$v-K%w8N@ipH+G;;RjaHRX0Y8}2KB9`+|mQ&IcW>dkQ zlfw?P%t$$i6z&z?L!ycX~6!NMr!qvt0Eg-u)AJ)uBo9l9x^ zxqSPIa0X&yDz4e5qK>l-^$>}Z_RYVL%}*lulas{LmqsTA%0DtYuB*V9Y})FKsqRs! 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

v_qh*^u4^b>E&iiMU1b$kWk-#UxM^)eD&&u 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%0A4+8)YB7e{ylMRGe z6R%FrgOo!ijBQ;+Of3qbd9x{E)Rg{z9v*DpU-|wR1mIuw{X95epZ0y+_g%j4@V(#n zithzq-gk+(;75H2eIZ}B?-AbvzI8ss`fKY?t>3eL!}_B2v)1RVAGAJZErB8U0qZqu z-g=JM;U}z9)-fw#^;tWucUkvZcN0temmmax+58o9jDFJmQS%2t3I1QqZ#CaAZ-_Ap=52^Vm{Zh_>4N)G1{{Dv?@JB>5?k7 z?`c_lw=Qw+qAESexuE|Pw3Kg7->C%Ok#Zg@vYgs(6O84{I zbE0Ha=8C^Qtx_FwBwP~|C*|K;_oxFE<%i`m1=`pu7?3PZdQtO$P z#S^O3a=K;lQB}H|(vT{xp>$l8tWzzEgQ{elY*{=erH%jZV=apVs`Pg!S{9G$(xWYl zM^x!=Id@o<{)TghRO!F-yo0Lr*TXG~2Xu+&_3IMPORCaeaW$b!T#f4z&x`32&x@+k zpV80}T^edx46D+g+}pAk(xu}qi$PWTV@d&4`XfsFRp}48uTPf-TNZm&=?^IFQ>Cv` z+N(;xPfPab(y`XXJ(R4CKVy!xE_U0+Gp&oeRq+ev>DI+AyLhT~ahEFowE1}J;!aik zDf6+`#T}~nljd;i;&!`uvURaj6@Nm``t2fTx2fW1&C9KekEr60n-i^zTUGHhX1;at zVY`@XUEHFIKW1iI7vE(UGiv=erVaB6{_~Fi6|$wIo|2!JcNLzjJ129sE526fR5GwO z;BN&T1MagpiP0!?F&Gm`dy2ST_2WY%-<>CAZRE`O;KD=LF?djO!>Zs&{ zZY2*NsH~)}ovnkG?I}He0tvj4$L<5V%R5Q`%f$03VwD~4F}%B6 z&d68qdzzf48S&Dw{9<#PymFPeOjiFXG54ihc`83T$jP&1Im(Z`Iy?CyD?O&WjI8zR z?B!Rz$$qF(0{Z+z;QFpRDq%qWb^7w@8|sPcUS4-~Ar1Ouzv^`M+3r0WwOMup{`6Gp z@-hBjPOh_Gsqc3BLZ!6!Gxn@|^}xEPbJOr&WpgtAw;7KazCZE(I_Up*$N?Dj^??QW zN7m1u0!Bv74{W>CkjKkE_)yt`1Um*YR8+UQvE)uNTjB+pY_smYD=22~-$a6ij^Z)jiPHZHg) zHx*x3ck&uTDU6$nuT`7~t}DK(PTa#C>4%E1aImdi4zy6tHa@kj_%fGvcOZ*lyIQpY z@|pq@z_ho&_!4&v;Qwg1f4nlV+(n^Mz=ro0Z}1E8YTRRpVP`TM*jK#Hsr{YzK+o)L zHC3L!j1fO86W7=@@Zq35Y%gBpb}0Q2%WXx)BI6*=U5Y)^UVM?8wzSDjsulfR*}3`a zTzROtz?JsRU`y&N>g?&^v7z(r#d*1;zK{CR)Z~@PdHHgkMPOi!ULtgPr}9CMTqCVR zwYh_2(o+QE)rfMB(-xZJPLx^yVZN}9c%qtNXAuBbW5*7;d1O|wF4UlzDHqjkJBnAi zZ5!XF*RCrMyH0xYg)^hWC(aBVA3t_+Y{*{(pjANiDjHB{DB6v-tq4A=v5TrX!eO2i z5IS*{saI_;g3M~{_1r51}9yNW=su4W(;8AM~gd&Kh z{8jY%`-%XSR-csdf0r3Id|B)JEQ7*7|E;D42m(5!O+m>*%V~a5bAh)R?Vm7ymuP2F z4B}ArVVNf|0a|oYQh~3O%_VR=fy$I4Cy~i<59%By=j_4Cn-BXdkDc49epGdr|F93a zmJ9yUK{o7Uyzb6O21Vm~{0=!1VQ{A)2m_1&7oNo3$8d83jR4>sgbFG(%8{Us`0Ad+ z{)$_xg;f`ojK8y7I9NKMWsJT)+*HOdryv2t{1;7vp#V4@0ekTj(b$0imUrM|GO5bu z(%E2@qUv)^+IeM4*}+Pc`@E5}b9pwYSGz8;0@s|*3 z1)7t6&;c-CP$8j6jst8per0Ydm%CbNOx5Q+MpRi>{a95pSW+CP zU}}Fqe*U9cm@VN3MrSQdC-MCe$RR*uBQ`7+34;~`1Y{VlFtEyqfQez@T`7w?RV_-D zB%S+;`%6dILohNs_qIvu4(;Onl|PcWT7`NMVjCh)2+yb2<6ey?@m7!z6A8<7lg86Z zw3=h|={%(T6P1UydqR&xJ8ScxM}L#m*(M^x$X3?t9CxdIEmUqzL^A$jaOMiWb_`c3 zf5oFU=^x=~DjLWBv11I=A&j`#vo}<%T;_5v^Sr3;xX9K0irh{-_kLNr9fGtzn(XkK zX|k`TA`$4kU?+j$koh7R0FfC^1Mt!^X-tvXpwmW&Dw|9nz7tLMRpV>l&?b}dznQRK z-|u1hd%>50>FXD)Z?}$EYs@c^`Tx9`#0vNG#^PIy3=S8AHIouOd5c@pblI@McQP=$^FINH;Dmoq`2?znSZ;txc5z@ z_wO$DtTIVIUfknp1s$X+tx%EkuTS^)SDYLvcE8O@(6Qp~s$_S~ejxG;+Pedlzg|s> z5G!_7|8R9#{h{KnH=nW}EAFg%+bVPNFBEsYBN@pL7PptPiO1B2Q2%#Ju~WbWwyG_e z%X%Tf7m{Zsyzz@GIpquW6J<;O8lH@8Lhkb2P((Wb1aOEk)uv&xXmkE71uHW5$ zBBm1xyfi^gb1a0ka>>2GBDQLrCaVmdH(F8sU^CsuBlcARLOuowXX^02PGc zbaB6X!8v0u++J5XALrOYUgO6)u5{;ie-~F3xL#SgK_KgERN>g0sKPIyx)R#Twglc# zknDmv!UF(_43hp!EC*QYuB5B2LWPKx(yy%DiYok)^(C$UFBraOtcY1O7M%X~j{aL* zTY6mF03b7l+x9c8ZLSB#LHWI6t0-c?2%b(6&k+x%1F;l50U1)L!RiO}n85xROmdMx zaB}Y40@-oX6H2dDov-2)hH7mDa}<4U85Et;Pr9u5NmFI^bQKVqCIn6LOUO_sukO6E zY>WOWwnzUJ!parU*ldo-^642(AKp7P1C#jd!t}JUQS9F`g0N< znsS~l+~edE^_3pejnTHJtS#eBQ@JeD^=Im*11I%jh;rV==8jdOvORhQV&{-pFp{YC3E9?=LnoBzAd@SQOK z!ssiHzS^ZXj+D;m39n;dE7nDiC8Ioa#p-oyjYNOP38^4c3Y_$CHVRh)z-);`8owA1PL0c)1AfK#!o1@uc}!o|feo?~R49O&Gjm|tb7+Hss$ne|e&qSF z9Yyy61vIPhEXC6-GPCA#FD%G>AXBqOA$5@ORJYN;+2{Tu(3^C7 zrzcHOMrApE-N8CNePMJ=qC*y@CwYn5UV{UXa-jH}EU~`g`O<0q3EK`e{Dg0WjQevdq3ZP_4$-{NV&xtemr%Xq%<;r z3rZ9%d86EX`-CFgFUil0*2#&>lv6K?w~qEDoL};$VNScu96jBen#)X1%GY7U%lA`H z&d%iKrgz&vW4>?Re)^SaGM^=h=L+*X>;C511RMh3Emg)x62?6=ZDv{hr(E-bLKfzU9G%*;yH}@&ji~ zrBh4+qdHgE&MTwe9QFs)Fh6+6e>A1;pF5kIJtp^-rwjEMK8pHxcW`%K;mH!IfYNX7 zzu33|WJ0xe!Eq&ksbCnfo|0n5m?Qu>PE<0wd6e`fgj-Gh-Mbo9e^=P&6LjSsQovybBA@ zta~3FSKzzEOE3hNiumXcpfkR+_1fm&M&K#`T z86sVw8zbc|5F-TzR}`uc6|iTCRn@_JZ=-4)T2YN@65Le4=k~s0OKD7x%UzQljlMzw zP>h`xjx?s)9AE_rV3|VDPe@Q~h)5;Sr?X&Qkj^tZI-i;aY$Wr%c9{F?3dgrtad+LD z`5*}oXfml`&x=CKOstmq+*InSXl@R?PF_;_>{(bgUs^*`Q>_z!W6$Pj_H%sQKJY(A zSGW9}lcos6xR-!$hY)4f>matKNHP;94C<%dqw zbp26nCF_s6xx4_W2Qgu(e|HCVEBzk?MT2;shs^=w-%zagSJ+UxMDJ(U-gbH`S%P(x ze`P!BJp_Z8ELMDb+ z1*`OKEzkXfZO!C4m)}{LEf^wp<+G&;9fg0)q)a@xR^rP2ztl zgi#A`H6#YPT$D6u&;_08?)2m|D66ZOD(vaedw<<3GFhDVOcv^0exlqZ)1SBX74I)S zxw>gj&_Aq`DGa=@PQkbnfMXOG5CKic_6S`Y=qIFodWTr^x~#mrQB6*IYNCGW41P3A zQN=FIky=H3B0E-M_?Xyp9AMS};DzZ&ARF|?haId0F}h3G9FdI+Bo(mP70S21fIa@d z)$paP&zgT{4v`l75BFDyl%CZix^tn;7;QMikgS1=7C@>9xa%yh*uKbVhk;ADxS(#~ z|Ag80>=a}bYA5BAAgqkOb75UEJ5>BeTfF-F8~nryMV66!eARM?L4nK(_yCX*IaK*v zGK(=kn1^pB3E`74eImojNe0feJt1jYrv^f3xy!#2< zjP(YthA?LLAYK(x4)L9X^Fc^3Glks>m5htw`_Ra(u?PPL7bDWvH0+N*=s2`tAO(@kfmvz3H zvV1H5a3#b#q`kF%CAb3a-Tof;o;`;G?&&g~xetgAkQLlU*Cqp4{Cjj9I zv2?@Wl}+T`hIHzqnzQ&R z*nfY<_%nj?$;%llJ%_G@rhlN|Ya43ZqY^t(Xwo6TF+|G?hXJ36hQND3<0EGWO7C1w z^{7!5jUhw!QLvZhF4yW-`krzRu)9@_pSpcZU$gs`K5+U|_0ue1JtuX&k_EGAy|%-S zOE?(2n0$zS#p;JABLf*7mMZehL%Doaz3NUy)q?rabSv=L0p^7p3c5no+%l~{Ap!Y=8iL0e%jLPL?!;g5GqQiD$QPxhvur$pB}hil0)b4-rqc;MJmeLP2S=q4 zRSTLsrs~zJPF3{y|ES^HVinBqH~q#(%PaCfeChSl4DBpll|${s_z)4}1PD~R8pOt`p8&T;*0fAnd2A?M{)Y1C$4o=Qyrg8`UWB$XiqPyokr!9*| zE*I96rnLxd1D#Dp_zG_X=rc`R0!}gja)}C-9!#HxiwX{^bpGtjoQkeJICj|Yc^g8w zS41e!B@yH+%Z#Nfy3eu56Gq?JRu&902Z(X^@SKpCj_DYqWFRy~*jhj5NlSnhtHA9$m zase=+vZ1snTEG|(5{{@9t3}03&h0}U?cm@frrABlaW#_sR#zm?g5gW=IV$bb!OasmtwZ+CfKAM|QR1}Axq1@wn zu+pDwFN$^x*(?!H?ekyMj(wh{mkT03I!eNL&x}Py$y`%s=Kp`3jVIX0U_5~uQem%>fXmx}YZO@L6�#9d$lyDWotXod^Y`ks2DQJ$r26< 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%0DR3gY^VbCmRX`@!FMbWr$#u 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%0DbP3BhMaOFi^0cPKmO)4-b6(C%Z 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

  • <^t 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�pTu0E}g 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 pv+b47vnG!SSfJGbZq0pJ^f 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 z

    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

    wATEb_7Da5$P%A|H~Q=8=>!p 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
    6umMTQx>pNK-&5nLou#u@hY4!lR{bn@l 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 Y^@^u28x?Hq`jRsPH;Q#y;g1{s1wQ!$jQ{`u 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

    nK)%T~^H6WWB<=*}C5R7xU{N3w+6(G5^&3&*pEK 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°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

  • 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 0000000000000000000000000000000000000000..542e631183a4e759c8a8fb446704581dd716fb0a GIT binary patch literal 1594 zcmZ`(e>9VO9DdCfcPfc?rH+0uCA*cxij{6LO_GahQH^yXiBYKV!F$KXVx(L&XAw!5{k<4Z`B-j3t2;KbOhX=%azvY+za z@WR4p5!UqM`P`^jB;9B|kQ-Mek`m}f_4D!OVL%asZL%KN(4)IN(C^9v{0GpdLhhE4Me5JR7q!uJT|H^2{4{GvIf+822CCN6tcxnzC*3! zb?HC2xD-@TJhuJ{4{i;QY0ym$r4Y?*h#X~Si3#`E?1Rr6|@` z037rwzyCZd0akP8IW6I)((f3g-T!oo&Q~%22FCX0!Q=Yh7_u?oj`gq=D>%eN^zPn` zc!U73rhD`vtf4kwXq(2UMxZQR4Ez-{q@ivoJs(59r{X?Ag8!NUn<1e7=X3lcN!Po? zNFH)yBz-k8lEVl=M*ZmBqt0|wjB&XDk6z9Y0xRp2=xE%W1#MJd(O068SGDyvB;GtA z9YV-+ixKkGF!^`L#2Of38U-tspkT6vl&}p2Az{vRbaDwyUJmVwashqc8f#mOfRL{mVW6)PIhY;jZp6Hu9f&k6EPL7c&qPvBO!WT4t3xuDXbl4dv#PZkD}SQF)r5RlqF? zU03&VX0XmWLpn1#E#B2*a}Cs>8s(SHRws zq3|hw63PEsKL1p-^GWT*)qPV0%7>bPz7dBx@6UtG@u{S&95dH7p1K!{KrOvnq>OSi zm)N#dD<+C_*kG=7vVx=vb#@hTT!hrv$Htp&H$(NA%6WV{|6MWS)H~Tu?D5$jILQg` zhabHjO!|gV+18CY4{g#$giJ9!#QoDRUG;_JPeX+LIMA&r4Kw_%ye~q1p&){-Ug@yE zKY8n+_?(kEsj4}C*1^dq)gg&ciETTV7uMK;<iUzD&Dz(`k3}MPFii3(pDTP-yZD4>UBBr4aRlB? z5MTSS#(lKRw7MeY3UKcuFG1AjLy;qW4*t#*;sEA21~bHh`> z+Q^MqMjDKaL}H^vN#Ey|y3S(x^7?Z^w*voHve?wb<=Ch~%M1pd7Z|{5c~7yJE)3my z;;Hh2IBf{as_D$z-feMrVRk7^8`+TxVk{*;e>;tA|llPuuAw8?&N*nhYD*WP4bN7;q9#M{|DDb-|ONALQ|fwcOxJaAI67 O10-*MuY23W7=Hn?a|S&C literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..492eccdf0776e955da45d7ced7f83c9a2b35ddb9 GIT binary patch literal 665 zcmeAS@N?(olHy`uVBq!ia0vp^{XiVR!3-qDuU?A=QW60^A+G=b{|7Q(y!l$%e`o@b z1;z&s9ANFdBM;?O_dk=&r9Q9%ea~0_RrIWGRNH>O<0oq#AZ^;=}MK8*XF2;%=P`Hy3*#Rz&U%* zSub80TdS_T9xaz$^w6+&_Otkkb!uDAW}dr!&gNvv|MlM||5eR?{jm8*rvmHCq6yNh zrvCOj_PhvISC9B_dpoHwakW^?(+O8<}L^CIh(%0K<6ZOX1Gx##}IvvIpK6ALyjeXgYI+24Nq+twjoLW*YW32%u!)FU%YtTRz}H8 zICj_9X67vQ^PZctpR3kAYH2FzJ;mGjYp1$-aTWjfzAW?8nX>+WeCBK`49!0#cjvf+ zsJ-^{`5#5>&(?}o*WX@QJWKuiBIVfG?<tS$%X)17qa}X(+Wg3}Z$DWLE~|h2y;Excvzg*{4Q~AVitf$n ukG=n&?fCuo4BS9(ujQ?D;z*SL%f9G`+^S=bt#$&_5re0zpUXO@geCxgTsL(9 literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..5db37e5fea11f0d50f8dd70cc1cc926c96ef6d03 GIT binary patch literal 590 zcmV-U0vTJkN^MxkN^Mxkifve1&Q1r00008bW%=J0RR90|NsC0)yh;d0005qNklia+PmOyL>KTX#!i$JF>7($$ zv<>-AMC?*S*ghg69qqoM^9sH*_k{1d2T$F`??b4E&8&-3d^R2b%k(u~w$>5a+9$4M zu+P^)f>hUe^0{)=QY_fG^|p29wKfmek*nIPT|vn?k8lrf5u44=CF)H&S?73byiw8( z-fG>QRJ6i{H1H|bY5+bJHJ^%m!07*qoM6N<$f + + + + + +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 0000000000000000000000000000000000000000..595804a38eb0b1a44fd7fa78c2c6d0559006859e GIT binary patch literal 594 zcmV-Y0vTJkN^MxkN^Mxkifve1&Q1r00008bW%=J0RR90|NsC0)yh;d0005uNkl##*2tJ=}+N< z=@{~zh}fluaJ)oB20G`alXvg~-v&RNp8V=D{v1L*9A;gV;5jR$bj#sfHM;{lws@c>TRc!2LJgb@5h0Pxbr132lg;Ey4zumE2JYiyzj0+@?)Y zTX&7R+WZPX>im3DZnaJo{)PMX++Pn$nReUx03-eCskp}1=McaT>xVd5JGU%Ka%Jh4E*INQvd(}07*qoM6N<$f; + + + + + +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 0000000000000000000000000000000000000000..8f5b49c8f3a9eb241d8b3dd4934872047b359042 GIT binary patch literal 598 zcmeAS@N?(olHy`uVBq!ia0vp^l|UT8!3-q1+O=ANlth3}i0l9V|AEXGZ@!lHADRGU zf$@O@2Ut7r$OE|?B|(0{3_wL7aP?G(5d#C`Q%@JikP61Pb6*#|R^VY1H=O*v{)rs3 zTSs^DcH0XxC;VES)VP)7MY&Y9OH>^|JQeBOlS!fP_`=6I>8U;nv3rm}DP9(Rc1RE*`I$X zhzR~{{I-5c#|fQUjhof)!#N(@u42@=X!PmzR<6B0fB5%s?CtwAaqr%f441c@WY~-Y z`#+ge?A^i~vA~yY#!`C+JD;G3j9-G>GkhD|K7PEihhc5ek7;)rvfO`M;-7PZK{<9p zb0_o7BQCR4UBYLG?2j(un|17zK~#F}vpX9vJ-DE4;rrm+oTNjUXA(U7>aQ|sExswX z^Y&k@S2d!~ + + + + + +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 0000000000000000000000000000000000000000..11f3e66987bc17a56ecfd3cba184288f295b8554 GIT binary patch literal 605 zcmV-j0;2tiP)vTJkN^MxkN^Mxkifve1&Q1r00008bW%=J0RR90|NsC0)yh;d0005(Nklia+Pnm}v=4$abSRFhk7ZftNqz_7o_Ip?)PCdriwgg`h$NUF`$ zCz9I4k+u&>I@)8WL6X`g2yXud!402`x`nWt)SAsLlM{sMI{w-zNWSWAGx)Vo-mMh- z7%@z2THm?f#b!F1jHEUPp?v#%WA>&N#4j%^!Fh)7BWTuPBkFc}ojUJp1TDrh_yIxp z-tA;c;~s)r3oe3N3wEt;A$TXEKIq02f5p^J5^F%QUSnwdH}#$tw(q~mNTqJcoM8;_yB}B5rGg0089&nKnR3D z0MN8R2!ucg1OQD7gnxsOQc7!u1OO`)2!SvlY^KV10BBRkUdI67$n-jn8vrT-Uo@g(LF-)E-JH#&g`R94FK7HbN)Y zZOatFt%VNZaxIusbafTH6Hy;@q30)}be4PJC}3Md{fPhoPm}o1T _O1eeMt^}| rt|I{G^(P1b@Y@Q6Krjd?rL + + + + + +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: +
    + + + +