Browse Source

Update docs

Signed-off-by: falkTX <falktx@falktx.com>
gh-pages
falkTX 2 years ago
parent
commit
ab8e200b4f
Signed by: falkTX <falktx@falktx.com> GPG Key ID: CDBAA37ABC74FBA0
100 changed files with 5994 additions and 5164 deletions
  1. +127
    -107
      Application_8hpp_source.html
  2. +6
    -8
      Base64_8hpp_source.html
  3. +118
    -76
      Base_8hpp_source.html
  4. +48
    -44
      Cairo_8hpp_source.html
  5. +29
    -31
      Color_8hpp_source.html
  6. +24
    -26
      DistrhoInfo_8hpp_source.html
  7. +18
    -20
      DistrhoPluginUtils_8hpp_source.html
  8. +698
    -695
      DistrhoPlugin_8hpp_source.html
  9. +189
    -0
      DistrhoStandaloneUtils_8hpp_source.html
  10. +372
    -361
      DistrhoUI_8hpp_source.html
  11. +20
    -22
      DistrhoUtils_8hpp_source.html
  12. +13
    -15
      EventHandlers_8hpp_source.html
  13. +39
    -41
      ExternalWindow_8hpp_source.html
  14. +212
    -0
      FileBrowserDialogImpl_8hpp_source.html
  15. +193
    -265
      Geometry_8hpp_source.html
  16. +56
    -57
      ImageBaseWidgets_8hpp_source.html
  17. +44
    -44
      ImageBase_8hpp_source.html
  18. +10
    -12
      ImageWidgets_8hpp_source.html
  19. +6
    -8
      Image_8hpp_source.html
  20. +11
    -13
      LeakDetector_8hpp_source.html
  21. +7
    -9
      LibraryUtils_8hpp_source.html
  22. +13
    -15
      Mutex_8hpp_source.html
  23. +226
    -216
      NanoVG_8hpp_source.html
  24. +190
    -0
      OpenGL-include_8hpp_source.html
  25. +219
    -305
      OpenGL_8hpp_source.html
  26. +592
    -573
      RingBuffer_8hpp_source.html
  27. +334
    -0
      Runner_8hpp_source.html
  28. +18
    -20
      ScopedPointer_8hpp_source.html
  29. +10
    -12
      ScopedSafeLocale_8hpp_source.html
  30. +5
    -7
      Sleep_8hpp_source.html
  31. +29
    -31
      StandaloneWindow_8hpp_source.html
  32. +129
    -125
      String_8hpp_source.html
  33. +54
    -54
      SubWidget_8hpp_source.html
  34. +315
    -313
      Thread_8hpp_source.html
  35. +54
    -55
      TopLevelWidget_8hpp_source.html
  36. +23
    -22
      Vulkan_8hpp_source.html
  37. +463
    -445
      Widget_8hpp_source.html
  38. +540
    -489
      Window_8hpp_source.html
  39. +82
    -82
      annotated.html
  40. +12
    -13
      classApplication-members.html
  41. +38
    -12
      classApplication.html
  42. +4
    -6
      classButtonEventHandler-members.html
  43. +8
    -10
      classButtonEventHandler.html
  44. +4
    -6
      classButtonEventHandler_1_1Callback-members.html
  45. +4
    -6
      classButtonEventHandler_1_1Callback.html
  46. +5
    -7
      classCairoBaseWidget-members.html
  47. +10
    -12
      classCairoBaseWidget.html
  48. +4
    -6
      classCairoImage-members.html
  49. +4
    -6
      classCairoImage.html
  50. +4
    -6
      classCircle-members.html
  51. +4
    -6
      classCircle.html
  52. +4
    -6
      classExternalWindow-members.html
  53. +4
    -6
      classExternalWindow.html
  54. +9
    -9
      classHeapRingBuffer-members.html
  55. +13
    -9
      classHeapRingBuffer.html
  56. +4
    -6
      classImageBase-members.html
  57. +6
    -8
      classImageBase.html
  58. +49
    -50
      classImageBaseAboutWindow-members.html
  59. +19
    -25
      classImageBaseAboutWindow.html
  60. +5
    -7
      classImageBaseButton-members.html
  61. +10
    -12
      classImageBaseButton.html
  62. +4
    -6
      classImageBaseButton_1_1Callback-members.html
  63. +4
    -6
      classImageBaseButton_1_1Callback.html
  64. +5
    -7
      classImageBaseKnob-members.html
  65. +12
    -14
      classImageBaseKnob.html
  66. +4
    -6
      classImageBaseKnob_1_1Callback-members.html
  67. +4
    -6
      classImageBaseKnob_1_1Callback.html
  68. +5
    -7
      classImageBaseSlider-members.html
  69. +6
    -8
      classImageBaseSlider.html
  70. +4
    -6
      classImageBaseSlider_1_1Callback-members.html
  71. +4
    -6
      classImageBaseSlider_1_1Callback.html
  72. +5
    -7
      classImageBaseSwitch-members.html
  73. +6
    -8
      classImageBaseSwitch.html
  74. +4
    -6
      classImageBaseSwitch_1_1Callback-members.html
  75. +4
    -6
      classImageBaseSwitch_1_1Callback.html
  76. +4
    -6
      classKnobEventHandler-members.html
  77. +10
    -12
      classKnobEventHandler.html
  78. +4
    -6
      classKnobEventHandler_1_1Callback-members.html
  79. +4
    -6
      classKnobEventHandler_1_1Callback.html
  80. +4
    -6
      classLeakedObjectDetector-members.html
  81. +4
    -6
      classLeakedObjectDetector.html
  82. +4
    -6
      classLine-members.html
  83. +4
    -6
      classLine.html
  84. +4
    -6
      classMutex-members.html
  85. +4
    -6
      classMutex.html
  86. +5
    -7
      classNanoBaseWidget-members.html
  87. +35
    -37
      classNanoBaseWidget.html
  88. +4
    -6
      classNanoImage-members.html
  89. +4
    -6
      classNanoImage.html
  90. +4
    -6
      classNanoVG-members.html
  91. +29
    -31
      classNanoVG.html
  92. +4
    -6
      classOpenGLImage-members.html
  93. +4
    -6
      classOpenGLImage.html
  94. +4
    -6
      classPlugin-members.html
  95. +4
    -6
      classPlugin.html
  96. +4
    -6
      classPoint-members.html
  97. +4
    -6
      classPoint.html
  98. +4
    -6
      classRectangle-members.html
  99. +4
    -6
      classRectangle.html
  100. +4
    -6
      classRecursiveMutex-members.html

+ 127
- 107
Application_8hpp_source.html View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DISTRHO Plugin Framework: dgl/Application.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -29,10 +29,10 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
@@ -71,7 +71,7 @@ $(function() {
<div class="contents">
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> * DISTRHO Plugin Framework (DPF)</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> * Copyright (C) 2012-2021 Filipe Coelho &lt;falktx@falktx.com&gt;</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> * Copyright (C) 2012-2022 Filipe Coelho &lt;falktx@falktx.com&gt;</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> * Permission to use, copy, modify, and/or distribute this software for any purpose with</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> * or without fee is hereby granted, provided that the above copyright notice and this</span></div>
@@ -90,123 +90,143 @@ $(function() {
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160; </div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="preprocessor">#include &quot;Base.hpp&quot;</span></div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160; </div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;START_NAMESPACE_DGL</div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160; </div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="comment">// --------------------------------------------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="comment"> Base DGL Application class.</span></div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="comment"> One application instance is required for creating a window.</span></div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="comment"> There&#39;s no single/global application instance in DGL, and multiple windows can share the same app instance.</span></div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="preprocessor">#ifdef DISTRHO_NAMESPACE</span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<a class="code" href="group__NamespaceMacros.html#gac4cb97c393d20c28ba19365d844341cd">START_NAMESPACE_DISTRHO</a></div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="keyword">class </span>PluginApplication;</div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<a class="code" href="group__NamespaceMacros.html#ga3ff541a449593e069a29e92d21e38ef3">END_NAMESPACE_DISTRHO</a></div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160; </div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;START_NAMESPACE_DGL</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160; </div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="comment">// --------------------------------------------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="comment"> In standalone mode an application will automatically quit its event-loop when all its windows are closed.</span></div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="comment"> Unless stated otherwise, functions within this class are not thread-safe.</span></div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="classApplication.html"> 36</a></span>&#160;<span class="keyword">class </span>DISTRHO_API <a class="code" href="classApplication.html">Application</a></div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;{</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;<span class="keyword">public</span>:<span class="comment"></span></div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;<span class="comment"> Constructor.</span></div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; <span class="comment">// NOTE: the default value is not yet passed, so we catch where we use this</span></div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; <a class="code" href="classApplication.html">Application</a>(<span class="keywordtype">bool</span> isStandalone = <span class="keyword">true</span>);</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="comment"> Base DGL Application class.</span></div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="comment"> One application instance is required for creating a window.</span></div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="comment"> There&#39;s no single/global application instance in DGL, and multiple windows can share the same app instance.</span></div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;<span class="comment"> In standalone mode an application will automatically quit its event-loop when all its windows are closed.</span></div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;<span class="comment"> Unless stated otherwise, functions within this class are not thread-safe.</span></div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="classApplication.html"> 42</a></span>&#160;<span class="keyword">class </span>DISTRHO_API <a class="code" href="classApplication.html">Application</a></div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;{</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;<span class="keyword">public</span>:<span class="comment"></span></div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;<span class="comment"> Destructor.</span></div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;<span class="comment"> Constructor.</span></div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; <span class="keyword">virtual</span> ~<a class="code" href="classApplication.html">Application</a>();</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;<span class="comment"> Idle function.</span></div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;<span class="comment"> This runs the application event-loop once.</span></div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; <span class="comment">// NOTE: the default value is not yet passed, so we catch where we use this</span></div>
<div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="classApplication.html#af9dd089d30cf442f8ffda646305089bb"> 49</a></span>&#160; <a class="code" href="classApplication.html#af9dd089d30cf442f8ffda646305089bb">Application</a>(<span class="keywordtype">bool</span> isStandalone = <span class="keyword">true</span>);</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;<span class="comment"> Destructor.</span></div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <span class="keywordtype">void</span> idle();</div>
<div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="classApplication.html#a20573928a0d53fb96d929513bc5acde6"> 54</a></span>&#160; <span class="keyword">virtual</span> <a class="code" href="classApplication.html#a20573928a0d53fb96d929513bc5acde6">~Application</a>();</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;<span class="comment"> Run the application event-loop until all Windows are closed.</span></div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;<span class="comment"> idle() is called at regular intervals.</span></div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;<span class="comment"> @note This function is meant for standalones only, *never* call this from plugins.</span></div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <span class="keywordtype">void</span> exec(uint idleTimeInMs = 30);</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;<span class="comment"> Quit the application.</span></div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;<span class="comment"> This stops the event-loop and closes all Windows.</span></div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;<span class="comment"> This function is thread-safe.</span></div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; <span class="keywordtype">void</span> quit();</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;<span class="comment"> Check if the application is about to quit.</span></div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;<span class="comment"> Returning true means there&#39;s no event-loop running at the moment (or it&#39;s just about to stop).</span></div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;<span class="comment"> This function is thread-safe.</span></div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <span class="keywordtype">bool</span> isQuitting() <span class="keyword">const</span> noexcept;</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;<span class="comment"> Check if the application is standalone, otherwise running as a module or plugin.</span></div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;<span class="comment"> Idle function.</span></div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;<span class="comment"> This runs the application event-loop once.</span></div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="classApplication.html#ac8382754f04f4de15768981459a28e3a"> 60</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classApplication.html#ac8382754f04f4de15768981459a28e3a">idle</a>();</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;<span class="comment"> Run the application event-loop until all Windows are closed.</span></div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;<span class="comment"> idle() is called at regular intervals.</span></div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;<span class="comment"> @note This function is meant for standalones only, *never* call this from plugins.</span></div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00067"></a><span class="lineno"><a class="line" href="classApplication.html#a805dd37af3b9adfc1d0ee1e734ad81e3"> 67</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classApplication.html#a805dd37af3b9adfc1d0ee1e734ad81e3">exec</a>(uint idleTimeInMs = 30);</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;<span class="comment"> Quit the application.</span></div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;<span class="comment"> This stops the event-loop and closes all Windows.</span></div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;<span class="comment"> This function is thread-safe.</span></div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="classApplication.html#af77b716ee803aecb2ce1674695dc3986"> 74</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classApplication.html#af77b716ee803aecb2ce1674695dc3986">quit</a>();</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160;<span class="comment"> Check if the application is about to quit.</span></div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;<span class="comment"> Returning true means there&#39;s no event-loop running at the moment (or it&#39;s just about to stop).</span></div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;<span class="comment"> This function is thread-safe.</span></div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; <span class="keywordtype">bool</span> isStandalone() <span class="keyword">const</span> noexcept;</div>
<div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="classApplication.html#aa2dd05d544834e8fca24a58f5e57f795"> 81</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classApplication.html#aa2dd05d544834e8fca24a58f5e57f795">isQuitting</a>() const noexcept;</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;<span class="comment"> Return the time in seconds.</span></div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160;<span class="comment"> This is a monotonically increasing clock with high resolution.@n</span></div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160;<span class="comment"> The returned time is only useful to compare against other times returned by this function,</span></div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160;<span class="comment"> its absolute value has no meaning.</span></div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <span class="keywordtype">double</span> getTime() <span class="keyword">const</span>;</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;<span class="comment"> Check if the application is standalone, otherwise running as a module or plugin.</span></div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160;<span class="comment"> This function is thread-safe.</span></div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00087"></a><span class="lineno"><a class="line" href="classApplication.html#aa0728e9c72545d81ba403b44c92ecd50"> 87</a></span>&#160; <span class="keywordtype">bool</span> isStandalone() const noexcept;</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160;<span class="comment"> Return the time in seconds.</span></div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160;<span class="comment"> Add a callback function to be triggered on every idle cycle.</span></div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160;<span class="comment"> You can add more than one, and remove them at anytime with removeIdleCallback().</span></div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160;<span class="comment"> Idle callbacks trigger right after OS event handling and Window idle events (within the same cycle).</span></div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160;<span class="comment"> There are no guarantees in terms of timing, use Window::addIdleCallback for time-relative callbacks.</span></div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; <span class="keywordtype">void</span> addIdleCallback(<a class="code" href="structIdleCallback.html">IdleCallback</a>* callback);</div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;<span class="comment"> Remove an idle callback previously added via addIdleCallback().</span></div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; <span class="keywordtype">void</span> removeIdleCallback(<a class="code" href="structIdleCallback.html">IdleCallback</a>* callback);</div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;<span class="comment"> Set the class name of the application.</span></div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;<span class="comment"> This is a stable identifier for the application, used as the window class/instance name on X11 and Windows.</span></div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160;<span class="comment"> It is not displayed to the user, but can be used in scripts and by window managers,</span></div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;<span class="comment"> so it should be the same for every instance of the application, but different from other applications.</span></div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;<span class="comment"> Plugins created with DPF have their class name automatically set based on DGL_NAMESPACE and plugin name.</span></div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; <span class="keywordtype">void</span> setClassName(<span class="keyword">const</span> <span class="keywordtype">char</span>* name);</div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; </div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;<span class="keyword">private</span>:</div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; <span class="keyword">struct </span>PrivateData;</div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; PrivateData* <span class="keyword">const</span> pData;</div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <span class="keyword">friend</span> <span class="keyword">class </span>PluginApplication;</div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classWindow.html">Window</a>;</div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; </div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; DISTRHO_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(<a class="code" href="classApplication.html">Application</a>)</div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;};</div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; </div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;<span class="comment">// --------------------------------------------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; </div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;END_NAMESPACE_DGL</div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; </div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;<span class="preprocessor">#endif // DGL_APP_HPP_INCLUDED</span></div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160;<span class="comment"> This is a monotonically increasing clock with high resolution.@n</span></div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160;<span class="comment"> The returned time is only useful to compare against other times returned by this function,</span></div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160;<span class="comment"> its absolute value has no meaning.</span></div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00096"></a><span class="lineno"><a class="line" href="classApplication.html#a2f6f8250f31dbb600bdef12692d62b73"> 96</a></span>&#160; <span class="keywordtype">double</span> getTime() const;</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160;<span class="comment"> Add a callback function to be triggered on every idle cycle.</span></div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160;<span class="comment"> You can add more than one, and remove them at anytime with removeIdleCallback().</span></div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;<span class="comment"> Idle callbacks trigger right after OS event handling and Window idle events (within the same cycle).</span></div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160;<span class="comment"> There are no guarantees in terms of timing, use Window::addIdleCallback for time-relative callbacks.</span></div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00104"></a><span class="lineno"><a class="line" href="classApplication.html#ad6aab76a79b7b3c2883785040b46017a"> 104</a></span>&#160; <span class="keywordtype">void</span> addIdleCallback(<a class="code" href="structIdleCallback.html">IdleCallback</a>* callback);</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;<span class="comment"> Remove an idle callback previously added via addIdleCallback().</span></div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="classApplication.html#a082f532e2922924c6c72517f9272f67d"> 109</a></span>&#160; <span class="keywordtype">void</span> removeIdleCallback(<a class="code" href="structIdleCallback.html">IdleCallback</a>* callback);</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;<span class="comment"> Get the class name of the application.</span></div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;<span class="comment"> This is a stable identifier for the application, used as the window class/instance name on X11 and Windows.</span></div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;<span class="comment"> It is not displayed to the user, but can be used in scripts and by window managers,</span></div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;<span class="comment"> so it should be the same for every instance of the application, but different from other applications.</span></div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;<span class="comment"> Plugins created with DPF have their class name automatically set based on DGL_NAMESPACE and plugin name.</span></div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00120"></a><span class="lineno"><a class="line" href="classApplication.html#a4eb331050ea4835aea5ad06cad1265fb"> 120</a></span>&#160; const <span class="keywordtype">char</span>* getClassName() const noexcept;</div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;<span class="comment"> Set the class name of the application.</span></div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;<span class="comment"> @see getClassName</span></div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00126"></a><span class="lineno"><a class="line" href="classApplication.html#a203d22d1ce0c0de90c2379f6bc839815"> 126</a></span>&#160; <span class="keywordtype">void</span> setClassName(const <span class="keywordtype">char</span>* name);</div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; </div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160;private:</div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; struct PrivateData;</div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; PrivateData* const pData;</div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; friend class <a class="code" href="classWindow.html">Window</a>;</div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; <span class="preprocessor">#ifdef DISTRHO_NAMESPACE</span></div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <span class="keyword">friend</span> <span class="keyword">class </span>DISTRHO_NAMESPACE::PluginApplication;</div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;<span class="preprocessor"> #endif</span></div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; </div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; DISTRHO_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(<a class="code" href="classApplication.html">Application</a>)</div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160;};</div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; </div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;<span class="comment">// --------------------------------------------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; </div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160;END_NAMESPACE_DGL</div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; </div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;<span class="preprocessor">#endif </span><span class="comment">// DGL_APP_HPP_INCLUDED</span></div>
<div class="ttc" id="aclassApplication_html"><div class="ttname"><a href="classApplication.html">Application</a></div><div class="ttdef"><b>Definition:</b> Application.hpp:43</div></div>
<div class="ttc" id="aclassApplication_html_a20573928a0d53fb96d929513bc5acde6"><div class="ttname"><a href="classApplication.html#a20573928a0d53fb96d929513bc5acde6">Application::~Application</a></div><div class="ttdeci">virtual ~Application()</div></div>
<div class="ttc" id="aclassApplication_html_a805dd37af3b9adfc1d0ee1e734ad81e3"><div class="ttname"><a href="classApplication.html#a805dd37af3b9adfc1d0ee1e734ad81e3">Application::exec</a></div><div class="ttdeci">void exec(uint idleTimeInMs=30)</div></div>
<div class="ttc" id="aclassApplication_html_aa2dd05d544834e8fca24a58f5e57f795"><div class="ttname"><a href="classApplication.html#aa2dd05d544834e8fca24a58f5e57f795">Application::isQuitting</a></div><div class="ttdeci">bool isQuitting() const noexcept</div></div>
<div class="ttc" id="aclassApplication_html_ac8382754f04f4de15768981459a28e3a"><div class="ttname"><a href="classApplication.html#ac8382754f04f4de15768981459a28e3a">Application::idle</a></div><div class="ttdeci">void idle()</div></div>
<div class="ttc" id="aclassApplication_html_af77b716ee803aecb2ce1674695dc3986"><div class="ttname"><a href="classApplication.html#af77b716ee803aecb2ce1674695dc3986">Application::quit</a></div><div class="ttdeci">void quit()</div></div>
<div class="ttc" id="aclassApplication_html_af9dd089d30cf442f8ffda646305089bb"><div class="ttname"><a href="classApplication.html#af9dd089d30cf442f8ffda646305089bb">Application::Application</a></div><div class="ttdeci">Application(bool isStandalone=true)</div></div>
<div class="ttc" id="aclassWindow_html"><div class="ttname"><a href="classWindow.html">Window</a></div><div class="ttdef"><b>Definition:</b> Window.hpp:63</div></div>
<div class="ttc" id="agroup__NamespaceMacros_html_ga3ff541a449593e069a29e92d21e38ef3"><div class="ttname"><a href="group__NamespaceMacros.html#ga3ff541a449593e069a29e92d21e38ef3">END_NAMESPACE_DISTRHO</a></div><div class="ttdeci">#define END_NAMESPACE_DISTRHO</div><div class="ttdef"><b>Definition:</b> DistrhoInfo.hpp:834</div></div>
<div class="ttc" id="agroup__NamespaceMacros_html_gac4cb97c393d20c28ba19365d844341cd"><div class="ttname"><a href="group__NamespaceMacros.html#gac4cb97c393d20c28ba19365d844341cd">START_NAMESPACE_DISTRHO</a></div><div class="ttdeci">#define START_NAMESPACE_DISTRHO</div><div class="ttdef"><b>Definition:</b> DistrhoInfo.hpp:828</div></div>
<div class="ttc" id="astructIdleCallback_html"><div class="ttname"><a href="structIdleCallback.html">IdleCallback</a></div><div class="ttdef"><b>Definition:</b> Base.hpp:218</div></div>
</div><!-- fragment --></div><!-- contents -->
<div class="ttc" id="aclassWindow_html"><div class="ttname"><a href="classWindow.html">Window</a></div><div class="ttdef"><b>Definition:</b> Window.hpp:55</div></div>
<div class="ttc" id="aclassApplication_html"><div class="ttname"><a href="classApplication.html">Application</a></div><div class="ttdef"><b>Definition:</b> Application.hpp:36</div></div>
<div class="ttc" id="astructIdleCallback_html"><div class="ttname"><a href="structIdleCallback.html">IdleCallback</a></div><div class="ttdef"><b>Definition:</b> Base.hpp:176</div></div>
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Mar 31 2022 17:09:26 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
Generated on Wed Jul 27 2022 00:46:18 for DISTRHO Plugin Framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

+ 6
- 8
Base64_8hpp_source.html View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DISTRHO Plugin Framework: distrho/extra/Base64.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -29,10 +29,10 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
@@ -218,14 +218,12 @@ $(function() {
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; </div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160;<span class="comment">// -----------------------------------------------------------------------</span></div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; </div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160;<span class="preprocessor">#endif // DISTRHO_BASE64_HPP_INCLUDED</span></div>
</div><!-- fragment --></div><!-- contents -->
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160;<span class="preprocessor">#endif </span><span class="comment">// DISTRHO_BASE64_HPP_INCLUDED</span></div>
<div class="ttc" id="agroup__StringPrintFunctions_html_ga9861b6a26e43554680f50623196dde7b"><div class="ttname"><a href="group__StringPrintFunctions.html#ga9861b6a26e43554680f50623196dde7b">d_stderr2</a></div><div class="ttdeci">static void d_stderr2(const char *const fmt,...) noexcept</div><div class="ttdef"><b>Definition:</b> DistrhoUtils.hpp:161</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Mar 31 2022 17:09:26 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
Generated on Wed Jul 27 2022 00:46:18 for DISTRHO Plugin Framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

+ 118
- 76
Base_8hpp_source.html View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DISTRHO Plugin Framework: dgl/Base.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -29,10 +29,10 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
@@ -71,7 +71,7 @@ $(function() {
<div class="contents">
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> * DISTRHO Plugin Framework (DPF)</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> * Copyright (C) 2012-2021 Filipe Coelho &lt;falktx@falktx.com&gt;</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> * Copyright (C) 2012-2022 Filipe Coelho &lt;falktx@falktx.com&gt;</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> * Permission to use, copy, modify, and/or distribute this software for any purpose with</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> * or without fee is hereby granted, provided that the above copyright notice and this</span></div>
@@ -112,10 +112,10 @@ $(function() {
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;<span class="keyword">enum</span> Modifier {</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; kModifierShift = 1u &lt;&lt; 0u, <span class="comment">///&lt; Shift key</span></div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;<span class="comment"></span> kModifierControl = 1u &lt;&lt; 1u, <span class="comment">///&lt; Control key</span></div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;<span class="comment"></span> kModifierAlt = 1u &lt;&lt; 2u, <span class="comment">///&lt; Alt/Option key</span></div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;<span class="comment"></span> kModifierSuper = 1u &lt;&lt; 3u <span class="comment">///&lt; Mod4/Command/Windows key</span></div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;<span class="comment"></span>};</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; kModifierControl = 1u &lt;&lt; 1u, <span class="comment">///&lt; Control key</span></div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; kModifierAlt = 1u &lt;&lt; 2u, <span class="comment">///&lt; Alt/Option key</span></div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; kModifierSuper = 1u &lt;&lt; 3u <span class="comment">///&lt; Mod4/Command/Windows key</span></div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;};</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;<span class="comment"> Keyboard key codepoints.</span></div>
@@ -189,88 +189,130 @@ $(function() {
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;<span class="keyword">enum</span> EventFlag {</div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; kFlagSendEvent = 1, <span class="comment">///&lt; Event is synthetic</span></div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;<span class="comment"></span> kFlagIsHint = 2 <span class="comment">///&lt; Event is a hint (not direct user input)</span></div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;<span class="comment"></span>};</div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; kFlagIsHint = 2 <span class="comment">///&lt; Event is a hint (not direct user input)</span></div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;};</div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;<span class="comment"> Reason for a crossing event.</span></div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;<span class="keyword">enum</span> CrossingMode {</div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; kCrossingNormal, <span class="comment">///&lt; Crossing due to pointer motion</span></div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;<span class="comment"></span> kCrossingGrab, <span class="comment">///&lt; Crossing due to a grab</span></div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;<span class="comment"></span> kCrossingUngrab <span class="comment">///&lt; Crossing due to a grab release</span></div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160;<span class="comment"></span>};</div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; kCrossingGrab, <span class="comment">///&lt; Crossing due to a grab</span></div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; kCrossingUngrab <span class="comment">///&lt; Crossing due to a grab release</span></div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160;};</div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;<span class="comment"> A mouse cursor type.</span></div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;<span class="comment"> A mouse button.</span></div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;<span class="comment"> This is a portable subset of mouse cursors that exist on X11, MacOS, and Windows.</span></div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160;<span class="comment">*/</span></div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;<span class="keyword">enum</span> MouseCursor {</div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; kMouseCursorArrow, <span class="comment">///&lt; Default pointing arrow</span></div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160;<span class="comment"></span> kMouseCursorCaret, <span class="comment">///&lt; Caret (I-Beam) for text entry</span></div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160;<span class="comment"></span> kMouseCursorCrosshair, <span class="comment">///&lt; Cross-hair</span></div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;<span class="comment"></span> kMouseCursorHand, <span class="comment">///&lt; Hand with a pointing finger</span></div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;<span class="comment"></span> kMouseCursorNotAllowed, <span class="comment">///&lt; Operation not allowed</span></div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160;<span class="comment"></span> kMouseCursorLeftRight, <span class="comment">///&lt; Left/right arrow for horizontal resize</span></div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160;<span class="comment"></span> kMouseCursorUpDown, <span class="comment">///&lt; Up/down arrow for vertical resize</span></div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;<span class="comment"></span> kMouseCursorDiagonal, <span class="comment">///&lt; Top-left to bottom-right arrow for diagonal resize</span></div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160;<span class="comment"></span> kMouseCursorAntiDiagonal <span class="comment">///&lt; Bottom-left to top-right arrow for diagonal resize</span></div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160;<span class="comment"></span>};</div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;<span class="comment"> Scroll direction.</span></div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;<span class="comment"> Describes the direction of a scroll event along with whether the scroll is a &quot;smooth&quot; scroll.</span></div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;<span class="comment"> The discrete directions are for devices like mouse wheels with constrained axes,</span></div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;<span class="comment"> while a smooth scroll is for those with arbitrary scroll direction freedom, like some touchpads.</span></div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;<span class="comment">*/</span></div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160;<span class="keyword">enum</span> ScrollDirection {</div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; kScrollUp, <span class="comment">///&lt; Scroll up</span></div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160;<span class="comment"></span> kScrollDown, <span class="comment">///&lt; Scroll down</span></div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160;<span class="comment"></span> kScrollLeft, <span class="comment">///&lt; Scroll left</span></div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;<span class="comment"></span> kScrollRight, <span class="comment">///&lt; Scroll right</span></div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160;<span class="comment"></span> kScrollSmooth <span class="comment">///&lt; Smooth scroll in any direction</span></div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160;<span class="comment"></span>};</div>
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; </div>
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160;<span class="comment">// --------------------------------------------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160;<span class="comment">// Base DGL classes</span></div>
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160;<span class="comment"> Graphics context, definition depends on build type.</span></div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00171"></a><span class="lineno"><a class="line" href="structGraphicsContext.html"> 171</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structGraphicsContext.html">GraphicsContext</a> {};</div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;<span class="comment"> Mouse button numbers start from 1, and are ordered: primary, secondary, middle.</span></div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160;<span class="comment"> So, on a typical right-handed mouse, the button numbers are:</span></div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;<span class="comment"> Left: 1</span></div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160;<span class="comment"> Right: 2</span></div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160;<span class="comment"> Middle (often a wheel): 3</span></div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;<span class="comment"> Higher button numbers are reported in the same order they are represented on the system.</span></div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160;<span class="comment"> There is no universal standard here, but buttons 4 and 5 are typically a pair of buttons or a rocker,</span></div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160;<span class="comment"> which are usually bound to &quot;back&quot; and &quot;forward&quot; operations.</span></div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160;<span class="comment"> Note that these numbers may differ from those used on the underlying</span></div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160;<span class="comment"> platform, since they are manipulated to provide a consistent portable API.</span></div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160;<span class="comment">*/</span></div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160;<span class="keyword">enum</span> MouseButton {</div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; kMouseButtonLeft = 1,</div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; kMouseButtonRight,</div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; kMouseButtonMiddle,</div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;};</div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160;<span class="comment"> A mouse cursor type.</span></div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160;<span class="comment"> This is a portable subset of mouse cursors that exist on X11, MacOS, and Windows.</span></div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160;<span class="comment">*/</span></div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;<span class="keyword">enum</span> MouseCursor {</div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; kMouseCursorArrow, <span class="comment">///&lt; Default pointing arrow</span></div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; kMouseCursorCaret, <span class="comment">///&lt; Caret (I-Beam) for text entry</span></div>
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; kMouseCursorCrosshair, <span class="comment">///&lt; Cross-hair</span></div>
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; kMouseCursorHand, <span class="comment">///&lt; Hand with a pointing finger</span></div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; kMouseCursorNotAllowed, <span class="comment">///&lt; Operation not allowed</span></div>
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; kMouseCursorLeftRight, <span class="comment">///&lt; Left/right arrow for horizontal resize</span></div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; kMouseCursorUpDown, <span class="comment">///&lt; Up/down arrow for vertical resize</span></div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; kMouseCursorDiagonal, <span class="comment">///&lt; Top-left to bottom-right arrow for diagonal resize</span></div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; kMouseCursorAntiDiagonal <span class="comment">///&lt; Bottom-left to top-right arrow for diagonal resize</span></div>
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160;};</div>
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160;<span class="comment"> Idle callback.</span></div>
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00176"></a><span class="lineno"><a class="line" href="structIdleCallback.html"> 176</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structIdleCallback.html">IdleCallback</a></div>
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160;{</div>
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; <span class="keyword">virtual</span> ~<a class="code" href="structIdleCallback.html">IdleCallback</a>() {}</div>
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> idleCallback() = 0;</div>
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160;};</div>
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; </div>
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160;<span class="comment">// --------------------------------------------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; </div>
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160;END_NAMESPACE_DGL</div>
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; </div>
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160;<span class="preprocessor">#ifndef DONT_SET_USING_DGL_NAMESPACE</span></div>
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; <span class="comment">// If your code uses a lot of DGL classes, then this will obviously save you</span></div>
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; <span class="comment">// a lot of typing, but can be disabled by setting DONT_SET_USING_DGL_NAMESPACE.</span></div>
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; <span class="keyword">using namespace </span>DGL_NAMESPACE;</div>
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; </div>
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160;<span class="comment">// --------------------------------------------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; </div>
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160;<span class="preprocessor">#endif // DGL_BASE_HPP_INCLUDED</span></div>
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160;<span class="comment"> Scroll direction.</span></div>
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160;<span class="comment"> Describes the direction of a scroll event along with whether the scroll is a &quot;smooth&quot; scroll.</span></div>
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160;<span class="comment"> The discrete directions are for devices like mouse wheels with constrained axes,</span></div>
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160;<span class="comment"> while a smooth scroll is for those with arbitrary scroll direction freedom, like some touchpads.</span></div>
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160;<span class="comment">*/</span></div>
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160;<span class="keyword">enum</span> ScrollDirection {</div>
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; kScrollUp, <span class="comment">///&lt; Scroll up</span></div>
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; kScrollDown, <span class="comment">///&lt; Scroll down</span></div>
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; kScrollLeft, <span class="comment">///&lt; Scroll left</span></div>
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; kScrollRight, <span class="comment">///&lt; Scroll right</span></div>
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; kScrollSmooth <span class="comment">///&lt; Smooth scroll in any direction</span></div>
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160;};</div>
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160;<span class="comment"> A clipboard data offer.</span></div>
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160;<span class="comment"> @see Window::onClipboardDataOffer</span></div>
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160;<span class="comment">*/</span></div>
<div class="line"><a name="l00192"></a><span class="lineno"><a class="line" href="structClipboardDataOffer.html"> 192</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structClipboardDataOffer.html">ClipboardDataOffer</a> {<span class="comment"></span></div>
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160;<span class="comment"> The id of this data offer.</span></div>
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160;<span class="comment"> @note The value 0 is reserved for null/invalid.</span></div>
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00197"></a><span class="lineno"><a class="line" href="structClipboardDataOffer.html#a573b30efdf1eee418f7388c9713dfddc"> 197</a></span>&#160; uint32_t <a class="code" href="structClipboardDataOffer.html#a573b30efdf1eee418f7388c9713dfddc">id</a>;</div>
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160;<span class="comment"> The type of this data offer.</span></div>
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160;<span class="comment"> Usually a MIME type, but may also be another platform-specific type identifier.</span></div>
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00203"></a><span class="lineno"><a class="line" href="structClipboardDataOffer.html#a23d607737b1fffbb003b885da5a5ca66"> 203</a></span>&#160; <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="structClipboardDataOffer.html#a23d607737b1fffbb003b885da5a5ca66">type</a>;</div>
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160;};</div>
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; </div>
<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160;<span class="comment">// --------------------------------------------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160;<span class="comment">// Base DGL classes</span></div>
<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160;<span class="comment"> Graphics context, definition depends on build type.</span></div>
<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00212"></a><span class="lineno"><a class="line" href="structGraphicsContext.html"> 212</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structGraphicsContext.html">GraphicsContext</a> {};</div>
<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160;<span class="comment"> Idle callback.</span></div>
<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00217"></a><span class="lineno"><a class="line" href="structIdleCallback.html"> 217</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structIdleCallback.html">IdleCallback</a></div>
<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160;{</div>
<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; <span class="keyword">virtual</span> ~<a class="code" href="structIdleCallback.html">IdleCallback</a>() {}</div>
<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> idleCallback() = 0;</div>
<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160;};</div>
<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; </div>
<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160;<span class="comment">// --------------------------------------------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; </div>
<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160;END_NAMESPACE_DGL</div>
<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; </div>
<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160;<span class="preprocessor">#ifndef DONT_SET_USING_DGL_NAMESPACE</span></div>
<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; <span class="comment">// If your code uses a lot of DGL classes, then this will obviously save you</span></div>
<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; <span class="comment">// a lot of typing, but can be disabled by setting DONT_SET_USING_DGL_NAMESPACE.</span></div>
<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; <span class="keyword">using namespace </span>DGL_NAMESPACE;</div>
<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; </div>
<div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160;<span class="comment">// --------------------------------------------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; </div>
<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160;<span class="preprocessor">#endif </span><span class="comment">// DGL_BASE_HPP_INCLUDED</span></div>
<div class="ttc" id="astructClipboardDataOffer_html"><div class="ttname"><a href="structClipboardDataOffer.html">ClipboardDataOffer</a></div><div class="ttdef"><b>Definition:</b> Base.hpp:192</div></div>
<div class="ttc" id="astructClipboardDataOffer_html_a23d607737b1fffbb003b885da5a5ca66"><div class="ttname"><a href="structClipboardDataOffer.html#a23d607737b1fffbb003b885da5a5ca66">ClipboardDataOffer::type</a></div><div class="ttdeci">const char * type</div><div class="ttdef"><b>Definition:</b> Base.hpp:203</div></div>
<div class="ttc" id="astructClipboardDataOffer_html_a573b30efdf1eee418f7388c9713dfddc"><div class="ttname"><a href="structClipboardDataOffer.html#a573b30efdf1eee418f7388c9713dfddc">ClipboardDataOffer::id</a></div><div class="ttdeci">uint32_t id</div><div class="ttdef"><b>Definition:</b> Base.hpp:197</div></div>
<div class="ttc" id="astructGraphicsContext_html"><div class="ttname"><a href="structGraphicsContext.html">GraphicsContext</a></div><div class="ttdef"><b>Definition:</b> Base.hpp:212</div></div>
<div class="ttc" id="astructIdleCallback_html"><div class="ttname"><a href="structIdleCallback.html">IdleCallback</a></div><div class="ttdef"><b>Definition:</b> Base.hpp:218</div></div>
</div><!-- fragment --></div><!-- contents -->
<div class="ttc" id="astructGraphicsContext_html"><div class="ttname"><a href="structGraphicsContext.html">GraphicsContext</a></div><div class="ttdef"><b>Definition:</b> Base.hpp:171</div></div>
<div class="ttc" id="astructIdleCallback_html"><div class="ttname"><a href="structIdleCallback.html">IdleCallback</a></div><div class="ttdef"><b>Definition:</b> Base.hpp:176</div></div>
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Mar 31 2022 17:09:26 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
Generated on Wed Jul 27 2022 00:46:18 for DISTRHO Plugin Framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

+ 48
- 44
Cairo_8hpp_source.html View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DISTRHO Plugin Framework: dgl/Cairo.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -29,10 +29,10 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
@@ -71,7 +71,7 @@ $(function() {
<div class="contents">
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> * DISTRHO Plugin Framework (DPF)</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> * Copyright (C) 2012-2021 Filipe Coelho &lt;falktx@falktx.com&gt;</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> * Copyright (C) 2012-2022 Filipe Coelho &lt;falktx@falktx.com&gt;</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> * Permission to use, copy, modify, and/or distribute this software for any purpose with</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> * or without fee is hereby granted, provided that the above copyright notice and this</span></div>
@@ -91,7 +91,7 @@ $(function() {
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="preprocessor">#include &quot;ImageBase.hpp&quot;</span></div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="preprocessor">#include &quot;ImageBaseWidgets.hpp&quot;</span></div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160; </div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="preprocessor">#include &lt;cairo/cairo.h&gt;</span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="preprocessor">#include &lt;cairo.h&gt;</span></div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160; </div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;START_NAMESPACE_DGL</div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160; </div>
@@ -118,35 +118,35 @@ $(function() {
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;<span class="comment"> Constructor for a null Image.</span></div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <a class="code" href="classCairoImage.html#aeadcf789efdf894a61e477b4d64fc0b6">CairoImage</a>();</div>
<div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="classCairoImage.html#aeadcf789efdf894a61e477b4d64fc0b6"> 50</a></span>&#160; <a class="code" href="classCairoImage.html#aeadcf789efdf894a61e477b4d64fc0b6">CairoImage</a>();</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;<span class="comment"> Constructor using raw image data.</span></div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;<span class="comment"> @note @a rawData must remain valid for the lifetime of this Image.</span></div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <a class="code" href="classCairoImage.html#aeadcf789efdf894a61e477b4d64fc0b6">CairoImage</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* rawData, uint width, uint height, ImageFormat format);</div>
<div class="line"><a name="l00056"></a><span class="lineno"><a class="line" href="classCairoImage.html#a17ce2733afa4fc080a63b23cd0dd7b18"> 56</a></span>&#160; <a class="code" href="classCairoImage.html#a17ce2733afa4fc080a63b23cd0dd7b18">CairoImage</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* rawData, uint width, uint height, ImageFormat format);</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;<span class="comment"> Constructor using raw image data.</span></div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;<span class="comment"> @note @a rawData must remain valid for the lifetime of this Image.</span></div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <a class="code" href="classCairoImage.html#aeadcf789efdf894a61e477b4d64fc0b6">CairoImage</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* rawData, <span class="keyword">const</span> <a class="code" href="classSize.html">Size&lt;uint&gt;</a>&amp; size, ImageFormat format);</div>
<div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="classCairoImage.html#ad3490061bcaae7cc320c5ccfb40ab3dd"> 62</a></span>&#160; <a class="code" href="classCairoImage.html#ad3490061bcaae7cc320c5ccfb40ab3dd">CairoImage</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* rawData, <span class="keyword">const</span> <a class="code" href="classSize.html">Size&lt;uint&gt;</a>&amp; size, ImageFormat format);</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;<span class="comment"> Constructor using another image data.</span></div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <a class="code" href="classCairoImage.html#aeadcf789efdf894a61e477b4d64fc0b6">CairoImage</a>(<span class="keyword">const</span> <a class="code" href="classCairoImage.html">CairoImage</a>&amp; image);</div>
<div class="line"><a name="l00067"></a><span class="lineno"><a class="line" href="classCairoImage.html#a89f96493ba7b890a4d43f00672f1a497"> 67</a></span>&#160; <a class="code" href="classCairoImage.html#a89f96493ba7b890a4d43f00672f1a497">CairoImage</a>(<span class="keyword">const</span> <a class="code" href="classCairoImage.html">CairoImage</a>&amp; image);</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;<span class="comment"> Destructor.</span></div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <a class="code" href="classCairoImage.html#a36abbee6a47fc3447f00270aa16a82b7">~CairoImage</a>() <span class="keyword">override</span>;</div>
<div class="line"><a name="l00072"></a><span class="lineno"><a class="line" href="classCairoImage.html#a36abbee6a47fc3447f00270aa16a82b7"> 72</a></span>&#160; <a class="code" href="classCairoImage.html#a36abbee6a47fc3447f00270aa16a82b7">~CairoImage</a>() <span class="keyword">override</span>;</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;<span class="comment"> Load raw image data from memory.</span></div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160;<span class="comment"> @note @a rawData must remain valid for the lifetime of this Image.</span></div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classCairoImage.html#a861bdbb5cd592feaef43e2202397deed">loadFromMemory</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* rawData,</div>
<div class="line"><a name="l00078"></a><span class="lineno"><a class="line" href="classCairoImage.html#a861bdbb5cd592feaef43e2202397deed"> 78</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classCairoImage.html#a861bdbb5cd592feaef43e2202397deed">loadFromMemory</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* rawData,</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <span class="keyword">const</span> <a class="code" href="classSize.html">Size&lt;uint&gt;</a>&amp; size,</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; ImageFormat format = kImageFormatBGRA) noexcept <span class="keyword">override</span>;</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160;<span class="comment"></span> </div>
@@ -155,12 +155,12 @@ $(function() {
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;<span class="comment"> Image size is read from PNG contents.</span></div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160;<span class="comment"> @note @a pngData must remain valid for the lifetime of this Image.</span></div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classCairoImage.html#a94c1707943b9874e362e11473bdcf768">loadFromPNG</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* pngData, uint dataSize) noexcept;</div>
<div class="line"><a name="l00087"></a><span class="lineno"><a class="line" href="classCairoImage.html#a94c1707943b9874e362e11473bdcf768"> 87</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classCairoImage.html#a94c1707943b9874e362e11473bdcf768">loadFromPNG</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* pngData, uint dataSize) noexcept;</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160;<span class="comment"> Draw this image at position @a pos using the graphics context @a context.</span></div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classCairoImage.html#aa60a5e3b68032170e8e59fb506c7d3b7">drawAt</a>(<span class="keyword">const</span> <a class="code" href="structGraphicsContext.html">GraphicsContext</a>&amp; context, <span class="keyword">const</span> <a class="code" href="classPoint.html">Point&lt;int&gt;</a>&amp; pos) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00092"></a><span class="lineno"><a class="line" href="classCairoImage.html#aa60a5e3b68032170e8e59fb506c7d3b7"> 92</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classCairoImage.html#aa60a5e3b68032170e8e59fb506c7d3b7">drawAt</a>(<span class="keyword">const</span> <a class="code" href="structGraphicsContext.html">GraphicsContext</a>&amp; context, <span class="keyword">const</span> <a class="code" href="classPoint.html">Point&lt;int&gt;</a>&amp; pos) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160;<span class="comment"> Get the cairo surface currently associated with this image.</span></div>
@@ -174,7 +174,7 @@ $(function() {
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;<span class="comment"> TODO document this.</span></div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <a class="code" href="classCairoImage.html">CairoImage</a>&amp; <a class="code" href="classCairoImage.html#af5f422a5a77f4639a907f8e5dde29ef7">operator=</a>(<span class="keyword">const</span> <a class="code" href="classCairoImage.html">CairoImage</a>&amp; image) noexcept;</div>
<div class="line"><a name="l00106"></a><span class="lineno"><a class="line" href="classCairoImage.html#af5f422a5a77f4639a907f8e5dde29ef7"> 106</a></span>&#160; <a class="code" href="classCairoImage.html">CairoImage</a>&amp; <a class="code" href="classCairoImage.html#af5f422a5a77f4639a907f8e5dde29ef7">operator=</a>(<span class="keyword">const</span> <a class="code" href="classCairoImage.html">CairoImage</a>&amp; image) noexcept;</div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; </div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <span class="comment">// FIXME this should not be needed</span></div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classCairoImage.html#a861bdbb5cd592feaef43e2202397deed">loadFromMemory</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* rdata, uint w, uint h, ImageFormat fmt = kImageFormatBGRA)</div>
@@ -202,34 +202,34 @@ $(function() {
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;<span class="comment"> Constructor for a CairoSubWidget.</span></div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; <span class="keyword">explicit</span> <a class="code" href="classCairoBaseWidget.html#a264d5e3f7de6dd5c9f9b492f5577420f">CairoBaseWidget</a>(<a class="code" href="classWidget.html">Widget</a>* <span class="keyword">const</span> parentGroupWidget);</div>
<div class="line"><a name="l00134"></a><span class="lineno"><a class="line" href="classCairoBaseWidget.html#a264d5e3f7de6dd5c9f9b492f5577420f"> 134</a></span>&#160; <span class="keyword">explicit</span> <a class="code" href="classCairoBaseWidget.html#a264d5e3f7de6dd5c9f9b492f5577420f">CairoBaseWidget</a>(<a class="code" href="classWidget.html">Widget</a>* <span class="keyword">const</span> parentGroupWidget);</div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160;<span class="comment"> Constructor for a CairoTopLevelWidget.</span></div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; <span class="keyword">explicit</span> <a class="code" href="classCairoBaseWidget.html#a264d5e3f7de6dd5c9f9b492f5577420f">CairoBaseWidget</a>(<a class="code" href="classWindow.html">Window</a>&amp; windowToMapTo);</div>
<div class="line"><a name="l00139"></a><span class="lineno"><a class="line" href="classCairoBaseWidget.html#a07039d9207f923b0bf7f62a96f168f70"> 139</a></span>&#160; <span class="keyword">explicit</span> <a class="code" href="classCairoBaseWidget.html#a07039d9207f923b0bf7f62a96f168f70">CairoBaseWidget</a>(<a class="code" href="classWindow.html">Window</a>&amp; windowToMapTo);</div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;<span class="comment"> Constructor for a CairoStandaloneWindow without parent window.</span></div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <span class="keyword">explicit</span> <a class="code" href="classCairoBaseWidget.html#a264d5e3f7de6dd5c9f9b492f5577420f">CairoBaseWidget</a>(<a class="code" href="classApplication.html">Application</a>&amp; app);</div>
<div class="line"><a name="l00144"></a><span class="lineno"><a class="line" href="classCairoBaseWidget.html#a2342ae5da3def6ce0b9713a9bf49e203"> 144</a></span>&#160; <span class="keyword">explicit</span> <a class="code" href="classCairoBaseWidget.html#a2342ae5da3def6ce0b9713a9bf49e203">CairoBaseWidget</a>(<a class="code" href="classApplication.html">Application</a>&amp; app);</div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160;<span class="comment"> Constructor for a CairoStandaloneWindow with parent window.</span></div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; <span class="keyword">explicit</span> <a class="code" href="classCairoBaseWidget.html#a264d5e3f7de6dd5c9f9b492f5577420f">CairoBaseWidget</a>(<a class="code" href="classApplication.html">Application</a>&amp; app, <a class="code" href="classWindow.html">Window</a>&amp; parentWindow);</div>
<div class="line"><a name="l00149"></a><span class="lineno"><a class="line" href="classCairoBaseWidget.html#af5544cdc62910eb3c25670a5130baeb2"> 149</a></span>&#160; <span class="keyword">explicit</span> <a class="code" href="classCairoBaseWidget.html#af5544cdc62910eb3c25670a5130baeb2">CairoBaseWidget</a>(<a class="code" href="classApplication.html">Application</a>&amp; app, <a class="code" href="classWindow.html">Window</a>&amp; parentWindow);</div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;<span class="comment"> Destructor.</span></div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00154"></a><span class="lineno"><a class="line" href="classCairoBaseWidget.html#ab76ae3b54d624b194e6392ba48799ce4"> 154</a></span>&#160; <span class="keyword">virtual</span> <a class="code" href="classCairoBaseWidget.html#ab76ae3b54d624b194e6392ba48799ce4">~CairoBaseWidget</a>() {}</div>
<div class="line"><a name="l00154"></a><span class="lineno"><a class="line" href="classCairoBaseWidget.html#ab13e7888614ab01ef4a74175b9c487fa"> 154</a></span>&#160; <a class="code" href="classCairoBaseWidget.html#ab13e7888614ab01ef4a74175b9c487fa">~CairoBaseWidget</a>()<span class="keyword"> override </span>{}</div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; </div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;<span class="keyword">protected</span>:<span class="comment"></span></div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;<span class="comment"> New virtual onDisplay function.</span></div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160;<span class="comment"> @see onDisplay</span></div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classCairoBaseWidget.html#a2d59f5625d6e948ccbf7a9d2b3b00adf">onCairoDisplay</a>(<span class="keyword">const</span> <a class="code" href="structCairoGraphicsContext.html">CairoGraphicsContext</a>&amp; context) = 0;</div>
<div class="line"><a name="l00161"></a><span class="lineno"><a class="line" href="classCairoBaseWidget.html#a2d59f5625d6e948ccbf7a9d2b3b00adf"> 161</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classCairoBaseWidget.html#a2d59f5625d6e948ccbf7a9d2b3b00adf">onCairoDisplay</a>(<span class="keyword">const</span> <a class="code" href="structCairoGraphicsContext.html">CairoGraphicsContext</a>&amp; context) = 0;</div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; </div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160;<span class="keyword">private</span>:<span class="comment"></span></div>
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160;<span class="comment"> /**</span></div>
@@ -262,37 +262,41 @@ $(function() {
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160;END_NAMESPACE_DGL</div>
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; </div>
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160;<span class="preprocessor">#endif</span></div>
</div><!-- fragment --></div><!-- contents -->
<div class="ttc" id="aclassApplication_html"><div class="ttname"><a href="classApplication.html">Application</a></div><div class="ttdef"><b>Definition:</b> Application.hpp:43</div></div>
<div class="ttc" id="aclassCairoBaseWidget_html"><div class="ttname"><a href="classCairoBaseWidget.html">CairoBaseWidget</a></div><div class="ttdef"><b>Definition:</b> Cairo.hpp:129</div></div>
<div class="ttc" id="aclassCairoBaseWidget_html_a07039d9207f923b0bf7f62a96f168f70"><div class="ttname"><a href="classCairoBaseWidget.html#a07039d9207f923b0bf7f62a96f168f70">CairoBaseWidget::CairoBaseWidget</a></div><div class="ttdeci">CairoBaseWidget(Window &amp;windowToMapTo)</div></div>
<div class="ttc" id="aclassCairoBaseWidget_html_a2342ae5da3def6ce0b9713a9bf49e203"><div class="ttname"><a href="classCairoBaseWidget.html#a2342ae5da3def6ce0b9713a9bf49e203">CairoBaseWidget::CairoBaseWidget</a></div><div class="ttdeci">CairoBaseWidget(Application &amp;app)</div></div>
<div class="ttc" id="aclassCairoBaseWidget_html_a264d5e3f7de6dd5c9f9b492f5577420f"><div class="ttname"><a href="classCairoBaseWidget.html#a264d5e3f7de6dd5c9f9b492f5577420f">CairoBaseWidget::CairoBaseWidget</a></div><div class="ttdeci">CairoBaseWidget(Widget *const parentGroupWidget)</div></div>
<div class="ttc" id="aclassCairoBaseWidget_html_a2d59f5625d6e948ccbf7a9d2b3b00adf"><div class="ttname"><a href="classCairoBaseWidget.html#a2d59f5625d6e948ccbf7a9d2b3b00adf">CairoBaseWidget::onCairoDisplay</a></div><div class="ttdeci">virtual void onCairoDisplay(const CairoGraphicsContext &amp;context)=0</div></div>
<div class="ttc" id="aclassCairoBaseWidget_html_ab13e7888614ab01ef4a74175b9c487fa"><div class="ttname"><a href="classCairoBaseWidget.html#ab13e7888614ab01ef4a74175b9c487fa">CairoBaseWidget::~CairoBaseWidget</a></div><div class="ttdeci">~CairoBaseWidget() override</div><div class="ttdef"><b>Definition:</b> Cairo.hpp:154</div></div>
<div class="ttc" id="aclassCairoBaseWidget_html_af5544cdc62910eb3c25670a5130baeb2"><div class="ttname"><a href="classCairoBaseWidget.html#af5544cdc62910eb3c25670a5130baeb2">CairoBaseWidget::CairoBaseWidget</a></div><div class="ttdeci">CairoBaseWidget(Application &amp;app, Window &amp;parentWindow)</div></div>
<div class="ttc" id="aclassCairoImage_html"><div class="ttname"><a href="classCairoImage.html">CairoImage</a></div><div class="ttdef"><b>Definition:</b> Cairo.hpp:45</div></div>
<div class="ttc" id="aclassCairoImage_html_a17ce2733afa4fc080a63b23cd0dd7b18"><div class="ttname"><a href="classCairoImage.html#a17ce2733afa4fc080a63b23cd0dd7b18">CairoImage::CairoImage</a></div><div class="ttdeci">CairoImage(const char *rawData, uint width, uint height, ImageFormat format)</div></div>
<div class="ttc" id="aclassCairoImage_html_a36abbee6a47fc3447f00270aa16a82b7"><div class="ttname"><a href="classCairoImage.html#a36abbee6a47fc3447f00270aa16a82b7">CairoImage::~CairoImage</a></div><div class="ttdeci">~CairoImage() override</div></div>
<div class="ttc" id="aclassCairoImage_html_a5ce76c4866b396a771caafa80acf162b"><div class="ttname"><a href="classCairoImage.html#a5ce76c4866b396a771caafa80acf162b">CairoImage::getSurface</a></div><div class="ttdeci">cairo_surface_t * getSurface() const noexcept</div><div class="ttdef"><b>Definition:</b> Cairo.hpp:98</div></div>
<div class="ttc" id="aclassImageBaseButton_html"><div class="ttname"><a href="classImageBaseButton.html">ImageBaseButton</a></div><div class="ttdef"><b>Definition:</b> ImageBaseWidgets.hpp:84</div></div>
<div class="ttc" id="aclassImageBaseKnob_html"><div class="ttname"><a href="classImageBaseKnob.html">ImageBaseKnob</a></div><div class="ttdef"><b>Definition:</b> ImageBaseWidgets.hpp:130</div></div>
<div class="ttc" id="astructGraphicsContext_html"><div class="ttname"><a href="structGraphicsContext.html">GraphicsContext</a></div><div class="ttdef"><b>Definition:</b> Base.hpp:171</div></div>
<div class="ttc" id="aclassImageBaseSlider_html"><div class="ttname"><a href="classImageBaseSlider.html">ImageBaseSlider</a></div><div class="ttdef"><b>Definition:</b> ImageBaseWidgets.hpp:171</div></div>
<div class="ttc" id="aclassCairoImage_html_a861bdbb5cd592feaef43e2202397deed"><div class="ttname"><a href="classCairoImage.html#a861bdbb5cd592feaef43e2202397deed">CairoImage::loadFromMemory</a></div><div class="ttdeci">void loadFromMemory(const char *rawData, const Size&lt; uint &gt; &amp;size, ImageFormat format=kImageFormatBGRA) noexcept override</div></div>
<div class="ttc" id="aclassCairoImage_html_a89f96493ba7b890a4d43f00672f1a497"><div class="ttname"><a href="classCairoImage.html#a89f96493ba7b890a4d43f00672f1a497">CairoImage::CairoImage</a></div><div class="ttdeci">CairoImage(const CairoImage &amp;image)</div></div>
<div class="ttc" id="aclassCairoImage_html_a94c1707943b9874e362e11473bdcf768"><div class="ttname"><a href="classCairoImage.html#a94c1707943b9874e362e11473bdcf768">CairoImage::loadFromPNG</a></div><div class="ttdeci">void loadFromPNG(const char *pngData, uint dataSize) noexcept</div></div>
<div class="ttc" id="aclassWindow_html"><div class="ttname"><a href="classWindow.html">Window</a></div><div class="ttdef"><b>Definition:</b> Window.hpp:55</div></div>
<div class="ttc" id="aclassSize_html"><div class="ttname"><a href="classSize.html">Size&lt; uint &gt;</a></div></div>
<div class="ttc" id="aclassApplication_html"><div class="ttname"><a href="classApplication.html">Application</a></div><div class="ttdef"><b>Definition:</b> Application.hpp:36</div></div>
<div class="ttc" id="aclassCairoImage_html_aa60a5e3b68032170e8e59fb506c7d3b7"><div class="ttname"><a href="classCairoImage.html#aa60a5e3b68032170e8e59fb506c7d3b7">CairoImage::drawAt</a></div><div class="ttdeci">void drawAt(const GraphicsContext &amp;context, const Point&lt; int &gt; &amp;pos) override</div></div>
<div class="ttc" id="astructCairoGraphicsContext_html"><div class="ttname"><a href="structCairoGraphicsContext.html">CairoGraphicsContext</a></div><div class="ttdef"><b>Definition:</b> Cairo.hpp:32</div></div>
<div class="ttc" id="aclassCairoImage_html_af5f422a5a77f4639a907f8e5dde29ef7"><div class="ttname"><a href="classCairoImage.html#af5f422a5a77f4639a907f8e5dde29ef7">CairoImage::operator=</a></div><div class="ttdeci">CairoImage &amp; operator=(const CairoImage &amp;image) noexcept</div></div>
<div class="ttc" id="aclassCairoImage_html_ad3490061bcaae7cc320c5ccfb40ab3dd"><div class="ttname"><a href="classCairoImage.html#ad3490061bcaae7cc320c5ccfb40ab3dd">CairoImage::CairoImage</a></div><div class="ttdeci">CairoImage(const char *rawData, const Size&lt; uint &gt; &amp;size, ImageFormat format)</div></div>
<div class="ttc" id="aclassCairoImage_html_aeadcf789efdf894a61e477b4d64fc0b6"><div class="ttname"><a href="classCairoImage.html#aeadcf789efdf894a61e477b4d64fc0b6">CairoImage::CairoImage</a></div><div class="ttdeci">CairoImage()</div></div>
<div class="ttc" id="aclassImageBaseAboutWindow_html"><div class="ttname"><a href="classImageBaseAboutWindow.html">ImageBaseAboutWindow</a></div><div class="ttdef"><b>Definition:</b> ImageBaseWidgets.hpp:39</div></div>
<div class="ttc" id="aclassCairoImage_html"><div class="ttname"><a href="classCairoImage.html">CairoImage</a></div><div class="ttdef"><b>Definition:</b> Cairo.hpp:44</div></div>
<div class="ttc" id="aclassCairoBaseWidget_html"><div class="ttname"><a href="classCairoBaseWidget.html">CairoBaseWidget</a></div><div class="ttdef"><b>Definition:</b> Cairo.hpp:128</div></div>
<div class="ttc" id="aclassCairoImage_html_a861bdbb5cd592feaef43e2202397deed"><div class="ttname"><a href="classCairoImage.html#a861bdbb5cd592feaef43e2202397deed">CairoImage::loadFromMemory</a></div><div class="ttdeci">void loadFromMemory(const char *rawData, const Size&lt; uint &gt; &amp;size, ImageFormat format=kImageFormatBGRA) noexcept override</div></div>
<div class="ttc" id="aclassCairoBaseWidget_html_ab76ae3b54d624b194e6392ba48799ce4"><div class="ttname"><a href="classCairoBaseWidget.html#ab76ae3b54d624b194e6392ba48799ce4">CairoBaseWidget::~CairoBaseWidget</a></div><div class="ttdeci">virtual ~CairoBaseWidget()</div><div class="ttdef"><b>Definition:</b> Cairo.hpp:154</div></div>
<div class="ttc" id="aclassCairoBaseWidget_html_a264d5e3f7de6dd5c9f9b492f5577420f"><div class="ttname"><a href="classCairoBaseWidget.html#a264d5e3f7de6dd5c9f9b492f5577420f">CairoBaseWidget::CairoBaseWidget</a></div><div class="ttdeci">CairoBaseWidget(Widget *const parentGroupWidget)</div></div>
<div class="ttc" id="aclassImageBase_html"><div class="ttname"><a href="classImageBase.html">ImageBase</a></div><div class="ttdef"><b>Definition:</b> ImageBase.hpp:44</div></div>
<div class="ttc" id="aclassCairoBaseWidget_html_a2d59f5625d6e948ccbf7a9d2b3b00adf"><div class="ttname"><a href="classCairoBaseWidget.html#a2d59f5625d6e948ccbf7a9d2b3b00adf">CairoBaseWidget::onCairoDisplay</a></div><div class="ttdeci">virtual void onCairoDisplay(const CairoGraphicsContext &amp;context)=0</div></div>
<div class="ttc" id="aclassCairoImage_html_a36abbee6a47fc3447f00270aa16a82b7"><div class="ttname"><a href="classCairoImage.html#a36abbee6a47fc3447f00270aa16a82b7">CairoImage::~CairoImage</a></div><div class="ttdeci">~CairoImage() override</div></div>
<div class="ttc" id="aclassCairoImage_html_af5f422a5a77f4639a907f8e5dde29ef7"><div class="ttname"><a href="classCairoImage.html#af5f422a5a77f4639a907f8e5dde29ef7">CairoImage::operator=</a></div><div class="ttdeci">CairoImage &amp; operator=(const CairoImage &amp;image) noexcept</div></div>
<div class="ttc" id="aclassImageBaseAboutWindow_html"><div class="ttname"><a href="classImageBaseAboutWindow.html">ImageBaseAboutWindow</a></div><div class="ttdef"><b>Definition:</b> ImageBaseWidgets.hpp:40</div></div>
<div class="ttc" id="aclassImageBaseButton_html"><div class="ttname"><a href="classImageBaseButton.html">ImageBaseButton</a></div><div class="ttdef"><b>Definition:</b> ImageBaseWidgets.hpp:86</div></div>
<div class="ttc" id="aclassImageBaseKnob_html"><div class="ttname"><a href="classImageBaseKnob.html">ImageBaseKnob</a></div><div class="ttdef"><b>Definition:</b> ImageBaseWidgets.hpp:132</div></div>
<div class="ttc" id="aclassImageBaseSlider_html"><div class="ttname"><a href="classImageBaseSlider.html">ImageBaseSlider</a></div><div class="ttdef"><b>Definition:</b> ImageBaseWidgets.hpp:172</div></div>
<div class="ttc" id="aclassImageBaseSwitch_html"><div class="ttname"><a href="classImageBaseSwitch.html">ImageBaseSwitch</a></div><div class="ttdef"><b>Definition:</b> ImageBaseWidgets.hpp:223</div></div>
<div class="ttc" id="aclassImageBase_html"><div class="ttname"><a href="classImageBase.html">ImageBase</a></div><div class="ttdef"><b>Definition:</b> ImageBase.hpp:45</div></div>
<div class="ttc" id="aclassPoint_html"><div class="ttname"><a href="classPoint.html">Point&lt; int &gt;</a></div></div>
<div class="ttc" id="aclassImageBaseSwitch_html"><div class="ttname"><a href="classImageBaseSwitch.html">ImageBaseSwitch</a></div><div class="ttdef"><b>Definition:</b> ImageBaseWidgets.hpp:222</div></div>
<div class="ttc" id="aclassWidget_html"><div class="ttname"><a href="classWidget.html">Widget</a></div><div class="ttdef"><b>Definition:</b> Widget.hpp:53</div></div>
<div class="ttc" id="aclassSize_html"><div class="ttname"><a href="classSize.html">Size&lt; uint &gt;</a></div></div>
<div class="ttc" id="aclassWidget_html"><div class="ttname"><a href="classWidget.html">Widget</a></div><div class="ttdef"><b>Definition:</b> Widget.hpp:54</div></div>
<div class="ttc" id="aclassWindow_html"><div class="ttname"><a href="classWindow.html">Window</a></div><div class="ttdef"><b>Definition:</b> Window.hpp:63</div></div>
<div class="ttc" id="astructCairoGraphicsContext_html"><div class="ttname"><a href="structCairoGraphicsContext.html">CairoGraphicsContext</a></div><div class="ttdef"><b>Definition:</b> Cairo.hpp:33</div></div>
<div class="ttc" id="astructGraphicsContext_html"><div class="ttname"><a href="structGraphicsContext.html">GraphicsContext</a></div><div class="ttdef"><b>Definition:</b> Base.hpp:212</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Mar 31 2022 17:09:26 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
Generated on Wed Jul 27 2022 00:46:18 for DISTRHO Plugin Framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

+ 29
- 31
Color_8hpp_source.html View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DISTRHO Plugin Framework: dgl/Color.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -29,10 +29,10 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
@@ -111,100 +111,98 @@ $(function() {
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;<span class="comment"> Create solid black color.</span></div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; <a class="code" href="structColor.html#acbbdba6661c2bbd987ef27de59813b47">Color</a>() noexcept;</div>
<div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="structColor.html#acbbdba6661c2bbd987ef27de59813b47"> 43</a></span>&#160; <a class="code" href="structColor.html#acbbdba6661c2bbd987ef27de59813b47">Color</a>() noexcept;</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;<span class="comment"> Create a color from red, green, blue and alpha numeric values.</span></div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;<span class="comment"> All values except alpha must be in [0..255] range, with alpha in [0..1] range.</span></div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <a class="code" href="structColor.html#acbbdba6661c2bbd987ef27de59813b47">Color</a>(<span class="keywordtype">int</span> red, <span class="keywordtype">int</span> green, <span class="keywordtype">int</span> blue, <span class="keywordtype">float</span> alpha = 1.0f) noexcept;</div>
<div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="structColor.html#ab5f3b6caec37b3ba8f7a04c801c63847"> 49</a></span>&#160; <a class="code" href="structColor.html">Color</a>(<span class="keywordtype">int</span> red, <span class="keywordtype">int</span> green, <span class="keywordtype">int</span> blue, <span class="keywordtype">float</span> alpha = 1.0f) noexcept;</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;<span class="comment"> Create a color from red, green, blue and alpha floating-point values.</span></div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;<span class="comment"> All values must in [0..1] range.</span></div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <a class="code" href="structColor.html#acbbdba6661c2bbd987ef27de59813b47">Color</a>(<span class="keywordtype">float</span> red, <span class="keywordtype">float</span> green, <span class="keywordtype">float</span> blue, <span class="keywordtype">float</span> alpha = 1.0f) noexcept;</div>
<div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="structColor.html#a77dd2b8f997aaf034c790ffd4ffe64bc"> 55</a></span>&#160; <a class="code" href="structColor.html">Color</a>(<span class="keywordtype">float</span> red, <span class="keywordtype">float</span> green, <span class="keywordtype">float</span> blue, <span class="keywordtype">float</span> alpha = 1.0f) noexcept;</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;<span class="comment"> Create a color by copying another color.</span></div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <a class="code" href="structColor.html#acbbdba6661c2bbd987ef27de59813b47">Color</a>(<span class="keyword">const</span> <a class="code" href="structColor.html">Color</a>&amp; color) noexcept;</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <a class="code" href="structColor.html">Color</a>&amp; operator=(<span class="keyword">const</span> <a class="code" href="structColor.html">Color</a>&amp; color) noexcept;</div>
<div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="structColor.html#a7ac8018890423379bf8cdce2c6bc9d7e"> 60</a></span>&#160; <a class="code" href="structColor.html">Color</a>(const <a class="code" href="structColor.html">Color</a>&amp; color) noexcept;</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <a class="code" href="structColor.html">Color</a>&amp; operator=(const <a class="code" href="structColor.html">Color</a>&amp; color) noexcept;</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;<span class="comment"> Create a color by linearly interpolating two other colors.</span></div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <a class="code" href="structColor.html#acbbdba6661c2bbd987ef27de59813b47">Color</a>(<span class="keyword">const</span> <a class="code" href="structColor.html">Color</a>&amp; color1, <span class="keyword">const</span> <a class="code" href="structColor.html">Color</a>&amp; color2, <span class="keywordtype">float</span> u) noexcept;</div>
<div class="line"><a name="l00066"></a><span class="lineno"><a class="line" href="structColor.html#a8d51b3f9457c1d9524ad67c94152b99a"> 66</a></span>&#160; <a class="code" href="structColor.html">Color</a>(const <a class="code" href="structColor.html">Color</a>&amp; color1, const <a class="code" href="structColor.html">Color</a>&amp; color2, <span class="keywordtype">float</span> u) noexcept;</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;<span class="comment"> Create a new color based on this one but with a different alpha value.</span></div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <a class="code" href="structColor.html">Color</a> <a class="code" href="structColor.html#a664780dcd74f376837dc6c5a219ca566">withAlpha</a>(<span class="keywordtype">float</span> alpha) noexcept;</div>
<div class="line"><a name="l00071"></a><span class="lineno"><a class="line" href="structColor.html#a664780dcd74f376837dc6c5a219ca566"> 71</a></span>&#160; <a class="code" href="structColor.html">Color</a> <a class="code" href="structColor.html#a664780dcd74f376837dc6c5a219ca566">withAlpha</a>(<span class="keywordtype">float</span> alpha) noexcept;</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;<span class="comment"> Create a color specified by hue, saturation and lightness.</span></div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;<span class="comment"> Values must in [0..1] range.</span></div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <span class="keyword">static</span> <a class="code" href="structColor.html">Color</a> <a class="code" href="structColor.html#a41820f7349e997489d53f98036e76a0c">fromHSL</a>(<span class="keywordtype">float</span> hue, <span class="keywordtype">float</span> saturation, <span class="keywordtype">float</span> lightness, <span class="keywordtype">float</span> alpha = 1.0f);</div>
<div class="line"><a name="l00077"></a><span class="lineno"><a class="line" href="structColor.html#a41820f7349e997489d53f98036e76a0c"> 77</a></span>&#160; static <a class="code" href="structColor.html">Color</a> <a class="code" href="structColor.html#a41820f7349e997489d53f98036e76a0c">fromHSL</a>(<span class="keywordtype">float</span> hue, <span class="keywordtype">float</span> saturation, <span class="keywordtype">float</span> lightness, <span class="keywordtype">float</span> alpha = 1.0f);</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;<span class="comment"> Create a color from a HTML string like &quot;#333&quot; or &quot;#112233&quot;.</span></div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; <span class="keyword">static</span> <a class="code" href="structColor.html">Color</a> <a class="code" href="structColor.html#abdc66d9b8c6422a721f8d576e871f646">fromHTML</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* rgb, <span class="keywordtype">float</span> alpha = 1.0f) noexcept;</div>
<div class="line"><a name="l00082"></a><span class="lineno"><a class="line" href="structColor.html#abdc66d9b8c6422a721f8d576e871f646"> 82</a></span>&#160; static <a class="code" href="structColor.html">Color</a> <a class="code" href="structColor.html#abdc66d9b8c6422a721f8d576e871f646">fromHTML</a>(const <span class="keywordtype">char</span>* rgb, <span class="keywordtype">float</span> alpha = 1.0f) noexcept;</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160;<span class="comment"> Linearly interpolate this color against another.</span></div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; <span class="keywordtype">void</span> <a class="code" href="structColor.html#a96283f5b9ad6f6465e40f69012aca00f">interpolate</a>(<span class="keyword">const</span> <a class="code" href="structColor.html">Color</a>&amp; other, <span class="keywordtype">float</span> u) noexcept;</div>
<div class="line"><a name="l00087"></a><span class="lineno"><a class="line" href="structColor.html#a96283f5b9ad6f6465e40f69012aca00f"> 87</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="structColor.html#a96283f5b9ad6f6465e40f69012aca00f">interpolate</a>(const <a class="code" href="structColor.html">Color</a>&amp; other, <span class="keywordtype">float</span> u) noexcept;</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160;<span class="comment"> Check if this color matches another.</span></div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160;<span class="comment"> @note Comparison is done within 8-bit color space.</span></div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="structColor.html#a16880d42b2d52ed23eb307ed2980a9a3">isEqual</a>(<span class="keyword">const</span> <a class="code" href="structColor.html">Color</a>&amp; color, <span class="keywordtype">bool</span> <a class="code" href="structColor.html#a664780dcd74f376837dc6c5a219ca566">withAlpha</a> = <span class="keyword">true</span>) noexcept;</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <span class="keywordtype">bool</span> isNotEqual(<span class="keyword">const</span> <a class="code" href="structColor.html">Color</a>&amp; color, <span class="keywordtype">bool</span> <a class="code" href="structColor.html#a664780dcd74f376837dc6c5a219ca566">withAlpha</a> = <span class="keyword">true</span>) noexcept;</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> <a class="code" href="structColor.html">Color</a>&amp; color) noexcept;</div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; <span class="keywordtype">bool</span> operator!=(<span class="keyword">const</span> <a class="code" href="structColor.html">Color</a>&amp; color) noexcept;</div>
<div class="line"><a name="l00093"></a><span class="lineno"><a class="line" href="structColor.html#a16880d42b2d52ed23eb307ed2980a9a3"> 93</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="structColor.html#a16880d42b2d52ed23eb307ed2980a9a3">isEqual</a>(const <a class="code" href="structColor.html">Color</a>&amp; color, <span class="keywordtype">bool</span> <a class="code" href="structColor.html#a664780dcd74f376837dc6c5a219ca566">withAlpha</a> = true) noexcept;</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <span class="keywordtype">bool</span> isNotEqual(const <a class="code" href="structColor.html">Color</a>&amp; color, <span class="keywordtype">bool</span> <a class="code" href="structColor.html#a664780dcd74f376837dc6c5a219ca566">withAlpha</a> = true) noexcept;</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <span class="keywordtype">bool</span> operator==(const <a class="code" href="structColor.html">Color</a>&amp; color) noexcept;</div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; <span class="keywordtype">bool</span> operator!=(const <a class="code" href="structColor.html">Color</a>&amp; color) noexcept;</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160;<span class="comment"> Fix color bounds if needed.</span></div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; <span class="keywordtype">void</span> <a class="code" href="structColor.html#aad01f46af4cdb18b2bcbddd3f63d14d5">fixBounds</a>() noexcept;</div>
<div class="line"><a name="l00101"></a><span class="lineno"><a class="line" href="structColor.html#aad01f46af4cdb18b2bcbddd3f63d14d5"> 101</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="structColor.html#aad01f46af4cdb18b2bcbddd3f63d14d5">fixBounds</a>() noexcept;</div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;<span class="comment"> Set this color for use in the next drawing operation for the provided context.</span></div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <span class="keywordtype">void</span> <a class="code" href="structColor.html#a9bd4efab0718f412babc62398875a80f">setFor</a>(<span class="keyword">const</span> <a class="code" href="structGraphicsContext.html">GraphicsContext</a>&amp; context, <span class="keywordtype">bool</span> includeAlpha = <span class="keyword">false</span>);</div>
<div class="line"><a name="l00106"></a><span class="lineno"><a class="line" href="structColor.html#a9bd4efab0718f412babc62398875a80f"> 106</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="structColor.html#a9bd4efab0718f412babc62398875a80f">setFor</a>(const <a class="code" href="structGraphicsContext.html">GraphicsContext</a>&amp; context, <span class="keywordtype">bool</span> includeAlpha = false);</div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160;<span class="comment"> @internal</span></div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;<span class="comment"> Needed for NanoVG compatibility.</span></div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <a class="code" href="structColor.html#acbbdba6661c2bbd987ef27de59813b47">Color</a>(<span class="keyword">const</span> NVGcolor&amp;) noexcept;</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <span class="keyword">operator</span> NVGcolor() <span class="keyword">const</span> noexcept;</div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <a class="code" href="structColor.html">Color</a>(const NVGcolor&amp;) noexcept;</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; operator NVGcolor() const noexcept;</div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;};</div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; </div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;<span class="comment">// --------------------------------------------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; </div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;END_NAMESPACE_DGL</div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; </div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;<span class="preprocessor">#endif // DGL_COLOR_HPP_INCLUDED</span></div>
</div><!-- fragment --></div><!-- contents -->
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;<span class="preprocessor">#endif </span><span class="comment">// DGL_COLOR_HPP_INCLUDED</span></div>
<div class="ttc" id="astructColor_html"><div class="ttname"><a href="structColor.html">Color</a></div><div class="ttdef"><b>Definition:</b> Color.hpp:31</div></div>
<div class="ttc" id="astructColor_html_a16880d42b2d52ed23eb307ed2980a9a3"><div class="ttname"><a href="structColor.html#a16880d42b2d52ed23eb307ed2980a9a3">Color::isEqual</a></div><div class="ttdeci">bool isEqual(const Color &amp;color, bool withAlpha=true) noexcept</div></div>
<div class="ttc" id="astructColor_html_a41820f7349e997489d53f98036e76a0c"><div class="ttname"><a href="structColor.html#a41820f7349e997489d53f98036e76a0c">Color::fromHSL</a></div><div class="ttdeci">static Color fromHSL(float hue, float saturation, float lightness, float alpha=1.0f)</div></div>
<div class="ttc" id="astructGraphicsContext_html"><div class="ttname"><a href="structGraphicsContext.html">GraphicsContext</a></div><div class="ttdef"><b>Definition:</b> Base.hpp:171</div></div>
<div class="ttc" id="astructColor_html_a664780dcd74f376837dc6c5a219ca566"><div class="ttname"><a href="structColor.html#a664780dcd74f376837dc6c5a219ca566">Color::withAlpha</a></div><div class="ttdeci">Color withAlpha(float alpha) noexcept</div></div>
<div class="ttc" id="astructColor_html_a96283f5b9ad6f6465e40f69012aca00f"><div class="ttname"><a href="structColor.html#a96283f5b9ad6f6465e40f69012aca00f">Color::interpolate</a></div><div class="ttdeci">void interpolate(const Color &amp;other, float u) noexcept</div></div>
<div class="ttc" id="astructColor_html_a9bd4efab0718f412babc62398875a80f"><div class="ttname"><a href="structColor.html#a9bd4efab0718f412babc62398875a80f">Color::setFor</a></div><div class="ttdeci">void setFor(const GraphicsContext &amp;context, bool includeAlpha=false)</div></div>
<div class="ttc" id="astructColor_html_aad01f46af4cdb18b2bcbddd3f63d14d5"><div class="ttname"><a href="structColor.html#aad01f46af4cdb18b2bcbddd3f63d14d5">Color::fixBounds</a></div><div class="ttdeci">void fixBounds() noexcept</div></div>
<div class="ttc" id="astructColor_html_abdc66d9b8c6422a721f8d576e871f646"><div class="ttname"><a href="structColor.html#abdc66d9b8c6422a721f8d576e871f646">Color::fromHTML</a></div><div class="ttdeci">static Color fromHTML(const char *rgb, float alpha=1.0f) noexcept</div></div>
<div class="ttc" id="astructColor_html_acbbdba6661c2bbd987ef27de59813b47"><div class="ttname"><a href="structColor.html#acbbdba6661c2bbd987ef27de59813b47">Color::Color</a></div><div class="ttdeci">Color() noexcept</div></div>
<div class="ttc" id="astructColor_html_a16880d42b2d52ed23eb307ed2980a9a3"><div class="ttname"><a href="structColor.html#a16880d42b2d52ed23eb307ed2980a9a3">Color::isEqual</a></div><div class="ttdeci">bool isEqual(const Color &amp;color, bool withAlpha=true) noexcept</div></div>
<div class="ttc" id="astructColor_html_a664780dcd74f376837dc6c5a219ca566"><div class="ttname"><a href="structColor.html#a664780dcd74f376837dc6c5a219ca566">Color::withAlpha</a></div><div class="ttdeci">Color withAlpha(float alpha) noexcept</div></div>
<div class="ttc" id="astructColor_html_aad01f46af4cdb18b2bcbddd3f63d14d5"><div class="ttname"><a href="structColor.html#aad01f46af4cdb18b2bcbddd3f63d14d5">Color::fixBounds</a></div><div class="ttdeci">void fixBounds() noexcept</div></div>
<div class="ttc" id="astructColor_html"><div class="ttname"><a href="structColor.html">Color</a></div><div class="ttdef"><b>Definition:</b> Color.hpp:31</div></div>
<div class="ttc" id="astructGraphicsContext_html"><div class="ttname"><a href="structGraphicsContext.html">GraphicsContext</a></div><div class="ttdef"><b>Definition:</b> Base.hpp:212</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Mar 31 2022 17:09:26 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
Generated on Wed Jul 27 2022 00:46:18 for DISTRHO Plugin Framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

+ 24
- 26
DistrhoInfo_8hpp_source.html View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DISTRHO Plugin Framework: distrho/DistrhoInfo.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -29,10 +29,10 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
@@ -923,39 +923,37 @@ $(function() {
<div class="line"><a name="l00852"></a><span class="lineno"> 852</span>&#160; </div>
<div class="line"><a name="l00853"></a><span class="lineno"> 853</span>&#160;<a class="code" href="group__NamespaceMacros.html#ga3ff541a449593e069a29e92d21e38ef3">END_NAMESPACE_DISTRHO</a></div>
<div class="line"><a name="l00854"></a><span class="lineno"> 854</span>&#160; </div>
<div class="line"><a name="l00855"></a><span class="lineno"> 855</span>&#160;<span class="preprocessor">#endif // DOXYGEN</span></div>
</div><!-- fragment --></div><!-- contents -->
<div class="ttc" id="agroup__NamespaceMacros_html_gac4cb97c393d20c28ba19365d844341cd"><div class="ttname"><a href="group__NamespaceMacros.html#gac4cb97c393d20c28ba19365d844341cd">START_NAMESPACE_DISTRHO</a></div><div class="ttdeci">#define START_NAMESPACE_DISTRHO</div><div class="ttdef"><b>Definition:</b> DistrhoInfo.hpp:828</div></div>
<div class="ttc" id="aclassPlugin_html_abae540dd93caf4834270358a8aad334a"><div class="ttname"><a href="classPlugin.html#abae540dd93caf4834270358a8aad334a">Plugin::getVersion</a></div><div class="ttdeci">virtual uint32_t getVersion() const =0</div></div>
<div class="ttc" id="aclassString_html"><div class="ttname"><a href="classString.html">String</a></div><div class="ttdef"><b>Definition:</b> String.hpp:30</div></div>
<div class="ttc" id="astructParameter_html_a2d0c81e4fb8fad18d920ef6ecd4a64db"><div class="ttname"><a href="structParameter.html#a2d0c81e4fb8fad18d920ef6ecd4a64db">Parameter::ranges</a></div><div class="ttdeci">ParameterRanges ranges</div><div class="ttdef"><b>Definition:</b> DistrhoPlugin.hpp:543</div></div>
<div class="ttc" id="agroup__NamespaceMacros_html_ga3ff541a449593e069a29e92d21e38ef3"><div class="ttname"><a href="group__NamespaceMacros.html#ga3ff541a449593e069a29e92d21e38ef3">END_NAMESPACE_DISTRHO</a></div><div class="ttdeci">#define END_NAMESPACE_DISTRHO</div><div class="ttdef"><b>Definition:</b> DistrhoInfo.hpp:834</div></div>
<div class="ttc" id="astructParameter_html"><div class="ttname"><a href="structParameter.html">Parameter</a></div><div class="ttdef"><b>Definition:</b> DistrhoPlugin.hpp:497</div></div>
<div class="ttc" id="aclassUI_html"><div class="ttname"><a href="classUI.html">UI</a></div><div class="ttdef"><b>Definition:</b> DistrhoUI.hpp:75</div></div>
<div class="ttc" id="agroup__MiscellaneousFunctions_html_ga95d67ff74d46b2c80f15c7790a523154"><div class="ttname"><a href="group__MiscellaneousFunctions.html#ga95d67ff74d46b2c80f15c7790a523154">d_version</a></div><div class="ttdeci">static constexpr uint32_t d_version(const uint8_t major, const uint8_t minor, const uint8_t micro) noexcept</div><div class="ttdef"><b>Definition:</b> DistrhoUtils.hpp:84</div></div>
<div class="ttc" id="aclassPlugin_html_a955832840de786a7a22798f0ef451c5d"><div class="ttname"><a href="classPlugin.html#a955832840de786a7a22798f0ef451c5d">Plugin::getMaker</a></div><div class="ttdeci">virtual const char * getMaker() const =0</div></div>
<div class="ttc" id="agroup__MiscellaneousFunctions_html_ga6827e90feb9bdcb6f76175a245fbf12c"><div class="ttname"><a href="group__MiscellaneousFunctions.html#ga6827e90feb9bdcb6f76175a245fbf12c">d_cconst</a></div><div class="ttdeci">static constexpr int64_t d_cconst(const uint8_t a, const uint8_t b, const uint8_t c, const uint8_t d) noexcept</div><div class="ttdef"><b>Definition:</b> DistrhoUtils.hpp:75</div></div>
<div class="line"><a name="l00855"></a><span class="lineno"> 855</span>&#160;<span class="preprocessor">#endif </span><span class="comment">// DOXYGEN</span></div>
<div class="ttc" id="aclassPlugin_html"><div class="ttname"><a href="classPlugin.html">Plugin</a></div><div class="ttdef"><b>Definition:</b> DistrhoPlugin.hpp:906</div></div>
<div class="ttc" id="aclassPlugin_html_a00f7945c16149db6845fbcc2af729f4f"><div class="ttname"><a href="classPlugin.html#a00f7945c16149db6845fbcc2af729f4f">Plugin::getLabel</a></div><div class="ttdeci">virtual const char * getLabel() const =0</div></div>
<div class="ttc" id="astructParameterRanges_html_aa0aba68115bcfff25c35b2da2f7aed4c"><div class="ttname"><a href="structParameterRanges.html#aa0aba68115bcfff25c35b2da2f7aed4c">ParameterRanges::def</a></div><div class="ttdeci">float def</div><div class="ttdef"><b>Definition:</b> DistrhoPlugin.hpp:301</div></div>
<div class="ttc" id="agroup__ParameterHints_html_ga6d39267b105c2d8dfc82a810c5e8a061"><div class="ttname"><a href="group__ParameterHints.html#ga6d39267b105c2d8dfc82a810c5e8a061">kParameterIsAutomatable</a></div><div class="ttdeci">static const uint32_t kParameterIsAutomatable</div><div class="ttdef"><b>Definition:</b> DistrhoPlugin.hpp:92</div></div>
<div class="ttc" id="astructParameter_html_ae63c1fcfb20e320bada1f58c04ff18da"><div class="ttname"><a href="structParameter.html#ae63c1fcfb20e320bada1f58c04ff18da">Parameter::name</a></div><div class="ttdeci">String name</div><div class="ttdef"><b>Definition:</b> DistrhoPlugin.hpp:509</div></div>
<div class="ttc" id="astructParameter_html_a3e546efd8dbd0d77351208b670719468"><div class="ttname"><a href="structParameter.html#a3e546efd8dbd0d77351208b670719468">Parameter::symbol</a></div><div class="ttdeci">String symbol</div><div class="ttdef"><b>Definition:</b> DistrhoPlugin.hpp:524</div></div>
<div class="ttc" id="aclassPlugin_html_a0a969c78f8455ac6ba65fa42e8c498f6"><div class="ttname"><a href="classPlugin.html#a0a969c78f8455ac6ba65fa42e8c498f6">Plugin::run</a></div><div class="ttdeci">virtual void run(const float **inputs, float **outputs, uint32_t frames, const MidiEvent *midiEvents, uint32_t midiEventCount)=0</div></div>
<div class="ttc" id="aclassPlugin_html_a44eb1bfcc3a3e5949ad053fc9ce55ce8"><div class="ttname"><a href="classPlugin.html#a44eb1bfcc3a3e5949ad053fc9ce55ce8">Plugin::loadProgram</a></div><div class="ttdeci">virtual void loadProgram(uint32_t index)</div></div>
<div class="ttc" id="aclassPlugin_html_a686a3c92a376a185d6fd97efd59125d1"><div class="ttname"><a href="classPlugin.html#a686a3c92a376a185d6fd97efd59125d1">Plugin::getLicense</a></div><div class="ttdeci">virtual const char * getLicense() const =0</div></div>
<div class="ttc" id="agroup__PluginMacros_html_gad95e24b17f196260cee15255fdb5b677"><div class="ttname"><a href="group__PluginMacros.html#gad95e24b17f196260cee15255fdb5b677">DISTRHO_PLUGIN_WANT_PROGRAMS</a></div><div class="ttdeci">#define DISTRHO_PLUGIN_WANT_PROGRAMS</div><div class="ttdef"><b>Definition:</b> DistrhoInfo.hpp:574</div></div>
<div class="ttc" id="aclassPlugin_html_a955832840de786a7a22798f0ef451c5d"><div class="ttname"><a href="classPlugin.html#a955832840de786a7a22798f0ef451c5d">Plugin::getMaker</a></div><div class="ttdeci">virtual const char * getMaker() const =0</div></div>
<div class="ttc" id="aclassPlugin_html_abae540dd93caf4834270358a8aad334a"><div class="ttname"><a href="classPlugin.html#abae540dd93caf4834270358a8aad334a">Plugin::getVersion</a></div><div class="ttdeci">virtual uint32_t getVersion() const =0</div></div>
<div class="ttc" id="aclassPlugin_html_ad6ff8c80227d5ceebd40b96f3be29a66"><div class="ttname"><a href="classPlugin.html#ad6ff8c80227d5ceebd40b96f3be29a66">Plugin::getUniqueId</a></div><div class="ttdeci">virtual int64_t getUniqueId() const =0</div></div>
<div class="ttc" id="aclassPlugin_html"><div class="ttname"><a href="classPlugin.html">Plugin</a></div><div class="ttdef"><b>Definition:</b> DistrhoPlugin.hpp:900</div></div>
<div class="ttc" id="aclassPlugin_html_a0a969c78f8455ac6ba65fa42e8c498f6"><div class="ttname"><a href="classPlugin.html#a0a969c78f8455ac6ba65fa42e8c498f6">Plugin::run</a></div><div class="ttdeci">virtual void run(const float **inputs, float **outputs, uint32_t frames, const MidiEvent *midiEvents, uint32_t midiEventCount)=0</div></div>
<div class="ttc" id="aclassString_html"><div class="ttname"><a href="classString.html">String</a></div><div class="ttdef"><b>Definition:</b> String.hpp:31</div></div>
<div class="ttc" id="aclassUI_html"><div class="ttname"><a href="classUI.html">UI</a></div><div class="ttdef"><b>Definition:</b> DistrhoUI.hpp:74</div></div>
<div class="ttc" id="agroup__EntryPoints_html_ga87f1fa9084f2490ca04ea733292c6dee"><div class="ttname"><a href="group__EntryPoints.html#ga87f1fa9084f2490ca04ea733292c6dee">createPlugin</a></div><div class="ttdeci">Plugin * createPlugin()</div></div>
<div class="ttc" id="agroup__MiscellaneousFunctions_html_ga6827e90feb9bdcb6f76175a245fbf12c"><div class="ttname"><a href="group__MiscellaneousFunctions.html#ga6827e90feb9bdcb6f76175a245fbf12c">d_cconst</a></div><div class="ttdeci">static constexpr int64_t d_cconst(const uint8_t a, const uint8_t b, const uint8_t c, const uint8_t d) noexcept</div><div class="ttdef"><b>Definition:</b> DistrhoUtils.hpp:75</div></div>
<div class="ttc" id="agroup__MiscellaneousFunctions_html_ga95d67ff74d46b2c80f15c7790a523154"><div class="ttname"><a href="group__MiscellaneousFunctions.html#ga95d67ff74d46b2c80f15c7790a523154">d_version</a></div><div class="ttdeci">static constexpr uint32_t d_version(const uint8_t major, const uint8_t minor, const uint8_t micro) noexcept</div><div class="ttdef"><b>Definition:</b> DistrhoUtils.hpp:84</div></div>
<div class="ttc" id="agroup__NamespaceMacros_html_ga3ff541a449593e069a29e92d21e38ef3"><div class="ttname"><a href="group__NamespaceMacros.html#ga3ff541a449593e069a29e92d21e38ef3">END_NAMESPACE_DISTRHO</a></div><div class="ttdeci">#define END_NAMESPACE_DISTRHO</div><div class="ttdef"><b>Definition:</b> DistrhoInfo.hpp:834</div></div>
<div class="ttc" id="agroup__NamespaceMacros_html_gac4cb97c393d20c28ba19365d844341cd"><div class="ttname"><a href="group__NamespaceMacros.html#gac4cb97c393d20c28ba19365d844341cd">START_NAMESPACE_DISTRHO</a></div><div class="ttdeci">#define START_NAMESPACE_DISTRHO</div><div class="ttdef"><b>Definition:</b> DistrhoInfo.hpp:828</div></div>
<div class="ttc" id="agroup__NamespaceMacros_html_gadcd7e7d900fbae0fa1a71d6fbab4d59c"><div class="ttname"><a href="group__NamespaceMacros.html#gadcd7e7d900fbae0fa1a71d6fbab4d59c">USE_NAMESPACE_DISTRHO</a></div><div class="ttdeci">#define USE_NAMESPACE_DISTRHO</div><div class="ttdef"><b>Definition:</b> DistrhoInfo.hpp:840</div></div>
<div class="ttc" id="aclassPlugin_html_a44eb1bfcc3a3e5949ad053fc9ce55ce8"><div class="ttname"><a href="classPlugin.html#a44eb1bfcc3a3e5949ad053fc9ce55ce8">Plugin::loadProgram</a></div><div class="ttdeci">virtual void loadProgram(uint32_t index)</div></div>
<div class="ttc" id="agroup__ParameterHints_html_ga6d39267b105c2d8dfc82a810c5e8a061"><div class="ttname"><a href="group__ParameterHints.html#ga6d39267b105c2d8dfc82a810c5e8a061">kParameterIsAutomatable</a></div><div class="ttdeci">static const uint32_t kParameterIsAutomatable</div><div class="ttdef"><b>Definition:</b> DistrhoPlugin.hpp:92</div></div>
<div class="ttc" id="agroup__PluginMacros_html_gad95e24b17f196260cee15255fdb5b677"><div class="ttname"><a href="group__PluginMacros.html#gad95e24b17f196260cee15255fdb5b677">DISTRHO_PLUGIN_WANT_PROGRAMS</a></div><div class="ttdeci">#define DISTRHO_PLUGIN_WANT_PROGRAMS</div><div class="ttdef"><b>Definition:</b> DistrhoInfo.hpp:574</div></div>
<div class="ttc" id="astructParameterRanges_html_a175c78c905c598df929a4450e4d2a2a0"><div class="ttname"><a href="structParameterRanges.html#a175c78c905c598df929a4450e4d2a2a0">ParameterRanges::max</a></div><div class="ttdeci">float max</div><div class="ttdef"><b>Definition:</b> DistrhoPlugin.hpp:311</div></div>
<div class="ttc" id="astructParameterRanges_html_a63c40988463a8ace9d0e9e55a00f3c7b"><div class="ttname"><a href="structParameterRanges.html#a63c40988463a8ace9d0e9e55a00f3c7b">ParameterRanges::min</a></div><div class="ttdeci">float min</div><div class="ttdef"><b>Definition:</b> DistrhoPlugin.hpp:306</div></div>
<div class="ttc" id="astructParameterRanges_html_aa0aba68115bcfff25c35b2da2f7aed4c"><div class="ttname"><a href="structParameterRanges.html#aa0aba68115bcfff25c35b2da2f7aed4c">ParameterRanges::def</a></div><div class="ttdeci">float def</div><div class="ttdef"><b>Definition:</b> DistrhoPlugin.hpp:301</div></div>
<div class="ttc" id="astructParameter_html"><div class="ttname"><a href="structParameter.html">Parameter</a></div><div class="ttdef"><b>Definition:</b> DistrhoPlugin.hpp:497</div></div>
<div class="ttc" id="astructParameter_html_a2d0c81e4fb8fad18d920ef6ecd4a64db"><div class="ttname"><a href="structParameter.html#a2d0c81e4fb8fad18d920ef6ecd4a64db">Parameter::ranges</a></div><div class="ttdeci">ParameterRanges ranges</div><div class="ttdef"><b>Definition:</b> DistrhoPlugin.hpp:543</div></div>
<div class="ttc" id="astructParameter_html_a397fb977f0c6cbec31df4f141ca3f5b3"><div class="ttname"><a href="structParameter.html#a397fb977f0c6cbec31df4f141ca3f5b3">Parameter::hints</a></div><div class="ttdeci">uint32_t hints</div><div class="ttdef"><b>Definition:</b> DistrhoPlugin.hpp:502</div></div>
<div class="ttc" id="astructParameter_html_a3e546efd8dbd0d77351208b670719468"><div class="ttname"><a href="structParameter.html#a3e546efd8dbd0d77351208b670719468">Parameter::symbol</a></div><div class="ttdeci">String symbol</div><div class="ttdef"><b>Definition:</b> DistrhoPlugin.hpp:524</div></div>
<div class="ttc" id="astructParameter_html_ae63c1fcfb20e320bada1f58c04ff18da"><div class="ttname"><a href="structParameter.html#ae63c1fcfb20e320bada1f58c04ff18da">Parameter::name</a></div><div class="ttdeci">String name</div><div class="ttdef"><b>Definition:</b> DistrhoPlugin.hpp:509</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Mar 31 2022 17:09:26 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
Generated on Wed Jul 27 2022 00:46:18 for DISTRHO Plugin Framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

+ 18
- 20
DistrhoPluginUtils_8hpp_source.html View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DISTRHO Plugin Framework: distrho/DistrhoPluginUtils.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -29,10 +29,10 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
@@ -106,7 +106,7 @@ $(function() {
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="comment"> Under certain systems or plugin formats the binary will be inside the plugin bundle.@n</span></div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="comment"> Also, in some formats or setups, the DSP and UI binaries are in different files.</span></div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="comment">*/</span></div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;<span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="group__PluginRelatedUtilities.html#ga59aac78ab7142a37a7a2c5f0c7fd2a62">getBinaryFilename</a>();</div>
<div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="group__PluginRelatedUtilities.html#ga59aac78ab7142a37a7a2c5f0c7fd2a62"> 38</a></span>&#160;<span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="group__PluginRelatedUtilities.html#ga59aac78ab7142a37a7a2c5f0c7fd2a62">getBinaryFilename</a>();</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;<span class="comment"> Get a string representation of the current plugin format we are building against.@n</span></div>
@@ -115,7 +115,7 @@ $(function() {
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;<span class="comment"> @note DO NOT CHANGE PLUGIN BEHAVIOUR BASED ON PLUGIN FORMAT.</span></div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;<span class="comment">*/</span></div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;<span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="group__PluginRelatedUtilities.html#gac339d6837f2d1a89d4d63b322822e32d">getPluginFormatName</a>() noexcept;</div>
<div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="group__PluginRelatedUtilities.html#gac339d6837f2d1a89d4d63b322822e32d"> 47</a></span>&#160;<span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="group__PluginRelatedUtilities.html#gac339d6837f2d1a89d4d63b322822e32d">getPluginFormatName</a>() noexcept;</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;<span class="comment"> Get the path to where resources are stored within the plugin bundle.@n</span></div>
@@ -133,7 +133,7 @@ $(function() {
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;<span class="comment"> @note For VST2 on non-macOS systems, this assumes you have your plugin inside a dedicated directory</span></div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;<span class="comment"> rather than only shipping with the binary (e.g. &lt;myplugin.vst&gt;/myplugin.dll)</span></div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;<span class="comment">*/</span></div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;const <span class="keywordtype">char</span>* <a class="code" href="group__PluginRelatedUtilities.html#ga53aa68de85dae4e3102b1c0551950b86">getResourcePath</a>(const <span class="keywordtype">char</span>* bundlePath) noexcept;</div>
<div class="line"><a name="l00065"></a><span class="lineno"><a class="line" href="group__PluginRelatedUtilities.html#ga53aa68de85dae4e3102b1c0551950b86"> 65</a></span>&#160;const <span class="keywordtype">char</span>* <a class="code" href="group__PluginRelatedUtilities.html#ga53aa68de85dae4e3102b1c0551950b86">getResourcePath</a>(const <span class="keywordtype">char</span>* bundlePath) noexcept;</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;<span class="comment">/** @} */</span></div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; </div>
@@ -146,7 +146,7 @@ $(function() {
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;<span class="comment"> @{</span></div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; </div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;<span class="preprocessor">#if DISTRHO_PLUGIN_NUM_OUTPUTS &gt; 0</span></div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;<span class="preprocessor">#if DISTRHO_PLUGIN_NUM_OUTPUTS &gt; 0</span><span class="comment"></span></div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;<span class="comment"> Handy class to help keep audio buffer in sync with incoming MIDI events.</span></div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160;<span class="comment"> To use it, create a local variable (on the stack) and call nextEvent() until it returns false.</span></div>
@@ -283,25 +283,23 @@ $(function() {
<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; </div>
<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160;<a class="code" href="group__NamespaceMacros.html#ga3ff541a449593e069a29e92d21e38ef3">END_NAMESPACE_DISTRHO</a></div>
<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; </div>
<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160;<span class="preprocessor">#endif // DISTRHO_PLUGIN_UTILS_HPP_INCLUDED</span></div>
</div><!-- fragment --></div><!-- contents -->
<div class="ttc" id="astructAudioMidiSyncHelper_html_a43f354c1520893449d81a27b3e7a81fe"><div class="ttname"><a href="structAudioMidiSyncHelper.html#a43f354c1520893449d81a27b3e7a81fe">AudioMidiSyncHelper::nextEvent</a></div><div class="ttdeci">bool nextEvent()</div><div class="ttdef"><b>Definition:</b> DistrhoPluginUtils.hpp:131</div></div>
<div class="ttc" id="agroup__PluginRelatedUtilities_html_ga59aac78ab7142a37a7a2c5f0c7fd2a62"><div class="ttname"><a href="group__PluginRelatedUtilities.html#ga59aac78ab7142a37a7a2c5f0c7fd2a62">getBinaryFilename</a></div><div class="ttdeci">const char * getBinaryFilename()</div></div>
<div class="ttc" id="agroup__NamespaceMacros_html_gac4cb97c393d20c28ba19365d844341cd"><div class="ttname"><a href="group__NamespaceMacros.html#gac4cb97c393d20c28ba19365d844341cd">START_NAMESPACE_DISTRHO</a></div><div class="ttdeci">#define START_NAMESPACE_DISTRHO</div><div class="ttdef"><b>Definition:</b> DistrhoInfo.hpp:828</div></div>
<div class="ttc" id="astructMidiEvent_html"><div class="ttname"><a href="structMidiEvent.html">MidiEvent</a></div><div class="ttdef"><b>Definition:</b> DistrhoPlugin.hpp:711</div></div>
<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160;<span class="preprocessor">#endif </span><span class="comment">// DISTRHO_PLUGIN_UTILS_HPP_INCLUDED</span></div>
<div class="ttc" id="agroup__NamespaceMacros_html_ga3ff541a449593e069a29e92d21e38ef3"><div class="ttname"><a href="group__NamespaceMacros.html#ga3ff541a449593e069a29e92d21e38ef3">END_NAMESPACE_DISTRHO</a></div><div class="ttdeci">#define END_NAMESPACE_DISTRHO</div><div class="ttdef"><b>Definition:</b> DistrhoInfo.hpp:834</div></div>
<div class="ttc" id="astructMidiEvent_html_aca2f6590b33bd2175ab71f985747d88e"><div class="ttname"><a href="structMidiEvent.html#aca2f6590b33bd2175ab71f985747d88e">MidiEvent::frame</a></div><div class="ttdeci">uint32_t frame</div><div class="ttdef"><b>Definition:</b> DistrhoPlugin.hpp:720</div></div>
<div class="ttc" id="agroup__NamespaceMacros_html_gac4cb97c393d20c28ba19365d844341cd"><div class="ttname"><a href="group__NamespaceMacros.html#gac4cb97c393d20c28ba19365d844341cd">START_NAMESPACE_DISTRHO</a></div><div class="ttdeci">#define START_NAMESPACE_DISTRHO</div><div class="ttdef"><b>Definition:</b> DistrhoInfo.hpp:828</div></div>
<div class="ttc" id="agroup__PluginMacros_html_ga917195804ebcb2bb48c9fad52b20b3ca"><div class="ttname"><a href="group__PluginMacros.html#ga917195804ebcb2bb48c9fad52b20b3ca">DISTRHO_PLUGIN_NUM_OUTPUTS</a></div><div class="ttdeci">#define DISTRHO_PLUGIN_NUM_OUTPUTS</div><div class="ttdef"><b>Definition:</b> DistrhoInfo.hpp:493</div></div>
<div class="ttc" id="agroup__PluginRelatedUtilities_html_ga53aa68de85dae4e3102b1c0551950b86"><div class="ttname"><a href="group__PluginRelatedUtilities.html#ga53aa68de85dae4e3102b1c0551950b86">getResourcePath</a></div><div class="ttdeci">const char * getResourcePath(const char *bundlePath) noexcept</div></div>
<div class="ttc" id="agroup__PluginRelatedUtilities_html_ga59aac78ab7142a37a7a2c5f0c7fd2a62"><div class="ttname"><a href="group__PluginRelatedUtilities.html#ga59aac78ab7142a37a7a2c5f0c7fd2a62">getBinaryFilename</a></div><div class="ttdeci">const char * getBinaryFilename()</div></div>
<div class="ttc" id="agroup__PluginRelatedUtilities_html_gac339d6837f2d1a89d4d63b322822e32d"><div class="ttname"><a href="group__PluginRelatedUtilities.html#gac339d6837f2d1a89d4d63b322822e32d">getPluginFormatName</a></div><div class="ttdeci">const char * getPluginFormatName() noexcept</div></div>
<div class="ttc" id="astructAudioMidiSyncHelper_html"><div class="ttname"><a href="structAudioMidiSyncHelper.html">AudioMidiSyncHelper</a></div><div class="ttdef"><b>Definition:</b> DistrhoPluginUtils.hpp:104</div></div>
<div class="ttc" id="astructAudioMidiSyncHelper_html_a43f354c1520893449d81a27b3e7a81fe"><div class="ttname"><a href="structAudioMidiSyncHelper.html#a43f354c1520893449d81a27b3e7a81fe">AudioMidiSyncHelper::nextEvent</a></div><div class="ttdeci">bool nextEvent()</div><div class="ttdef"><b>Definition:</b> DistrhoPluginUtils.hpp:131</div></div>
<div class="ttc" id="astructAudioMidiSyncHelper_html_a7b54cae0fdaae3d23aaccf2dbb9344ef"><div class="ttname"><a href="structAudioMidiSyncHelper.html#a7b54cae0fdaae3d23aaccf2dbb9344ef">AudioMidiSyncHelper::outputs</a></div><div class="ttdeci">float * outputs[2]</div><div class="ttdef"><b>Definition:</b> DistrhoPluginUtils.hpp:106</div></div>
<div class="ttc" id="astructAudioMidiSyncHelper_html_ae75a1d7256c04445ec77176b6505fcb0"><div class="ttname"><a href="structAudioMidiSyncHelper.html#ae75a1d7256c04445ec77176b6505fcb0">AudioMidiSyncHelper::AudioMidiSyncHelper</a></div><div class="ttdeci">AudioMidiSyncHelper(float **const o, uint32_t f, const MidiEvent *m, uint32_t mc)</div><div class="ttdef"><b>Definition:</b> DistrhoPluginUtils.hpp:114</div></div>
<div class="ttc" id="agroup__PluginRelatedUtilities_html_gac339d6837f2d1a89d4d63b322822e32d"><div class="ttname"><a href="group__PluginRelatedUtilities.html#gac339d6837f2d1a89d4d63b322822e32d">getPluginFormatName</a></div><div class="ttdeci">const char * getPluginFormatName() noexcept</div></div>
<div class="ttc" id="agroup__PluginRelatedUtilities_html_ga53aa68de85dae4e3102b1c0551950b86"><div class="ttname"><a href="group__PluginRelatedUtilities.html#ga53aa68de85dae4e3102b1c0551950b86">getResourcePath</a></div><div class="ttdeci">const char * getResourcePath(const char *bundlePath) noexcept</div></div>
<div class="ttc" id="astructAudioMidiSyncHelper_html"><div class="ttname"><a href="structAudioMidiSyncHelper.html">AudioMidiSyncHelper</a></div><div class="ttdef"><b>Definition:</b> DistrhoPluginUtils.hpp:103</div></div>
<div class="ttc" id="astructMidiEvent_html"><div class="ttname"><a href="structMidiEvent.html">MidiEvent</a></div><div class="ttdef"><b>Definition:</b> DistrhoPlugin.hpp:714</div></div>
<div class="ttc" id="astructMidiEvent_html_aca2f6590b33bd2175ab71f985747d88e"><div class="ttname"><a href="structMidiEvent.html#aca2f6590b33bd2175ab71f985747d88e">MidiEvent::frame</a></div><div class="ttdeci">uint32_t frame</div><div class="ttdef"><b>Definition:</b> DistrhoPlugin.hpp:723</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Mar 31 2022 17:09:26 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
Generated on Wed Jul 27 2022 00:46:18 for DISTRHO Plugin Framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

+ 698
- 695
DistrhoPlugin_8hpp_source.html
File diff suppressed because it is too large
View File


+ 189
- 0
DistrhoStandaloneUtils_8hpp_source.html View File

@@ -0,0 +1,189 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DISTRHO Plugin Framework: distrho/DistrhoStandaloneUtils.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">DISTRHO Plugin Framework
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_37257469cca17bab24b582e18a78eb75.html">distrho</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">DistrhoStandaloneUtils.hpp</div> </div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> * DISTRHO Plugin Framework (DPF)</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> * Copyright (C) 2012-2022 Filipe Coelho &lt;falktx@falktx.com&gt;</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> * Permission to use, copy, modify, and/or distribute this software for any purpose with</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> * or without fee is hereby granted, provided that the above copyright notice and this</span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> * permission notice appear in all copies.</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment"> * THE SOFTWARE IS PROVIDED &quot;AS IS&quot; AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment"> * TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> * IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160; </div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="preprocessor">#ifndef DISTRHO_STANDALONE_UTILS_HPP_INCLUDED</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="preprocessor">#define DISTRHO_STANDALONE_UTILS_HPP_INCLUDED</span></div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160; </div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="preprocessor">#include &quot;src/DistrhoDefines.h&quot;</span></div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160; </div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<a class="code" href="group__NamespaceMacros.html#gac4cb97c393d20c28ba19365d844341cd">START_NAMESPACE_DISTRHO</a></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160; </div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="comment">/* ------------------------------------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="comment"> * Standalone plugin related utilities */</span></div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="comment"> @defgroup StandalonePluginRelatedUtilities Plugin related utilities</span></div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="comment"> When the plugin is running as standalone and JACK is not available, a native audio handling is in place.</span></div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="comment"> It is a very simple handling, auto-connecting to the default audio interface for outputs.</span></div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="comment"> !!EXPERIMENTAL!!</span></div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="comment"> Still under development and testing.</span></div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="comment"> @{</span></div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;<span class="comment"> Check if the current standalone is using native audio methods.</span></div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;<span class="comment"> If this function returns false, you MUST NOT use any other function from this group.</span></div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;<span class="comment">*/</span></div>
<div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="group__StandalonePluginRelatedUtilities.html#gae42de84169a5b578063b833caf5a5570"> 44</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="group__StandalonePluginRelatedUtilities.html#gae42de84169a5b578063b833caf5a5570">isUsingNativeAudio</a>() noexcept;</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;<span class="comment"> Check if the current standalone supports audio input.</span></div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;<span class="comment">*/</span></div>
<div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="group__StandalonePluginRelatedUtilities.html#ga13301901e329e098883c62de0972d9ec"> 49</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="group__StandalonePluginRelatedUtilities.html#ga13301901e329e098883c62de0972d9ec">supportsAudioInput</a>();</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;<span class="comment"> Check if the current standalone supports dynamic buffer size changes.</span></div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;<span class="comment">*/</span></div>
<div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="group__StandalonePluginRelatedUtilities.html#gae30b95b8622bdce705b5e7465548ed4c"> 54</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="group__StandalonePluginRelatedUtilities.html#gae30b95b8622bdce705b5e7465548ed4c">supportsBufferSizeChanges</a>();</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;<span class="comment"> Check if the current standalone supports MIDI.</span></div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;<span class="comment">*/</span></div>
<div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="group__StandalonePluginRelatedUtilities.html#gadbfa0c2cdcb4c114db1063651e97066e"> 59</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="group__StandalonePluginRelatedUtilities.html#gadbfa0c2cdcb4c114db1063651e97066e">supportsMIDI</a>();</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;<span class="comment"> Check if the current standalone has audio input enabled.</span></div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;<span class="comment">*/</span></div>
<div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="group__StandalonePluginRelatedUtilities.html#ga0a61814996c249f0010928afe976950a"> 64</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="group__StandalonePluginRelatedUtilities.html#ga0a61814996c249f0010928afe976950a">isAudioInputEnabled</a>();</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;<span class="comment"> Check if the current standalone has MIDI enabled.</span></div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;<span class="comment">*/</span></div>
<div class="line"><a name="l00069"></a><span class="lineno"><a class="line" href="group__StandalonePluginRelatedUtilities.html#ga14edff90e67fc028b106c7dc0888d1d3"> 69</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="group__StandalonePluginRelatedUtilities.html#ga14edff90e67fc028b106c7dc0888d1d3">isMIDIEnabled</a>();</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;<span class="comment"> Get the current buffer size.</span></div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;<span class="comment">*/</span></div>
<div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="group__StandalonePluginRelatedUtilities.html#gaeb5392c82fb90c8f58e07465503ce11b"> 74</a></span>&#160;uint <a class="code" href="group__StandalonePluginRelatedUtilities.html#gaeb5392c82fb90c8f58e07465503ce11b">getBufferSize</a>();</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160;<span class="comment"> Request permissions to use audio input.</span></div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;<span class="comment"> Only valid to call if audio input is supported but not currently enabled.</span></div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;<span class="comment">*/</span></div>
<div class="line"><a name="l00080"></a><span class="lineno"><a class="line" href="group__StandalonePluginRelatedUtilities.html#gaa499fd42799f9d7479917549634c0226"> 80</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="group__StandalonePluginRelatedUtilities.html#gaa499fd42799f9d7479917549634c0226">requestAudioInput</a>();</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160;<span class="comment"> Request change to a new buffer size.</span></div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;<span class="comment">*/</span></div>
<div class="line"><a name="l00085"></a><span class="lineno"><a class="line" href="group__StandalonePluginRelatedUtilities.html#ga448fb5c17b53116ff45716884b7a7635"> 85</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="group__StandalonePluginRelatedUtilities.html#ga448fb5c17b53116ff45716884b7a7635">requestBufferSizeChange</a>(uint newBufferSize);</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160;<span class="comment"> Request permissions to use MIDI.</span></div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;<span class="comment"> Only valid to call if MIDI is supported but not currently enabled.</span></div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160;<span class="comment">*/</span></div>
<div class="line"><a name="l00091"></a><span class="lineno"><a class="line" href="group__StandalonePluginRelatedUtilities.html#gac81794c2f59b4a1793ea25b73b76e5e3"> 91</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="group__StandalonePluginRelatedUtilities.html#gac81794c2f59b4a1793ea25b73b76e5e3">requestMIDI</a>();</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160;<span class="comment">/** @} */</span></div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; </div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160;<span class="comment">// -----------------------------------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; </div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160;<a class="code" href="group__NamespaceMacros.html#ga3ff541a449593e069a29e92d21e38ef3">END_NAMESPACE_DISTRHO</a></div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; </div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160;<span class="preprocessor">#endif </span><span class="comment">// DISTRHO_STANDALONE_UTILS_HPP_INCLUDED</span></div>
<div class="ttc" id="agroup__NamespaceMacros_html_ga3ff541a449593e069a29e92d21e38ef3"><div class="ttname"><a href="group__NamespaceMacros.html#ga3ff541a449593e069a29e92d21e38ef3">END_NAMESPACE_DISTRHO</a></div><div class="ttdeci">#define END_NAMESPACE_DISTRHO</div><div class="ttdef"><b>Definition:</b> DistrhoInfo.hpp:834</div></div>
<div class="ttc" id="agroup__NamespaceMacros_html_gac4cb97c393d20c28ba19365d844341cd"><div class="ttname"><a href="group__NamespaceMacros.html#gac4cb97c393d20c28ba19365d844341cd">START_NAMESPACE_DISTRHO</a></div><div class="ttdeci">#define START_NAMESPACE_DISTRHO</div><div class="ttdef"><b>Definition:</b> DistrhoInfo.hpp:828</div></div>
<div class="ttc" id="agroup__StandalonePluginRelatedUtilities_html_ga0a61814996c249f0010928afe976950a"><div class="ttname"><a href="group__StandalonePluginRelatedUtilities.html#ga0a61814996c249f0010928afe976950a">isAudioInputEnabled</a></div><div class="ttdeci">bool isAudioInputEnabled()</div></div>
<div class="ttc" id="agroup__StandalonePluginRelatedUtilities_html_ga13301901e329e098883c62de0972d9ec"><div class="ttname"><a href="group__StandalonePluginRelatedUtilities.html#ga13301901e329e098883c62de0972d9ec">supportsAudioInput</a></div><div class="ttdeci">bool supportsAudioInput()</div></div>
<div class="ttc" id="agroup__StandalonePluginRelatedUtilities_html_ga14edff90e67fc028b106c7dc0888d1d3"><div class="ttname"><a href="group__StandalonePluginRelatedUtilities.html#ga14edff90e67fc028b106c7dc0888d1d3">isMIDIEnabled</a></div><div class="ttdeci">bool isMIDIEnabled()</div></div>
<div class="ttc" id="agroup__StandalonePluginRelatedUtilities_html_ga448fb5c17b53116ff45716884b7a7635"><div class="ttname"><a href="group__StandalonePluginRelatedUtilities.html#ga448fb5c17b53116ff45716884b7a7635">requestBufferSizeChange</a></div><div class="ttdeci">bool requestBufferSizeChange(uint newBufferSize)</div></div>
<div class="ttc" id="agroup__StandalonePluginRelatedUtilities_html_gaa499fd42799f9d7479917549634c0226"><div class="ttname"><a href="group__StandalonePluginRelatedUtilities.html#gaa499fd42799f9d7479917549634c0226">requestAudioInput</a></div><div class="ttdeci">bool requestAudioInput()</div></div>
<div class="ttc" id="agroup__StandalonePluginRelatedUtilities_html_gac81794c2f59b4a1793ea25b73b76e5e3"><div class="ttname"><a href="group__StandalonePluginRelatedUtilities.html#gac81794c2f59b4a1793ea25b73b76e5e3">requestMIDI</a></div><div class="ttdeci">bool requestMIDI()</div></div>
<div class="ttc" id="agroup__StandalonePluginRelatedUtilities_html_gadbfa0c2cdcb4c114db1063651e97066e"><div class="ttname"><a href="group__StandalonePluginRelatedUtilities.html#gadbfa0c2cdcb4c114db1063651e97066e">supportsMIDI</a></div><div class="ttdeci">bool supportsMIDI()</div></div>
<div class="ttc" id="agroup__StandalonePluginRelatedUtilities_html_gae30b95b8622bdce705b5e7465548ed4c"><div class="ttname"><a href="group__StandalonePluginRelatedUtilities.html#gae30b95b8622bdce705b5e7465548ed4c">supportsBufferSizeChanges</a></div><div class="ttdeci">bool supportsBufferSizeChanges()</div></div>
<div class="ttc" id="agroup__StandalonePluginRelatedUtilities_html_gae42de84169a5b578063b833caf5a5570"><div class="ttname"><a href="group__StandalonePluginRelatedUtilities.html#gae42de84169a5b578063b833caf5a5570">isUsingNativeAudio</a></div><div class="ttdeci">bool isUsingNativeAudio() noexcept</div></div>
<div class="ttc" id="agroup__StandalonePluginRelatedUtilities_html_gaeb5392c82fb90c8f58e07465503ce11b"><div class="ttname"><a href="group__StandalonePluginRelatedUtilities.html#gaeb5392c82fb90c8f58e07465503ce11b">getBufferSize</a></div><div class="ttdeci">uint getBufferSize()</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Jul 27 2022 00:46:18 for DISTRHO Plugin Framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

+ 372
- 361
DistrhoUI_8hpp_source.html View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DISTRHO Plugin Framework: distrho/DistrhoUI.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -29,10 +29,10 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
@@ -71,7 +71,7 @@ $(function() {
<div class="contents">
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> * DISTRHO Plugin Framework (DPF)</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> * Copyright (C) 2012-2021 Filipe Coelho &lt;falktx@falktx.com&gt;</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> * Copyright (C) 2012-2022 Filipe Coelho &lt;falktx@falktx.com&gt;</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> * Permission to use, copy, modify, and/or distribute this software for any purpose with</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> * or without fee is hereby granted, provided that the above copyright notice and this</span></div>
@@ -119,382 +119,393 @@ $(function() {
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;<span class="keyword">typedef</span> DGL_NAMESPACE::TopLevelWidget UIWidget;</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; </div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;<span class="preprocessor">#ifndef DGL_FILE_BROWSER_DISABLED</span></div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;<span class="preprocessor">#if DISTRHO_UI_FILE_BROWSER</span></div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;<span class="preprocessor"># include &quot;extra/FileBrowserDialog.hpp&quot;</span></div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; </div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;START_NAMESPACE_DGL</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;<span class="keyword">class </span>PluginWindow;</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;END_NAMESPACE_DGL</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;<a class="code" href="group__NamespaceMacros.html#gac4cb97c393d20c28ba19365d844341cd">START_NAMESPACE_DISTRHO</a></div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; </div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;<span class="keyword">class </span>PluginWindow;</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; </div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;<a class="code" href="group__NamespaceMacros.html#gac4cb97c393d20c28ba19365d844341cd">START_NAMESPACE_DISTRHO</a></div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; </div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;<span class="comment">/* ------------------------------------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;<span class="comment"> * DPF UI */</span></div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;<span class="comment"> @addtogroup MainClasses</span></div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;<span class="comment"> @{</span></div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;<span class="comment"> DPF UI class from where UI instances are created.</span></div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;<span class="comment"> @note You must call setSize during construction,</span></div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;<span class="comment"> @TODO Detailed information about this class.</span></div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="classUI.html"> 75</a></span>&#160;<span class="keyword">class </span><a class="code" href="classUI.html">UI</a> : <span class="keyword">public</span> UIWidget</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160;{</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160;<span class="keyword">public</span>:<span class="comment"></span></div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;<span class="comment"> UI class constructor.</span></div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;<span class="comment"> The UI should be initialized to a default state that matches the plugin side.</span></div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160;<span class="comment"> When @a automaticallyScale is set to true, DPF will automatically scale up the UI</span></div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160;<span class="comment"> to fit the host/desktop scale factor.@n</span></div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;<span class="comment"> It assumes aspect ratio is meant to be kept.</span></div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160;<span class="comment"> Manually call setGeometryConstraints instead if keeping UI aspect ratio is not required.</span></div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; <a class="code" href="classUI.html#a844584caf362e72c0def15ff3477187f">UI</a>(uint width = 0, uint height = 0, <span class="keywordtype">bool</span> automaticallyScaleAndSetAsMinimumSize = <span class="keyword">false</span>);</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160;<span class="comment"> Destructor.</span></div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <span class="keyword">virtual</span> <a class="code" href="classUI.html#a47e7b6111faba049dfee4738d067cc42">~UI</a>();</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; </div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <span class="comment">/* --------------------------------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160;<span class="comment"> * Host state */</span></div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160;<span class="comment"> Check if this UI window is resizable (by the user or window manager).</span></div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160;<span class="comment"> There are situations where an UI supports resizing but the plugin host does not, so this could return false.</span></div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;<span class="comment"> You might want to add a resize handle for such cases, so the user is still allowed to resize the window.</span></div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160;<span class="comment"> (programatically resizing a window is always possible, but the same is not true for the window manager)</span></div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classUI.html#a8fe940d56a0c283095e28bbc5806af31">isResizable</a>() <span class="keyword">const</span> noexcept;</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;<span class="comment"> Get the color used for UI background (i.e. window color) in RGBA format.</span></div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;<span class="comment"> Returns 0 by default, in case of error or lack of host support.</span></div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;<span class="comment"> The following example code can be use to extract individual colors:</span></div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;<span class="comment"> ```</span></div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;<span class="comment"> const int red = (bgColor &gt;&gt; 24) &amp; 0xff;</span></div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;<span class="comment"> const int green = (bgColor &gt;&gt; 16) &amp; 0xff;</span></div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;<span class="comment"> const int blue = (bgColor &gt;&gt; 8) &amp; 0xff;</span></div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;<span class="comment"> ```</span></div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; uint <a class="code" href="classUI.html#a3c47bc4cb3dcc558bbd05791d1cc83f5">getBackgroundColor</a>() <span class="keyword">const</span> noexcept;</div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;<span class="comment"> Get the color used for UI foreground (i.e. text color) in RGBA format.</span></div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;<span class="comment"> Returns 0xffffffff by default, in case of error or lack of host support.</span></div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;<span class="comment"> The following example code can be use to extract individual colors:</span></div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;<span class="comment"> ```</span></div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;<span class="comment"> const int red = (fgColor &gt;&gt; 24) &amp; 0xff;</span></div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;<span class="comment"> const int green = (fgColor &gt;&gt; 16) &amp; 0xff;</span></div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;<span class="comment"> const int blue = (fgColor &gt;&gt; 8) &amp; 0xff;</span></div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160;<span class="comment"> ```</span></div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; uint <a class="code" href="classUI.html#a607ea9f2978605808d8ef5dc3531fae7">getForegroundColor</a>() <span class="keyword">const</span> noexcept;</div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;<span class="comment"> Get the current sample rate used in plugin processing.</span></div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;<span class="comment"> @see sampleRateChanged(double)</span></div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; <span class="keywordtype">double</span> <a class="code" href="classUI.html#a97d880182254652f94e7bed355370c07">getSampleRate</a>() <span class="keyword">const</span> noexcept;</div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;<span class="comment"> Get the bundle path where the UI resides.@n</span></div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160;<span class="comment"> Can return null if the UI is not available in a bundle (if it is a single binary).</span></div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160;<span class="comment"> @see getBinaryFilename</span></div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classUI.html#a3359930fbeb2670230e617d430ecd67e">getBundlePath</a>() <span class="keyword">const</span> noexcept;</div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;<span class="comment"> editParameter.</span></div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160;<span class="comment"> Touch/pressed-down event.</span></div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160;<span class="comment"> Lets the host know the user is tweaking a parameter.</span></div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160;<span class="comment"> Required in some hosts to record automation.</span></div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classUI.html#a2efcd4f21af0470e91fb6a342d7667a0">editParameter</a>(uint32_t index, <span class="keywordtype">bool</span> started);</div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;<span class="comment"> setParameterValue.</span></div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160;<span class="comment"> Change a parameter value in the Plugin.</span></div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classUI.html#a973db6e8805f0aa9be3457685564ab8a">setParameterValue</a>(uint32_t index, <span class="keywordtype">float</span> value);</div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; </div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;<span class="preprocessor">#if DISTRHO_PLUGIN_WANT_STATE</span></div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160;<span class="comment"> setState.</span></div>
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160;<span class="comment"> @TODO Document this.</span></div>
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classUI.html#abc94a38afa658849f3fdfd66cd8f5f51">setState</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* key, <span class="keyword">const</span> <span class="keywordtype">char</span>* value);</div>
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160;<span class="comment"> Request a new file from the host, matching the properties of a state key.@n</span></div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160;<span class="comment"> This will use the native host file browser if available, otherwise a DPF built-in file browser is used.@n</span></div>
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160;<span class="comment"> Response will be sent asynchronously to stateChanged, with the matching key and the new file as the value.@n</span></div>
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160;<span class="comment"> It is not possible to know if the action was cancelled by the user.</span></div>
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160;<span class="comment"> @return Success if a file-browser was opened, otherwise false.</span></div>
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160;<span class="comment"> @note You cannot request more than one file at a time.</span></div>
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classUI.html#a53aebb0a0a4ee5d321503d2ba8d7a631">requestStateFile</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* key);</div>
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; </div>
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160;<span class="preprocessor">#if DISTRHO_PLUGIN_WANT_MIDI_INPUT</span></div>
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160;<span class="comment"> Send a single MIDI note from the UI to the plugin DSP side.@n</span></div>
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160;<span class="comment"> A note with zero velocity will be sent as note-off (MIDI 0x80), otherwise note-on (MIDI 0x90).</span></div>
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classUI.html#a9d630b2b1696e01015d869a5b434eb6e">sendNote</a>(uint8_t channel, uint8_t note, uint8_t velocity);</div>
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; </div>
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160;<span class="preprocessor">#ifndef DGL_FILE_BROWSER_DISABLED</span></div>
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160;<span class="comment"> Open a file browser dialog with this window as transient parent.@n</span></div>
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160;<span class="comment"> A few options can be specified to setup the dialog.</span></div>
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160;<span class="comment"> If a path is selected, onFileSelected() will be called with the user chosen path.</span></div>
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160;<span class="comment"> If the user cancels or does not pick a file, onFileSelected() will be called with nullptr as filename.</span></div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;<span class="comment">/* ------------------------------------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;<span class="comment"> * DPF UI */</span></div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;<span class="comment"> @addtogroup MainClasses</span></div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;<span class="comment"> @{</span></div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;<span class="comment"> DPF UI class from where UI instances are created.</span></div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;<span class="comment"> @note You must call setSize during construction,</span></div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;<span class="comment"> @TODO Detailed information about this class.</span></div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00073"></a><span class="lineno"><a class="line" href="classUI.html"> 73</a></span>&#160;<span class="keyword">class </span><a class="code" href="classUI.html">UI</a> : <span class="keyword">public</span> UIWidget</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;{</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;<span class="keyword">public</span>:<span class="comment"></span></div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160;<span class="comment"> UI class constructor.</span></div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;<span class="comment"> The UI should be initialized to a default state that matches the plugin side.</span></div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;<span class="comment"> When @a automaticallyScale is set to true, DPF will automatically scale up the UI</span></div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160;<span class="comment"> to fit the host/desktop scale factor.@n</span></div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160;<span class="comment"> It assumes aspect ratio is meant to be kept.</span></div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160;<span class="comment"> Manually call setGeometryConstraints instead if keeping UI aspect ratio is not required.</span></div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00085"></a><span class="lineno"><a class="line" href="classUI.html#a844584caf362e72c0def15ff3477187f"> 85</a></span>&#160; <a class="code" href="classUI.html#a844584caf362e72c0def15ff3477187f">UI</a>(uint width = 0, uint height = 0, <span class="keywordtype">bool</span> automaticallyScaleAndSetAsMinimumSize = <span class="keyword">false</span>);</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160;<span class="comment"> Destructor.</span></div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00090"></a><span class="lineno"><a class="line" href="classUI.html#a9b9e41e6021cc07a25b50539e74daaae"> 90</a></span>&#160; <a class="code" href="classUI.html#a9b9e41e6021cc07a25b50539e74daaae">~UI</a>() <span class="keyword">override</span>;</div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; </div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <span class="comment">/* --------------------------------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160;<span class="comment"> * Host state */</span></div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160;<span class="comment"> Check if this UI window is resizable (by the user or window manager).</span></div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160;<span class="comment"> There are situations where an UI supports resizing but the plugin host does not, so this could return false.</span></div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160;<span class="comment"> You might want to add a resize handle for such cases, so the user is still allowed to resize the window.</span></div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160;<span class="comment"> (programatically resizing a window is always possible, but the same is not true for the window manager)</span></div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00102"></a><span class="lineno"><a class="line" href="classUI.html#a8fe940d56a0c283095e28bbc5806af31"> 102</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classUI.html#a8fe940d56a0c283095e28bbc5806af31">isResizable</a>() const noexcept;</div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;<span class="comment"> Get the color used for UI background (i.e. window color) in RGBA format.</span></div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;<span class="comment"> Returns 0 by default, in case of error or lack of host support.</span></div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;<span class="comment"> The following example code can be use to extract individual colors:</span></div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160;<span class="comment"> ```</span></div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;<span class="comment"> const int red = (bgColor &gt;&gt; 24) &amp; 0xff;</span></div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;<span class="comment"> const int green = (bgColor &gt;&gt; 16) &amp; 0xff;</span></div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;<span class="comment"> const int blue = (bgColor &gt;&gt; 8) &amp; 0xff;</span></div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;<span class="comment"> ```</span></div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00115"></a><span class="lineno"><a class="line" href="classUI.html#a3c47bc4cb3dcc558bbd05791d1cc83f5"> 115</a></span>&#160; uint <a class="code" href="classUI.html#a3c47bc4cb3dcc558bbd05791d1cc83f5">getBackgroundColor</a>() const noexcept;</div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;<span class="comment"> Get the color used for UI foreground (i.e. text color) in RGBA format.</span></div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;<span class="comment"> Returns 0xffffffff by default, in case of error or lack of host support.</span></div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;<span class="comment"> The following example code can be use to extract individual colors:</span></div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;<span class="comment"> ```</span></div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;<span class="comment"> const int red = (fgColor &gt;&gt; 24) &amp; 0xff;</span></div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;<span class="comment"> const int green = (fgColor &gt;&gt; 16) &amp; 0xff;</span></div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;<span class="comment"> const int blue = (fgColor &gt;&gt; 8) &amp; 0xff;</span></div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;<span class="comment"> ```</span></div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00128"></a><span class="lineno"><a class="line" href="classUI.html#a607ea9f2978605808d8ef5dc3531fae7"> 128</a></span>&#160; uint <a class="code" href="classUI.html#a607ea9f2978605808d8ef5dc3531fae7">getForegroundColor</a>() const noexcept;</div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160;<span class="comment"> Get the current sample rate used in plugin processing.</span></div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;<span class="comment"> @see sampleRateChanged(double)</span></div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00134"></a><span class="lineno"><a class="line" href="classUI.html#a97d880182254652f94e7bed355370c07"> 134</a></span>&#160; <span class="keywordtype">double</span> <a class="code" href="classUI.html#a97d880182254652f94e7bed355370c07">getSampleRate</a>() const noexcept;</div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160;<span class="comment"> Get the bundle path where the UI resides.@n</span></div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;<span class="comment"> Can return null if the UI is not available in a bundle (if it is a single binary).</span></div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;<span class="comment"> @see getBinaryFilename</span></div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00141"></a><span class="lineno"><a class="line" href="classUI.html#a3359930fbeb2670230e617d430ecd67e"> 141</a></span>&#160; const <span class="keywordtype">char</span>* <a class="code" href="classUI.html#a3359930fbeb2670230e617d430ecd67e">getBundlePath</a>() const noexcept;</div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160;<span class="comment"> editParameter.</span></div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;<span class="comment"> Touch/pressed-down event.</span></div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160;<span class="comment"> Lets the host know the user is tweaking a parameter.</span></div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160;<span class="comment"> Required in some hosts to record automation.</span></div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00150"></a><span class="lineno"><a class="line" href="classUI.html#a2efcd4f21af0470e91fb6a342d7667a0"> 150</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classUI.html#a2efcd4f21af0470e91fb6a342d7667a0">editParameter</a>(uint32_t index, <span class="keywordtype">bool</span> started);</div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;<span class="comment"> setParameterValue.</span></div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;<span class="comment"> Change a parameter value in the Plugin.</span></div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00157"></a><span class="lineno"><a class="line" href="classUI.html#a973db6e8805f0aa9be3457685564ab8a"> 157</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classUI.html#a973db6e8805f0aa9be3457685564ab8a">setParameterValue</a>(uint32_t index, <span class="keywordtype">float</span> value);</div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; </div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160;<span class="preprocessor">#if DISTRHO_PLUGIN_WANT_STATE</span><span class="comment"></span></div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;<span class="comment"> setState.</span></div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160;<span class="comment"> @TODO Document this.</span></div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00164"></a><span class="lineno"><a class="line" href="classUI.html#abc94a38afa658849f3fdfd66cd8f5f51"> 164</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classUI.html#abc94a38afa658849f3fdfd66cd8f5f51">setState</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* key, <span class="keyword">const</span> <span class="keywordtype">char</span>* value);</div>
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160;<span class="comment"> Request a new file from the host, matching the properties of a state key.@n</span></div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160;<span class="comment"> This will use the native host file browser if available, otherwise a DPF built-in file browser is used.@n</span></div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160;<span class="comment"> Response will be sent asynchronously to stateChanged, with the matching key and the new file as the value.@n</span></div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160;<span class="comment"> It is not possible to know if the action was cancelled by the user.</span></div>
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160;<span class="comment"> @return Success if a file-browser was opened, otherwise false.</span></div>
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160;<span class="comment"> @note You cannot request more than one file at a time.</span></div>
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00175"></a><span class="lineno"><a class="line" href="classUI.html#a53aebb0a0a4ee5d321503d2ba8d7a631"> 175</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classUI.html#a53aebb0a0a4ee5d321503d2ba8d7a631">requestStateFile</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* key);</div>
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; </div>
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160;<span class="preprocessor">#if DISTRHO_PLUGIN_WANT_MIDI_INPUT</span><span class="comment"></span></div>
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160;<span class="comment"> Send a single MIDI note from the UI to the plugin DSP side.@n</span></div>
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160;<span class="comment"> A note with zero velocity will be sent as note-off (MIDI 0x80), otherwise note-on (MIDI 0x90).</span></div>
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00183"></a><span class="lineno"><a class="line" href="classUI.html#a9d630b2b1696e01015d869a5b434eb6e"> 183</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classUI.html#a9d630b2b1696e01015d869a5b434eb6e">sendNote</a>(uint8_t channel, uint8_t note, uint8_t velocity);</div>
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; </div>
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160;<span class="preprocessor">#if DISTRHO_UI_FILE_BROWSER</span><span class="comment"></span></div>
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160;<span class="comment"> Open a file browser dialog with this window as transient parent.@n</span></div>
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160;<span class="comment"> A few options can be specified to setup the dialog.</span></div>
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160;<span class="comment"> If a path is selected, onFileSelected() will be called with the user chosen path.</span></div>
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160;<span class="comment"> If the user cancels or does not pick a file, onFileSelected() will be called with nullptr as filename.</span></div>
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160;<span class="comment"> This function does not block the event loop.</span></div>
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160;<span class="comment"> This function does not block the event loop.</span></div>
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160;<span class="comment"> @note This is exactly the same API as provided by the Window class,</span></div>
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160;<span class="comment"> but redeclared here so that non-embed/DGL based UIs can still use file browser related functions.</span></div>
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classUI.html#a929b9dbdb8f2094d6f7299aa0a7b0ddb">openFileBrowser</a>(<span class="keyword">const</span> <a class="code" href="structFileBrowserOptions.html">FileBrowserOptions</a>&amp; options = <a class="code" href="structFileBrowserOptions.html">FileBrowserOptions</a>());</div>
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; </div>
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160;<span class="preprocessor">#if DISTRHO_PLUGIN_WANT_DIRECT_ACCESS</span></div>
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; <span class="comment">/* --------------------------------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160;<span class="comment"> * Direct DSP access - DO NOT USE THIS UNLESS STRICTLY NECESSARY!! */</span></div>
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160;<span class="comment"> getPluginInstancePointer.</span></div>
<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160;<span class="comment"> @TODO Document this.</span></div>
<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; <span class="keywordtype">void</span>* <a class="code" href="classUI.html#a0863a8f7ca7fc7e172e703c58518329f">getPluginInstancePointer</a>() <span class="keyword">const</span> noexcept;</div>
<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; </div>
<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160;<span class="preprocessor">#if DISTRHO_PLUGIN_HAS_EXTERNAL_UI</span></div>
<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; <span class="comment">/* --------------------------------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160;<span class="comment"> * External UI helpers */</span></div>
<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160;<span class="comment"> Get the bundle path that will be used for the next UI.</span></div>
<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160;<span class="comment"> @note: This function is only valid during createUI(),</span></div>
<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160;<span class="comment"> it will return null when called from anywhere else.</span></div>
<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classUI.html#ab157329c83a4660dd059508dc8d041f5">getNextBundlePath</a>() noexcept;</div>
<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160;<span class="comment"> Get the scale factor that will be used for the next UI.</span></div>
<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160;<span class="comment"> @note: This function is only valid during createUI(),</span></div>
<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160;<span class="comment"> it will return 1.0 when called from anywhere else.</span></div>
<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; <span class="keyword">static</span> <span class="keywordtype">double</span> <a class="code" href="classUI.html#aa7277c575b7d0a75475e5a7ae684dc0f">getNextScaleFactor</a>() noexcept;</div>
<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; </div>
<div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160;<span class="preprocessor"># if DISTRHO_PLUGIN_HAS_EMBED_UI</span></div>
<div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160;<span class="comment"> Get the Window Id that will be used for the next created window.</span></div>
<div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160;<span class="comment"> @note: This function is only valid during createUI(),</span></div>
<div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160;<span class="comment"> it will return 0 when called from anywhere else.</span></div>
<div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; <span class="keyword">static</span> uintptr_t <a class="code" href="classUI.html#a4630e30aec3f3e7dcfc353ef2807bf56">getNextWindowId</a>() noexcept;</div>
<div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160;<span class="preprocessor"># endif</span></div>
<div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; </div>
<div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160;<span class="keyword">protected</span>:</div>
<div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; <span class="comment">/* --------------------------------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160;<span class="comment"> * DSP/Plugin Callbacks */</span></div>
<div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160;<span class="comment"> A parameter has changed on the plugin side.@n</span></div>
<div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160;<span class="comment"> This is called by the host to inform the UI about parameter changes.</span></div>
<div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classUI.html#ab3086d302a9685b25abf144ade3e88f6">parameterChanged</a>(uint32_t index, <span class="keywordtype">float</span> value) = 0;</div>
<div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; </div>
<div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160;<span class="preprocessor">#if DISTRHO_PLUGIN_WANT_PROGRAMS</span></div>
<div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160;<span class="comment"> A program has been loaded on the plugin side.@n</span></div>
<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160;<span class="comment"> This is called by the host to inform the UI about program changes.</span></div>
<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classUI.html#a2f043dd1b2e179248a19918c5483cfae">programLoaded</a>(uint32_t index) = 0;</div>
<div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; </div>
<div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160;<span class="preprocessor">#if DISTRHO_PLUGIN_WANT_STATE</span></div>
<div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160;<span class="comment"> A state has changed on the plugin side.@n</span></div>
<div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160;<span class="comment"> This is called by the host to inform the UI about state changes.</span></div>
<div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classUI.html#a1bdc7e158d974e82f0535f1658d66575">stateChanged</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* key, <span class="keyword">const</span> <span class="keywordtype">char</span>* value) = 0;</div>
<div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; </div>
<div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; <span class="comment">/* --------------------------------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160;<span class="comment"> * DSP/Plugin Callbacks (optional) */</span></div>
<div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160;<span class="comment"> Optional callback to inform the UI about a sample rate change on the plugin side.</span></div>
<div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160;<span class="comment"> @see getSampleRate()</span></div>
<div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classUI.html#ac3e98726ca71f95a1e6c867706ebd9be">sampleRateChanged</a>(<span class="keywordtype">double</span> newSampleRate);</div>
<div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160; </div>
<div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; <span class="comment">/* --------------------------------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160;<span class="comment"> * UI Callbacks (optional) */</span></div>
<div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160;<span class="comment"> UI idle function, called to give idle time to the plugin UI directly from the host.</span></div>
<div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160;<span class="comment"> This is called right after OS event handling and Window idle events (within the same cycle).</span></div>
<div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160;<span class="comment"> There are no guarantees in terms of timing.</span></div>
<div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160;<span class="comment"> @see addIdleCallback(IdleCallback*, uint).</span></div>
<div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00287"></a><span class="lineno"><a class="line" href="classUI.html#af8de639088f3b2d42c266a2d2d6719da"> 287</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classUI.html#af8de639088f3b2d42c266a2d2d6719da">uiIdle</a>() {}</div>
<div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160;<span class="comment"> Window scale factor function, called when the scale factor changes.</span></div>
<div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160;<span class="comment"> This function is for plugin UIs to be able to override Window::onScaleFactorChanged(double).</span></div>
<div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160;<span class="comment"> The default implementation does nothing.</span></div>
<div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160;<span class="comment"> WARNING function needs a proper name</span></div>
<div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classUI.html#ad89b09ef4e8129d72ff3b3cb8716a96b">uiScaleFactorChanged</a>(<span class="keywordtype">double</span> scaleFactor);</div>
<div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; </div>
<div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160;<span class="preprocessor">#if !DISTRHO_PLUGIN_HAS_EXTERNAL_UI</span></div>
<div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160;<span class="comment"> Windows focus function, called when the window gains or loses the keyboard focus.</span></div>
<div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160;<span class="comment"> This function is for plugin UIs to be able to override Window::onFocus(bool, CrossingMode).</span></div>
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160;<span class="comment"> @note This is exactly the same API as provided by the Window class,</span></div>
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160;<span class="comment"> but redeclared here so that non-embed/DGL based UIs can still use file browser related functions.</span></div>
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; <span class="keywordtype">bool</span> openFileBrowser(<span class="keyword">const</span> DISTRHO_NAMESPACE::FileBrowserOptions&amp; options = <a class="code" href="structFileBrowserOptions.html">FileBrowserOptions</a>());</div>
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; </div>
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160;<span class="preprocessor">#if DISTRHO_PLUGIN_WANT_DIRECT_ACCESS</span></div>
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; <span class="comment">/* --------------------------------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160;<span class="comment"> * Direct DSP access - DO NOT USE THIS UNLESS STRICTLY NECESSARY!! */</span></div>
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160;<span class="comment"> getPluginInstancePointer.</span></div>
<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160;<span class="comment"> @TODO Document this.</span></div>
<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00210"></a><span class="lineno"><a class="line" href="classUI.html#a0863a8f7ca7fc7e172e703c58518329f"> 210</a></span>&#160; <span class="keywordtype">void</span>* <a class="code" href="classUI.html#a0863a8f7ca7fc7e172e703c58518329f">getPluginInstancePointer</a>() const noexcept;</div>
<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; </div>
<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160;<span class="preprocessor">#if DISTRHO_PLUGIN_HAS_EXTERNAL_UI</span></div>
<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; <span class="comment">/* --------------------------------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160;<span class="comment"> * External UI helpers */</span></div>
<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160;<span class="comment"> Get the bundle path that will be used for the next UI.</span></div>
<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160;<span class="comment"> @note: This function is only valid during createUI(),</span></div>
<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160;<span class="comment"> it will return null when called from anywhere else.</span></div>
<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00222"></a><span class="lineno"><a class="line" href="classUI.html#ab157329c83a4660dd059508dc8d041f5"> 222</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classUI.html#ab157329c83a4660dd059508dc8d041f5">getNextBundlePath</a>() noexcept;</div>
<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160;<span class="comment"> Get the scale factor that will be used for the next UI.</span></div>
<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160;<span class="comment"> @note: This function is only valid during createUI(),</span></div>
<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160;<span class="comment"> it will return 1.0 when called from anywhere else.</span></div>
<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00229"></a><span class="lineno"><a class="line" href="classUI.html#aa7277c575b7d0a75475e5a7ae684dc0f"> 229</a></span>&#160; static <span class="keywordtype">double</span> <a class="code" href="classUI.html#aa7277c575b7d0a75475e5a7ae684dc0f">getNextScaleFactor</a>() noexcept;</div>
<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; </div>
<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160;<span class="preprocessor"># if DISTRHO_PLUGIN_HAS_EMBED_UI</span><span class="comment"></span></div>
<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160;<span class="comment"> Get the Window Id that will be used for the next created window.</span></div>
<div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160;<span class="comment"> @note: This function is only valid during createUI(),</span></div>
<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160;<span class="comment"> it will return 0 when called from anywhere else.</span></div>
<div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00237"></a><span class="lineno"><a class="line" href="classUI.html#a4630e30aec3f3e7dcfc353ef2807bf56"> 237</a></span>&#160; <span class="keyword">static</span> uintptr_t <a class="code" href="classUI.html#a4630e30aec3f3e7dcfc353ef2807bf56">getNextWindowId</a>() noexcept;</div>
<div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160;<span class="preprocessor"># endif</span></div>
<div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; </div>
<div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160;<span class="keyword">protected</span>:</div>
<div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; <span class="comment">/* --------------------------------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160;<span class="comment"> * DSP/Plugin Callbacks */</span></div>
<div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160;<span class="comment"> A parameter has changed on the plugin side.@n</span></div>
<div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160;<span class="comment"> This is called by the host to inform the UI about parameter changes.</span></div>
<div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00249"></a><span class="lineno"><a class="line" href="classUI.html#ab3086d302a9685b25abf144ade3e88f6"> 249</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classUI.html#ab3086d302a9685b25abf144ade3e88f6">parameterChanged</a>(uint32_t index, <span class="keywordtype">float</span> value) = 0;</div>
<div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; </div>
<div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160;<span class="preprocessor">#if DISTRHO_PLUGIN_WANT_PROGRAMS</span><span class="comment"></span></div>
<div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160;<span class="comment"> A program has been loaded on the plugin side.@n</span></div>
<div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160;<span class="comment"> This is called by the host to inform the UI about program changes.</span></div>
<div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00256"></a><span class="lineno"><a class="line" href="classUI.html#a2f043dd1b2e179248a19918c5483cfae"> 256</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classUI.html#a2f043dd1b2e179248a19918c5483cfae">programLoaded</a>(uint32_t index) = 0;</div>
<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; </div>
<div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160;<span class="preprocessor">#if DISTRHO_PLUGIN_WANT_STATE</span><span class="comment"></span></div>
<div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160;<span class="comment"> A state has changed on the plugin side.@n</span></div>
<div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160;<span class="comment"> This is called by the host to inform the UI about state changes.</span></div>
<div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00264"></a><span class="lineno"><a class="line" href="classUI.html#a1bdc7e158d974e82f0535f1658d66575"> 264</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classUI.html#a1bdc7e158d974e82f0535f1658d66575">stateChanged</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* key, <span class="keyword">const</span> <span class="keywordtype">char</span>* value) = 0;</div>
<div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; </div>
<div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; <span class="comment">/* --------------------------------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160;<span class="comment"> * DSP/Plugin Callbacks (optional) */</span></div>
<div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160;<span class="comment"> Optional callback to inform the UI about a sample rate change on the plugin side.</span></div>
<div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160;<span class="comment"> @see getSampleRate()</span></div>
<div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00274"></a><span class="lineno"><a class="line" href="classUI.html#ac3e98726ca71f95a1e6c867706ebd9be"> 274</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classUI.html#ac3e98726ca71f95a1e6c867706ebd9be">sampleRateChanged</a>(<span class="keywordtype">double</span> newSampleRate);</div>
<div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; </div>
<div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; <span class="comment">/* --------------------------------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160;<span class="comment"> * UI Callbacks (optional) */</span></div>
<div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160;<span class="comment"> UI idle function, called to give idle time to the plugin UI directly from the host.</span></div>
<div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160;<span class="comment"> This is called right after OS event handling and Window idle events (within the same cycle).</span></div>
<div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160;<span class="comment"> There are no guarantees in terms of timing.</span></div>
<div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160;<span class="comment"> @see addIdleCallback(IdleCallback*, uint).</span></div>
<div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00285"></a><span class="lineno"><a class="line" href="classUI.html#af8de639088f3b2d42c266a2d2d6719da"> 285</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classUI.html#af8de639088f3b2d42c266a2d2d6719da">uiIdle</a>() {}</div>
<div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160;<span class="comment"> Window scale factor function, called when the scale factor changes.</span></div>
<div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160;<span class="comment"> This function is for plugin UIs to be able to override Window::onScaleFactorChanged(double).</span></div>
<div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160;<span class="comment"> The default implementation does nothing.</span></div>
<div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160;<span class="comment"> WARNING function needs a proper name</span></div>
<div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00294"></a><span class="lineno"><a class="line" href="classUI.html#ad89b09ef4e8129d72ff3b3cb8716a96b"> 294</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classUI.html#ad89b09ef4e8129d72ff3b3cb8716a96b">uiScaleFactorChanged</a>(<span class="keywordtype">double</span> scaleFactor);</div>
<div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160; </div>
<div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160;<span class="preprocessor">#if !DISTRHO_PLUGIN_HAS_EXTERNAL_UI</span><span class="comment"></span></div>
<div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160;<span class="comment"> Get the types available for the data in a clipboard.</span></div>
<div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160;<span class="comment"> Must only be called within the context of uiClipboardDataOffer.</span></div>
<div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160; std::vector&lt;DGL_NAMESPACE::ClipboardDataOffer&gt; getClipboardDataOfferTypes();</div>
<div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160;<span class="comment"> The default implementation does nothing.</span></div>
<div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> uiFocus(<span class="keywordtype">bool</span> focus, DGL_NAMESPACE::CrossingMode mode);</div>
<div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160;<span class="comment"> Window clipboard data offer function, called when clipboard has data present, possibly with several datatypes.</span></div>
<div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160;<span class="comment"> While handling this event, the data types can be investigated with getClipboardDataOfferTypes() to decide whether to accept the offer.</span></div>
<div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160;<span class="comment"> Window reshape function, called when the window is resized.</span></div>
<div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160;<span class="comment"> This function is for plugin UIs to be able to override Window::onReshape(uint, uint).</span></div>
<div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160;<span class="comment"> The plugin UI size will be set right after this function.</span></div>
<div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160;<span class="comment"> The default implementation sets up the drawing context where necessary.</span></div>
<div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160;<span class="comment"> Reimplement and return a non-zero id to accept the clipboard data offer for a particular type.</span></div>
<div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160;<span class="comment"> UIs must ignore any type they do not recognize.</span></div>
<div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160;<span class="comment"> The default implementation accepts the &quot;text/plain&quot; mimetype.</span></div>
<div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; <span class="keyword">virtual</span> uint32_t uiClipboardDataOffer();</div>
<div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160;<span class="comment"> You should almost never need to override this function.</span></div>
<div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160;<span class="comment"> The most common exception is custom OpenGL setup, but only really needed for custom OpenGL drawing code.</span></div>
<div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> uiReshape(uint width, uint height);</div>
<div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160;<span class="preprocessor">#endif // !DISTRHO_PLUGIN_HAS_EXTERNAL_UI</span></div>
<div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; </div>
<div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160;<span class="preprocessor">#ifndef DGL_FILE_BROWSER_DISABLED</span></div>
<div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160;<span class="comment"> Window file selected function, called when a path is selected by the user, as triggered by openFileBrowser().</span></div>
<div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160;<span class="comment"> This function is for plugin UIs to be able to override Window::onFileSelected(const char*).</span></div>
<div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160;<span class="comment"> This action happens after the user confirms the action, so the file browser dialog will be closed at this point.</span></div>
<div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160;<span class="comment"> The default implementation does nothing.</span></div>
<div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160;<span class="comment"> If you need to use files as plugin state, please setup and use states with kStateIsFilenamePath instead.</span></div>
<div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classUI.html#a6d4697296129d3a6bc34fc810d6297ac">uiFileBrowserSelected</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* filename);</div>
<div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160; </div>
<div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160; <span class="comment">/* --------------------------------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160;<span class="comment"> * UI Resize Handling, internal */</span></div>
<div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160; </div>
<div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160;<span class="preprocessor">#if DISTRHO_PLUGIN_HAS_EXTERNAL_UI</span></div>
<div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160;<span class="comment"> External Window resize function, called when the window is resized.</span></div>
<div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160;<span class="comment"> This is overriden here so the host knows when the UI is resized by you.</span></div>
<div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160;<span class="comment"> @see ExternalWindow::sizeChanged(uint,uint)</span></div>
<div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classUI.html#a3d499674a620c1ce3b6e1dbded9f09c4">sizeChanged</a>(uint width, uint height) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160;<span class="preprocessor">#else</span></div>
<div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160;<span class="comment"> Widget resize function, called when the widget is resized.</span></div>
<div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160;<span class="comment"> This is overriden here so the host knows when the UI is resized by you.</span></div>
<div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160;<span class="comment"> @see Widget::onResize(const ResizeEvent&amp;)</span></div>
<div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160; <span class="keywordtype">void</span> onResize(<span class="keyword">const</span> ResizeEvent&amp; ev) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160; </div>
<div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160; <span class="comment">// -------------------------------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160; </div>
<div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160;<span class="keyword">private</span>:</div>
<div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160; <span class="keyword">struct </span>PrivateData;</div>
<div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160; PrivateData* <span class="keyword">const</span> uiData;</div>
<div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160; <span class="keyword">friend</span> <span class="keyword">class </span>DGL_NAMESPACE::PluginWindow;</div>
<div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160; <span class="keyword">friend</span> <span class="keyword">class </span>UIExporter;</div>
<div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160;<span class="preprocessor">#if !DISTRHO_PLUGIN_HAS_EXTERNAL_UI</span></div>
<div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160;<span class="comment"> /** @internal */</span></div>
<div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160; <span class="keywordtype">void</span> requestSizeChange(uint width, uint height) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160; </div>
<div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160; DISTRHO_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(<a class="code" href="classUI.html">UI</a>)</div>
<div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160;};</div>
<div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160;<span class="comment">/** @} */</span></div>
<div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160;<span class="comment"> Windows focus function, called when the window gains or loses the keyboard focus.</span></div>
<div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160;<span class="comment"> This function is for plugin UIs to be able to override Window::onFocus(bool, CrossingMode).</span></div>
<div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160;<span class="comment"> The default implementation does nothing.</span></div>
<div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> uiFocus(<span class="keywordtype">bool</span> focus, DGL_NAMESPACE::CrossingMode mode);</div>
<div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160;<span class="comment"> Window reshape function, called when the window is resized.</span></div>
<div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160;<span class="comment"> This function is for plugin UIs to be able to override Window::onReshape(uint, uint).</span></div>
<div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160;<span class="comment"> The plugin UI size will be set right after this function.</span></div>
<div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160;<span class="comment"> The default implementation sets up the drawing context where necessary.</span></div>
<div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160;<span class="comment"> You should almost never need to override this function.</span></div>
<div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160;<span class="comment"> The most common exception is custom OpenGL setup, but only really needed for custom OpenGL drawing code.</span></div>
<div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> uiReshape(uint width, uint height);</div>
<div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160;<span class="preprocessor">#endif </span><span class="comment">// !DISTRHO_PLUGIN_HAS_EXTERNAL_UI</span></div>
<div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160; </div>
<div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160;<span class="preprocessor">#if DISTRHO_UI_FILE_BROWSER</span><span class="comment"></span></div>
<div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160;<span class="comment"> Window file selected function, called when a path is selected by the user, as triggered by openFileBrowser().</span></div>
<div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160;<span class="comment"> This function is for plugin UIs to be able to override Window::onFileSelected(const char*).</span></div>
<div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160;<span class="comment"> This action happens after the user confirms the action, so the file browser dialog will be closed at this point.</span></div>
<div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160;<span class="comment"> The default implementation does nothing.</span></div>
<div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160;<span class="comment"> If you need to use files as plugin state, please setup and use states with kStateIsFilenamePath instead.</span></div>
<div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> uiFileBrowserSelected(<span class="keyword">const</span> <span class="keywordtype">char</span>* filename);</div>
<div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160; </div>
<div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160; <span class="comment">/* --------------------------------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160;<span class="comment"> * UI Resize Handling, internal */</span></div>
<div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160; </div>
<div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160;<span class="preprocessor">#if DISTRHO_PLUGIN_HAS_EXTERNAL_UI</span><span class="comment"></span></div>
<div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160;<span class="comment"> External Window resize function, called when the window is resized.</span></div>
<div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160;<span class="comment"> This is overriden here so the host knows when the UI is resized by you.</span></div>
<div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160;<span class="comment"> @see ExternalWindow::sizeChanged(uint,uint)</span></div>
<div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00357"></a><span class="lineno"><a class="line" href="classUI.html#a3d499674a620c1ce3b6e1dbded9f09c4"> 357</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classUI.html#a3d499674a620c1ce3b6e1dbded9f09c4">sizeChanged</a>(uint width, uint height) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160;<span class="preprocessor">#else</span><span class="comment"></span></div>
<div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160;<span class="comment"> Widget resize function, called when the widget is resized.</span></div>
<div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160;<span class="comment"> This is overriden here so the host knows when the UI is resized by you.</span></div>
<div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160;<span class="comment"> @see Widget::onResize(const ResizeEvent&amp;)</span></div>
<div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160; <span class="keywordtype">void</span> onResize(<span class="keyword">const</span> ResizeEvent&amp; ev) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160; </div>
<div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160; <span class="comment">// -------------------------------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160; </div>
<div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160;<span class="comment">/* ------------------------------------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160;<span class="comment"> * Create UI, entry point */</span></div>
<div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160;<span class="comment"> @addtogroup EntryPoints</span></div>
<div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160;<span class="comment"> @{</span></div>
<div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160;<span class="comment"> createUI.</span></div>
<div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160;<span class="comment"> @TODO Document this.</span></div>
<div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00381"></a><span class="lineno"> 381</span>&#160;<span class="keyword">extern</span> <a class="code" href="classUI.html">UI</a>* <a class="code" href="group__EntryPoints.html#gaad0ced21537a067680729bee6a65d8c8">createUI</a>();</div>
<div class="line"><a name="l00382"></a><span class="lineno"> 382</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160;<span class="comment">/** @} */</span></div>
<div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160; </div>
<div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160;<span class="comment">// -----------------------------------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160; </div>
<div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160;<a class="code" href="group__NamespaceMacros.html#ga3ff541a449593e069a29e92d21e38ef3">END_NAMESPACE_DISTRHO</a></div>
<div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160; </div>
<div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160;<span class="preprocessor">#endif // DISTRHO_UI_HPP_INCLUDED</span></div>
</div><!-- fragment --></div><!-- contents -->
<div class="ttc" id="aclassUI_html_aa7277c575b7d0a75475e5a7ae684dc0f"><div class="ttname"><a href="classUI.html#aa7277c575b7d0a75475e5a7ae684dc0f">UI::getNextScaleFactor</a></div><div class="ttdeci">static double getNextScaleFactor() noexcept</div></div>
<div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160;<span class="keyword">private</span>:</div>
<div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; <span class="keyword">struct </span>PrivateData;</div>
<div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; PrivateData* <span class="keyword">const</span> uiData;</div>
<div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160; <span class="keyword">friend</span> <span class="keyword">class </span>PluginWindow;</div>
<div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160; <span class="keyword">friend</span> <span class="keyword">class </span>UIExporter;</div>
<div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160;<span class="preprocessor">#if !DISTRHO_PLUGIN_HAS_EXTERNAL_UI</span><span class="comment"></span></div>
<div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160;<span class="comment"> /** @internal */</span></div>
<div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160; <span class="keywordtype">void</span> requestSizeChange(uint width, uint height) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160; </div>
<div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160; DISTRHO_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(<a class="code" href="classUI.html">UI</a>)</div>
<div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160;};</div>
<div class="line"><a name="l00381"></a><span class="lineno"> 381</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00382"></a><span class="lineno"> 382</span>&#160;<span class="comment">/** @} */</span></div>
<div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160; </div>
<div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160;<span class="comment">/* ------------------------------------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160;<span class="comment"> * Create UI, entry point */</span></div>
<div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160;<span class="comment"> @addtogroup EntryPoints</span></div>
<div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160;<span class="comment"> @{</span></div>
<div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160;<span class="comment"> createUI.</span></div>
<div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160;<span class="comment"> @TODO Document this.</span></div>
<div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00396"></a><span class="lineno"><a class="line" href="group__EntryPoints.html#gaad0ced21537a067680729bee6a65d8c8"> 396</a></span>&#160;<span class="keyword">extern</span> <a class="code" href="classUI.html">UI</a>* <a class="code" href="group__EntryPoints.html#gaad0ced21537a067680729bee6a65d8c8">createUI</a>();</div>
<div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160;<span class="comment">/** @} */</span></div>
<div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160; </div>
<div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160;<span class="comment">// -----------------------------------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160; </div>
<div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160;<a class="code" href="group__NamespaceMacros.html#ga3ff541a449593e069a29e92d21e38ef3">END_NAMESPACE_DISTRHO</a></div>
<div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160; </div>
<div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160;<span class="preprocessor">#endif </span><span class="comment">// DISTRHO_UI_HPP_INCLUDED</span></div>
<div class="ttc" id="aclassUI_html"><div class="ttname"><a href="classUI.html">UI</a></div><div class="ttdef"><b>Definition:</b> DistrhoUI.hpp:74</div></div>
<div class="ttc" id="aclassUI_html_a0863a8f7ca7fc7e172e703c58518329f"><div class="ttname"><a href="classUI.html#a0863a8f7ca7fc7e172e703c58518329f">UI::getPluginInstancePointer</a></div><div class="ttdeci">void * getPluginInstancePointer() const noexcept</div></div>
<div class="ttc" id="aclassUI_html_a1bdc7e158d974e82f0535f1658d66575"><div class="ttname"><a href="classUI.html#a1bdc7e158d974e82f0535f1658d66575">UI::stateChanged</a></div><div class="ttdeci">virtual void stateChanged(const char *key, const char *value)=0</div></div>
<div class="ttc" id="aclassUI_html_a47e7b6111faba049dfee4738d067cc42"><div class="ttname"><a href="classUI.html#a47e7b6111faba049dfee4738d067cc42">UI::~UI</a></div><div class="ttdeci">virtual ~UI()</div></div>
<div class="ttc" id="aclassUI_html_a607ea9f2978605808d8ef5dc3531fae7"><div class="ttname"><a href="classUI.html#a607ea9f2978605808d8ef5dc3531fae7">UI::getForegroundColor</a></div><div class="ttdeci">uint getForegroundColor() const noexcept</div></div>
<div class="ttc" id="agroup__NamespaceMacros_html_gac4cb97c393d20c28ba19365d844341cd"><div class="ttname"><a href="group__NamespaceMacros.html#gac4cb97c393d20c28ba19365d844341cd">START_NAMESPACE_DISTRHO</a></div><div class="ttdeci">#define START_NAMESPACE_DISTRHO</div><div class="ttdef"><b>Definition:</b> DistrhoInfo.hpp:828</div></div>
<div class="ttc" id="aclassUI_html_a2efcd4f21af0470e91fb6a342d7667a0"><div class="ttname"><a href="classUI.html#a2efcd4f21af0470e91fb6a342d7667a0">UI::editParameter</a></div><div class="ttdeci">void editParameter(uint32_t index, bool started)</div></div>
<div class="ttc" id="aclassUI_html_a2f043dd1b2e179248a19918c5483cfae"><div class="ttname"><a href="classUI.html#a2f043dd1b2e179248a19918c5483cfae">UI::programLoaded</a></div><div class="ttdeci">virtual void programLoaded(uint32_t index)=0</div></div>
<div class="ttc" id="aclassUI_html_a3359930fbeb2670230e617d430ecd67e"><div class="ttname"><a href="classUI.html#a3359930fbeb2670230e617d430ecd67e">UI::getBundlePath</a></div><div class="ttdeci">const char * getBundlePath() const noexcept</div></div>
<div class="ttc" id="aclassUI_html_a3c47bc4cb3dcc558bbd05791d1cc83f5"><div class="ttname"><a href="classUI.html#a3c47bc4cb3dcc558bbd05791d1cc83f5">UI::getBackgroundColor</a></div><div class="ttdeci">uint getBackgroundColor() const noexcept</div></div>
<div class="ttc" id="aclassUI_html_a973db6e8805f0aa9be3457685564ab8a"><div class="ttname"><a href="classUI.html#a973db6e8805f0aa9be3457685564ab8a">UI::setParameterValue</a></div><div class="ttdeci">void setParameterValue(uint32_t index, float value)</div></div>
<div class="ttc" id="aclassUI_html_a8fe940d56a0c283095e28bbc5806af31"><div class="ttname"><a href="classUI.html#a8fe940d56a0c283095e28bbc5806af31">UI::isResizable</a></div><div class="ttdeci">bool isResizable() const noexcept</div></div>
<div class="ttc" id="agroup__NamespaceMacros_html_ga3ff541a449593e069a29e92d21e38ef3"><div class="ttname"><a href="group__NamespaceMacros.html#ga3ff541a449593e069a29e92d21e38ef3">END_NAMESPACE_DISTRHO</a></div><div class="ttdeci">#define END_NAMESPACE_DISTRHO</div><div class="ttdef"><b>Definition:</b> DistrhoInfo.hpp:834</div></div>
<div class="ttc" id="aclassUI_html_a844584caf362e72c0def15ff3477187f"><div class="ttname"><a href="classUI.html#a844584caf362e72c0def15ff3477187f">UI::UI</a></div><div class="ttdeci">UI(uint width=0, uint height=0, bool automaticallyScaleAndSetAsMinimumSize=false)</div></div>
<div class="ttc" id="aclassUI_html_a3d499674a620c1ce3b6e1dbded9f09c4"><div class="ttname"><a href="classUI.html#a3d499674a620c1ce3b6e1dbded9f09c4">UI::sizeChanged</a></div><div class="ttdeci">void sizeChanged(uint width, uint height) override</div></div>
<div class="ttc" id="aclassUI_html_a4630e30aec3f3e7dcfc353ef2807bf56"><div class="ttname"><a href="classUI.html#a4630e30aec3f3e7dcfc353ef2807bf56">UI::getNextWindowId</a></div><div class="ttdeci">static uintptr_t getNextWindowId() noexcept</div></div>
<div class="ttc" id="aclassUI_html_a53aebb0a0a4ee5d321503d2ba8d7a631"><div class="ttname"><a href="classUI.html#a53aebb0a0a4ee5d321503d2ba8d7a631">UI::requestStateFile</a></div><div class="ttdeci">bool requestStateFile(const char *key)</div></div>
<div class="ttc" id="aclassUI_html"><div class="ttname"><a href="classUI.html">UI</a></div><div class="ttdef"><b>Definition:</b> DistrhoUI.hpp:75</div></div>
<div class="ttc" id="aclassUI_html_a607ea9f2978605808d8ef5dc3531fae7"><div class="ttname"><a href="classUI.html#a607ea9f2978605808d8ef5dc3531fae7">UI::getForegroundColor</a></div><div class="ttdeci">uint getForegroundColor() const noexcept</div></div>
<div class="ttc" id="aclassUI_html_a844584caf362e72c0def15ff3477187f"><div class="ttname"><a href="classUI.html#a844584caf362e72c0def15ff3477187f">UI::UI</a></div><div class="ttdeci">UI(uint width=0, uint height=0, bool automaticallyScaleAndSetAsMinimumSize=false)</div></div>
<div class="ttc" id="aclassUI_html_a8fe940d56a0c283095e28bbc5806af31"><div class="ttname"><a href="classUI.html#a8fe940d56a0c283095e28bbc5806af31">UI::isResizable</a></div><div class="ttdeci">bool isResizable() const noexcept</div></div>
<div class="ttc" id="aclassUI_html_a973db6e8805f0aa9be3457685564ab8a"><div class="ttname"><a href="classUI.html#a973db6e8805f0aa9be3457685564ab8a">UI::setParameterValue</a></div><div class="ttdeci">void setParameterValue(uint32_t index, float value)</div></div>
<div class="ttc" id="aclassUI_html_a97d880182254652f94e7bed355370c07"><div class="ttname"><a href="classUI.html#a97d880182254652f94e7bed355370c07">UI::getSampleRate</a></div><div class="ttdeci">double getSampleRate() const noexcept</div></div>
<div class="ttc" id="aclassUI_html_a9b9e41e6021cc07a25b50539e74daaae"><div class="ttname"><a href="classUI.html#a9b9e41e6021cc07a25b50539e74daaae">UI::~UI</a></div><div class="ttdeci">~UI() override</div></div>
<div class="ttc" id="aclassUI_html_a9d630b2b1696e01015d869a5b434eb6e"><div class="ttname"><a href="classUI.html#a9d630b2b1696e01015d869a5b434eb6e">UI::sendNote</a></div><div class="ttdeci">void sendNote(uint8_t channel, uint8_t note, uint8_t velocity)</div></div>
<div class="ttc" id="aclassUI_html_ad89b09ef4e8129d72ff3b3cb8716a96b"><div class="ttname"><a href="classUI.html#ad89b09ef4e8129d72ff3b3cb8716a96b">UI::uiScaleFactorChanged</a></div><div class="ttdeci">virtual void uiScaleFactorChanged(double scaleFactor)</div></div>
<div class="ttc" id="aclassUI_html_aa7277c575b7d0a75475e5a7ae684dc0f"><div class="ttname"><a href="classUI.html#aa7277c575b7d0a75475e5a7ae684dc0f">UI::getNextScaleFactor</a></div><div class="ttdeci">static double getNextScaleFactor() noexcept</div></div>
<div class="ttc" id="aclassUI_html_ab157329c83a4660dd059508dc8d041f5"><div class="ttname"><a href="classUI.html#ab157329c83a4660dd059508dc8d041f5">UI::getNextBundlePath</a></div><div class="ttdeci">static const char * getNextBundlePath() noexcept</div></div>
<div class="ttc" id="aclassUI_html_a97d880182254652f94e7bed355370c07"><div class="ttname"><a href="classUI.html#a97d880182254652f94e7bed355370c07">UI::getSampleRate</a></div><div class="ttdeci">double getSampleRate() const noexcept</div></div>
<div class="ttc" id="aclassUI_html_a6d4697296129d3a6bc34fc810d6297ac"><div class="ttname"><a href="classUI.html#a6d4697296129d3a6bc34fc810d6297ac">UI::uiFileBrowserSelected</a></div><div class="ttdeci">virtual void uiFileBrowserSelected(const char *filename)</div></div>
<div class="ttc" id="aclassUI_html_a2efcd4f21af0470e91fb6a342d7667a0"><div class="ttname"><a href="classUI.html#a2efcd4f21af0470e91fb6a342d7667a0">UI::editParameter</a></div><div class="ttdeci">void editParameter(uint32_t index, bool started)</div></div>
<div class="ttc" id="agroup__PluginMacros_html_gaf6377f757b9796bd37f7be4e605ccd4a"><div class="ttname"><a href="group__PluginMacros.html#gaf6377f757b9796bd37f7be4e605ccd4a">DISTRHO_UI_CUSTOM_WIDGET_TYPE</a></div><div class="ttdeci">#define DISTRHO_UI_CUSTOM_WIDGET_TYPE</div><div class="ttdef"><b>Definition:</b> DistrhoInfo.hpp:619</div></div>
<div class="ttc" id="aclassUI_html_ab3086d302a9685b25abf144ade3e88f6"><div class="ttname"><a href="classUI.html#ab3086d302a9685b25abf144ade3e88f6">UI::parameterChanged</a></div><div class="ttdeci">virtual void parameterChanged(uint32_t index, float value)=0</div></div>
<div class="ttc" id="aclassUI_html_abc94a38afa658849f3fdfd66cd8f5f51"><div class="ttname"><a href="classUI.html#abc94a38afa658849f3fdfd66cd8f5f51">UI::setState</a></div><div class="ttdeci">void setState(const char *key, const char *value)</div></div>
<div class="ttc" id="aclassUI_html_ac3e98726ca71f95a1e6c867706ebd9be"><div class="ttname"><a href="classUI.html#ac3e98726ca71f95a1e6c867706ebd9be">UI::sampleRateChanged</a></div><div class="ttdeci">virtual void sampleRateChanged(double newSampleRate)</div></div>
<div class="ttc" id="aclassUI_html_a3359930fbeb2670230e617d430ecd67e"><div class="ttname"><a href="classUI.html#a3359930fbeb2670230e617d430ecd67e">UI::getBundlePath</a></div><div class="ttdeci">const char * getBundlePath() const noexcept</div></div>
<div class="ttc" id="aclassUI_html_ad89b09ef4e8129d72ff3b3cb8716a96b"><div class="ttname"><a href="classUI.html#ad89b09ef4e8129d72ff3b3cb8716a96b">UI::uiScaleFactorChanged</a></div><div class="ttdeci">virtual void uiScaleFactorChanged(double scaleFactor)</div></div>
<div class="ttc" id="aclassUI_html_af8de639088f3b2d42c266a2d2d6719da"><div class="ttname"><a href="classUI.html#af8de639088f3b2d42c266a2d2d6719da">UI::uiIdle</a></div><div class="ttdeci">virtual void uiIdle()</div><div class="ttdef"><b>Definition:</b> DistrhoUI.hpp:285</div></div>
<div class="ttc" id="agroup__EntryPoints_html_gaad0ced21537a067680729bee6a65d8c8"><div class="ttname"><a href="group__EntryPoints.html#gaad0ced21537a067680729bee6a65d8c8">createUI</a></div><div class="ttdeci">UI * createUI()</div></div>
<div class="ttc" id="aclassUI_html_a929b9dbdb8f2094d6f7299aa0a7b0ddb"><div class="ttname"><a href="classUI.html#a929b9dbdb8f2094d6f7299aa0a7b0ddb">UI::openFileBrowser</a></div><div class="ttdeci">bool openFileBrowser(const FileBrowserOptions &amp;options=FileBrowserOptions())</div></div>
<div class="ttc" id="aclassUI_html_a0863a8f7ca7fc7e172e703c58518329f"><div class="ttname"><a href="classUI.html#a0863a8f7ca7fc7e172e703c58518329f">UI::getPluginInstancePointer</a></div><div class="ttdeci">void * getPluginInstancePointer() const noexcept</div></div>
<div class="ttc" id="aclassUI_html_af8de639088f3b2d42c266a2d2d6719da"><div class="ttname"><a href="classUI.html#af8de639088f3b2d42c266a2d2d6719da">UI::uiIdle</a></div><div class="ttdeci">virtual void uiIdle()</div><div class="ttdef"><b>Definition:</b> DistrhoUI.hpp:287</div></div>
<div class="ttc" id="astructFileBrowserOptions_html"><div class="ttname"><a href="structFileBrowserOptions.html">FileBrowserOptions</a></div><div class="ttdef"><b>Definition:</b> FileBrowserDialog.hpp:36</div></div>
<div class="ttc" id="aclassUI_html_a4630e30aec3f3e7dcfc353ef2807bf56"><div class="ttname"><a href="classUI.html#a4630e30aec3f3e7dcfc353ef2807bf56">UI::getNextWindowId</a></div><div class="ttdeci">static uintptr_t getNextWindowId() noexcept</div></div>
<div class="ttc" id="aclassUI_html_abc94a38afa658849f3fdfd66cd8f5f51"><div class="ttname"><a href="classUI.html#abc94a38afa658849f3fdfd66cd8f5f51">UI::setState</a></div><div class="ttdeci">void setState(const char *key, const char *value)</div></div>
<div class="ttc" id="aclassUI_html_a3d499674a620c1ce3b6e1dbded9f09c4"><div class="ttname"><a href="classUI.html#a3d499674a620c1ce3b6e1dbded9f09c4">UI::sizeChanged</a></div><div class="ttdeci">void sizeChanged(uint width, uint height) override</div></div>
<div class="ttc" id="aclassUI_html_ab3086d302a9685b25abf144ade3e88f6"><div class="ttname"><a href="classUI.html#ab3086d302a9685b25abf144ade3e88f6">UI::parameterChanged</a></div><div class="ttdeci">virtual void parameterChanged(uint32_t index, float value)=0</div></div>
<div class="ttc" id="agroup__NamespaceMacros_html_ga3ff541a449593e069a29e92d21e38ef3"><div class="ttname"><a href="group__NamespaceMacros.html#ga3ff541a449593e069a29e92d21e38ef3">END_NAMESPACE_DISTRHO</a></div><div class="ttdeci">#define END_NAMESPACE_DISTRHO</div><div class="ttdef"><b>Definition:</b> DistrhoInfo.hpp:834</div></div>
<div class="ttc" id="agroup__NamespaceMacros_html_gac4cb97c393d20c28ba19365d844341cd"><div class="ttname"><a href="group__NamespaceMacros.html#gac4cb97c393d20c28ba19365d844341cd">START_NAMESPACE_DISTRHO</a></div><div class="ttdeci">#define START_NAMESPACE_DISTRHO</div><div class="ttdef"><b>Definition:</b> DistrhoInfo.hpp:828</div></div>
<div class="ttc" id="agroup__PluginMacros_html_gaf6377f757b9796bd37f7be4e605ccd4a"><div class="ttname"><a href="group__PluginMacros.html#gaf6377f757b9796bd37f7be4e605ccd4a">DISTRHO_UI_CUSTOM_WIDGET_TYPE</a></div><div class="ttdeci">#define DISTRHO_UI_CUSTOM_WIDGET_TYPE</div><div class="ttdef"><b>Definition:</b> DistrhoInfo.hpp:619</div></div>
<div class="ttc" id="astructFileBrowserOptions_html"><div class="ttname"><a href="structFileBrowserOptions.html">FileBrowserOptions</a></div><div class="ttdef"><b>Definition:</b> FileBrowserDialogImpl.hpp:33</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Mar 31 2022 17:09:26 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
Generated on Wed Jul 27 2022 00:46:18 for DISTRHO Plugin Framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

+ 20
- 22
DistrhoUtils_8hpp_source.html View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DISTRHO Plugin Framework: distrho/DistrhoUtils.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -29,10 +29,10 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
@@ -393,33 +393,31 @@ $(function() {
<div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160; </div>
<div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160;<span class="comment">// -----------------------------------------------------------------------</span></div>
<div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160; </div>
<div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160;<span class="preprocessor">#endif // DISTRHO_UTILS_HPP_INCLUDED</span></div>
</div><!-- fragment --></div><!-- contents -->
<div class="ttc" id="agroup__StringPrintFunctions_html_gae62da5934fcf22b46324ddc2c44c3e58"><div class="ttname"><a href="group__StringPrintFunctions.html#gae62da5934fcf22b46324ddc2c44c3e58">d_safe_assert_uint2</a></div><div class="ttdeci">static void d_safe_assert_uint2(const char *const assertion, const char *const file, const int line, const uint v1, const uint v2) noexcept</div><div class="ttdef"><b>Definition:</b> DistrhoUtils.hpp:216</div></div>
<div class="ttc" id="agroup__MathFunctions_html_gaf99f3a8a1c9d97b07c0f225fad8a27b7"><div class="ttname"><a href="group__MathFunctions.html#gaf99f3a8a1c9d97b07c0f225fad8a27b7">d_isNotEqual</a></div><div class="ttdeci">static bool d_isNotEqual(const T &amp;v1, const T &amp;v2)</div><div class="ttdef"><b>Definition:</b> DistrhoUtils.hpp:269</div></div>
<div class="ttc" id="agroup__StringPrintFunctions_html_gaf7645d9dcbbd44b92b8b6d4625a8e95c"><div class="ttname"><a href="group__StringPrintFunctions.html#gaf7645d9dcbbd44b92b8b6d4625a8e95c">d_safe_assert_uint</a></div><div class="ttdeci">static void d_safe_assert_uint(const char *const assertion, const char *const file, const int line, const uint value) noexcept</div><div class="ttdef"><b>Definition:</b> DistrhoUtils.hpp:196</div></div>
<div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160;<span class="preprocessor">#endif </span><span class="comment">// DISTRHO_UTILS_HPP_INCLUDED</span></div>
<div class="ttc" id="agroup__MathFunctions_html_gaa8753f357eea6f93c5fa4e538ce6ac47"><div class="ttname"><a href="group__MathFunctions.html#gaa8753f357eea6f93c5fa4e538ce6ac47">d_isNotZero</a></div><div class="ttdeci">static bool d_isNotZero(const T &amp;value)</div><div class="ttdef"><b>Definition:</b> DistrhoUtils.hpp:289</div></div>
<div class="ttc" id="agroup__MathFunctions_html_gabcb7db6e30f7428a3caa0fdec12af17a"><div class="ttname"><a href="group__MathFunctions.html#gabcb7db6e30f7428a3caa0fdec12af17a">d_isEqual</a></div><div class="ttdeci">static bool d_isEqual(const T &amp;v1, const T &amp;v2)</div><div class="ttdef"><b>Definition:</b> DistrhoUtils.hpp:258</div></div>
<div class="ttc" id="agroup__MathFunctions_html_gaded8dbdc7ff99c70e7361b3f1a32b584"><div class="ttname"><a href="group__MathFunctions.html#gaded8dbdc7ff99c70e7361b3f1a32b584">d_nextPowerOf2</a></div><div class="ttdeci">static uint32_t d_nextPowerOf2(uint32_t size) noexcept</div><div class="ttdef"><b>Definition:</b> DistrhoUtils.hpp:298</div></div>
<div class="ttc" id="agroup__MathFunctions_html_gae357f9031f7bcd8eccef3443081d3772"><div class="ttname"><a href="group__MathFunctions.html#gae357f9031f7bcd8eccef3443081d3772">d_isZero</a></div><div class="ttdeci">static bool d_isZero(const T &amp;value)</div><div class="ttdef"><b>Definition:</b> DistrhoUtils.hpp:279</div></div>
<div class="ttc" id="agroup__MathFunctions_html_gaf99f3a8a1c9d97b07c0f225fad8a27b7"><div class="ttname"><a href="group__MathFunctions.html#gaf99f3a8a1c9d97b07c0f225fad8a27b7">d_isNotEqual</a></div><div class="ttdeci">static bool d_isNotEqual(const T &amp;v1, const T &amp;v2)</div><div class="ttdef"><b>Definition:</b> DistrhoUtils.hpp:269</div></div>
<div class="ttc" id="agroup__MiscellaneousFunctions_html_ga208c5bc138b7d4d4e318b6174c9dbf6d"><div class="ttname"><a href="group__MiscellaneousFunctions.html#ga208c5bc138b7d4d4e318b6174c9dbf6d">d_pass</a></div><div class="ttdeci">static void d_pass() noexcept</div><div class="ttdef"><b>Definition:</b> DistrhoUtils.hpp:93</div></div>
<div class="ttc" id="agroup__StringPrintFunctions_html_ga78b9baaeb515112b1e5ec1182bab299b"><div class="ttname"><a href="group__StringPrintFunctions.html#ga78b9baaeb515112b1e5ec1182bab299b">d_stdout</a></div><div class="ttdeci">static void d_stdout(const char *const fmt,...) noexcept</div><div class="ttdef"><b>Definition:</b> DistrhoUtils.hpp:131</div></div>
<div class="ttc" id="agroup__MathFunctions_html_gaded8dbdc7ff99c70e7361b3f1a32b584"><div class="ttname"><a href="group__MathFunctions.html#gaded8dbdc7ff99c70e7361b3f1a32b584">d_nextPowerOf2</a></div><div class="ttdeci">static uint32_t d_nextPowerOf2(uint32_t size) noexcept</div><div class="ttdef"><b>Definition:</b> DistrhoUtils.hpp:298</div></div>
<div class="ttc" id="agroup__MiscellaneousFunctions_html_ga95d67ff74d46b2c80f15c7790a523154"><div class="ttname"><a href="group__MiscellaneousFunctions.html#ga95d67ff74d46b2c80f15c7790a523154">d_version</a></div><div class="ttdeci">static constexpr uint32_t d_version(const uint8_t major, const uint8_t minor, const uint8_t micro) noexcept</div><div class="ttdef"><b>Definition:</b> DistrhoUtils.hpp:84</div></div>
<div class="ttc" id="agroup__MiscellaneousFunctions_html_ga6827e90feb9bdcb6f76175a245fbf12c"><div class="ttname"><a href="group__MiscellaneousFunctions.html#ga6827e90feb9bdcb6f76175a245fbf12c">d_cconst</a></div><div class="ttdeci">static constexpr int64_t d_cconst(const uint8_t a, const uint8_t b, const uint8_t c, const uint8_t d) noexcept</div><div class="ttdef"><b>Definition:</b> DistrhoUtils.hpp:75</div></div>
<div class="ttc" id="agroup__StringPrintFunctions_html_gac59f28efd3d30333551df9ca47c1fc0f"><div class="ttname"><a href="group__StringPrintFunctions.html#gac59f28efd3d30333551df9ca47c1fc0f">d_safe_assert_int</a></div><div class="ttdeci">static void d_safe_assert_int(const char *const assertion, const char *const file, const int line, const int value) noexcept</div><div class="ttdef"><b>Definition:</b> DistrhoUtils.hpp:186</div></div>
<div class="ttc" id="agroup__StringPrintFunctions_html_ga9473c264004ac48764062fd881a55cff"><div class="ttname"><a href="group__StringPrintFunctions.html#ga9473c264004ac48764062fd881a55cff">d_safe_assert</a></div><div class="ttdeci">static void d_safe_assert(const char *const assertion, const char *const file, const int line) noexcept</div><div class="ttdef"><b>Definition:</b> DistrhoUtils.hpp:177</div></div>
<div class="ttc" id="agroup__StringPrintFunctions_html_ga9b8ac0ef05538648cb37b3c383ac60d9"><div class="ttname"><a href="group__StringPrintFunctions.html#ga9b8ac0ef05538648cb37b3c383ac60d9">d_debug</a></div><div class="ttdeci">static void d_debug(const char *const fmt,...) noexcept</div><div class="ttdef"><b>Definition:</b> DistrhoUtils.hpp:114</div></div>
<div class="ttc" id="agroup__StringPrintFunctions_html_ga9861b6a26e43554680f50623196dde7b"><div class="ttname"><a href="group__StringPrintFunctions.html#ga9861b6a26e43554680f50623196dde7b">d_stderr2</a></div><div class="ttdeci">static void d_stderr2(const char *const fmt,...) noexcept</div><div class="ttdef"><b>Definition:</b> DistrhoUtils.hpp:161</div></div>
<div class="ttc" id="agroup__MathFunctions_html_gabcb7db6e30f7428a3caa0fdec12af17a"><div class="ttname"><a href="group__MathFunctions.html#gabcb7db6e30f7428a3caa0fdec12af17a">d_isEqual</a></div><div class="ttdeci">static bool d_isEqual(const T &amp;v1, const T &amp;v2)</div><div class="ttdef"><b>Definition:</b> DistrhoUtils.hpp:258</div></div>
<div class="ttc" id="agroup__StringPrintFunctions_html_ga61feaac6d65661f631be4136041e7bce"><div class="ttname"><a href="group__StringPrintFunctions.html#ga61feaac6d65661f631be4136041e7bce">d_stderr</a></div><div class="ttdeci">static void d_stderr(const char *const fmt,...) noexcept</div><div class="ttdef"><b>Definition:</b> DistrhoUtils.hpp:146</div></div>
<div class="ttc" id="agroup__MathFunctions_html_gaa8753f357eea6f93c5fa4e538ce6ac47"><div class="ttname"><a href="group__MathFunctions.html#gaa8753f357eea6f93c5fa4e538ce6ac47">d_isNotZero</a></div><div class="ttdeci">static bool d_isNotZero(const T &amp;value)</div><div class="ttdef"><b>Definition:</b> DistrhoUtils.hpp:289</div></div>
<div class="ttc" id="agroup__StringPrintFunctions_html_ga98137b745947d74f613859780c81ba69"><div class="ttname"><a href="group__StringPrintFunctions.html#ga98137b745947d74f613859780c81ba69">d_safe_exception</a></div><div class="ttdeci">static void d_safe_exception(const char *const exception, const char *const file, const int line) noexcept</div><div class="ttdef"><b>Definition:</b> DistrhoUtils.hpp:236</div></div>
<div class="ttc" id="agroup__MiscellaneousFunctions_html_ga95d67ff74d46b2c80f15c7790a523154"><div class="ttname"><a href="group__MiscellaneousFunctions.html#ga95d67ff74d46b2c80f15c7790a523154">d_version</a></div><div class="ttdeci">static constexpr uint32_t d_version(const uint8_t major, const uint8_t minor, const uint8_t micro) noexcept</div><div class="ttdef"><b>Definition:</b> DistrhoUtils.hpp:84</div></div>
<div class="ttc" id="agroup__NamespaceMacros_html_gad4d95edc702f6066ba2f41740f7e5393"><div class="ttname"><a href="group__NamespaceMacros.html#gad4d95edc702f6066ba2f41740f7e5393">DISTRHO_NAMESPACE</a></div><div class="ttdeci">#define DISTRHO_NAMESPACE</div><div class="ttdef"><b>Definition:</b> DistrhoInfo.hpp:821</div></div>
<div class="ttc" id="agroup__StringPrintFunctions_html_ga61feaac6d65661f631be4136041e7bce"><div class="ttname"><a href="group__StringPrintFunctions.html#ga61feaac6d65661f631be4136041e7bce">d_stderr</a></div><div class="ttdeci">static void d_stderr(const char *const fmt,...) noexcept</div><div class="ttdef"><b>Definition:</b> DistrhoUtils.hpp:146</div></div>
<div class="ttc" id="agroup__StringPrintFunctions_html_ga643ef1d86ed4c665ae482ea0ccb52b51"><div class="ttname"><a href="group__StringPrintFunctions.html#ga643ef1d86ed4c665ae482ea0ccb52b51">d_custom_safe_assert</a></div><div class="ttdeci">static void d_custom_safe_assert(const char *const message, const char *const assertion, const char *const file, const int line) noexcept</div><div class="ttdef"><b>Definition:</b> DistrhoUtils.hpp:226</div></div>
<div class="ttc" id="agroup__StringPrintFunctions_html_ga78b9baaeb515112b1e5ec1182bab299b"><div class="ttname"><a href="group__StringPrintFunctions.html#ga78b9baaeb515112b1e5ec1182bab299b">d_stdout</a></div><div class="ttdeci">static void d_stdout(const char *const fmt,...) noexcept</div><div class="ttdef"><b>Definition:</b> DistrhoUtils.hpp:131</div></div>
<div class="ttc" id="agroup__StringPrintFunctions_html_ga9473c264004ac48764062fd881a55cff"><div class="ttname"><a href="group__StringPrintFunctions.html#ga9473c264004ac48764062fd881a55cff">d_safe_assert</a></div><div class="ttdeci">static void d_safe_assert(const char *const assertion, const char *const file, const int line) noexcept</div><div class="ttdef"><b>Definition:</b> DistrhoUtils.hpp:177</div></div>
<div class="ttc" id="agroup__StringPrintFunctions_html_ga98137b745947d74f613859780c81ba69"><div class="ttname"><a href="group__StringPrintFunctions.html#ga98137b745947d74f613859780c81ba69">d_safe_exception</a></div><div class="ttdeci">static void d_safe_exception(const char *const exception, const char *const file, const int line) noexcept</div><div class="ttdef"><b>Definition:</b> DistrhoUtils.hpp:236</div></div>
<div class="ttc" id="agroup__StringPrintFunctions_html_ga9861b6a26e43554680f50623196dde7b"><div class="ttname"><a href="group__StringPrintFunctions.html#ga9861b6a26e43554680f50623196dde7b">d_stderr2</a></div><div class="ttdeci">static void d_stderr2(const char *const fmt,...) noexcept</div><div class="ttdef"><b>Definition:</b> DistrhoUtils.hpp:161</div></div>
<div class="ttc" id="agroup__StringPrintFunctions_html_ga9b31f29f7fde426a4a5bc9b1616aad28"><div class="ttname"><a href="group__StringPrintFunctions.html#ga9b31f29f7fde426a4a5bc9b1616aad28">d_safe_assert_int2</a></div><div class="ttdeci">static void d_safe_assert_int2(const char *const assertion, const char *const file, const int line, const int v1, const int v2) noexcept</div><div class="ttdef"><b>Definition:</b> DistrhoUtils.hpp:206</div></div>
<div class="ttc" id="agroup__StringPrintFunctions_html_ga9b8ac0ef05538648cb37b3c383ac60d9"><div class="ttname"><a href="group__StringPrintFunctions.html#ga9b8ac0ef05538648cb37b3c383ac60d9">d_debug</a></div><div class="ttdeci">static void d_debug(const char *const fmt,...) noexcept</div><div class="ttdef"><b>Definition:</b> DistrhoUtils.hpp:114</div></div>
<div class="ttc" id="agroup__StringPrintFunctions_html_gac59f28efd3d30333551df9ca47c1fc0f"><div class="ttname"><a href="group__StringPrintFunctions.html#gac59f28efd3d30333551df9ca47c1fc0f">d_safe_assert_int</a></div><div class="ttdeci">static void d_safe_assert_int(const char *const assertion, const char *const file, const int line, const int value) noexcept</div><div class="ttdef"><b>Definition:</b> DistrhoUtils.hpp:186</div></div>
<div class="ttc" id="agroup__StringPrintFunctions_html_gae62da5934fcf22b46324ddc2c44c3e58"><div class="ttname"><a href="group__StringPrintFunctions.html#gae62da5934fcf22b46324ddc2c44c3e58">d_safe_assert_uint2</a></div><div class="ttdeci">static void d_safe_assert_uint2(const char *const assertion, const char *const file, const int line, const uint v1, const uint v2) noexcept</div><div class="ttdef"><b>Definition:</b> DistrhoUtils.hpp:216</div></div>
<div class="ttc" id="agroup__StringPrintFunctions_html_gaf7645d9dcbbd44b92b8b6d4625a8e95c"><div class="ttname"><a href="group__StringPrintFunctions.html#gaf7645d9dcbbd44b92b8b6d4625a8e95c">d_safe_assert_uint</a></div><div class="ttdeci">static void d_safe_assert_uint(const char *const assertion, const char *const file, const int line, const uint value) noexcept</div><div class="ttdef"><b>Definition:</b> DistrhoUtils.hpp:196</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Mar 31 2022 17:09:26 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
Generated on Wed Jul 27 2022 00:46:18 for DISTRHO Plugin Framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

+ 13
- 15
EventHandlers_8hpp_source.html View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DISTRHO Plugin Framework: dgl/EventHandlers.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -29,10 +29,10 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
@@ -241,22 +241,20 @@ $(function() {
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; </div>
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160;END_NAMESPACE_DGL</div>
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; </div>
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160;<span class="preprocessor">#endif // DGL_EVENT_HANDLERS_HPP_INCLUDED</span></div>
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160;<span class="preprocessor">#endif </span><span class="comment">// DGL_EVENT_HANDLERS_HPP_INCLUDED</span></div>
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; </div>
<div class="ttc" id="aclassButtonEventHandler_1_1Callback_html"><div class="ttname"><a href="classButtonEventHandler_1_1Callback.html">ButtonEventHandler::Callback</a></div><div class="ttdef"><b>Definition:</b> EventHandlers.hpp:48</div></div>
<div class="ttc" id="aclassButtonEventHandler_html"><div class="ttname"><a href="classButtonEventHandler.html">ButtonEventHandler</a></div><div class="ttdef"><b>Definition:</b> EventHandlers.hpp:38</div></div>
<div class="ttc" id="aclassKnobEventHandler_1_1Callback_html"><div class="ttname"><a href="classKnobEventHandler_1_1Callback.html">KnobEventHandler::Callback</a></div><div class="ttdef"><b>Definition:</b> EventHandlers.hpp:109</div></div>
<div class="ttc" id="aclassKnobEventHandler_html"><div class="ttname"><a href="classKnobEventHandler.html">KnobEventHandler</a></div><div class="ttdef"><b>Definition:</b> EventHandlers.hpp:93</div></div>
<div class="ttc" id="aclassPoint_html"><div class="ttname"><a href="classPoint.html">Point</a></div><div class="ttdef"><b>Definition:</b> Geometry.hpp:41</div></div>
<div class="ttc" id="aclassSubWidget_html"><div class="ttname"><a href="classSubWidget.html">SubWidget</a></div><div class="ttdef"><b>Definition:</b> SubWidget.hpp:40</div></div>
<div class="ttc" id="aclassWidget_html"><div class="ttname"><a href="classWidget.html">Widget</a></div><div class="ttdef"><b>Definition:</b> Widget.hpp:54</div></div>
<div class="ttc" id="astructState_html"><div class="ttname"><a href="structState.html">State</a></div><div class="ttdef"><b>Definition:</b> DistrhoPlugin.hpp:677</div></div>
</div><!-- fragment --></div><!-- contents -->
<div class="ttc" id="astructState_html"><div class="ttname"><a href="structState.html">State</a></div><div class="ttdef"><b>Definition:</b> DistrhoPlugin.hpp:674</div></div>
<div class="ttc" id="aclassButtonEventHandler_1_1Callback_html"><div class="ttname"><a href="classButtonEventHandler_1_1Callback.html">ButtonEventHandler::Callback</a></div><div class="ttdef"><b>Definition:</b> EventHandlers.hpp:47</div></div>
<div class="ttc" id="aclassPoint_html"><div class="ttname"><a href="classPoint.html">Point</a></div><div class="ttdef"><b>Definition:</b> Geometry.hpp:40</div></div>
<div class="ttc" id="aclassSubWidget_html"><div class="ttname"><a href="classSubWidget.html">SubWidget</a></div><div class="ttdef"><b>Definition:</b> SubWidget.hpp:39</div></div>
<div class="ttc" id="aclassButtonEventHandler_html"><div class="ttname"><a href="classButtonEventHandler.html">ButtonEventHandler</a></div><div class="ttdef"><b>Definition:</b> EventHandlers.hpp:37</div></div>
<div class="ttc" id="aclassKnobEventHandler_html"><div class="ttname"><a href="classKnobEventHandler.html">KnobEventHandler</a></div><div class="ttdef"><b>Definition:</b> EventHandlers.hpp:92</div></div>
<div class="ttc" id="aclassKnobEventHandler_1_1Callback_html"><div class="ttname"><a href="classKnobEventHandler_1_1Callback.html">KnobEventHandler::Callback</a></div><div class="ttdef"><b>Definition:</b> EventHandlers.hpp:108</div></div>
<div class="ttc" id="aclassWidget_html"><div class="ttname"><a href="classWidget.html">Widget</a></div><div class="ttdef"><b>Definition:</b> Widget.hpp:53</div></div>
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Mar 31 2022 17:09:26 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
Generated on Wed Jul 27 2022 00:46:18 for DISTRHO Plugin Framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

+ 39
- 41
ExternalWindow_8hpp_source.html View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DISTRHO Plugin Framework: distrho/extra/ExternalWindow.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -29,10 +29,10 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
@@ -223,7 +223,7 @@ $(function() {
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; <span class="comment">/* --------------------------------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;<span class="comment"> * TopLevelWidget-like calls - Information, can be called by either host or plugin */</span></div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; </div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;<span class="preprocessor">#if DISTRHO_PLUGIN_HAS_EMBED_UI</span></div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;<span class="preprocessor">#if DISTRHO_PLUGIN_HAS_EMBED_UI</span><span class="comment"></span></div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160;<span class="comment"> Whether this Window is embed into another (usually not DGL-controlled) Window.</span></div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;<span class="comment"> */</span></div>
@@ -287,7 +287,7 @@ $(function() {
<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; <span class="keywordflow">return</span> pData.title;</div>
<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; }</div>
<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; </div>
<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160;<span class="preprocessor">#if DISTRHO_PLUGIN_HAS_EMBED_UI</span></div>
<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160;<span class="preprocessor">#if DISTRHO_PLUGIN_HAS_EMBED_UI</span><span class="comment"></span></div>
<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160;<span class="comment"> Get the &quot;native&quot; window handle that this window should embed itself into.</span></div>
<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160;<span class="comment"> Returned value type depends on the platform:</span></div>
@@ -646,50 +646,48 @@ $(function() {
<div class="line"><a name="l00575"></a><span class="lineno"> 575</span>&#160; </div>
<div class="line"><a name="l00576"></a><span class="lineno"> 576</span>&#160;<a class="code" href="group__NamespaceMacros.html#ga3ff541a449593e069a29e92d21e38ef3">END_NAMESPACE_DISTRHO</a></div>
<div class="line"><a name="l00577"></a><span class="lineno"> 577</span>&#160; </div>
<div class="line"><a name="l00578"></a><span class="lineno"> 578</span>&#160;<span class="preprocessor">#endif // DISTRHO_EXTERNAL_WINDOW_HPP_INCLUDED</span></div>
</div><!-- fragment --></div><!-- contents -->
<div class="ttc" id="aclassExternalWindow_html_a7aacd265be6cd6901405ad32cf6758a0"><div class="ttname"><a href="classExternalWindow.html#a7aacd265be6cd6901405ad32cf6758a0">ExternalWindow::isQuitting</a></div><div class="ttdeci">virtual bool isQuitting() const</div><div class="ttdef"><b>Definition:</b> ExternalWindow.hpp:119</div></div>
<div class="ttc" id="agroup__NamespaceMacros_html_gac4cb97c393d20c28ba19365d844341cd"><div class="ttname"><a href="group__NamespaceMacros.html#gac4cb97c393d20c28ba19365d844341cd">START_NAMESPACE_DISTRHO</a></div><div class="ttdeci">#define START_NAMESPACE_DISTRHO</div><div class="ttdef"><b>Definition:</b> DistrhoInfo.hpp:828</div></div>
<div class="ttc" id="aclassExternalWindow_html_ae5763405ca1d2405973e691e78d9b2a7"><div class="ttname"><a href="classExternalWindow.html#ae5763405ca1d2405973e691e78d9b2a7">ExternalWindow::isRunning</a></div><div class="ttdeci">virtual bool isRunning() const</div><div class="ttdef"><b>Definition:</b> ExternalWindow.hpp:105</div></div>
<div class="ttc" id="aclassExternalWindow_html_acd0c7cbaa50aab700bebe633309f6778"><div class="ttname"><a href="classExternalWindow.html#acd0c7cbaa50aab700bebe633309f6778">ExternalWindow::getTitle</a></div><div class="ttdeci">const char * getTitle() const noexcept</div><div class="ttdef"><b>Definition:</b> ExternalWindow.hpp:214</div></div>
<div class="ttc" id="aclassExternalWindow_html_afd42fab01a270aab541b161237b7d9f3"><div class="ttname"><a href="classExternalWindow.html#afd42fab01a270aab541b161237b7d9f3">ExternalWindow::titleChanged</a></div><div class="ttdeci">virtual void titleChanged(const char *)</div><div class="ttdef"><b>Definition:</b> ExternalWindow.hpp:417</div></div>
<div class="ttc" id="aclassExternalWindow_html_afc5ed08d95e01734cdfbd6c69d8505c6"><div class="ttname"><a href="classExternalWindow.html#afc5ed08d95e01734cdfbd6c69d8505c6">ExternalWindow::ExternalWindow</a></div><div class="ttdeci">ExternalWindow()</div><div class="ttdef"><b>Definition:</b> ExternalWindow.hpp:80</div></div>
<div class="ttc" id="aclassExternalWindow_html_a8ec7abf1b22271458926530b377f2c27"><div class="ttname"><a href="classExternalWindow.html#a8ec7abf1b22271458926530b377f2c27">ExternalWindow::getNativeWindowHandle</a></div><div class="ttdeci">virtual uintptr_t getNativeWindowHandle() const noexcept</div><div class="ttdef"><b>Definition:</b> ExternalWindow.hpp:140</div></div>
<div class="ttc" id="aclassString_html"><div class="ttname"><a href="classString.html">String</a></div><div class="ttdef"><b>Definition:</b> String.hpp:30</div></div>
<div class="ttc" id="aclassExternalWindow_html_aa9bce2cc83c1a8c6ee87f79bf36e3955"><div class="ttname"><a href="classExternalWindow.html#aa9bce2cc83c1a8c6ee87f79bf36e3955">ExternalWindow::hide</a></div><div class="ttdeci">void hide()</div><div class="ttdef"><b>Definition:</b> ExternalWindow.hpp:252</div></div>
<div class="ttc" id="aclassExternalWindow_html_a56da59b2722bd7b0a6c63f9f7f120839"><div class="ttname"><a href="classExternalWindow.html#a56da59b2722bd7b0a6c63f9f7f120839">ExternalWindow::getParentWindowHandle</a></div><div class="ttdeci">uintptr_t getParentWindowHandle() const noexcept</div><div class="ttdef"><b>Definition:</b> ExternalWindow.hpp:228</div></div>
<div class="line"><a name="l00578"></a><span class="lineno"> 578</span>&#160;<span class="preprocessor">#endif </span><span class="comment">// DISTRHO_EXTERNAL_WINDOW_HPP_INCLUDED</span></div>
<div class="ttc" id="aclassExternalWindow_html"><div class="ttname"><a href="classExternalWindow.html">ExternalWindow</a></div><div class="ttdef"><b>Definition:</b> ExternalWindow.hpp:73</div></div>
<div class="ttc" id="aclassExternalWindow_html_a0383b6696469e9709e1a1ee53399d9f4"><div class="ttname"><a href="classExternalWindow.html#a0383b6696469e9709e1a1ee53399d9f4">ExternalWindow::getScaleFactor</a></div><div class="ttdeci">double getScaleFactor() const noexcept</div><div class="ttdef"><b>Definition:</b> ExternalWindow.hpp:205</div></div>
<div class="ttc" id="aclassExternalWindow_html_a0e15df4f8b3425b67ad56b42526bb5df"><div class="ttname"><a href="classExternalWindow.html#a0e15df4f8b3425b67ad56b42526bb5df">ExternalWindow::getWidth</a></div><div class="ttdeci">uint getWidth() const noexcept</div><div class="ttdef"><b>Definition:</b> ExternalWindow.hpp:187</div></div>
<div class="ttc" id="aclassExternalWindow_html_a15b677215c3abb5c1f7f71c4a00fd41c"><div class="ttname"><a href="classExternalWindow.html#a15b677215c3abb5c1f7f71c4a00fd41c">ExternalWindow::setGeometryConstraints</a></div><div class="ttdeci">void setGeometryConstraints(uint minimumWidth, uint minimumHeight, bool keepAspectRatio=false)</div><div class="ttdef"><b>Definition:</b> ExternalWindow.hpp:326</div></div>
<div class="ttc" id="aclassExternalWindow_html_a26dd0bc32a816c014731a78658cc3a5b"><div class="ttname"><a href="classExternalWindow.html#a26dd0bc32a816c014731a78658cc3a5b">ExternalWindow::isEmbed</a></div><div class="ttdeci">bool isEmbed() const noexcept</div><div class="ttdef"><b>Definition:</b> ExternalWindow.hpp:159</div></div>
<div class="ttc" id="aclassExternalWindow_html_a2b599fc96437e666a7a0a4c1b9844b15"><div class="ttname"><a href="classExternalWindow.html#a2b599fc96437e666a7a0a4c1b9844b15">ExternalWindow::setVisible</a></div><div class="ttdeci">void setVisible(bool visible)</div><div class="ttdef"><b>Definition:</b> ExternalWindow.hpp:353</div></div>
<div class="ttc" id="aclassExternalWindow_html_a2e76b734d72a0766d7ddbf62d3e9f2b5"><div class="ttname"><a href="classExternalWindow.html#a2e76b734d72a0766d7ddbf62d3e9f2b5">ExternalWindow::isVisible</a></div><div class="ttdeci">bool isVisible() const noexcept</div><div class="ttdef"><b>Definition:</b> ExternalWindow.hpp:169</div></div>
<div class="ttc" id="aclassExternalWindow_html_a35f711faffa1195c478689f4654dcc4f"><div class="ttname"><a href="classExternalWindow.html#a35f711faffa1195c478689f4654dcc4f">ExternalWindow::show</a></div><div class="ttdeci">void show()</div><div class="ttdef"><b>Definition:</b> ExternalWindow.hpp:344</div></div>
<div class="ttc" id="agroup__StringPrintFunctions_html_ga78b9baaeb515112b1e5ec1182bab299b"><div class="ttname"><a href="group__StringPrintFunctions.html#ga78b9baaeb515112b1e5ec1182bab299b">d_stdout</a></div><div class="ttdeci">static void d_stdout(const char *const fmt,...) noexcept</div><div class="ttdef"><b>Definition:</b> DistrhoUtils.hpp:131</div></div>
<div class="ttc" id="aclassExternalWindow_html_add192e95a0fa7187cb0a8e739095674f"><div class="ttname"><a href="classExternalWindow.html#add192e95a0fa7187cb0a8e739095674f">ExternalWindow::setHeight</a></div><div class="ttdeci">void setHeight(uint height)</div><div class="ttdef"><b>Definition:</b> ExternalWindow.hpp:286</div></div>
<div class="ttc" id="aclassExternalWindow_html_a4bebffffd78f13122dc74e4d85c0b527"><div class="ttname"><a href="classExternalWindow.html#a4bebffffd78f13122dc74e4d85c0b527">ExternalWindow::setWidth</a></div><div class="ttdeci">void setWidth(uint width)</div><div class="ttdef"><b>Definition:</b> ExternalWindow.hpp:276</div></div>
<div class="ttc" id="aclassExternalWindow_html_a4db15a0baa5e85c04b4a8c3545958aad"><div class="ttname"><a href="classExternalWindow.html#a4db15a0baa5e85c04b4a8c3545958aad">ExternalWindow::ExternalWindow</a></div><div class="ttdeci">ExternalWindow(const PrivateData &amp;data)</div><div class="ttdef"><b>Definition:</b> ExternalWindow.hpp:86</div></div>
<div class="ttc" id="aclassExternalWindow_html_a4ea76a2c6240c95ff941bc95841c73c8"><div class="ttname"><a href="classExternalWindow.html#a4ea76a2c6240c95ff941bc95841c73c8">ExternalWindow::transientParentWindowChanged</a></div><div class="ttdeci">virtual void transientParentWindowChanged(uintptr_t)</div><div class="ttdef"><b>Definition:</b> ExternalWindow.hpp:434</div></div>
<div class="ttc" id="agroup__NamespaceMacros_html_ga3ff541a449593e069a29e92d21e38ef3"><div class="ttname"><a href="group__NamespaceMacros.html#ga3ff541a449593e069a29e92d21e38ef3">END_NAMESPACE_DISTRHO</a></div><div class="ttdeci">#define END_NAMESPACE_DISTRHO</div><div class="ttdef"><b>Definition:</b> DistrhoInfo.hpp:834</div></div>
<div class="ttc" id="aclassUI_html"><div class="ttname"><a href="classUI.html">UI</a></div><div class="ttdef"><b>Definition:</b> DistrhoUI.hpp:75</div></div>
<div class="ttc" id="aclassExternalWindow_html"><div class="ttname"><a href="classExternalWindow.html">ExternalWindow</a></div><div class="ttdef"><b>Definition:</b> ExternalWindow.hpp:72</div></div>
<div class="ttc" id="aclassExternalWindow_html_a2b599fc96437e666a7a0a4c1b9844b15"><div class="ttname"><a href="classExternalWindow.html#a2b599fc96437e666a7a0a4c1b9844b15">ExternalWindow::setVisible</a></div><div class="ttdeci">void setVisible(bool visible)</div><div class="ttdef"><b>Definition:</b> ExternalWindow.hpp:353</div></div>
<div class="ttc" id="aclassExternalWindow_html_aba350e1f737b68e51bfe8018bded6e45"><div class="ttname"><a href="classExternalWindow.html#aba350e1f737b68e51bfe8018bded6e45">ExternalWindow::sizeChanged</a></div><div class="ttdeci">virtual void sizeChanged(uint, uint)</div><div class="ttdef"><b>Definition:</b> ExternalWindow.hpp:408</div></div>
<div class="ttc" id="aclassExternalWindow_html_a54bb8e6674ef42e0ebc67576df3d103a"><div class="ttname"><a href="classExternalWindow.html#a54bb8e6674ef42e0ebc67576df3d103a">ExternalWindow::setSize</a></div><div class="ttdeci">void setSize(uint width, uint height)</div><div class="ttdef"><b>Definition:</b> ExternalWindow.hpp:296</div></div>
<div class="ttc" id="aclassExternalWindow_html_a56da59b2722bd7b0a6c63f9f7f120839"><div class="ttname"><a href="classExternalWindow.html#a56da59b2722bd7b0a6c63f9f7f120839">ExternalWindow::getParentWindowHandle</a></div><div class="ttdeci">uintptr_t getParentWindowHandle() const noexcept</div><div class="ttdef"><b>Definition:</b> ExternalWindow.hpp:228</div></div>
<div class="ttc" id="aclassExternalWindow_html_a5a870bd4d4e4cdbee7eb029384c2f1bf"><div class="ttname"><a href="classExternalWindow.html#a5a870bd4d4e4cdbee7eb029384c2f1bf">ExternalWindow::isStandalone</a></div><div class="ttdeci">bool isStandalone() const noexcept</div><div class="ttdef"><b>Definition:</b> ExternalWindow.hpp:178</div></div>
<div class="ttc" id="aclassExternalWindow_html_a60ddf70411d05cef91f4a1eaa09554b8"><div class="ttname"><a href="classExternalWindow.html#a60ddf70411d05cef91f4a1eaa09554b8">ExternalWindow::visibilityChanged</a></div><div class="ttdeci">virtual void visibilityChanged(bool)</div><div class="ttdef"><b>Definition:</b> ExternalWindow.hpp:426</div></div>
<div class="ttc" id="aclassExternalWindow_html_a6206ef403f95462ef84fe8127b65b1b7"><div class="ttname"><a href="classExternalWindow.html#a6206ef403f95462ef84fe8127b65b1b7">ExternalWindow::getHeight</a></div><div class="ttdeci">uint getHeight() const noexcept</div><div class="ttdef"><b>Definition:</b> ExternalWindow.hpp:196</div></div>
<div class="ttc" id="aclassExternalWindow_html_a6957b4f82aa3e3557c4c455bbc6b1e15"><div class="ttname"><a href="classExternalWindow.html#a6957b4f82aa3e3557c4c455bbc6b1e15">ExternalWindow::focus</a></div><div class="ttdeci">virtual void focus()</div><div class="ttdef"><b>Definition:</b> ExternalWindow.hpp:150</div></div>
<div class="ttc" id="aclassExternalWindow_html_a7aacd265be6cd6901405ad32cf6758a0"><div class="ttname"><a href="classExternalWindow.html#a7aacd265be6cd6901405ad32cf6758a0">ExternalWindow::isQuitting</a></div><div class="ttdeci">virtual bool isQuitting() const</div><div class="ttdef"><b>Definition:</b> ExternalWindow.hpp:119</div></div>
<div class="ttc" id="aclassExternalWindow_html_a8a196d0db3f082f6861d1d1bfc1db993"><div class="ttname"><a href="classExternalWindow.html#a8a196d0db3f082f6861d1d1bfc1db993">ExternalWindow::setTitle</a></div><div class="ttdeci">void setTitle(const char *title)</div><div class="ttdef"><b>Definition:</b> ExternalWindow.hpp:314</div></div>
<div class="ttc" id="aclassExternalWindow_html_a8ec7abf1b22271458926530b377f2c27"><div class="ttname"><a href="classExternalWindow.html#a8ec7abf1b22271458926530b377f2c27">ExternalWindow::getNativeWindowHandle</a></div><div class="ttdeci">virtual uintptr_t getNativeWindowHandle() const noexcept</div><div class="ttdef"><b>Definition:</b> ExternalWindow.hpp:140</div></div>
<div class="ttc" id="aclassExternalWindow_html_a97f21d30b4449fc5cd87396ff051c199"><div class="ttname"><a href="classExternalWindow.html#a97f21d30b4449fc5cd87396ff051c199">ExternalWindow::~ExternalWindow</a></div><div class="ttdeci">virtual ~ExternalWindow()</div><div class="ttdef"><b>Definition:</b> ExternalWindow.hpp:92</div></div>
<div class="ttc" id="aclassExternalWindow_html_a6206ef403f95462ef84fe8127b65b1b7"><div class="ttname"><a href="classExternalWindow.html#a6206ef403f95462ef84fe8127b65b1b7">ExternalWindow::getHeight</a></div><div class="ttdeci">uint getHeight() const noexcept</div><div class="ttdef"><b>Definition:</b> ExternalWindow.hpp:196</div></div>
<div class="ttc" id="aclassExternalWindow_html_afe5b255affc787ad34b25a30114f9b89"><div class="ttname"><a href="classExternalWindow.html#afe5b255affc787ad34b25a30114f9b89">ExternalWindow::setTransientWindowId</a></div><div class="ttdeci">void setTransientWindowId(uintptr_t winId)</div><div class="ttdef"><b>Definition:</b> ExternalWindow.hpp:366</div></div>
<div class="ttc" id="aclassExternalWindow_html_aa9bce2cc83c1a8c6ee87f79bf36e3955"><div class="ttname"><a href="classExternalWindow.html#aa9bce2cc83c1a8c6ee87f79bf36e3955">ExternalWindow::hide</a></div><div class="ttdeci">void hide()</div><div class="ttdef"><b>Definition:</b> ExternalWindow.hpp:252</div></div>
<div class="ttc" id="aclassExternalWindow_html_aba350e1f737b68e51bfe8018bded6e45"><div class="ttname"><a href="classExternalWindow.html#aba350e1f737b68e51bfe8018bded6e45">ExternalWindow::sizeChanged</a></div><div class="ttdeci">virtual void sizeChanged(uint, uint)</div><div class="ttdef"><b>Definition:</b> ExternalWindow.hpp:408</div></div>
<div class="ttc" id="aclassExternalWindow_html_acaa09de3c6dfccecf725a8f7a486ce15"><div class="ttname"><a href="classExternalWindow.html#acaa09de3c6dfccecf725a8f7a486ce15">ExternalWindow::close</a></div><div class="ttdeci">virtual void close()</div><div class="ttdef"><b>Definition:</b> ExternalWindow.hpp:261</div></div>
<div class="ttc" id="aclassExternalWindow_html_a26dd0bc32a816c014731a78658cc3a5b"><div class="ttname"><a href="classExternalWindow.html#a26dd0bc32a816c014731a78658cc3a5b">ExternalWindow::isEmbed</a></div><div class="ttdeci">bool isEmbed() const noexcept</div><div class="ttdef"><b>Definition:</b> ExternalWindow.hpp:159</div></div>
<div class="ttc" id="aclassExternalWindow_html_a0e15df4f8b3425b67ad56b42526bb5df"><div class="ttname"><a href="classExternalWindow.html#a0e15df4f8b3425b67ad56b42526bb5df">ExternalWindow::getWidth</a></div><div class="ttdeci">uint getWidth() const noexcept</div><div class="ttdef"><b>Definition:</b> ExternalWindow.hpp:187</div></div>
<div class="ttc" id="aclassExternalWindow_html_a60ddf70411d05cef91f4a1eaa09554b8"><div class="ttname"><a href="classExternalWindow.html#a60ddf70411d05cef91f4a1eaa09554b8">ExternalWindow::visibilityChanged</a></div><div class="ttdeci">virtual void visibilityChanged(bool)</div><div class="ttdef"><b>Definition:</b> ExternalWindow.hpp:426</div></div>
<div class="ttc" id="aclassExternalWindow_html_a54bb8e6674ef42e0ebc67576df3d103a"><div class="ttname"><a href="classExternalWindow.html#a54bb8e6674ef42e0ebc67576df3d103a">ExternalWindow::setSize</a></div><div class="ttdeci">void setSize(uint width, uint height)</div><div class="ttdef"><b>Definition:</b> ExternalWindow.hpp:296</div></div>
<div class="ttc" id="agroup__StringPrintFunctions_html_ga61feaac6d65661f631be4136041e7bce"><div class="ttname"><a href="group__StringPrintFunctions.html#ga61feaac6d65661f631be4136041e7bce">d_stderr</a></div><div class="ttdeci">static void d_stderr(const char *const fmt,...) noexcept</div><div class="ttdef"><b>Definition:</b> DistrhoUtils.hpp:146</div></div>
<div class="ttc" id="aclassExternalWindow_html_a6957b4f82aa3e3557c4c455bbc6b1e15"><div class="ttname"><a href="classExternalWindow.html#a6957b4f82aa3e3557c4c455bbc6b1e15">ExternalWindow::focus</a></div><div class="ttdeci">virtual void focus()</div><div class="ttdef"><b>Definition:</b> ExternalWindow.hpp:150</div></div>
<div class="ttc" id="aclassExternalWindow_html_a0383b6696469e9709e1a1ee53399d9f4"><div class="ttname"><a href="classExternalWindow.html#a0383b6696469e9709e1a1ee53399d9f4">ExternalWindow::getScaleFactor</a></div><div class="ttdeci">double getScaleFactor() const noexcept</div><div class="ttdef"><b>Definition:</b> ExternalWindow.hpp:205</div></div>
<div class="ttc" id="aclassExternalWindow_html_acd0c7cbaa50aab700bebe633309f6778"><div class="ttname"><a href="classExternalWindow.html#acd0c7cbaa50aab700bebe633309f6778">ExternalWindow::getTitle</a></div><div class="ttdeci">const char * getTitle() const noexcept</div><div class="ttdef"><b>Definition:</b> ExternalWindow.hpp:214</div></div>
<div class="ttc" id="aclassExternalWindow_html_ad06f0e6adb6a1460af88707cd452e767"><div class="ttname"><a href="classExternalWindow.html#ad06f0e6adb6a1460af88707cd452e767">ExternalWindow::getTransientWindowId</a></div><div class="ttdeci">uintptr_t getTransientWindowId() const noexcept</div><div class="ttdef"><b>Definition:</b> ExternalWindow.hpp:238</div></div>
<div class="ttc" id="aclassExternalWindow_html_a15b677215c3abb5c1f7f71c4a00fd41c"><div class="ttname"><a href="classExternalWindow.html#a15b677215c3abb5c1f7f71c4a00fd41c">ExternalWindow::setGeometryConstraints</a></div><div class="ttdeci">void setGeometryConstraints(uint minimumWidth, uint minimumHeight, bool keepAspectRatio=false)</div><div class="ttdef"><b>Definition:</b> ExternalWindow.hpp:326</div></div>
<div class="ttc" id="aclassExternalWindow_html_a5a870bd4d4e4cdbee7eb029384c2f1bf"><div class="ttname"><a href="classExternalWindow.html#a5a870bd4d4e4cdbee7eb029384c2f1bf">ExternalWindow::isStandalone</a></div><div class="ttdeci">bool isStandalone() const noexcept</div><div class="ttdef"><b>Definition:</b> ExternalWindow.hpp:178</div></div>
<div class="ttc" id="aclassExternalWindow_html_a2e76b734d72a0766d7ddbf62d3e9f2b5"><div class="ttname"><a href="classExternalWindow.html#a2e76b734d72a0766d7ddbf62d3e9f2b5">ExternalWindow::isVisible</a></div><div class="ttdeci">bool isVisible() const noexcept</div><div class="ttdef"><b>Definition:</b> ExternalWindow.hpp:169</div></div>
<div class="ttc" id="aclassExternalWindow_html_a4bebffffd78f13122dc74e4d85c0b527"><div class="ttname"><a href="classExternalWindow.html#a4bebffffd78f13122dc74e4d85c0b527">ExternalWindow::setWidth</a></div><div class="ttdeci">void setWidth(uint width)</div><div class="ttdef"><b>Definition:</b> ExternalWindow.hpp:276</div></div>
<div class="ttc" id="aclassExternalWindow_html_a4db15a0baa5e85c04b4a8c3545958aad"><div class="ttname"><a href="classExternalWindow.html#a4db15a0baa5e85c04b4a8c3545958aad">ExternalWindow::ExternalWindow</a></div><div class="ttdeci">ExternalWindow(const PrivateData &amp;data)</div><div class="ttdef"><b>Definition:</b> ExternalWindow.hpp:86</div></div>
<div class="ttc" id="aclassExternalWindow_html_add192e95a0fa7187cb0a8e739095674f"><div class="ttname"><a href="classExternalWindow.html#add192e95a0fa7187cb0a8e739095674f">ExternalWindow::setHeight</a></div><div class="ttdeci">void setHeight(uint height)</div><div class="ttdef"><b>Definition:</b> ExternalWindow.hpp:286</div></div>
<div class="ttc" id="aclassExternalWindow_html_ae5763405ca1d2405973e691e78d9b2a7"><div class="ttname"><a href="classExternalWindow.html#ae5763405ca1d2405973e691e78d9b2a7">ExternalWindow::isRunning</a></div><div class="ttdeci">virtual bool isRunning() const</div><div class="ttdef"><b>Definition:</b> ExternalWindow.hpp:105</div></div>
<div class="ttc" id="aclassExternalWindow_html_afc5ed08d95e01734cdfbd6c69d8505c6"><div class="ttname"><a href="classExternalWindow.html#afc5ed08d95e01734cdfbd6c69d8505c6">ExternalWindow::ExternalWindow</a></div><div class="ttdeci">ExternalWindow()</div><div class="ttdef"><b>Definition:</b> ExternalWindow.hpp:80</div></div>
<div class="ttc" id="aclassExternalWindow_html_afd42fab01a270aab541b161237b7d9f3"><div class="ttname"><a href="classExternalWindow.html#afd42fab01a270aab541b161237b7d9f3">ExternalWindow::titleChanged</a></div><div class="ttdeci">virtual void titleChanged(const char *)</div><div class="ttdef"><b>Definition:</b> ExternalWindow.hpp:417</div></div>
<div class="ttc" id="aclassExternalWindow_html_afe5b255affc787ad34b25a30114f9b89"><div class="ttname"><a href="classExternalWindow.html#afe5b255affc787ad34b25a30114f9b89">ExternalWindow::setTransientWindowId</a></div><div class="ttdeci">void setTransientWindowId(uintptr_t winId)</div><div class="ttdef"><b>Definition:</b> ExternalWindow.hpp:366</div></div>
<div class="ttc" id="aclassString_html"><div class="ttname"><a href="classString.html">String</a></div><div class="ttdef"><b>Definition:</b> String.hpp:31</div></div>
<div class="ttc" id="aclassUI_html"><div class="ttname"><a href="classUI.html">UI</a></div><div class="ttdef"><b>Definition:</b> DistrhoUI.hpp:74</div></div>
<div class="ttc" id="agroup__NamespaceMacros_html_ga3ff541a449593e069a29e92d21e38ef3"><div class="ttname"><a href="group__NamespaceMacros.html#ga3ff541a449593e069a29e92d21e38ef3">END_NAMESPACE_DISTRHO</a></div><div class="ttdeci">#define END_NAMESPACE_DISTRHO</div><div class="ttdef"><b>Definition:</b> DistrhoInfo.hpp:834</div></div>
<div class="ttc" id="agroup__NamespaceMacros_html_gac4cb97c393d20c28ba19365d844341cd"><div class="ttname"><a href="group__NamespaceMacros.html#gac4cb97c393d20c28ba19365d844341cd">START_NAMESPACE_DISTRHO</a></div><div class="ttdeci">#define START_NAMESPACE_DISTRHO</div><div class="ttdef"><b>Definition:</b> DistrhoInfo.hpp:828</div></div>
<div class="ttc" id="agroup__StringPrintFunctions_html_ga61feaac6d65661f631be4136041e7bce"><div class="ttname"><a href="group__StringPrintFunctions.html#ga61feaac6d65661f631be4136041e7bce">d_stderr</a></div><div class="ttdeci">static void d_stderr(const char *const fmt,...) noexcept</div><div class="ttdef"><b>Definition:</b> DistrhoUtils.hpp:146</div></div>
<div class="ttc" id="agroup__StringPrintFunctions_html_ga78b9baaeb515112b1e5ec1182bab299b"><div class="ttname"><a href="group__StringPrintFunctions.html#ga78b9baaeb515112b1e5ec1182bab299b">d_stdout</a></div><div class="ttdeci">static void d_stdout(const char *const fmt,...) noexcept</div><div class="ttdef"><b>Definition:</b> DistrhoUtils.hpp:131</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Mar 31 2022 17:09:26 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
Generated on Wed Jul 27 2022 00:46:18 for DISTRHO Plugin Framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

+ 212
- 0
FileBrowserDialogImpl_8hpp_source.html View File

@@ -0,0 +1,212 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DISTRHO Plugin Framework: distrho/extra/FileBrowserDialogImpl.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">DISTRHO Plugin Framework
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_37257469cca17bab24b582e18a78eb75.html">distrho</a></li><li class="navelem"><a class="el" href="dir_b1be46be7d80596b116b2b4ac973f2f0.html">extra</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">FileBrowserDialogImpl.hpp</div> </div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> * DISTRHO Plugin Framework (DPF)</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> * Copyright (C) 2012-2022 Filipe Coelho &lt;falktx@falktx.com&gt;</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> * Permission to use, copy, modify, and/or distribute this software for any purpose with</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> * or without fee is hereby granted, provided that the above copyright notice and this</span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> * permission notice appear in all copies.</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment"> * THE SOFTWARE IS PROVIDED &quot;AS IS&quot; AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment"> * TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> * IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160; </div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="preprocessor">#if !defined(DISTRHO_FILE_BROWSER_DIALOG_HPP_INCLUDED) &amp;&amp; !defined(DGL_FILE_BROWSER_DIALOG_HPP_INCLUDED)</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="preprocessor"># error bad include</span></div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160; </div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="comment">// --------------------------------------------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="comment">// File Browser Dialog stuff</span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160; </div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="keyword">struct </span><a class="code" href="structFileBrowserData.html">FileBrowserData</a>;</div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="keyword">typedef</span> <a class="code" href="structFileBrowserData.html">FileBrowserData</a>* <a class="code" href="structFileBrowserData.html">FileBrowserHandle</a>;</div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160; </div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="comment">// --------------------------------------------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="comment"> File browser options, for customizing the file browser dialog.@n</span></div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="comment"> By default the file browser dialog will be work as &quot;open file&quot; in the current working directory.</span></div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="comment">*/</span></div>
<div class="line"><a name="l00033"></a><span class="lineno"><a class="line" href="structFileBrowserOptions.html"> 33</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structFileBrowserOptions.html">FileBrowserOptions</a> {<span class="comment"></span></div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="comment"> /** Whether we are saving, opening files otherwise (default) */</span></div>
<div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="structFileBrowserOptions.html#a923166f4f4477b4491d3f47e05cfbdfe"> 35</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="structFileBrowserOptions.html#a923166f4f4477b4491d3f47e05cfbdfe">saving</a>;</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="comment"> /** Default filename when saving, required in some platforms (basename without path separators) */</span></div>
<div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="structFileBrowserOptions.html#acc05b9a39052fc84e4d50a62229091d8"> 38</a></span>&#160; <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="structFileBrowserOptions.html#acc05b9a39052fc84e4d50a62229091d8">defaultName</a>;</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;<span class="comment"> /** Start directory, uses current working directory if null */</span></div>
<div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="structFileBrowserOptions.html#a921fe62f9783fee2c01ddbaa0851e8b4"> 41</a></span>&#160; <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="structFileBrowserOptions.html#a921fe62f9783fee2c01ddbaa0851e8b4">startDir</a>;</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;<span class="comment"> /** File browser dialog window title, uses &quot;FileBrowser&quot; if null */</span></div>
<div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="structFileBrowserOptions.html#a16d59d24e75eec2c6f9f3aebfe5464e7"> 44</a></span>&#160; <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="structFileBrowserOptions.html#a16d59d24e75eec2c6f9f3aebfe5464e7">title</a>;</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; </div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; <span class="comment">// TODO file filter</span></div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;<span class="comment"> File browser button state.</span></div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;<span class="comment"> This allows to customize the behaviour of the file browse dialog buttons.</span></div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;<span class="comment"> Note these are merely hints, not all systems support them.</span></div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="structFileBrowserOptions.html#ac435c15f821601fa0a10fbd4707b5ab9"> 53</a></span>&#160; <span class="keyword">enum</span> <a class="code" href="structFileBrowserOptions.html#ac435c15f821601fa0a10fbd4707b5ab9">ButtonState</a> {</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; kButtonInvisible,</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; kButtonVisibleUnchecked,</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; kButtonVisibleChecked,</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; };</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;<span class="comment"> File browser buttons.</span></div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="structFileBrowserOptions_1_1Buttons.html"> 62</a></span>&#160; <span class="keyword">struct </span><a class="code" href="structFileBrowserOptions_1_1Buttons.html">Buttons</a> {<span class="comment"></span></div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;<span class="comment"> /** Whether to list all files vs only those with matching file extension */</span></div>
<div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="structFileBrowserOptions_1_1Buttons.html#ac8174fbcf8d85ef5abece32114c234d5"> 64</a></span>&#160; <a class="code" href="structFileBrowserOptions.html#ac435c15f821601fa0a10fbd4707b5ab9">ButtonState</a> <a class="code" href="structFileBrowserOptions_1_1Buttons.html#ac8174fbcf8d85ef5abece32114c234d5">listAllFiles</a>;<span class="comment"></span></div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;<span class="comment"> /** Whether to show hidden files */</span></div>
<div class="line"><a name="l00066"></a><span class="lineno"><a class="line" href="structFileBrowserOptions_1_1Buttons.html#a43b25f4cece01eb8dd8d89a10e921dfc"> 66</a></span>&#160; <a class="code" href="structFileBrowserOptions.html#ac435c15f821601fa0a10fbd4707b5ab9">ButtonState</a> <a class="code" href="structFileBrowserOptions_1_1Buttons.html#a43b25f4cece01eb8dd8d89a10e921dfc">showHidden</a>;<span class="comment"></span></div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;<span class="comment"> /** Whether to show list of places (bookmarks) */</span></div>
<div class="line"><a name="l00068"></a><span class="lineno"><a class="line" href="structFileBrowserOptions_1_1Buttons.html#ac2df440c203fb3b1a3be012283427d5b"> 68</a></span>&#160; <a class="code" href="structFileBrowserOptions.html#ac435c15f821601fa0a10fbd4707b5ab9">ButtonState</a> <a class="code" href="structFileBrowserOptions_1_1Buttons.html#ac2df440c203fb3b1a3be012283427d5b">showPlaces</a>;</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;<span class="comment"> /** Constructor for default values */</span></div>
<div class="line"><a name="l00071"></a><span class="lineno"><a class="line" href="structFileBrowserOptions_1_1Buttons.html#ac63aae50a8d713ac6de337cc8739c870"> 71</a></span>&#160; <a class="code" href="structFileBrowserOptions_1_1Buttons.html#ac63aae50a8d713ac6de337cc8739c870">Buttons</a>()</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; : <a class="code" href="structFileBrowserOptions_1_1Buttons.html#ac8174fbcf8d85ef5abece32114c234d5">listAllFiles</a>(kButtonVisibleChecked),</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <a class="code" href="structFileBrowserOptions_1_1Buttons.html#a43b25f4cece01eb8dd8d89a10e921dfc">showHidden</a>(kButtonVisibleUnchecked),</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <a class="code" href="structFileBrowserOptions_1_1Buttons.html#ac2df440c203fb3b1a3be012283427d5b">showPlaces</a>(kButtonVisibleChecked) {}</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; } buttons;</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160;<span class="comment"> /** Constructor for default values */</span></div>
<div class="line"><a name="l00078"></a><span class="lineno"><a class="line" href="structFileBrowserOptions.html#afaad52af434db54ecc629ff68b194273"> 78</a></span>&#160; <a class="code" href="structFileBrowserOptions.html#afaad52af434db54ecc629ff68b194273">FileBrowserOptions</a>()</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; : <a class="code" href="structFileBrowserOptions.html#a923166f4f4477b4491d3f47e05cfbdfe">saving</a>(false),</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <a class="code" href="structFileBrowserOptions.html#acc05b9a39052fc84e4d50a62229091d8">defaultName</a>(nullptr),</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; <a class="code" href="structFileBrowserOptions.html#a921fe62f9783fee2c01ddbaa0851e8b4">startDir</a>(nullptr),</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; <a class="code" href="structFileBrowserOptions.html#a16d59d24e75eec2c6f9f3aebfe5464e7">title</a>(nullptr),</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; buttons() {}</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;};</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; </div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160;<span class="comment">// --------------------------------------------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;<span class="comment"> Create a new file browser dialog.</span></div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160;<span class="comment"> @p isEmbed: Whether the window this dialog belongs to is an embed/child window (needed to close dialog on Windows)</span></div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160;<span class="comment"> @p windowId: The native window id to attach this dialog to as transient parent (X11 Window, HWND or NSView*)</span></div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160;<span class="comment"> @p scaleFactor: Scale factor to use (only used on X11)</span></div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160;<span class="comment"> @p options: Extra options, optional</span></div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160;<span class="comment"> By default the file browser dialog will be work as &quot;open file&quot; in the current working directory.</span></div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160;<span class="comment">*/</span></div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160;<a class="code" href="structFileBrowserData.html">FileBrowserHandle</a> fileBrowserCreate(<span class="keywordtype">bool</span> isEmbed,</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; uintptr_t windowId,</div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; <span class="keywordtype">double</span> scaleFactor,</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <span class="keyword">const</span> <a class="code" href="structFileBrowserOptions.html">FileBrowserOptions</a>&amp; options = <a class="code" href="structFileBrowserOptions.html">FileBrowserOptions</a>());</div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;<span class="comment"> Idle the file browser dialog handle.@n</span></div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;<span class="comment"> Returns true if dialog was closed (with or without a file selection),</span></div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;<span class="comment"> in which case the handle must not be used afterwards.</span></div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;<span class="comment"> You can then call fileBrowserGetPath to know the selected file (or null if cancelled).</span></div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;<span class="comment">*/</span></div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;<span class="keywordtype">bool</span> fileBrowserIdle(<span class="keyword">const</span> <a class="code" href="structFileBrowserData.html">FileBrowserHandle</a> handle);</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;<span class="comment"> Close the file browser dialog, handle must not be used afterwards.</span></div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;<span class="comment">*/</span></div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;<span class="keywordtype">void</span> fileBrowserClose(<span class="keyword">const</span> <a class="code" href="structFileBrowserData.html">FileBrowserHandle</a> handle);</div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;<span class="comment"> Get the path chosen by the user or null.@n</span></div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;<span class="comment"> Should only be called after fileBrowserIdle returns true.</span></div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;<span class="comment">*/</span></div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;<span class="keyword">const</span> <span class="keywordtype">char</span>* fileBrowserGetPath(<span class="keyword">const</span> <a class="code" href="structFileBrowserData.html">FileBrowserHandle</a> handle);</div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; </div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;<span class="comment">// --------------------------------------------------------------------------------------------------------------------</span></div>
<div class="ttc" id="astructFileBrowserData_html"><div class="ttname"><a href="structFileBrowserData.html">FileBrowserData</a></div><div class="ttdef"><b>Definition:</b> FileBrowserDialogImpl.cpp:169</div></div>
<div class="ttc" id="astructFileBrowserOptions_1_1Buttons_html"><div class="ttname"><a href="structFileBrowserOptions_1_1Buttons.html">FileBrowserOptions::Buttons</a></div><div class="ttdef"><b>Definition:</b> FileBrowserDialogImpl.hpp:62</div></div>
<div class="ttc" id="astructFileBrowserOptions_1_1Buttons_html_a43b25f4cece01eb8dd8d89a10e921dfc"><div class="ttname"><a href="structFileBrowserOptions_1_1Buttons.html#a43b25f4cece01eb8dd8d89a10e921dfc">FileBrowserOptions::Buttons::showHidden</a></div><div class="ttdeci">ButtonState showHidden</div><div class="ttdef"><b>Definition:</b> FileBrowserDialogImpl.hpp:66</div></div>
<div class="ttc" id="astructFileBrowserOptions_1_1Buttons_html_ac2df440c203fb3b1a3be012283427d5b"><div class="ttname"><a href="structFileBrowserOptions_1_1Buttons.html#ac2df440c203fb3b1a3be012283427d5b">FileBrowserOptions::Buttons::showPlaces</a></div><div class="ttdeci">ButtonState showPlaces</div><div class="ttdef"><b>Definition:</b> FileBrowserDialogImpl.hpp:68</div></div>
<div class="ttc" id="astructFileBrowserOptions_1_1Buttons_html_ac63aae50a8d713ac6de337cc8739c870"><div class="ttname"><a href="structFileBrowserOptions_1_1Buttons.html#ac63aae50a8d713ac6de337cc8739c870">FileBrowserOptions::Buttons::Buttons</a></div><div class="ttdeci">Buttons()</div><div class="ttdef"><b>Definition:</b> FileBrowserDialogImpl.hpp:71</div></div>
<div class="ttc" id="astructFileBrowserOptions_1_1Buttons_html_ac8174fbcf8d85ef5abece32114c234d5"><div class="ttname"><a href="structFileBrowserOptions_1_1Buttons.html#ac8174fbcf8d85ef5abece32114c234d5">FileBrowserOptions::Buttons::listAllFiles</a></div><div class="ttdeci">ButtonState listAllFiles</div><div class="ttdef"><b>Definition:</b> FileBrowserDialogImpl.hpp:64</div></div>
<div class="ttc" id="astructFileBrowserOptions_html"><div class="ttname"><a href="structFileBrowserOptions.html">FileBrowserOptions</a></div><div class="ttdef"><b>Definition:</b> FileBrowserDialogImpl.hpp:33</div></div>
<div class="ttc" id="astructFileBrowserOptions_html_a16d59d24e75eec2c6f9f3aebfe5464e7"><div class="ttname"><a href="structFileBrowserOptions.html#a16d59d24e75eec2c6f9f3aebfe5464e7">FileBrowserOptions::title</a></div><div class="ttdeci">const char * title</div><div class="ttdef"><b>Definition:</b> FileBrowserDialogImpl.hpp:44</div></div>
<div class="ttc" id="astructFileBrowserOptions_html_a921fe62f9783fee2c01ddbaa0851e8b4"><div class="ttname"><a href="structFileBrowserOptions.html#a921fe62f9783fee2c01ddbaa0851e8b4">FileBrowserOptions::startDir</a></div><div class="ttdeci">const char * startDir</div><div class="ttdef"><b>Definition:</b> FileBrowserDialogImpl.hpp:41</div></div>
<div class="ttc" id="astructFileBrowserOptions_html_a923166f4f4477b4491d3f47e05cfbdfe"><div class="ttname"><a href="structFileBrowserOptions.html#a923166f4f4477b4491d3f47e05cfbdfe">FileBrowserOptions::saving</a></div><div class="ttdeci">bool saving</div><div class="ttdef"><b>Definition:</b> FileBrowserDialogImpl.hpp:35</div></div>
<div class="ttc" id="astructFileBrowserOptions_html_ac435c15f821601fa0a10fbd4707b5ab9"><div class="ttname"><a href="structFileBrowserOptions.html#ac435c15f821601fa0a10fbd4707b5ab9">FileBrowserOptions::ButtonState</a></div><div class="ttdeci">ButtonState</div><div class="ttdef"><b>Definition:</b> FileBrowserDialogImpl.hpp:53</div></div>
<div class="ttc" id="astructFileBrowserOptions_html_acc05b9a39052fc84e4d50a62229091d8"><div class="ttname"><a href="structFileBrowserOptions.html#acc05b9a39052fc84e4d50a62229091d8">FileBrowserOptions::defaultName</a></div><div class="ttdeci">const char * defaultName</div><div class="ttdef"><b>Definition:</b> FileBrowserDialogImpl.hpp:38</div></div>
<div class="ttc" id="astructFileBrowserOptions_html_afaad52af434db54ecc629ff68b194273"><div class="ttname"><a href="structFileBrowserOptions.html#afaad52af434db54ecc629ff68b194273">FileBrowserOptions::FileBrowserOptions</a></div><div class="ttdeci">FileBrowserOptions()</div><div class="ttdef"><b>Definition:</b> FileBrowserDialogImpl.hpp:78</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Jul 27 2022 00:46:18 for DISTRHO Plugin Framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

+ 193
- 265
Geometry_8hpp_source.html
File diff suppressed because it is too large
View File


+ 56
- 57
ImageBaseWidgets_8hpp_source.html View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DISTRHO Plugin Framework: dgl/ImageBaseWidgets.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -29,10 +29,10 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
@@ -114,24 +114,24 @@ $(function() {
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;<span class="comment"> Constructor taking an existing Window as the parent transient window and an optional image.</span></div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;<span class="comment"> If @a image is valid, the about window size will match the image size.</span></div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; <span class="keyword">explicit</span> <a class="code" href="classImageBaseAboutWindow.html#ae90dd7700dc6b88eca94be95459f7607">ImageBaseAboutWindow</a>(<a class="code" href="classWindow.html">Window</a>&amp; transientParentWindow, <span class="keyword">const</span> ImageType&amp; image = ImageType());</div>
<div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="classImageBaseAboutWindow.html#ae90dd7700dc6b88eca94be95459f7607"> 46</a></span>&#160; <span class="keyword">explicit</span> <a class="code" href="classImageBaseAboutWindow.html#ae90dd7700dc6b88eca94be95459f7607">ImageBaseAboutWindow</a>(<a class="code" href="classWindow.html">Window</a>&amp; transientParentWindow, <span class="keyword">const</span> ImageType&amp; image = ImageType());</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;<span class="comment"> Constructor taking a top-level-widget&#39;s Window as the parent transient window and an optional image.</span></div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;<span class="comment"> If @a image is valid, the about window size will match the image size.</span></div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; <span class="keyword">explicit</span> <a class="code" href="classImageBaseAboutWindow.html#ae90dd7700dc6b88eca94be95459f7607">ImageBaseAboutWindow</a>(<a class="code" href="classTopLevelWidget.html">TopLevelWidget</a>* topLevelWidget, <span class="keyword">const</span> ImageType&amp; image = ImageType());</div>
<div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="classImageBaseAboutWindow.html#a6866dc828c0a7435d86887ced02ff993"> 52</a></span>&#160; <span class="keyword">explicit</span> <a class="code" href="classImageBaseAboutWindow.html#a6866dc828c0a7435d86887ced02ff993">ImageBaseAboutWindow</a>(<a class="code" href="classTopLevelWidget.html">TopLevelWidget</a>* topLevelWidget, <span class="keyword">const</span> ImageType&amp; image = ImageType());</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;<span class="comment"> Set a new image to use as background for this window.</span></div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;<span class="comment"> Window size will adjust to match the image size.</span></div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classImageBaseAboutWindow.html#a10cf37217ddc3a045970461473e79bdc">setImage</a>(<span class="keyword">const</span> ImageType&amp; image);</div>
<div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="classImageBaseAboutWindow.html#a10cf37217ddc3a045970461473e79bdc"> 58</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classImageBaseAboutWindow.html#a10cf37217ddc3a045970461473e79bdc">setImage</a>(<span class="keyword">const</span> ImageType&amp; image);</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; </div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;<span class="keyword">protected</span>:</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classImageBaseAboutWindow.html#a3e675bef6bb84375cb762767d216e8f7">onDisplay</a>() <span class="keyword">override</span>;</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classImageBaseAboutWindow.html#a239bf25a7ac8063d2cf3d4db250396e2">onKeyboard</a>(<span class="keyword">const</span> <a class="code" href="structWidget_1_1KeyboardEvent.html">KeyboardEvent</a>&amp;) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classImageBaseAboutWindow.html#ad2c3d4c6943a5562574baf60f58de483">onMouse</a>(<span class="keyword">const</span> <a class="code" href="structWidget_1_1MouseEvent.html">MouseEvent</a>&amp;) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="classImageBaseAboutWindow.html#a3e675bef6bb84375cb762767d216e8f7"> 61</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classImageBaseAboutWindow.html#a3e675bef6bb84375cb762767d216e8f7">onDisplay</a>() <span class="keyword">override</span>;</div>
<div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="classImageBaseAboutWindow.html#a239bf25a7ac8063d2cf3d4db250396e2"> 62</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classImageBaseAboutWindow.html#a239bf25a7ac8063d2cf3d4db250396e2">onKeyboard</a>(<span class="keyword">const</span> <a class="code" href="structWidget_1_1KeyboardEvent.html">KeyboardEvent</a>&amp;) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00063"></a><span class="lineno"><a class="line" href="classImageBaseAboutWindow.html#ad2c3d4c6943a5562574baf60f58de483"> 63</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classImageBaseAboutWindow.html#ad2c3d4c6943a5562574baf60f58de483">onMouse</a>(<span class="keyword">const</span> <a class="code" href="structWidget_1_1MouseEvent.html">MouseEvent</a>&amp;) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; </div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;<span class="keyword">private</span>:</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; ImageType img;</div>
@@ -172,9 +172,9 @@ $(function() {
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; <span class="keywordtype">void</span> setCallback(<a class="code" href="classImageBaseButton_1_1Callback.html">Callback</a>* callback) noexcept;</div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; </div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;<span class="keyword">protected</span>:</div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classImageBaseButton.html#a4a3eaf5367a91d43465ffca09464b8ad">onDisplay</a>() <span class="keyword">override</span>;</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classImageBaseButton.html#a643f3c0429d514c70c7a1333829f6cf8">onMouse</a>(<span class="keyword">const</span> <a class="code" href="structWidget_1_1MouseEvent.html">MouseEvent</a>&amp;) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classImageBaseButton.html#a6333af8b73082f6b4dff77cf690be82d">onMotion</a>(<span class="keyword">const</span> <a class="code" href="structWidget_1_1MotionEvent.html">MotionEvent</a>&amp;) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00104"></a><span class="lineno"><a class="line" href="classImageBaseButton.html#a4a3eaf5367a91d43465ffca09464b8ad"> 104</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classImageBaseButton.html#a4a3eaf5367a91d43465ffca09464b8ad">onDisplay</a>() <span class="keyword">override</span>;</div>
<div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="classImageBaseButton.html#a643f3c0429d514c70c7a1333829f6cf8"> 105</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classImageBaseButton.html#a643f3c0429d514c70c7a1333829f6cf8">onMouse</a>(<span class="keyword">const</span> <a class="code" href="structWidget_1_1MouseEvent.html">MouseEvent</a>&amp;) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00106"></a><span class="lineno"><a class="line" href="classImageBaseButton.html#a6333af8b73082f6b4dff77cf690be82d"> 106</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classImageBaseButton.html#a6333af8b73082f6b4dff77cf690be82d">onMotion</a>(<span class="keyword">const</span> <a class="code" href="structWidget_1_1MotionEvent.html">MotionEvent</a>&amp;) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; </div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;<span class="keyword">private</span>:</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <span class="keyword">struct </span>PrivateData;</div>
@@ -222,10 +222,10 @@ $(function() {
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; <span class="keywordtype">bool</span> setValue(<span class="keywordtype">float</span> value, <span class="keywordtype">bool</span> sendCallback = <span class="keyword">false</span>) noexcept override;</div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; </div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;protected:</div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classImageBaseKnob.html#a9a4d1a1ff6fe7e51be7491148c20d1c5">onDisplay</a>() override;</div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classImageBaseKnob.html#a6cd97ff56064b28a56d1321508e29f8b">onMouse</a>(const <a class="code" href="structWidget_1_1MouseEvent.html">MouseEvent</a>&amp;) override;</div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classImageBaseKnob.html#ab7fc0602637a98d5a0a5ecfd74557636">onMotion</a>(const <a class="code" href="structWidget_1_1MotionEvent.html">MotionEvent</a>&amp;) override;</div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classImageBaseKnob.html#aeb9c35449f4b48741ceb8ba8253648bb">onScroll</a>(const <a class="code" href="structWidget_1_1ScrollEvent.html">ScrollEvent</a>&amp;) override;</div>
<div class="line"><a name="l00154"></a><span class="lineno"><a class="line" href="classImageBaseKnob.html#a9a4d1a1ff6fe7e51be7491148c20d1c5"> 154</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classImageBaseKnob.html#a9a4d1a1ff6fe7e51be7491148c20d1c5">onDisplay</a>() override;</div>
<div class="line"><a name="l00155"></a><span class="lineno"><a class="line" href="classImageBaseKnob.html#a6cd97ff56064b28a56d1321508e29f8b"> 155</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classImageBaseKnob.html#a6cd97ff56064b28a56d1321508e29f8b">onMouse</a>(const <a class="code" href="structWidget_1_1MouseEvent.html">MouseEvent</a>&amp;) override;</div>
<div class="line"><a name="l00156"></a><span class="lineno"><a class="line" href="classImageBaseKnob.html#ab7fc0602637a98d5a0a5ecfd74557636"> 156</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classImageBaseKnob.html#ab7fc0602637a98d5a0a5ecfd74557636">onMotion</a>(const <a class="code" href="structWidget_1_1MotionEvent.html">MotionEvent</a>&amp;) override;</div>
<div class="line"><a name="l00157"></a><span class="lineno"><a class="line" href="classImageBaseKnob.html#aeb9c35449f4b48741ceb8ba8253648bb"> 157</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classImageBaseKnob.html#aeb9c35449f4b48741ceb8ba8253648bb">onScroll</a>(const <a class="code" href="structWidget_1_1ScrollEvent.html">ScrollEvent</a>&amp;) override;</div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; </div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160;private:</div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; struct PrivateData;</div>
@@ -270,9 +270,9 @@ $(function() {
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; <span class="keywordtype">void</span> setCallback(<a class="code" href="classImageBaseSlider_1_1Callback.html">Callback</a>* callback) noexcept;</div>
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; </div>
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160;protected:</div>
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classImageBaseKnob.html#a9a4d1a1ff6fe7e51be7491148c20d1c5">onDisplay</a>() override;</div>
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classImageBaseKnob.html#a6cd97ff56064b28a56d1321508e29f8b">onMouse</a>(const <a class="code" href="structWidget_1_1MouseEvent.html">MouseEvent</a>&amp;) override;</div>
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classImageBaseKnob.html#ab7fc0602637a98d5a0a5ecfd74557636">onMotion</a>(const <a class="code" href="structWidget_1_1MotionEvent.html">MotionEvent</a>&amp;) override;</div>
<div class="line"><a name="l00202"></a><span class="lineno"><a class="line" href="classImageBaseSlider.html#ad51cf7404dd7791eaa83126f346ae6c5"> 202</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classImageBaseKnob.html#a9a4d1a1ff6fe7e51be7491148c20d1c5">onDisplay</a>() override;</div>
<div class="line"><a name="l00203"></a><span class="lineno"><a class="line" href="classImageBaseSlider.html#af1caea46d10b3decd14ad795e0a58a9d"> 203</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classImageBaseKnob.html#a6cd97ff56064b28a56d1321508e29f8b">onMouse</a>(const <a class="code" href="structWidget_1_1MouseEvent.html">MouseEvent</a>&amp;) override;</div>
<div class="line"><a name="l00204"></a><span class="lineno"><a class="line" href="classImageBaseSlider.html#a2b50b9c33b7f0685c6d3037afe65ebae"> 204</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classImageBaseKnob.html#ab7fc0602637a98d5a0a5ecfd74557636">onMotion</a>(const <a class="code" href="structWidget_1_1MotionEvent.html">MotionEvent</a>&amp;) override;</div>
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; </div>
<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160;private:</div>
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; struct PrivateData;</div>
@@ -311,8 +311,8 @@ $(function() {
<div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; <span class="keywordtype">void</span> setCallback(<a class="code" href="classImageBaseSwitch_1_1Callback.html">Callback</a>* callback) noexcept;</div>
<div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; </div>
<div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160;protected:</div>
<div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classImageBaseKnob.html#a9a4d1a1ff6fe7e51be7491148c20d1c5">onDisplay</a>() override;</div>
<div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classImageBaseKnob.html#a6cd97ff56064b28a56d1321508e29f8b">onMouse</a>(const <a class="code" href="structWidget_1_1MouseEvent.html">MouseEvent</a>&amp;) override;</div>
<div class="line"><a name="l00243"></a><span class="lineno"><a class="line" href="classImageBaseSwitch.html#aee9ad32db22d06c98b37d4b62904f92b"> 243</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classImageBaseKnob.html#a9a4d1a1ff6fe7e51be7491148c20d1c5">onDisplay</a>() override;</div>
<div class="line"><a name="l00244"></a><span class="lineno"><a class="line" href="classImageBaseSwitch.html#a6912be0532a24c33e6dac851779fc8f0"> 244</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classImageBaseKnob.html#a6cd97ff56064b28a56d1321508e29f8b">onMouse</a>(const <a class="code" href="structWidget_1_1MouseEvent.html">MouseEvent</a>&amp;) override;</div>
<div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; </div>
<div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160;private:</div>
<div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; struct PrivateData;</div>
@@ -325,49 +325,48 @@ $(function() {
<div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; </div>
<div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160;END_NAMESPACE_DGL</div>
<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; </div>
<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160;<span class="preprocessor">#endif // DGL_IMAGE_BASE_WIDGETS_HPP_INCLUDED</span></div>
</div><!-- fragment --></div><!-- contents -->
<div class="ttc" id="aclassImageBaseAboutWindow_html_a3e675bef6bb84375cb762767d216e8f7"><div class="ttname"><a href="classImageBaseAboutWindow.html#a3e675bef6bb84375cb762767d216e8f7">ImageBaseAboutWindow::onDisplay</a></div><div class="ttdeci">void onDisplay() override</div></div>
<div class="ttc" id="aclassImageBaseButton_html"><div class="ttname"><a href="classImageBaseButton.html">ImageBaseButton</a></div><div class="ttdef"><b>Definition:</b> ImageBaseWidgets.hpp:84</div></div>
<div class="ttc" id="aclassImageBaseKnob_html"><div class="ttname"><a href="classImageBaseKnob.html">ImageBaseKnob</a></div><div class="ttdef"><b>Definition:</b> ImageBaseWidgets.hpp:130</div></div>
<div class="ttc" id="astructWidget_1_1ScrollEvent_html"><div class="ttname"><a href="structWidget_1_1ScrollEvent.html">Widget::ScrollEvent</a></div><div class="ttdef"><b>Definition:</b> Widget.hpp:213</div></div>
<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160;<span class="preprocessor">#endif </span><span class="comment">// DGL_IMAGE_BASE_WIDGETS_HPP_INCLUDED</span></div>
<div class="ttc" id="aclassButtonEventHandler_html"><div class="ttname"><a href="classButtonEventHandler.html">ButtonEventHandler</a></div><div class="ttdef"><b>Definition:</b> EventHandlers.hpp:38</div></div>
<div class="ttc" id="aclassImageBaseAboutWindow_html"><div class="ttname"><a href="classImageBaseAboutWindow.html">ImageBaseAboutWindow</a></div><div class="ttdef"><b>Definition:</b> ImageBaseWidgets.hpp:40</div></div>
<div class="ttc" id="aclassImageBaseAboutWindow_html_a10cf37217ddc3a045970461473e79bdc"><div class="ttname"><a href="classImageBaseAboutWindow.html#a10cf37217ddc3a045970461473e79bdc">ImageBaseAboutWindow::setImage</a></div><div class="ttdeci">void setImage(const ImageType &amp;image)</div></div>
<div class="ttc" id="aclassImageBaseSlider_html"><div class="ttname"><a href="classImageBaseSlider.html">ImageBaseSlider</a></div><div class="ttdef"><b>Definition:</b> ImageBaseWidgets.hpp:171</div></div>
<div class="ttc" id="astructWidget_1_1KeyboardEvent_html"><div class="ttname"><a href="structWidget_1_1KeyboardEvent.html">Widget::KeyboardEvent</a></div><div class="ttdef"><b>Definition:</b> Widget.hpp:94</div></div>
<div class="ttc" id="aclassSubWidget_html_a0e7a4dd27eee8a3a1b7bf12d9f21769f"><div class="ttname"><a href="classSubWidget.html#a0e7a4dd27eee8a3a1b7bf12d9f21769f">SubWidget::setAbsolutePos</a></div><div class="ttdeci">void setAbsolutePos(int x, int y) noexcept</div></div>
<div class="ttc" id="aclassWindow_html"><div class="ttname"><a href="classWindow.html">Window</a></div><div class="ttdef"><b>Definition:</b> Window.hpp:55</div></div>
<div class="ttc" id="aclassImageBaseKnob_html_aeb9c35449f4b48741ceb8ba8253648bb"><div class="ttname"><a href="classImageBaseKnob.html#aeb9c35449f4b48741ceb8ba8253648bb">ImageBaseKnob::onScroll</a></div><div class="ttdeci">bool onScroll(const ScrollEvent &amp;) override</div></div>
<div class="ttc" id="aclassSubWidget_html_a3c674e3c46206ac29a562c0f02dcf82c"><div class="ttname"><a href="classSubWidget.html#a3c674e3c46206ac29a562c0f02dcf82c">SubWidget::setAbsoluteY</a></div><div class="ttdeci">void setAbsoluteY(int y) noexcept</div></div>
<div class="ttc" id="aclassImageBaseButton_html_a4a3eaf5367a91d43465ffca09464b8ad"><div class="ttname"><a href="classImageBaseButton.html#a4a3eaf5367a91d43465ffca09464b8ad">ImageBaseButton::onDisplay</a></div><div class="ttdeci">void onDisplay() override</div></div>
<div class="ttc" id="aclassSubWidget_html_abcd0a00a4c3cdc402aea56044df26cc3"><div class="ttname"><a href="classSubWidget.html#abcd0a00a4c3cdc402aea56044df26cc3">SubWidget::setAbsoluteX</a></div><div class="ttdeci">void setAbsoluteX(int x) noexcept</div></div>
<div class="ttc" id="aclassImageBaseKnob_html_a6cd97ff56064b28a56d1321508e29f8b"><div class="ttname"><a href="classImageBaseKnob.html#a6cd97ff56064b28a56d1321508e29f8b">ImageBaseKnob::onMouse</a></div><div class="ttdeci">bool onMouse(const MouseEvent &amp;) override</div></div>
<div class="ttc" id="aclassImageBaseAboutWindow_html_a239bf25a7ac8063d2cf3d4db250396e2"><div class="ttname"><a href="classImageBaseAboutWindow.html#a239bf25a7ac8063d2cf3d4db250396e2">ImageBaseAboutWindow::onKeyboard</a></div><div class="ttdeci">bool onKeyboard(const KeyboardEvent &amp;) override</div></div>
<div class="ttc" id="aclassImageBaseAboutWindow_html_a3e675bef6bb84375cb762767d216e8f7"><div class="ttname"><a href="classImageBaseAboutWindow.html#a3e675bef6bb84375cb762767d216e8f7">ImageBaseAboutWindow::onDisplay</a></div><div class="ttdeci">void onDisplay() override</div></div>
<div class="ttc" id="aclassImageBaseAboutWindow_html_a6866dc828c0a7435d86887ced02ff993"><div class="ttname"><a href="classImageBaseAboutWindow.html#a6866dc828c0a7435d86887ced02ff993">ImageBaseAboutWindow::ImageBaseAboutWindow</a></div><div class="ttdeci">ImageBaseAboutWindow(TopLevelWidget *topLevelWidget, const ImageType &amp;image=ImageType())</div></div>
<div class="ttc" id="aclassImageBaseAboutWindow_html_ad2c3d4c6943a5562574baf60f58de483"><div class="ttname"><a href="classImageBaseAboutWindow.html#ad2c3d4c6943a5562574baf60f58de483">ImageBaseAboutWindow::onMouse</a></div><div class="ttdeci">bool onMouse(const MouseEvent &amp;) override</div></div>
<div class="ttc" id="astructWidget_1_1MotionEvent_html"><div class="ttname"><a href="structWidget_1_1MotionEvent.html">Widget::MotionEvent</a></div><div class="ttdef"><b>Definition:</b> Widget.hpp:187</div></div>
<div class="ttc" id="aclassImageBaseAboutWindow_html_ae90dd7700dc6b88eca94be95459f7607"><div class="ttname"><a href="classImageBaseAboutWindow.html#ae90dd7700dc6b88eca94be95459f7607">ImageBaseAboutWindow::ImageBaseAboutWindow</a></div><div class="ttdeci">ImageBaseAboutWindow(Window &amp;transientParentWindow, const ImageType &amp;image=ImageType())</div></div>
<div class="ttc" id="aclassImageBaseAboutWindow_html_a239bf25a7ac8063d2cf3d4db250396e2"><div class="ttname"><a href="classImageBaseAboutWindow.html#a239bf25a7ac8063d2cf3d4db250396e2">ImageBaseAboutWindow::onKeyboard</a></div><div class="ttdeci">bool onKeyboard(const KeyboardEvent &amp;) override</div></div>
<div class="ttc" id="aclassImageBaseAboutWindow_html"><div class="ttname"><a href="classImageBaseAboutWindow.html">ImageBaseAboutWindow</a></div><div class="ttdef"><b>Definition:</b> ImageBaseWidgets.hpp:39</div></div>
<div class="ttc" id="aclassImageBaseKnob_1_1Callback_html"><div class="ttname"><a href="classImageBaseKnob_1_1Callback.html">ImageBaseKnob::Callback</a></div><div class="ttdef"><b>Definition:</b> ImageBaseWidgets.hpp:134</div></div>
<div class="ttc" id="aclassImageBaseKnob_html_a9a4d1a1ff6fe7e51be7491148c20d1c5"><div class="ttname"><a href="classImageBaseKnob.html#a9a4d1a1ff6fe7e51be7491148c20d1c5">ImageBaseKnob::onDisplay</a></div><div class="ttdeci">void onDisplay() override</div></div>
<div class="ttc" id="aclassImageBaseButton_1_1Callback_html"><div class="ttname"><a href="classImageBaseButton_1_1Callback.html">ImageBaseButton::Callback</a></div><div class="ttdef"><b>Definition:</b> ImageBaseWidgets.hpp:89</div></div>
<div class="ttc" id="aclassImageBaseButton_html"><div class="ttname"><a href="classImageBaseButton.html">ImageBaseButton</a></div><div class="ttdef"><b>Definition:</b> ImageBaseWidgets.hpp:86</div></div>
<div class="ttc" id="aclassImageBaseButton_html_a4a3eaf5367a91d43465ffca09464b8ad"><div class="ttname"><a href="classImageBaseButton.html#a4a3eaf5367a91d43465ffca09464b8ad">ImageBaseButton::onDisplay</a></div><div class="ttdeci">void onDisplay() override</div></div>
<div class="ttc" id="aclassImageBaseButton_html_a6333af8b73082f6b4dff77cf690be82d"><div class="ttname"><a href="classImageBaseButton.html#a6333af8b73082f6b4dff77cf690be82d">ImageBaseButton::onMotion</a></div><div class="ttdeci">bool onMotion(const MotionEvent &amp;) override</div></div>
<div class="ttc" id="aclassImageBaseButton_html_a643f3c0429d514c70c7a1333829f6cf8"><div class="ttname"><a href="classImageBaseButton.html#a643f3c0429d514c70c7a1333829f6cf8">ImageBaseButton::onMouse</a></div><div class="ttdeci">bool onMouse(const MouseEvent &amp;) override</div></div>
<div class="ttc" id="aclassStandaloneWindow_html"><div class="ttname"><a href="classStandaloneWindow.html">StandaloneWindow</a></div><div class="ttdef"><b>Definition:</b> StandaloneWindow.hpp:27</div></div>
<div class="ttc" id="aclassImageBaseKnob_1_1Callback_html"><div class="ttname"><a href="classImageBaseKnob_1_1Callback.html">ImageBaseKnob::Callback</a></div><div class="ttdef"><b>Definition:</b> ImageBaseWidgets.hpp:135</div></div>
<div class="ttc" id="aclassImageBaseKnob_html"><div class="ttname"><a href="classImageBaseKnob.html">ImageBaseKnob</a></div><div class="ttdef"><b>Definition:</b> ImageBaseWidgets.hpp:132</div></div>
<div class="ttc" id="aclassImageBaseKnob_html_a6cd97ff56064b28a56d1321508e29f8b"><div class="ttname"><a href="classImageBaseKnob.html#a6cd97ff56064b28a56d1321508e29f8b">ImageBaseKnob::onMouse</a></div><div class="ttdeci">bool onMouse(const MouseEvent &amp;) override</div></div>
<div class="ttc" id="aclassImageBaseKnob_html_a9a4d1a1ff6fe7e51be7491148c20d1c5"><div class="ttname"><a href="classImageBaseKnob.html#a9a4d1a1ff6fe7e51be7491148c20d1c5">ImageBaseKnob::onDisplay</a></div><div class="ttdeci">void onDisplay() override</div></div>
<div class="ttc" id="aclassImageBaseKnob_html_ab7fc0602637a98d5a0a5ecfd74557636"><div class="ttname"><a href="classImageBaseKnob.html#ab7fc0602637a98d5a0a5ecfd74557636">ImageBaseKnob::onMotion</a></div><div class="ttdeci">bool onMotion(const MotionEvent &amp;) override</div></div>
<div class="ttc" id="aclassPoint_html"><div class="ttname"><a href="classPoint.html">Point</a></div><div class="ttdef"><b>Definition:</b> Geometry.hpp:40</div></div>
<div class="ttc" id="aclassImageBaseButton_1_1Callback_html"><div class="ttname"><a href="classImageBaseButton_1_1Callback.html">ImageBaseButton::Callback</a></div><div class="ttdef"><b>Definition:</b> ImageBaseWidgets.hpp:88</div></div>
<div class="ttc" id="aclassSubWidget_html"><div class="ttname"><a href="classSubWidget.html">SubWidget</a></div><div class="ttdef"><b>Definition:</b> SubWidget.hpp:39</div></div>
<div class="ttc" id="astructWidget_1_1MouseEvent_html"><div class="ttname"><a href="structWidget_1_1MouseEvent.html">Widget::MouseEvent</a></div><div class="ttdef"><b>Definition:</b> Widget.hpp:165</div></div>
<div class="ttc" id="aclassImageBaseButton_html_a6333af8b73082f6b4dff77cf690be82d"><div class="ttname"><a href="classImageBaseButton.html#a6333af8b73082f6b4dff77cf690be82d">ImageBaseButton::onMotion</a></div><div class="ttdeci">bool onMotion(const MotionEvent &amp;) override</div></div>
<div class="ttc" id="aclassImageBaseSwitch_1_1Callback_html"><div class="ttname"><a href="classImageBaseSwitch_1_1Callback.html">ImageBaseSwitch::Callback</a></div><div class="ttdef"><b>Definition:</b> ImageBaseWidgets.hpp:225</div></div>
<div class="ttc" id="aclassImageBaseSwitch_html"><div class="ttname"><a href="classImageBaseSwitch.html">ImageBaseSwitch</a></div><div class="ttdef"><b>Definition:</b> ImageBaseWidgets.hpp:222</div></div>
<div class="ttc" id="aclassButtonEventHandler_html"><div class="ttname"><a href="classButtonEventHandler.html">ButtonEventHandler</a></div><div class="ttdef"><b>Definition:</b> EventHandlers.hpp:37</div></div>
<div class="ttc" id="aclassKnobEventHandler_html"><div class="ttname"><a href="classKnobEventHandler.html">KnobEventHandler</a></div><div class="ttdef"><b>Definition:</b> EventHandlers.hpp:92</div></div>
<div class="ttc" id="aclassTopLevelWidget_html"><div class="ttname"><a href="classTopLevelWidget.html">TopLevelWidget</a></div><div class="ttdef"><b>Definition:</b> TopLevelWidget.hpp:46</div></div>
<div class="ttc" id="aclassImageBaseSlider_1_1Callback_html"><div class="ttname"><a href="classImageBaseSlider_1_1Callback.html">ImageBaseSlider::Callback</a></div><div class="ttdef"><b>Definition:</b> ImageBaseWidgets.hpp:174</div></div>
<div class="ttc" id="aclassWidget_html"><div class="ttname"><a href="classWidget.html">Widget</a></div><div class="ttdef"><b>Definition:</b> Widget.hpp:53</div></div>
<div class="ttc" id="aclassImageBaseKnob_html_aeb9c35449f4b48741ceb8ba8253648bb"><div class="ttname"><a href="classImageBaseKnob.html#aeb9c35449f4b48741ceb8ba8253648bb">ImageBaseKnob::onScroll</a></div><div class="ttdeci">bool onScroll(const ScrollEvent &amp;) override</div></div>
<div class="ttc" id="aclassImageBaseSlider_1_1Callback_html"><div class="ttname"><a href="classImageBaseSlider_1_1Callback.html">ImageBaseSlider::Callback</a></div><div class="ttdef"><b>Definition:</b> ImageBaseWidgets.hpp:175</div></div>
<div class="ttc" id="aclassImageBaseSlider_html"><div class="ttname"><a href="classImageBaseSlider.html">ImageBaseSlider</a></div><div class="ttdef"><b>Definition:</b> ImageBaseWidgets.hpp:172</div></div>
<div class="ttc" id="aclassImageBaseSwitch_1_1Callback_html"><div class="ttname"><a href="classImageBaseSwitch_1_1Callback.html">ImageBaseSwitch::Callback</a></div><div class="ttdef"><b>Definition:</b> ImageBaseWidgets.hpp:226</div></div>
<div class="ttc" id="aclassImageBaseSwitch_html"><div class="ttname"><a href="classImageBaseSwitch.html">ImageBaseSwitch</a></div><div class="ttdef"><b>Definition:</b> ImageBaseWidgets.hpp:223</div></div>
<div class="ttc" id="aclassKnobEventHandler_html"><div class="ttname"><a href="classKnobEventHandler.html">KnobEventHandler</a></div><div class="ttdef"><b>Definition:</b> EventHandlers.hpp:93</div></div>
<div class="ttc" id="aclassPoint_html"><div class="ttname"><a href="classPoint.html">Point</a></div><div class="ttdef"><b>Definition:</b> Geometry.hpp:41</div></div>
<div class="ttc" id="aclassStandaloneWindow_html"><div class="ttname"><a href="classStandaloneWindow.html">StandaloneWindow</a></div><div class="ttdef"><b>Definition:</b> StandaloneWindow.hpp:29</div></div>
<div class="ttc" id="aclassSubWidget_html"><div class="ttname"><a href="classSubWidget.html">SubWidget</a></div><div class="ttdef"><b>Definition:</b> SubWidget.hpp:40</div></div>
<div class="ttc" id="aclassSubWidget_html_a0e7a4dd27eee8a3a1b7bf12d9f21769f"><div class="ttname"><a href="classSubWidget.html#a0e7a4dd27eee8a3a1b7bf12d9f21769f">SubWidget::setAbsolutePos</a></div><div class="ttdeci">void setAbsolutePos(int x, int y) noexcept</div></div>
<div class="ttc" id="aclassSubWidget_html_a3c674e3c46206ac29a562c0f02dcf82c"><div class="ttname"><a href="classSubWidget.html#a3c674e3c46206ac29a562c0f02dcf82c">SubWidget::setAbsoluteY</a></div><div class="ttdeci">void setAbsoluteY(int y) noexcept</div></div>
<div class="ttc" id="aclassSubWidget_html_abcd0a00a4c3cdc402aea56044df26cc3"><div class="ttname"><a href="classSubWidget.html#abcd0a00a4c3cdc402aea56044df26cc3">SubWidget::setAbsoluteX</a></div><div class="ttdeci">void setAbsoluteX(int x) noexcept</div></div>
<div class="ttc" id="aclassTopLevelWidget_html"><div class="ttname"><a href="classTopLevelWidget.html">TopLevelWidget</a></div><div class="ttdef"><b>Definition:</b> TopLevelWidget.hpp:47</div></div>
<div class="ttc" id="aclassWidget_html"><div class="ttname"><a href="classWidget.html">Widget</a></div><div class="ttdef"><b>Definition:</b> Widget.hpp:54</div></div>
<div class="ttc" id="aclassWindow_html"><div class="ttname"><a href="classWindow.html">Window</a></div><div class="ttdef"><b>Definition:</b> Window.hpp:63</div></div>
<div class="ttc" id="astructWidget_1_1KeyboardEvent_html"><div class="ttname"><a href="structWidget_1_1KeyboardEvent.html">Widget::KeyboardEvent</a></div><div class="ttdef"><b>Definition:</b> Widget.hpp:90</div></div>
<div class="ttc" id="astructWidget_1_1MotionEvent_html"><div class="ttname"><a href="structWidget_1_1MotionEvent.html">Widget::MotionEvent</a></div><div class="ttdef"><b>Definition:</b> Widget.hpp:182</div></div>
<div class="ttc" id="astructWidget_1_1MouseEvent_html"><div class="ttname"><a href="structWidget_1_1MouseEvent.html">Widget::MouseEvent</a></div><div class="ttdef"><b>Definition:</b> Widget.hpp:159</div></div>
<div class="ttc" id="astructWidget_1_1ScrollEvent_html"><div class="ttname"><a href="structWidget_1_1ScrollEvent.html">Widget::ScrollEvent</a></div><div class="ttdef"><b>Definition:</b> Widget.hpp:206</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Mar 31 2022 17:09:26 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
Generated on Wed Jul 27 2022 00:46:18 for DISTRHO Plugin Framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

+ 44
- 44
ImageBase_8hpp_source.html View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DISTRHO Plugin Framework: dgl/ImageBase.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -29,10 +29,10 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
@@ -118,105 +118,105 @@ $(function() {
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;<span class="comment"> Constructor for a null Image.</span></div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <a class="code" href="classImageBase.html#a1a1f82fcab01adea2f8783547e8a18aa">ImageBase</a>();</div>
<div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="classImageBase.html#a1a1f82fcab01adea2f8783547e8a18aa"> 50</a></span>&#160; <a class="code" href="classImageBase.html#a1a1f82fcab01adea2f8783547e8a18aa">ImageBase</a>();</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;<span class="comment"> Constructor using raw image data.</span></div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;<span class="comment"> @note @a rawData must remain valid for the lifetime of this Image.</span></div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <a class="code" href="classImageBase.html#a1a1f82fcab01adea2f8783547e8a18aa">ImageBase</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* rawData, uint width, uint height, ImageFormat format);</div>
<div class="line"><a name="l00056"></a><span class="lineno"><a class="line" href="classImageBase.html#a494cd9221fe88f34ce011f004eea7596"> 56</a></span>&#160; <a class="code" href="classImageBase.html#a494cd9221fe88f34ce011f004eea7596">ImageBase</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* rawData, uint width, uint height, ImageFormat format);</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;<span class="comment"> Constructor using raw image data.</span></div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;<span class="comment"> @note @a rawData must remain valid for the lifetime of this Image.</span></div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <a class="code" href="classImageBase.html#a1a1f82fcab01adea2f8783547e8a18aa">ImageBase</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* rawData, <span class="keyword">const</span> <a class="code" href="classSize.html">Size&lt;uint&gt;</a>&amp; size, ImageFormat format);</div>
<div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="classImageBase.html#aa61181afeb3abd0253ae0a25712164ee"> 62</a></span>&#160; <a class="code" href="classImageBase.html#aa61181afeb3abd0253ae0a25712164ee">ImageBase</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* rawData, <span class="keyword">const</span> <a class="code" href="classSize.html">Size&lt;uint&gt;</a>&amp; size, ImageFormat format);</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;<span class="comment"> Constructor using another image data.</span></div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <a class="code" href="classImageBase.html#a1a1f82fcab01adea2f8783547e8a18aa">ImageBase</a>(<span class="keyword">const</span> <a class="code" href="classImageBase.html">ImageBase</a>&amp; image);</div>
<div class="line"><a name="l00067"></a><span class="lineno"><a class="line" href="classImageBase.html#a56dd89a0a5c0abc604044e33c8b1db59"> 67</a></span>&#160; <a class="code" href="classImageBase.html#a56dd89a0a5c0abc604044e33c8b1db59">ImageBase</a>(<span class="keyword">const</span> <a class="code" href="classImageBase.html">ImageBase</a>&amp; image);</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; </div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;<span class="keyword">public</span>:<span class="comment"></span></div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;<span class="comment"> Destructor.</span></div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <span class="keyword">virtual</span> <a class="code" href="classImageBase.html#a247e1c3259d5943a5766c99f61da9309">~ImageBase</a>();</div>
<div class="line"><a name="l00073"></a><span class="lineno"><a class="line" href="classImageBase.html#a247e1c3259d5943a5766c99f61da9309"> 73</a></span>&#160; <span class="keyword">virtual</span> <a class="code" href="classImageBase.html#a247e1c3259d5943a5766c99f61da9309">~ImageBase</a>();</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160;<span class="comment"> Check if this image is valid.</span></div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classImageBase.html#ab5b2bc7d68b0aff3452478f906aa960f">isValid</a>() <span class="keyword">const</span> noexcept;</div>
<div class="line"><a name="l00078"></a><span class="lineno"><a class="line" href="classImageBase.html#ab5b2bc7d68b0aff3452478f906aa960f"> 78</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classImageBase.html#ab5b2bc7d68b0aff3452478f906aa960f">isValid</a>() const noexcept;</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160;<span class="comment"> Check if this image is not valid.</span></div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classImageBase.html#a83ea79fff6adfa0720985f2e9794ed2d">isInvalid</a>() <span class="keyword">const</span> noexcept;</div>
<div class="line"><a name="l00083"></a><span class="lineno"><a class="line" href="classImageBase.html#a83ea79fff6adfa0720985f2e9794ed2d"> 83</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classImageBase.html#a83ea79fff6adfa0720985f2e9794ed2d">isInvalid</a>() const noexcept;</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160;<span class="comment"> Get width.</span></div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; uint <a class="code" href="classImageBase.html#a82057493bae9af996a9a10b1aa731666">getWidth</a>() <span class="keyword">const</span> noexcept;</div>
<div class="line"><a name="l00088"></a><span class="lineno"><a class="line" href="classImageBase.html#a82057493bae9af996a9a10b1aa731666"> 88</a></span>&#160; uint <a class="code" href="classImageBase.html#a82057493bae9af996a9a10b1aa731666">getWidth</a>() const noexcept;</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160;<span class="comment"> Get height.</span></div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; uint <a class="code" href="classImageBase.html#aff56029a17822f19b518560e82aba878">getHeight</a>() <span class="keyword">const</span> noexcept;</div>
<div class="line"><a name="l00093"></a><span class="lineno"><a class="line" href="classImageBase.html#aff56029a17822f19b518560e82aba878"> 93</a></span>&#160; uint <a class="code" href="classImageBase.html#aff56029a17822f19b518560e82aba878">getHeight</a>() const noexcept;</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160;<span class="comment"> Get size.</span></div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; <span class="keyword">const</span> <a class="code" href="classSize.html">Size&lt;uint&gt;</a>&amp; <a class="code" href="classImageBase.html#a7609a68efebd27587bb98e386db0e9e2">getSize</a>() <span class="keyword">const</span> noexcept;</div>
<div class="line"><a name="l00098"></a><span class="lineno"><a class="line" href="classImageBase.html#a7609a68efebd27587bb98e386db0e9e2"> 98</a></span>&#160; const <a class="code" href="classSize.html">Size</a>&lt;uint&gt;&amp; <a class="code" href="classImageBase.html#a7609a68efebd27587bb98e386db0e9e2">getSize</a>() const noexcept;</div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;<span class="comment"> Get the raw image data.</span></div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classImageBase.html#aea60747a216159b14a8d020cb9b19546">getRawData</a>() <span class="keyword">const</span> noexcept;</div>
<div class="line"><a name="l00103"></a><span class="lineno"><a class="line" href="classImageBase.html#aea60747a216159b14a8d020cb9b19546"> 103</a></span>&#160; const <span class="keywordtype">char</span>* <a class="code" href="classImageBase.html#aea60747a216159b14a8d020cb9b19546">getRawData</a>() const noexcept;</div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;<span class="comment"> Get the image format.</span></div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; ImageFormat <a class="code" href="classImageBase.html#a4b0c40113f956eaf2f2e0e51395b0926">getFormat</a>() <span class="keyword">const</span> noexcept;</div>
<div class="line"><a name="l00108"></a><span class="lineno"><a class="line" href="classImageBase.html#a4b0c40113f956eaf2f2e0e51395b0926"> 108</a></span>&#160; ImageFormat <a class="code" href="classImageBase.html#a4b0c40113f956eaf2f2e0e51395b0926">getFormat</a>() const noexcept;</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;<span class="comment"> Load image data from memory.</span></div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;<span class="comment"> @note @a rawData must remain valid for the lifetime of this Image.</span></div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classImageBase.html#a1d7893360e704dff3f2da11e7750359c">loadFromMemory</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* rawData, uint width, uint height, ImageFormat format = kImageFormatBGRA) noexcept;</div>
<div class="line"><a name="l00114"></a><span class="lineno"><a class="line" href="classImageBase.html#a1d7893360e704dff3f2da11e7750359c"> 114</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classImageBase.html#a1d7893360e704dff3f2da11e7750359c">loadFromMemory</a>(const <span class="keywordtype">char</span>* rawData, uint width, uint height, ImageFormat format = kImageFormatBGRA) noexcept;</div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;<span class="comment"> Load image data from memory.</span></div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;<span class="comment"> @note @a rawData must remain valid for the lifetime of this Image.</span></div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classImageBase.html#a1d7893360e704dff3f2da11e7750359c">loadFromMemory</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* rawData,</div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <span class="keyword">const</span> <a class="code" href="classSize.html">Size&lt;uint&gt;</a>&amp; size,</div>
<div class="line"><a name="l00120"></a><span class="lineno"><a class="line" href="classImageBase.html#a2c922b2ba7133937e74e1629fdde4f0e"> 120</a></span>&#160; virtual <span class="keywordtype">void</span> <a class="code" href="classImageBase.html#a1d7893360e704dff3f2da11e7750359c">loadFromMemory</a>(const <span class="keywordtype">char</span>* rawData,</div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; const <a class="code" href="classSize.html">Size</a>&lt;uint&gt;&amp; size,</div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; ImageFormat format = kImageFormatBGRA) noexcept;</div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;<span class="comment"> Draw this image at (0, 0) point using the current OpenGL context.</span></div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classImageBase.html#a94fc564a4bb8c18cd576ee9b456887a9">draw</a>(<span class="keyword">const</span> <a class="code" href="structGraphicsContext.html">GraphicsContext</a>&amp; context);</div>
<div class="line"><a name="l00127"></a><span class="lineno"><a class="line" href="classImageBase.html#a94fc564a4bb8c18cd576ee9b456887a9"> 127</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classImageBase.html#a94fc564a4bb8c18cd576ee9b456887a9">draw</a>(const <a class="code" href="structGraphicsContext.html">GraphicsContext</a>&amp; context);</div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;<span class="comment"> Draw this image at (x, y) point using the current OpenGL context.</span></div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classImageBase.html#a16d58063acd1a1e6ae8bc3afdea610f8">drawAt</a>(<span class="keyword">const</span> <a class="code" href="structGraphicsContext.html">GraphicsContext</a>&amp; context, <span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y);</div>
<div class="line"><a name="l00132"></a><span class="lineno"><a class="line" href="classImageBase.html#a16d58063acd1a1e6ae8bc3afdea610f8"> 132</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classImageBase.html#a16d58063acd1a1e6ae8bc3afdea610f8">drawAt</a>(const <a class="code" href="structGraphicsContext.html">GraphicsContext</a>&amp; context, <span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y);</div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;<span class="comment"> Draw this image at position @a pos using the current OpenGL context.</span></div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classImageBase.html#a16d58063acd1a1e6ae8bc3afdea610f8">drawAt</a>(<span class="keyword">const</span> <a class="code" href="structGraphicsContext.html">GraphicsContext</a>&amp; context, <span class="keyword">const</span> <a class="code" href="classPoint.html">Point&lt;int&gt;</a>&amp; pos) = 0;</div>
<div class="line"><a name="l00137"></a><span class="lineno"><a class="line" href="classImageBase.html#afef0b2e0d1baa305312435d0de2e027c"> 137</a></span>&#160; virtual <span class="keywordtype">void</span> <a class="code" href="classImageBase.html#a16d58063acd1a1e6ae8bc3afdea610f8">drawAt</a>(const <a class="code" href="structGraphicsContext.html">GraphicsContext</a>&amp; context, const <a class="code" href="classPoint.html">Point</a>&lt;<span class="keywordtype">int</span>&gt;&amp; pos) = 0;</div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160;<span class="comment"> TODO document this.</span></div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; <a class="code" href="classImageBase.html">ImageBase</a>&amp; <a class="code" href="classImageBase.html#ac352a5a4291cd0945c663b17631598dc">operator=</a>(<span class="keyword">const</span> <a class="code" href="classImageBase.html">ImageBase</a>&amp; image) noexcept;</div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> <a class="code" href="classImageBase.html">ImageBase</a>&amp; image) <span class="keyword">const</span> noexcept;</div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <span class="keywordtype">bool</span> operator!=(<span class="keyword">const</span> <a class="code" href="classImageBase.html">ImageBase</a>&amp; image) <span class="keyword">const</span> noexcept;</div>
<div class="line"><a name="l00142"></a><span class="lineno"><a class="line" href="classImageBase.html#ac352a5a4291cd0945c663b17631598dc"> 142</a></span>&#160; <a class="code" href="classImageBase.html">ImageBase</a>&amp; operator=(const <a class="code" href="classImageBase.html">ImageBase</a>&amp; image) noexcept;</div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; <span class="keywordtype">bool</span> operator==(const <a class="code" href="classImageBase.html">ImageBase</a>&amp; image) const noexcept;</div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <span class="keywordtype">bool</span> operator!=(const <a class="code" href="classImageBase.html">ImageBase</a>&amp; image) const noexcept;</div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; </div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;<span class="keyword">protected</span>:</div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; <span class="keyword">const</span> <span class="keywordtype">char</span>* rawData;</div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; <a class="code" href="classSize.html">Size&lt;uint&gt;</a> size;</div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;protected:</div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; const <span class="keywordtype">char</span>* rawData;</div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; <a class="code" href="classSize.html">Size</a>&lt;uint&gt; size;</div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; ImageFormat format;</div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160;};</div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; </div>
@@ -224,30 +224,30 @@ $(function() {
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; </div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;END_NAMESPACE_DGL</div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; </div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;<span class="preprocessor">#endif // DGL_IMAGE_HPP_INCLUDED</span></div>
</div><!-- fragment --></div><!-- contents -->
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;<span class="preprocessor">#endif </span><span class="comment">// DGL_IMAGE_HPP_INCLUDED</span></div>
<div class="ttc" id="aclassImageBase_html"><div class="ttname"><a href="classImageBase.html">ImageBase</a></div><div class="ttdef"><b>Definition:</b> ImageBase.hpp:45</div></div>
<div class="ttc" id="aclassImageBase_html_a16d58063acd1a1e6ae8bc3afdea610f8"><div class="ttname"><a href="classImageBase.html#a16d58063acd1a1e6ae8bc3afdea610f8">ImageBase::drawAt</a></div><div class="ttdeci">void drawAt(const GraphicsContext &amp;context, int x, int y)</div></div>
<div class="ttc" id="aclassImageBase_html_a1a1f82fcab01adea2f8783547e8a18aa"><div class="ttname"><a href="classImageBase.html#a1a1f82fcab01adea2f8783547e8a18aa">ImageBase::ImageBase</a></div><div class="ttdeci">ImageBase()</div></div>
<div class="ttc" id="aclassImageBase_html_a1d7893360e704dff3f2da11e7750359c"><div class="ttname"><a href="classImageBase.html#a1d7893360e704dff3f2da11e7750359c">ImageBase::loadFromMemory</a></div><div class="ttdeci">void loadFromMemory(const char *rawData, uint width, uint height, ImageFormat format=kImageFormatBGRA) noexcept</div></div>
<div class="ttc" id="astructGraphicsContext_html"><div class="ttname"><a href="structGraphicsContext.html">GraphicsContext</a></div><div class="ttdef"><b>Definition:</b> Base.hpp:171</div></div>
<div class="ttc" id="aclassImageBase_html_ac352a5a4291cd0945c663b17631598dc"><div class="ttname"><a href="classImageBase.html#ac352a5a4291cd0945c663b17631598dc">ImageBase::operator=</a></div><div class="ttdeci">ImageBase &amp; operator=(const ImageBase &amp;image) noexcept</div></div>
<div class="ttc" id="aclassImageBase_html_a83ea79fff6adfa0720985f2e9794ed2d"><div class="ttname"><a href="classImageBase.html#a83ea79fff6adfa0720985f2e9794ed2d">ImageBase::isInvalid</a></div><div class="ttdeci">bool isInvalid() const noexcept</div></div>
<div class="ttc" id="aclassImageBase_html_aea60747a216159b14a8d020cb9b19546"><div class="ttname"><a href="classImageBase.html#aea60747a216159b14a8d020cb9b19546">ImageBase::getRawData</a></div><div class="ttdeci">const char * getRawData() const noexcept</div></div>
<div class="ttc" id="aclassImageBase_html_ab5b2bc7d68b0aff3452478f906aa960f"><div class="ttname"><a href="classImageBase.html#ab5b2bc7d68b0aff3452478f906aa960f">ImageBase::isValid</a></div><div class="ttdeci">bool isValid() const noexcept</div></div>
<div class="ttc" id="aclassSize_html"><div class="ttname"><a href="classSize.html">Size&lt; uint &gt;</a></div></div>
<div class="ttc" id="aclassImageBase_html_a4b0c40113f956eaf2f2e0e51395b0926"><div class="ttname"><a href="classImageBase.html#a4b0c40113f956eaf2f2e0e51395b0926">ImageBase::getFormat</a></div><div class="ttdeci">ImageFormat getFormat() const noexcept</div></div>
<div class="ttc" id="aclassImageBase_html_a247e1c3259d5943a5766c99f61da9309"><div class="ttname"><a href="classImageBase.html#a247e1c3259d5943a5766c99f61da9309">ImageBase::~ImageBase</a></div><div class="ttdeci">virtual ~ImageBase()</div></div>
<div class="ttc" id="aclassImageBase_html_a494cd9221fe88f34ce011f004eea7596"><div class="ttname"><a href="classImageBase.html#a494cd9221fe88f34ce011f004eea7596">ImageBase::ImageBase</a></div><div class="ttdeci">ImageBase(const char *rawData, uint width, uint height, ImageFormat format)</div></div>
<div class="ttc" id="aclassImageBase_html_a4b0c40113f956eaf2f2e0e51395b0926"><div class="ttname"><a href="classImageBase.html#a4b0c40113f956eaf2f2e0e51395b0926">ImageBase::getFormat</a></div><div class="ttdeci">ImageFormat getFormat() const noexcept</div></div>
<div class="ttc" id="aclassImageBase_html_a56dd89a0a5c0abc604044e33c8b1db59"><div class="ttname"><a href="classImageBase.html#a56dd89a0a5c0abc604044e33c8b1db59">ImageBase::ImageBase</a></div><div class="ttdeci">ImageBase(const ImageBase &amp;image)</div></div>
<div class="ttc" id="aclassImageBase_html_a7609a68efebd27587bb98e386db0e9e2"><div class="ttname"><a href="classImageBase.html#a7609a68efebd27587bb98e386db0e9e2">ImageBase::getSize</a></div><div class="ttdeci">const Size&lt; uint &gt; &amp; getSize() const noexcept</div></div>
<div class="ttc" id="aclassImageBase_html"><div class="ttname"><a href="classImageBase.html">ImageBase</a></div><div class="ttdef"><b>Definition:</b> ImageBase.hpp:44</div></div>
<div class="ttc" id="aclassImageBase_html_a1a1f82fcab01adea2f8783547e8a18aa"><div class="ttname"><a href="classImageBase.html#a1a1f82fcab01adea2f8783547e8a18aa">ImageBase::ImageBase</a></div><div class="ttdeci">ImageBase()</div></div>
<div class="ttc" id="aclassImageBase_html_a82057493bae9af996a9a10b1aa731666"><div class="ttname"><a href="classImageBase.html#a82057493bae9af996a9a10b1aa731666">ImageBase::getWidth</a></div><div class="ttdeci">uint getWidth() const noexcept</div></div>
<div class="ttc" id="aclassImageBase_html_a16d58063acd1a1e6ae8bc3afdea610f8"><div class="ttname"><a href="classImageBase.html#a16d58063acd1a1e6ae8bc3afdea610f8">ImageBase::drawAt</a></div><div class="ttdeci">void drawAt(const GraphicsContext &amp;context, int x, int y)</div></div>
<div class="ttc" id="aclassImageBase_html_aff56029a17822f19b518560e82aba878"><div class="ttname"><a href="classImageBase.html#aff56029a17822f19b518560e82aba878">ImageBase::getHeight</a></div><div class="ttdeci">uint getHeight() const noexcept</div></div>
<div class="ttc" id="aclassPoint_html"><div class="ttname"><a href="classPoint.html">Point&lt; int &gt;</a></div></div>
<div class="ttc" id="aclassImageBase_html_a83ea79fff6adfa0720985f2e9794ed2d"><div class="ttname"><a href="classImageBase.html#a83ea79fff6adfa0720985f2e9794ed2d">ImageBase::isInvalid</a></div><div class="ttdeci">bool isInvalid() const noexcept</div></div>
<div class="ttc" id="aclassImageBase_html_a94fc564a4bb8c18cd576ee9b456887a9"><div class="ttname"><a href="classImageBase.html#a94fc564a4bb8c18cd576ee9b456887a9">ImageBase::draw</a></div><div class="ttdeci">void draw(const GraphicsContext &amp;context)</div></div>
<div class="ttc" id="aclassImageBase_html_aa61181afeb3abd0253ae0a25712164ee"><div class="ttname"><a href="classImageBase.html#aa61181afeb3abd0253ae0a25712164ee">ImageBase::ImageBase</a></div><div class="ttdeci">ImageBase(const char *rawData, const Size&lt; uint &gt; &amp;size, ImageFormat format)</div></div>
<div class="ttc" id="aclassImageBase_html_ab5b2bc7d68b0aff3452478f906aa960f"><div class="ttname"><a href="classImageBase.html#ab5b2bc7d68b0aff3452478f906aa960f">ImageBase::isValid</a></div><div class="ttdeci">bool isValid() const noexcept</div></div>
<div class="ttc" id="aclassImageBase_html_aea60747a216159b14a8d020cb9b19546"><div class="ttname"><a href="classImageBase.html#aea60747a216159b14a8d020cb9b19546">ImageBase::getRawData</a></div><div class="ttdeci">const char * getRawData() const noexcept</div></div>
<div class="ttc" id="aclassImageBase_html_aff56029a17822f19b518560e82aba878"><div class="ttname"><a href="classImageBase.html#aff56029a17822f19b518560e82aba878">ImageBase::getHeight</a></div><div class="ttdeci">uint getHeight() const noexcept</div></div>
<div class="ttc" id="aclassPoint_html"><div class="ttname"><a href="classPoint.html">Point</a></div><div class="ttdef"><b>Definition:</b> Geometry.hpp:41</div></div>
<div class="ttc" id="aclassSize_html"><div class="ttname"><a href="classSize.html">Size&lt; uint &gt;</a></div></div>
<div class="ttc" id="astructGraphicsContext_html"><div class="ttname"><a href="structGraphicsContext.html">GraphicsContext</a></div><div class="ttdef"><b>Definition:</b> Base.hpp:212</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Mar 31 2022 17:09:26 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
Generated on Wed Jul 27 2022 00:46:18 for DISTRHO Plugin Framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

+ 10
- 12
ImageWidgets_8hpp_source.html View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DISTRHO Plugin Framework: dgl/ImageWidgets.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -29,10 +29,10 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
@@ -109,18 +109,16 @@ $(function() {
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; </div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;END_NAMESPACE_DGL</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; </div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;<span class="preprocessor">#endif // DGL_IMAGE_WIDGETS_HPP_INCLUDED</span></div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;<span class="preprocessor">#endif </span><span class="comment">// DGL_IMAGE_WIDGETS_HPP_INCLUDED</span></div>
<div class="ttc" id="aclassImageBaseAboutWindow_html"><div class="ttname"><a href="classImageBaseAboutWindow.html">ImageBaseAboutWindow</a></div><div class="ttdef"><b>Definition:</b> ImageBaseWidgets.hpp:40</div></div>
<div class="ttc" id="aclassImageBaseButton_html"><div class="ttname"><a href="classImageBaseButton.html">ImageBaseButton</a></div><div class="ttdef"><b>Definition:</b> ImageBaseWidgets.hpp:86</div></div>
<div class="ttc" id="aclassImageBaseKnob_html"><div class="ttname"><a href="classImageBaseKnob.html">ImageBaseKnob</a></div><div class="ttdef"><b>Definition:</b> ImageBaseWidgets.hpp:132</div></div>
<div class="ttc" id="aclassImageBaseSlider_html"><div class="ttname"><a href="classImageBaseSlider.html">ImageBaseSlider</a></div><div class="ttdef"><b>Definition:</b> ImageBaseWidgets.hpp:172</div></div>
<div class="ttc" id="aclassImageBaseSwitch_html"><div class="ttname"><a href="classImageBaseSwitch.html">ImageBaseSwitch</a></div><div class="ttdef"><b>Definition:</b> ImageBaseWidgets.hpp:223</div></div>
</div><!-- fragment --></div><!-- contents -->
<div class="ttc" id="aclassImageBaseButton_html"><div class="ttname"><a href="classImageBaseButton.html">ImageBaseButton</a></div><div class="ttdef"><b>Definition:</b> ImageBaseWidgets.hpp:84</div></div>
<div class="ttc" id="aclassImageBaseKnob_html"><div class="ttname"><a href="classImageBaseKnob.html">ImageBaseKnob</a></div><div class="ttdef"><b>Definition:</b> ImageBaseWidgets.hpp:130</div></div>
<div class="ttc" id="aclassImageBaseSlider_html"><div class="ttname"><a href="classImageBaseSlider.html">ImageBaseSlider</a></div><div class="ttdef"><b>Definition:</b> ImageBaseWidgets.hpp:171</div></div>
<div class="ttc" id="aclassImageBaseAboutWindow_html"><div class="ttname"><a href="classImageBaseAboutWindow.html">ImageBaseAboutWindow</a></div><div class="ttdef"><b>Definition:</b> ImageBaseWidgets.hpp:39</div></div>
<div class="ttc" id="aclassImageBaseSwitch_html"><div class="ttname"><a href="classImageBaseSwitch.html">ImageBaseSwitch</a></div><div class="ttdef"><b>Definition:</b> ImageBaseWidgets.hpp:222</div></div>
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Mar 31 2022 17:09:26 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
Generated on Wed Jul 27 2022 00:46:18 for DISTRHO Plugin Framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

+ 6
- 8
Image_8hpp_source.html View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DISTRHO Plugin Framework: dgl/Image.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -29,10 +29,10 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
@@ -105,14 +105,12 @@ $(function() {
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;END_NAMESPACE_DGL</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; </div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="ttc" id="aclassCairoImage_html"><div class="ttname"><a href="classCairoImage.html">CairoImage</a></div><div class="ttdef"><b>Definition:</b> Cairo.hpp:45</div></div>
<div class="ttc" id="aclassOpenGLImage_html"><div class="ttname"><a href="classOpenGLImage.html">OpenGLImage</a></div><div class="ttdef"><b>Definition:</b> OpenGL.hpp:105</div></div>
</div><!-- fragment --></div><!-- contents -->
<div class="ttc" id="aclassCairoImage_html"><div class="ttname"><a href="classCairoImage.html">CairoImage</a></div><div class="ttdef"><b>Definition:</b> Cairo.hpp:44</div></div>
<div class="ttc" id="aclassOpenGLImage_html"><div class="ttname"><a href="classOpenGLImage.html">OpenGLImage</a></div><div class="ttdef"><b>Definition:</b> OpenGL.hpp:191</div></div>
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Mar 31 2022 17:09:26 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
Generated on Wed Jul 27 2022 00:46:18 for DISTRHO Plugin Framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

+ 11
- 13
LeakDetector_8hpp_source.html View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DISTRHO Plugin Framework: distrho/extra/LeakDetector.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -29,10 +29,10 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
@@ -121,7 +121,7 @@ $(function() {
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;<span class="preprocessor">#define DISTRHO_JOIN_MACRO_HELPER(a, b) a ## b</span></div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;<span class="preprocessor">#define DISTRHO_JOIN_MACRO(item1, item2) DISTRHO_JOIN_MACRO_HELPER(item1, item2)</span></div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; </div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;<span class="preprocessor">#ifdef DEBUG</span></div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;<span class="preprocessor">#ifdef DEBUG</span><span class="comment"></span></div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;<span class="comment">/** This macro lets you embed a leak-detecting object inside a class.\n</span></div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;<span class="comment"> To use it, simply declare a DISTRHO_LEAK_DETECTOR(YourClassName) inside a private section</span></div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;<span class="comment"> of the class declaration. E.g.</span></div>
@@ -145,7 +145,7 @@ $(function() {
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;<span class="preprocessor"># define DISTRHO_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(ClassName) \</span></div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;<span class="preprocessor"> DISTRHO_DECLARE_NON_COPYABLE(ClassName) \</span></div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160;<span class="preprocessor"> DISTRHO_LEAK_DETECTOR(ClassName)</span></div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160;<span class="preprocessor">#else</span></div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160;<span class="preprocessor">#else</span><span class="comment"></span></div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;<span class="comment">/** Don&#39;t use leak detection on release builds. */</span></div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;<span class="preprocessor"># define DISTRHO_LEAK_DETECTOR(ClassName)</span></div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;<span class="preprocessor"># define DISTRHO_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(ClassName) \</span></div>
@@ -234,18 +234,16 @@ $(function() {
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; </div>
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160;<a class="code" href="group__NamespaceMacros.html#ga3ff541a449593e069a29e92d21e38ef3">END_NAMESPACE_DISTRHO</a></div>
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; </div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160;<span class="preprocessor">#endif // DISTRHO_LEAK_DETECTOR_HPP_INCLUDED</span></div>
</div><!-- fragment --></div><!-- contents -->
<div class="ttc" id="agroup__NamespaceMacros_html_gac4cb97c393d20c28ba19365d844341cd"><div class="ttname"><a href="group__NamespaceMacros.html#gac4cb97c393d20c28ba19365d844341cd">START_NAMESPACE_DISTRHO</a></div><div class="ttdeci">#define START_NAMESPACE_DISTRHO</div><div class="ttdef"><b>Definition:</b> DistrhoInfo.hpp:828</div></div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160;<span class="preprocessor">#endif </span><span class="comment">// DISTRHO_LEAK_DETECTOR_HPP_INCLUDED</span></div>
<div class="ttc" id="aclassLeakedObjectDetector_html"><div class="ttname"><a href="classLeakedObjectDetector.html">LeakedObjectDetector</a></div><div class="ttdef"><b>Definition:</b> LeakDetector.hpp:98</div></div>
<div class="ttc" id="aclassLeakedObjectDetector_html_af4fd575fa5361ce5b01f65a635b1d6b3"><div class="ttname"><a href="classLeakedObjectDetector.html#af4fd575fa5361ce5b01f65a635b1d6b3">LeakedObjectDetector::~LeakedObjectDetector</a></div><div class="ttdeci">~LeakedObjectDetector() noexcept</div><div class="ttdef"><b>Definition:</b> LeakDetector.hpp:104</div></div>
<div class="ttc" id="agroup__NamespaceMacros_html_ga3ff541a449593e069a29e92d21e38ef3"><div class="ttname"><a href="group__NamespaceMacros.html#ga3ff541a449593e069a29e92d21e38ef3">END_NAMESPACE_DISTRHO</a></div><div class="ttdeci">#define END_NAMESPACE_DISTRHO</div><div class="ttdef"><b>Definition:</b> DistrhoInfo.hpp:834</div></div>
<div class="ttc" id="agroup__NamespaceMacros_html_gac4cb97c393d20c28ba19365d844341cd"><div class="ttname"><a href="group__NamespaceMacros.html#gac4cb97c393d20c28ba19365d844341cd">START_NAMESPACE_DISTRHO</a></div><div class="ttdeci">#define START_NAMESPACE_DISTRHO</div><div class="ttdef"><b>Definition:</b> DistrhoInfo.hpp:828</div></div>
<div class="ttc" id="agroup__StringPrintFunctions_html_ga9861b6a26e43554680f50623196dde7b"><div class="ttname"><a href="group__StringPrintFunctions.html#ga9861b6a26e43554680f50623196dde7b">d_stderr2</a></div><div class="ttdeci">static void d_stderr2(const char *const fmt,...) noexcept</div><div class="ttdef"><b>Definition:</b> DistrhoUtils.hpp:161</div></div>
<div class="ttc" id="aclassLeakedObjectDetector_html"><div class="ttname"><a href="classLeakedObjectDetector.html">LeakedObjectDetector</a></div><div class="ttdef"><b>Definition:</b> LeakDetector.hpp:97</div></div>
<div class="ttc" id="aclassLeakedObjectDetector_html_af4fd575fa5361ce5b01f65a635b1d6b3"><div class="ttname"><a href="classLeakedObjectDetector.html#af4fd575fa5361ce5b01f65a635b1d6b3">LeakedObjectDetector::~LeakedObjectDetector</a></div><div class="ttdeci">~LeakedObjectDetector() noexcept</div><div class="ttdef"><b>Definition:</b> LeakDetector.hpp:104</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Mar 31 2022 17:09:26 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
Generated on Wed Jul 27 2022 00:46:18 for DISTRHO Plugin Framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

+ 7
- 9
LibraryUtils_8hpp_source.html View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DISTRHO Plugin Framework: distrho/extra/LibraryUtils.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -29,10 +29,10 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
@@ -204,15 +204,13 @@ $(function() {
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; </div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;<a class="code" href="group__NamespaceMacros.html#ga3ff541a449593e069a29e92d21e38ef3">END_NAMESPACE_DISTRHO</a></div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; </div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;<span class="preprocessor">#endif // DISTRHO_LIBRARY_UTILS_HPP_INCLUDED</span></div>
</div><!-- fragment --></div><!-- contents -->
<div class="ttc" id="agroup__NamespaceMacros_html_gac4cb97c393d20c28ba19365d844341cd"><div class="ttname"><a href="group__NamespaceMacros.html#gac4cb97c393d20c28ba19365d844341cd">START_NAMESPACE_DISTRHO</a></div><div class="ttdeci">#define START_NAMESPACE_DISTRHO</div><div class="ttdef"><b>Definition:</b> DistrhoInfo.hpp:828</div></div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;<span class="preprocessor">#endif </span><span class="comment">// DISTRHO_LIBRARY_UTILS_HPP_INCLUDED</span></div>
<div class="ttc" id="agroup__NamespaceMacros_html_ga3ff541a449593e069a29e92d21e38ef3"><div class="ttname"><a href="group__NamespaceMacros.html#ga3ff541a449593e069a29e92d21e38ef3">END_NAMESPACE_DISTRHO</a></div><div class="ttdeci">#define END_NAMESPACE_DISTRHO</div><div class="ttdef"><b>Definition:</b> DistrhoInfo.hpp:834</div></div>
<div class="ttc" id="agroup__NamespaceMacros_html_gac4cb97c393d20c28ba19365d844341cd"><div class="ttname"><a href="group__NamespaceMacros.html#gac4cb97c393d20c28ba19365d844341cd">START_NAMESPACE_DISTRHO</a></div><div class="ttdeci">#define START_NAMESPACE_DISTRHO</div><div class="ttdef"><b>Definition:</b> DistrhoInfo.hpp:828</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Mar 31 2022 17:09:26 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
Generated on Wed Jul 27 2022 00:46:18 for DISTRHO Plugin Framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

+ 13
- 15
Mutex_8hpp_source.html View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DISTRHO Plugin Framework: distrho/extra/Mutex.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -29,10 +29,10 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
@@ -437,21 +437,19 @@ $(function() {
<div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160; </div>
<div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160;<a class="code" href="group__NamespaceMacros.html#ga3ff541a449593e069a29e92d21e38ef3">END_NAMESPACE_DISTRHO</a></div>
<div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160; </div>
<div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160;<span class="preprocessor">#endif // DISTRHO_MUTEX_HPP_INCLUDED</span></div>
</div><!-- fragment --></div><!-- contents -->
<div class="ttc" id="agroup__NamespaceMacros_html_gac4cb97c393d20c28ba19365d844341cd"><div class="ttname"><a href="group__NamespaceMacros.html#gac4cb97c393d20c28ba19365d844341cd">START_NAMESPACE_DISTRHO</a></div><div class="ttdeci">#define START_NAMESPACE_DISTRHO</div><div class="ttdef"><b>Definition:</b> DistrhoInfo.hpp:828</div></div>
<div class="ttc" id="aclassSignal_html"><div class="ttname"><a href="classSignal.html">Signal</a></div><div class="ttdef"><b>Definition:</b> Mutex.hpp:186</div></div>
<div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160;<span class="preprocessor">#endif </span><span class="comment">// DISTRHO_MUTEX_HPP_INCLUDED</span></div>
<div class="ttc" id="aclassMutex_html"><div class="ttname"><a href="classMutex.html">Mutex</a></div><div class="ttdef"><b>Definition:</b> Mutex.hpp:40</div></div>
<div class="ttc" id="aclassRecursiveMutex_html"><div class="ttname"><a href="classRecursiveMutex.html">RecursiveMutex</a></div><div class="ttdef"><b>Definition:</b> Mutex.hpp:99</div></div>
<div class="ttc" id="aclassScopeLocker_html"><div class="ttname"><a href="classScopeLocker.html">ScopeLocker</a></div><div class="ttdef"><b>Definition:</b> Mutex.hpp:269</div></div>
<div class="ttc" id="aclassScopeTryLocker_html"><div class="ttname"><a href="classScopeTryLocker.html">ScopeTryLocker</a></div><div class="ttdef"><b>Definition:</b> Mutex.hpp:294</div></div>
<div class="ttc" id="aclassScopeUnlocker_html"><div class="ttname"><a href="classScopeUnlocker.html">ScopeUnlocker</a></div><div class="ttdef"><b>Definition:</b> Mutex.hpp:333</div></div>
<div class="ttc" id="aclassSignal_html"><div class="ttname"><a href="classSignal.html">Signal</a></div><div class="ttdef"><b>Definition:</b> Mutex.hpp:187</div></div>
<div class="ttc" id="agroup__NamespaceMacros_html_ga3ff541a449593e069a29e92d21e38ef3"><div class="ttname"><a href="group__NamespaceMacros.html#ga3ff541a449593e069a29e92d21e38ef3">END_NAMESPACE_DISTRHO</a></div><div class="ttdeci">#define END_NAMESPACE_DISTRHO</div><div class="ttdef"><b>Definition:</b> DistrhoInfo.hpp:834</div></div>
<div class="ttc" id="aclassScopeLocker_html"><div class="ttname"><a href="classScopeLocker.html">ScopeLocker</a></div><div class="ttdef"><b>Definition:</b> Mutex.hpp:268</div></div>
<div class="ttc" id="aclassRecursiveMutex_html"><div class="ttname"><a href="classRecursiveMutex.html">RecursiveMutex</a></div><div class="ttdef"><b>Definition:</b> Mutex.hpp:98</div></div>
<div class="ttc" id="aclassMutex_html"><div class="ttname"><a href="classMutex.html">Mutex</a></div><div class="ttdef"><b>Definition:</b> Mutex.hpp:39</div></div>
<div class="ttc" id="aclassScopeUnlocker_html"><div class="ttname"><a href="classScopeUnlocker.html">ScopeUnlocker</a></div><div class="ttdef"><b>Definition:</b> Mutex.hpp:332</div></div>
<div class="ttc" id="aclassScopeTryLocker_html"><div class="ttname"><a href="classScopeTryLocker.html">ScopeTryLocker</a></div><div class="ttdef"><b>Definition:</b> Mutex.hpp:293</div></div>
<div class="ttc" id="agroup__NamespaceMacros_html_gac4cb97c393d20c28ba19365d844341cd"><div class="ttname"><a href="group__NamespaceMacros.html#gac4cb97c393d20c28ba19365d844341cd">START_NAMESPACE_DISTRHO</a></div><div class="ttdeci">#define START_NAMESPACE_DISTRHO</div><div class="ttdef"><b>Definition:</b> DistrhoInfo.hpp:828</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Mar 31 2022 17:09:26 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
Generated on Wed Jul 27 2022 00:46:18 for DISTRHO Plugin Framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

+ 226
- 216
NanoVG_8hpp_source.html
File diff suppressed because it is too large
View File


+ 190
- 0
OpenGL-include_8hpp_source.html View File

@@ -0,0 +1,190 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DISTRHO Plugin Framework: dgl/OpenGL-include.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">DISTRHO Plugin Framework
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_99893ac99dd47c2a73745483a12a725f.html">dgl</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">OpenGL-include.hpp</div> </div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> * DISTRHO Plugin Framework (DPF)</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> * Copyright (C) 2012-2021 Filipe Coelho &lt;falktx@falktx.com&gt;</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> * Permission to use, copy, modify, and/or distribute this software for any purpose with</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> * or without fee is hereby granted, provided that the above copyright notice and this</span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> * permission notice appear in all copies.</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment"> * THE SOFTWARE IS PROVIDED &quot;AS IS&quot; AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment"> * TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> * IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160; </div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="preprocessor">#ifndef DGL_OPENGL_INCLUDE_HPP_INCLUDED</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="preprocessor">#define DGL_OPENGL_INCLUDE_HPP_INCLUDED</span></div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160; </div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="preprocessor">#include &quot;../distrho/src/DistrhoDefines.h&quot;</span></div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160; </div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="comment">// --------------------------------------------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="comment">// Fix OpenGL includes for Windows, based on glfw code (part 1)</span></div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160; </div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="preprocessor">#undef DGL_CALLBACK_DEFINED</span></div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="preprocessor">#undef DGL_WINGDIAPI_DEFINED</span></div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160; </div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="preprocessor">#ifdef DISTRHO_OS_WINDOWS</span></div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160; </div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="preprocessor">#ifndef APIENTRY</span></div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="preprocessor"># define APIENTRY __stdcall</span></div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="preprocessor">#endif </span><span class="comment">// APIENTRY</span></div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; </div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="comment">/* We need WINGDIAPI defined */</span></div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="preprocessor">#ifndef WINGDIAPI</span></div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="preprocessor"># if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__POCC__)</span></div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="preprocessor"># define WINGDIAPI __declspec(dllimport)</span></div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;<span class="preprocessor"># elif defined(__LCC__)</span></div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;<span class="preprocessor"># define WINGDIAPI __stdcall</span></div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;<span class="preprocessor"># else</span></div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;<span class="preprocessor"># define WINGDIAPI extern</span></div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;<span class="preprocessor"># endif</span></div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;<span class="preprocessor"># define DGL_WINGDIAPI_DEFINED</span></div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;<span class="preprocessor">#endif </span><span class="comment">// WINGDIAPI</span></div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; </div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;<span class="comment">/* Some &lt;GL/glu.h&gt; files also need CALLBACK defined */</span></div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;<span class="preprocessor">#ifndef CALLBACK</span></div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;<span class="preprocessor"># if defined(_MSC_VER)</span></div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;<span class="preprocessor"># if (defined(_M_MRX000) || defined(_M_IX86) || defined(_M_ALPHA) || defined(_M_PPC)) &amp;&amp; !defined(MIDL_PASS)</span></div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;<span class="preprocessor"># define CALLBACK __stdcall</span></div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;<span class="preprocessor"># else</span></div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;<span class="preprocessor"># define CALLBACK</span></div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;<span class="preprocessor"># endif</span></div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;<span class="preprocessor"># else</span></div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;<span class="preprocessor"># define CALLBACK __stdcall</span></div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;<span class="preprocessor"># endif</span></div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;<span class="preprocessor"># define DGL_CALLBACK_DEFINED</span></div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;<span class="preprocessor">#endif </span><span class="comment">// CALLBACK</span></div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; </div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;<span class="preprocessor">#endif </span><span class="comment">// DISTRHO_OS_WINDOWS</span></div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; </div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;<span class="comment">// --------------------------------------------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;<span class="comment">// OpenGL includes</span></div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; </div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;<span class="preprocessor">#ifdef DISTRHO_OS_MAC</span></div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;<span class="preprocessor"># ifdef DGL_USE_OPENGL3</span></div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;<span class="preprocessor"># include &lt;OpenGL/gl3.h&gt;</span></div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;<span class="preprocessor"># include &lt;OpenGL/gl3ext.h&gt;</span></div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;<span class="preprocessor"># else</span></div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;<span class="preprocessor"># include &lt;OpenGL/gl.h&gt;</span></div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;<span class="preprocessor"># endif</span></div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;<span class="preprocessor">#else</span></div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;<span class="preprocessor"># ifndef DISTRHO_OS_WINDOWS</span></div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;<span class="preprocessor"># define GL_GLEXT_PROTOTYPES</span></div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;<span class="preprocessor"># endif</span></div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160;<span class="preprocessor"># ifndef __GLEW_H__</span></div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160;<span class="preprocessor"># include &lt;GL/gl.h&gt;</span></div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;<span class="preprocessor"># include &lt;GL/glext.h&gt;</span></div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;<span class="preprocessor"># endif</span></div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; </div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160;<span class="comment">// --------------------------------------------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160;<span class="comment">// Missing OpenGL defines</span></div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; </div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160;<span class="preprocessor">#if defined(GL_BGR_EXT) &amp;&amp; !defined(GL_BGR)</span></div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160;<span class="preprocessor"># define GL_BGR GL_BGR_EXT</span></div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; </div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;<span class="preprocessor">#if defined(GL_BGRA_EXT) &amp;&amp; !defined(GL_BGRA)</span></div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160;<span class="preprocessor"># define GL_BGRA GL_BGRA_EXT</span></div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; </div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160;<span class="preprocessor">#ifndef GL_CLAMP_TO_BORDER</span></div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160;<span class="preprocessor"># define GL_CLAMP_TO_BORDER 0x812D</span></div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; </div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160;<span class="comment">// --------------------------------------------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160;<span class="comment">// Fix OpenGL includes for Windows, based on glfw code (part 2)</span></div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; </div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160;<span class="preprocessor">#ifdef DGL_CALLBACK_DEFINED</span></div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;<span class="preprocessor"># undef CALLBACK</span></div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160;<span class="preprocessor"># undef DGL_CALLBACK_DEFINED</span></div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; </div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;<span class="preprocessor">#ifdef DGL_WINGDIAPI_DEFINED</span></div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;<span class="preprocessor"># undef WINGDIAPI</span></div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;<span class="preprocessor"># undef DGL_WINGDIAPI_DEFINED</span></div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; </div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;<span class="comment">// --------------------------------------------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; </div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;<span class="preprocessor">#endif</span></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Jul 27 2022 00:46:18 for DISTRHO Plugin Framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

+ 219
- 305
OpenGL_8hpp_source.html View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DISTRHO Plugin Framework: dgl/OpenGL.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -29,10 +29,10 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
@@ -71,7 +71,7 @@ $(function() {
<div class="contents">
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> * DISTRHO Plugin Framework (DPF)</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> * Copyright (C) 2012-2021 Filipe Coelho &lt;falktx@falktx.com&gt;</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> * Copyright (C) 2012-2022 Filipe Coelho &lt;falktx@falktx.com&gt;</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> * Permission to use, copy, modify, and/or distribute this software for any purpose with</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> * or without fee is hereby granted, provided that the above copyright notice and this</span></div>
@@ -91,316 +91,230 @@ $(function() {
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="preprocessor">#include &quot;ImageBase.hpp&quot;</span></div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="preprocessor">#include &quot;ImageBaseWidgets.hpp&quot;</span></div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160; </div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="comment">// -----------------------------------------------------------------------</span></div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="comment">// Fix OpenGL includes for Windows, based on glfw code (part 1)</span></div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160; </div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="preprocessor">#undef DGL_CALLBACK_DEFINED</span></div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="preprocessor">#undef DGL_WINGDIAPI_DEFINED</span></div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; </div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="preprocessor">#ifdef DISTRHO_OS_WINDOWS</span></div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; </div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="preprocessor">#ifndef APIENTRY</span></div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="preprocessor"># define APIENTRY __stdcall</span></div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="preprocessor">#endif // APIENTRY</span></div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; </div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="comment">/* We need WINGDIAPI defined */</span></div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="preprocessor">#ifndef WINGDIAPI</span></div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="preprocessor"># if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__POCC__)</span></div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;<span class="preprocessor"># define WINGDIAPI __declspec(dllimport)</span></div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;<span class="preprocessor"># elif defined(__LCC__)</span></div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;<span class="preprocessor"># define WINGDIAPI __stdcall</span></div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;<span class="preprocessor"># else</span></div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;<span class="preprocessor"># define WINGDIAPI extern</span></div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;<span class="preprocessor"># endif</span></div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;<span class="preprocessor"># define DGL_WINGDIAPI_DEFINED</span></div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;<span class="preprocessor">#endif // WINGDIAPI</span></div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; </div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;<span class="comment">/* Some &lt;GL/glu.h&gt; files also need CALLBACK defined */</span></div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;<span class="preprocessor">#ifndef CALLBACK</span></div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;<span class="preprocessor"># if defined(_MSC_VER)</span></div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;<span class="preprocessor"># if (defined(_M_MRX000) || defined(_M_IX86) || defined(_M_ALPHA) || defined(_M_PPC)) &amp;&amp; !defined(MIDL_PASS)</span></div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;<span class="preprocessor"># define CALLBACK __stdcall</span></div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;<span class="preprocessor"># else</span></div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;<span class="preprocessor"># define CALLBACK</span></div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;<span class="preprocessor"># endif</span></div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;<span class="preprocessor"># else</span></div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;<span class="preprocessor"># define CALLBACK __stdcall</span></div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;<span class="preprocessor"># endif</span></div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;<span class="preprocessor"># define DGL_CALLBACK_DEFINED</span></div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;<span class="preprocessor">#endif // CALLBACK</span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="preprocessor">#include &quot;OpenGL-include.hpp&quot;</span></div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160; </div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;START_NAMESPACE_DGL</div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160; </div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="comment">// -----------------------------------------------------------------------</span></div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="comment"> OpenGL Graphics context.</span></div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00032"></a><span class="lineno"><a class="line" href="structOpenGLGraphicsContext.html"> 32</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structOpenGLGraphicsContext.html">OpenGLGraphicsContext</a> : <a class="code" href="structGraphicsContext.html">GraphicsContext</a></div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;{</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="preprocessor">#ifdef DGL_USE_OPENGL3</span></div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;};</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; </div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;<span class="comment">// -----------------------------------------------------------------------</span></div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; </div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span></div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;ImageFormat asDISTRHOImageFormat(<span class="keyword">const</span> GLenum format)</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;{</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; <span class="keywordflow">switch</span> (format)</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; {</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;<span class="preprocessor">#ifdef DGL_USE_OPENGL3</span></div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; <span class="keywordflow">case</span> GL_RED:</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;<span class="preprocessor">#else</span></div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; <span class="keywordflow">case</span> GL_LUMINANCE:</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <span class="keywordflow">return</span> kImageFormatGrayscale;</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <span class="keywordflow">case</span> GL_BGR:</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; <span class="keywordflow">return</span> kImageFormatBGR;</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <span class="keywordflow">case</span> GL_BGRA:</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <span class="keywordflow">return</span> kImageFormatBGRA;</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <span class="keywordflow">case</span> GL_RGB:</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <span class="keywordflow">return</span> kImageFormatRGB;</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; <span class="keywordflow">case</span> GL_RGBA:</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <span class="keywordflow">return</span> kImageFormatRGBA;</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; }</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; </div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;<span class="comment">/* Most GL/glu.h variants on Windows need wchar_t */</span></div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;<span class="preprocessor">#include &lt;cstddef&gt;</span></div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <span class="keywordflow">return</span> kImageFormatNull;</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;}</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; </div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;<span class="preprocessor">#endif // DISTRHO_OS_WINDOWS</span></div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; </div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;<span class="comment">// -----------------------------------------------------------------------</span></div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;<span class="comment">// OpenGL includes</span></div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; </div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;<span class="preprocessor">#ifdef DISTRHO_OS_MAC</span></div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;<span class="preprocessor"># ifdef DGL_USE_OPENGL3</span></div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;<span class="preprocessor"># include &lt;OpenGL/gl3.h&gt;</span></div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;<span class="preprocessor"># include &lt;OpenGL/gl3ext.h&gt;</span></div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;<span class="preprocessor"># else</span></div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;<span class="preprocessor"># include &lt;OpenGL/gl.h&gt;</span></div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;<span class="preprocessor"># endif</span></div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160;<span class="preprocessor">#else</span></div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160;<span class="preprocessor"># ifndef DISTRHO_OS_WINDOWS</span></div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;<span class="preprocessor"># define GL_GLEXT_PROTOTYPES</span></div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;<span class="preprocessor"># endif</span></div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;<span class="preprocessor"># ifndef __GLEW_H__</span></div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160;<span class="preprocessor"># include &lt;GL/gl.h&gt;</span></div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160;<span class="preprocessor"># include &lt;GL/glext.h&gt;</span></div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160;<span class="preprocessor"># endif</span></div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; </div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160;<span class="comment">// -----------------------------------------------------------------------</span></div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160;<span class="comment">// Missing OpenGL defines</span></div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; </div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;<span class="preprocessor">#if defined(GL_BGR_EXT) &amp;&amp; !defined(GL_BGR)</span></div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160;<span class="preprocessor"># define GL_BGR GL_BGR_EXT</span></div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; </div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160;<span class="preprocessor">#if defined(GL_BGRA_EXT) &amp;&amp; !defined(GL_BGRA)</span></div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160;<span class="preprocessor"># define GL_BGRA GL_BGRA_EXT</span></div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; </div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160;<span class="preprocessor">#ifndef GL_CLAMP_TO_BORDER</span></div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160;<span class="preprocessor"># define GL_CLAMP_TO_BORDER 0x812D</span></div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; </div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;<span class="comment">// -----------------------------------------------------------------------</span></div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160;<span class="comment">// Fix OpenGL includes for Windows, based on glfw code (part 2)</span></div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; </div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;<span class="preprocessor">#ifdef DGL_CALLBACK_DEFINED</span></div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;<span class="preprocessor"># undef CALLBACK</span></div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;<span class="preprocessor"># undef DGL_CALLBACK_DEFINED</span></div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; </div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160;<span class="preprocessor">#ifdef DGL_WINGDIAPI_DEFINED</span></div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;<span class="preprocessor"># undef WINGDIAPI</span></div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;<span class="preprocessor"># undef DGL_WINGDIAPI_DEFINED</span></div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; </div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;START_NAMESPACE_DGL</div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; </div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;<span class="comment">// -----------------------------------------------------------------------</span></div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span></div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;GLenum asOpenGLImageFormat(<span class="keyword">const</span> ImageFormat format)</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;{</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <span class="keywordflow">switch</span> (format)</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; {</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <span class="keywordflow">case</span> kImageFormatNull:</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <span class="keywordflow">case</span> kImageFormatGrayscale:</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;<span class="preprocessor">#ifdef DGL_USE_OPENGL3</span></div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <span class="keywordflow">return</span> GL_RED;</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;<span class="preprocessor">#else</span></div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <span class="keywordflow">return</span> GL_LUMINANCE;</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <span class="keywordflow">case</span> kImageFormatBGR:</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <span class="keywordflow">return</span> GL_BGR;</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <span class="keywordflow">case</span> kImageFormatBGRA:</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <span class="keywordflow">return</span> GL_BGRA;</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; <span class="keywordflow">case</span> kImageFormatRGB:</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; <span class="keywordflow">return</span> GL_RGB;</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <span class="keywordflow">case</span> kImageFormatRGBA:</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <span class="keywordflow">return</span> GL_RGBA;</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; }</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; </div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; <span class="keywordflow">return</span> 0x0;</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160;}</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; </div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160;<span class="comment">// -----------------------------------------------------------------------</span></div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160;<span class="comment"> OpenGL Image class.</span></div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160;<span class="comment"> This is an Image class that handles raw image data in pixels.</span></div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160;<span class="comment"> You can init the image data on the contructor or later on by calling loadFromMemory().</span></div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160;<span class="comment"> To generate raw data useful for this class see the utils/png2rgba.py script.</span></div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160;<span class="comment"> Be careful when using a PNG without alpha channel, for those the format is &#39;GL_BGR&#39;</span></div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160;<span class="comment"> instead of the default &#39;GL_BGRA&#39;.</span></div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160;<span class="comment"> Images are drawn on screen via 2D textures.</span></div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00104"></a><span class="lineno"><a class="line" href="classOpenGLImage.html"> 104</a></span>&#160;<span class="keyword">class </span><a class="code" href="classOpenGLImage.html">OpenGLImage</a> : <span class="keyword">public</span> <a class="code" href="classImageBase.html">ImageBase</a></div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;{</div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;<span class="keyword">public</span>:<span class="comment"></span></div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;<span class="comment"> Constructor for a null Image.</span></div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00110"></a><span class="lineno"><a class="line" href="classOpenGLImage.html#a7292ff9abcd2137c0cf8d7c0d57d1eb5"> 110</a></span>&#160; <a class="code" href="classOpenGLImage.html#a7292ff9abcd2137c0cf8d7c0d57d1eb5">OpenGLImage</a>();</div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;<span class="comment"> Constructor using raw image data.</span></div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;<span class="comment"> @note @a rawData must remain valid for the lifetime of this Image.</span></div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00116"></a><span class="lineno"><a class="line" href="classOpenGLImage.html#ab3846413c806171a98ec3f41f5db20a8"> 116</a></span>&#160; <a class="code" href="classOpenGLImage.html#ab3846413c806171a98ec3f41f5db20a8">OpenGLImage</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* rawData, uint width, uint height, ImageFormat format = kImageFormatBGRA);</div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;<span class="comment"> OpenGL Graphics context.</span></div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00121"></a><span class="lineno"><a class="line" href="structOpenGLGraphicsContext.html"> 121</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structOpenGLGraphicsContext.html">OpenGLGraphicsContext</a> : <a class="code" href="structGraphicsContext.html">GraphicsContext</a></div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;{</div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;};</div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; </div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;<span class="comment">// -----------------------------------------------------------------------</span></div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; </div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span></div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160;ImageFormat asDISTRHOImageFormat(<span class="keyword">const</span> GLenum format)</div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;{</div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; <span class="keywordflow">switch</span> (format)</div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; {</div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;<span class="preprocessor">#ifdef DGL_USE_OPENGL3</span></div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <span class="keywordflow">case</span> GL_RED:</div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;<span class="preprocessor">#else</span></div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <span class="keywordflow">case</span> GL_LUMINANCE:</div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; <span class="keywordflow">return</span> kImageFormatGrayscale;</div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; <span class="keywordflow">case</span> GL_BGR:</div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; <span class="keywordflow">return</span> kImageFormatBGR;</div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; <span class="keywordflow">case</span> GL_BGRA:</div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; <span class="keywordflow">return</span> kImageFormatBGRA;</div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; <span class="keywordflow">case</span> GL_RGB:</div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; <span class="keywordflow">return</span> kImageFormatRGB;</div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <span class="keywordflow">case</span> GL_RGBA:</div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; <span class="keywordflow">return</span> kImageFormatRGBA;</div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; }</div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; </div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; <span class="keywordflow">return</span> kImageFormatNull;</div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160;}</div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; </div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span></div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;GLenum asOpenGLImageFormat(<span class="keyword">const</span> ImageFormat format)</div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;{</div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; <span class="keywordflow">switch</span> (format)</div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; {</div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; <span class="keywordflow">case</span> kImageFormatNull:</div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; <span class="keywordflow">case</span> kImageFormatGrayscale:</div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160;<span class="preprocessor">#ifdef DGL_USE_OPENGL3</span></div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; <span class="keywordflow">return</span> GL_RED;</div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;<span class="preprocessor">#else</span></div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; <span class="keywordflow">return</span> GL_LUMINANCE;</div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; <span class="keywordflow">case</span> kImageFormatBGR:</div>
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; <span class="keywordflow">return</span> GL_BGR;</div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; <span class="keywordflow">case</span> kImageFormatBGRA:</div>
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; <span class="keywordflow">return</span> GL_BGRA;</div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; <span class="keywordflow">case</span> kImageFormatRGB:</div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; <span class="keywordflow">return</span> GL_RGB;</div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; <span class="keywordflow">case</span> kImageFormatRGBA:</div>
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; <span class="keywordflow">return</span> GL_RGBA;</div>
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; }</div>
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; </div>
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; <span class="keywordflow">return</span> 0x0;</div>
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160;}</div>
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; </div>
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160;<span class="comment">// -----------------------------------------------------------------------</span></div>
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160;<span class="comment"> OpenGL Image class.</span></div>
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160;<span class="comment"> This is an Image class that handles raw image data in pixels.</span></div>
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160;<span class="comment"> You can init the image data on the contructor or later on by calling loadFromMemory().</span></div>
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160;<span class="comment"> To generate raw data useful for this class see the utils/png2rgba.py script.</span></div>
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160;<span class="comment"> Be careful when using a PNG without alpha channel, for those the format is &#39;GL_BGR&#39;</span></div>
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160;<span class="comment"> instead of the default &#39;GL_BGRA&#39;.</span></div>
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160;<span class="comment"> Images are drawn on screen via 2D textures.</span></div>
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00191"></a><span class="lineno"><a class="line" href="classOpenGLImage.html"> 191</a></span>&#160;<span class="keyword">class </span><a class="code" href="classOpenGLImage.html">OpenGLImage</a> : <span class="keyword">public</span> <a class="code" href="classImageBase.html">ImageBase</a></div>
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160;{</div>
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160;<span class="keyword">public</span>:<span class="comment"></span></div>
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160;<span class="comment"> Constructor for a null Image.</span></div>
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; <a class="code" href="classOpenGLImage.html#a7292ff9abcd2137c0cf8d7c0d57d1eb5">OpenGLImage</a>();</div>
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160;<span class="comment"> Constructor using raw image data.</span></div>
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160;<span class="comment"> @note @a rawData must remain valid for the lifetime of this Image.</span></div>
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; <a class="code" href="classOpenGLImage.html#a7292ff9abcd2137c0cf8d7c0d57d1eb5">OpenGLImage</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* rawData, uint width, uint height, ImageFormat format = kImageFormatBGRA);</div>
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160;<span class="comment"> Constructor using raw image data.</span></div>
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160;<span class="comment"> @note @a rawData must remain valid for the lifetime of this Image.</span></div>
<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; <a class="code" href="classOpenGLImage.html#a7292ff9abcd2137c0cf8d7c0d57d1eb5">OpenGLImage</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* rawData, <span class="keyword">const</span> <a class="code" href="classSize.html">Size&lt;uint&gt;</a>&amp; size, ImageFormat format = kImageFormatBGRA);</div>
<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160;<span class="comment"> Constructor using another image data.</span></div>
<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; <a class="code" href="classOpenGLImage.html#a7292ff9abcd2137c0cf8d7c0d57d1eb5">OpenGLImage</a>(<span class="keyword">const</span> <a class="code" href="classOpenGLImage.html">OpenGLImage</a>&amp; image);</div>
<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160;<span class="comment"> Destructor.</span></div>
<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; <a class="code" href="classOpenGLImage.html#a97461921a4eba66af7cfeaf84595f3ad">~OpenGLImage</a>() <span class="keyword">override</span>;</div>
<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160;<span class="comment"> Load image data from memory.</span></div>
<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160;<span class="comment"> @note @a rawData must remain valid for the lifetime of this Image.</span></div>
<div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classOpenGLImage.html#a5ee11a12fb84219cf5216396c1cf3c0a">loadFromMemory</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* rawData,</div>
<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; <span class="keyword">const</span> <a class="code" href="classSize.html">Size&lt;uint&gt;</a>&amp; size,</div>
<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; ImageFormat format = kImageFormatBGRA) noexcept <span class="keyword">override</span>;</div>
<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160;<span class="comment"> Draw this image at position @a pos using the graphics context @a context.</span></div>
<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classOpenGLImage.html#ab97d09a7496436d2823c064708a61287">drawAt</a>(<span class="keyword">const</span> <a class="code" href="structGraphicsContext.html">GraphicsContext</a>&amp; context, <span class="keyword">const</span> <a class="code" href="classPoint.html">Point&lt;int&gt;</a>&amp; pos) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160;<span class="comment"> TODO document this.</span></div>
<div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; <a class="code" href="classOpenGLImage.html">OpenGLImage</a>&amp; <a class="code" href="classOpenGLImage.html#a289cbeb6a607985c323e0cd5a8fbd19a">operator=</a>(<span class="keyword">const</span> <a class="code" href="classOpenGLImage.html">OpenGLImage</a>&amp; image) noexcept;</div>
<div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; </div>
<div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; <span class="comment">// FIXME this should not be needed</span></div>
<div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classOpenGLImage.html#a5ee11a12fb84219cf5216396c1cf3c0a">loadFromMemory</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* rdata, uint w, uint h, ImageFormat fmt = kImageFormatBGRA)</div>
<div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; { <a class="code" href="classOpenGLImage.html#a5ee11a12fb84219cf5216396c1cf3c0a">loadFromMemory</a>(rdata, <a class="code" href="classSize.html">Size&lt;uint&gt;</a>(w, h), fmt); };</div>
<div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classOpenGLImage.html#a0bd3a7e2a8d8e36ebacf4277a3f915cc">draw</a>(<span class="keyword">const</span> <a class="code" href="structGraphicsContext.html">GraphicsContext</a>&amp; context)</div>
<div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; { <a class="code" href="classOpenGLImage.html#ab97d09a7496436d2823c064708a61287">drawAt</a>(context, <a class="code" href="classPoint.html">Point&lt;int&gt;</a>(0, 0)); };</div>
<div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classOpenGLImage.html#ab97d09a7496436d2823c064708a61287">drawAt</a>(<span class="keyword">const</span> <a class="code" href="structGraphicsContext.html">GraphicsContext</a>&amp; context, <span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y)</div>
<div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; { <a class="code" href="classOpenGLImage.html#ab97d09a7496436d2823c064708a61287">drawAt</a>(context, <a class="code" href="classPoint.html">Point&lt;int&gt;</a>(x, y)); };</div>
<div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160;<span class="comment"> Constructor using raw image data, specifying an OpenGL image format.</span></div>
<div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160;<span class="comment"> @note @a rawData must remain valid for the lifetime of this Image.</span></div>
<div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160;<span class="comment"> DEPRECATED This constructor uses OpenGL image format instead of DISTRHO one.</span></div>
<div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; DISTRHO_DEPRECATED_BY(<span class="stringliteral">&quot;OpenGLImage(const char*, uint, uint, ImageFormat)&quot;</span>)</div>
<div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; <span class="keyword">explicit</span> <a class="code" href="classOpenGLImage.html#a7292ff9abcd2137c0cf8d7c0d57d1eb5">OpenGLImage</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* rawData, uint width, uint height, GLenum glFormat);</div>
<div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160;<span class="comment"> Constructor using raw image data, specifying an OpenGL image format.</span></div>
<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160;<span class="comment"> @note @a rawData must remain valid for the lifetime of this Image.</span></div>
<div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160;<span class="comment"> DEPRECATED This constructor uses OpenGL image format instead of DISTRHO one.</span></div>
<div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; DISTRHO_DEPRECATED_BY(<span class="stringliteral">&quot;OpenGLImage(const char*, const Size&lt;uint&gt;&amp;, ImageFormat)&quot;</span>)</div>
<div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; <span class="keyword">explicit</span> <a class="code" href="classOpenGLImage.html#a7292ff9abcd2137c0cf8d7c0d57d1eb5">OpenGLImage</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* rawData, <span class="keyword">const</span> <a class="code" href="classSize.html">Size&lt;uint&gt;</a>&amp; size, GLenum glFormat);</div>
<div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160;<span class="comment"> Draw this image at (0, 0) point using the current OpenGL context.</span></div>
<div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160;<span class="comment"> DEPRECATED This function does not take into consideration the current graphics context and only works in OpenGL.</span></div>
<div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; DISTRHO_DEPRECATED_BY(<span class="stringliteral">&quot;draw(const GraphicsContext&amp;)&quot;</span>)</div>
<div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classOpenGLImage.html#a0bd3a7e2a8d8e36ebacf4277a3f915cc">draw</a>();</div>
<div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160;<span class="comment"> Draw this image at (x, y) point using the current OpenGL context.</span></div>
<div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160;<span class="comment"> DEPRECATED This function does not take into consideration the current graphics context and only works in OpenGL.</span></div>
<div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; DISTRHO_DEPRECATED_BY(<span class="stringliteral">&quot;drawAt(const GraphicsContext&amp;, int, int)&quot;</span>)</div>
<div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classOpenGLImage.html#ab97d09a7496436d2823c064708a61287">drawAt</a>(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y);</div>
<div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160;<span class="comment"> Draw this image at position @a pos using the current OpenGL context.</span></div>
<div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160;<span class="comment"> DEPRECATED This function does not take into consideration the current graphics context and only works in OpenGL.</span></div>
<div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160; DISTRHO_DEPRECATED_BY(<span class="stringliteral">&quot;drawAt(const GraphicsContext&amp;, const Point&lt;int&gt;&amp;)&quot;</span>)</div>
<div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classOpenGLImage.html#ab97d09a7496436d2823c064708a61287">drawAt</a>(<span class="keyword">const</span> <a class="code" href="classPoint.html">Point&lt;int&gt;</a>&amp; pos);</div>
<div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160;<span class="comment"> Get the image type.</span></div>
<div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160;<span class="comment"> DEPRECATED Type is always assumed to be GL_UNSIGNED_BYTE.</span></div>
<div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160; DISTRHO_DEPRECATED</div>
<div class="line"><a name="l00289"></a><span class="lineno"><a class="line" href="classOpenGLImage.html#ac6eb1a0e289c0e29bf8d8cfb3310f40e"> 289</a></span>&#160; GLenum <a class="code" href="classOpenGLImage.html#ac6eb1a0e289c0e29bf8d8cfb3310f40e">getType</a>() const noexcept { <span class="keywordflow">return</span> GL_UNSIGNED_BYTE; }</div>
<div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160; </div>
<div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160;<span class="keyword">private</span>:</div>
<div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; GLuint textureId;</div>
<div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160; <span class="keywordtype">bool</span> setupCalled;</div>
<div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160;};</div>
<div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160; </div>
<div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160;<span class="comment">// -----------------------------------------------------------------------</span></div>
<div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; </div>
<div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160;<span class="keyword">typedef</span> <a class="code" href="classImageBaseAboutWindow.html">ImageBaseAboutWindow&lt;OpenGLImage&gt;</a> <a class="code" href="classImageBaseAboutWindow.html">OpenGLImageAboutWindow</a>;</div>
<div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160;<span class="keyword">typedef</span> <a class="code" href="classImageBaseButton.html">ImageBaseButton&lt;OpenGLImage&gt;</a> <a class="code" href="classImageBaseButton.html">OpenGLImageButton</a>;</div>
<div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160;<span class="keyword">typedef</span> <a class="code" href="classImageBaseKnob.html">ImageBaseKnob&lt;OpenGLImage&gt;</a> <a class="code" href="classImageBaseKnob.html">OpenGLImageKnob</a>;</div>
<div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160;<span class="keyword">typedef</span> <a class="code" href="classImageBaseSlider.html">ImageBaseSlider&lt;OpenGLImage&gt;</a> <a class="code" href="classImageBaseSlider.html">OpenGLImageSlider</a>;</div>
<div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160;<span class="keyword">typedef</span> <a class="code" href="classImageBaseSwitch.html">ImageBaseSwitch&lt;OpenGLImage&gt;</a> <a class="code" href="classImageBaseSwitch.html">OpenGLImageSwitch</a>;</div>
<div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160; </div>
<div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160;<span class="comment">// -----------------------------------------------------------------------</span></div>
<div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; </div>
<div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160;END_NAMESPACE_DGL</div>
<div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160; </div>
<div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160;<span class="preprocessor">#endif</span></div>
</div><!-- fragment --></div><!-- contents -->
<div class="ttc" id="aclassImageBaseButton_html"><div class="ttname"><a href="classImageBaseButton.html">ImageBaseButton</a></div><div class="ttdef"><b>Definition:</b> ImageBaseWidgets.hpp:84</div></div>
<div class="ttc" id="aclassImageBaseKnob_html"><div class="ttname"><a href="classImageBaseKnob.html">ImageBaseKnob</a></div><div class="ttdef"><b>Definition:</b> ImageBaseWidgets.hpp:130</div></div>
<div class="ttc" id="astructGraphicsContext_html"><div class="ttname"><a href="structGraphicsContext.html">GraphicsContext</a></div><div class="ttdef"><b>Definition:</b> Base.hpp:171</div></div>
<div class="ttc" id="aclassImageBaseSlider_html"><div class="ttname"><a href="classImageBaseSlider.html">ImageBaseSlider</a></div><div class="ttdef"><b>Definition:</b> ImageBaseWidgets.hpp:171</div></div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;<span class="comment"> Constructor using raw image data.</span></div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;<span class="comment"> @note @a rawData must remain valid for the lifetime of this Image.</span></div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00122"></a><span class="lineno"><a class="line" href="classOpenGLImage.html#af61ca1a163bae128817d3ad0ea6095f4"> 122</a></span>&#160; <a class="code" href="classOpenGLImage.html#af61ca1a163bae128817d3ad0ea6095f4">OpenGLImage</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* rawData, <span class="keyword">const</span> <a class="code" href="classSize.html">Size&lt;uint&gt;</a>&amp; size, ImageFormat format = kImageFormatBGRA);</div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;<span class="comment"> Constructor using another image data.</span></div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00127"></a><span class="lineno"><a class="line" href="classOpenGLImage.html#a9cd14d74c793c77c3ee3a8f9d291a706"> 127</a></span>&#160; <a class="code" href="classOpenGLImage.html#a9cd14d74c793c77c3ee3a8f9d291a706">OpenGLImage</a>(<span class="keyword">const</span> <a class="code" href="classOpenGLImage.html">OpenGLImage</a>&amp; image);</div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;<span class="comment"> Destructor.</span></div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00132"></a><span class="lineno"><a class="line" href="classOpenGLImage.html#a97461921a4eba66af7cfeaf84595f3ad"> 132</a></span>&#160; <a class="code" href="classOpenGLImage.html#a97461921a4eba66af7cfeaf84595f3ad">~OpenGLImage</a>() <span class="keyword">override</span>;</div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;<span class="comment"> Load image data from memory.</span></div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;<span class="comment"> @note @a rawData must remain valid for the lifetime of this Image.</span></div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00138"></a><span class="lineno"><a class="line" href="classOpenGLImage.html#a5ee11a12fb84219cf5216396c1cf3c0a"> 138</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classOpenGLImage.html#a5ee11a12fb84219cf5216396c1cf3c0a">loadFromMemory</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* rawData,</div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; <span class="keyword">const</span> <a class="code" href="classSize.html">Size&lt;uint&gt;</a>&amp; size,</div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; ImageFormat format = kImageFormatBGRA) noexcept <span class="keyword">override</span>;</div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;<span class="comment"> Draw this image at position @a pos using the graphics context @a context.</span></div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00145"></a><span class="lineno"><a class="line" href="classOpenGLImage.html#ab97d09a7496436d2823c064708a61287"> 145</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classOpenGLImage.html#ab97d09a7496436d2823c064708a61287">drawAt</a>(<span class="keyword">const</span> <a class="code" href="structGraphicsContext.html">GraphicsContext</a>&amp; context, <span class="keyword">const</span> <a class="code" href="classPoint.html">Point&lt;int&gt;</a>&amp; pos) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160;<span class="comment"> TODO document this.</span></div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00150"></a><span class="lineno"><a class="line" href="classOpenGLImage.html#a289cbeb6a607985c323e0cd5a8fbd19a"> 150</a></span>&#160; <a class="code" href="classOpenGLImage.html">OpenGLImage</a>&amp; <a class="code" href="classOpenGLImage.html#a289cbeb6a607985c323e0cd5a8fbd19a">operator=</a>(<span class="keyword">const</span> <a class="code" href="classOpenGLImage.html">OpenGLImage</a>&amp; image) noexcept;</div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; </div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; <span class="comment">// FIXME this should not be needed</span></div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classOpenGLImage.html#a5ee11a12fb84219cf5216396c1cf3c0a">loadFromMemory</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* rdata, uint w, uint h, ImageFormat fmt = kImageFormatBGRA)</div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; { <a class="code" href="classOpenGLImage.html#a5ee11a12fb84219cf5216396c1cf3c0a">loadFromMemory</a>(rdata, <a class="code" href="classSize.html">Size&lt;uint&gt;</a>(w, h), fmt); }</div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classOpenGLImage.html#a0bd3a7e2a8d8e36ebacf4277a3f915cc">draw</a>(<span class="keyword">const</span> <a class="code" href="structGraphicsContext.html">GraphicsContext</a>&amp; context)</div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; { <a class="code" href="classOpenGLImage.html#ab97d09a7496436d2823c064708a61287">drawAt</a>(context, <a class="code" href="classPoint.html">Point&lt;int&gt;</a>(0, 0)); }</div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classOpenGLImage.html#ab97d09a7496436d2823c064708a61287">drawAt</a>(<span class="keyword">const</span> <a class="code" href="structGraphicsContext.html">GraphicsContext</a>&amp; context, <span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y)</div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; { <a class="code" href="classOpenGLImage.html#ab97d09a7496436d2823c064708a61287">drawAt</a>(context, <a class="code" href="classPoint.html">Point&lt;int&gt;</a>(x, y)); }</div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;<span class="comment"> Constructor using raw image data, specifying an OpenGL image format.</span></div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160;<span class="comment"> @note @a rawData must remain valid for the lifetime of this Image.</span></div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160;<span class="comment"> DEPRECATED This constructor uses OpenGL image format instead of DISTRHO one.</span></div>
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; DISTRHO_DEPRECATED_BY(<span class="stringliteral">&quot;OpenGLImage(const char*, uint, uint, ImageFormat)&quot;</span>)</div>
<div class="line"><a name="l00166"></a><span class="lineno"><a class="line" href="classOpenGLImage.html#a729ba128952454d53054e23ea9d3a73f"> 166</a></span>&#160; explicit <a class="code" href="classOpenGLImage.html">OpenGLImage</a>(const <span class="keywordtype">char</span>* rawData, uint width, uint height, GLenum glFormat);</div>
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160;<span class="comment"> Constructor using raw image data, specifying an OpenGL image format.</span></div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160;<span class="comment"> @note @a rawData must remain valid for the lifetime of this Image.</span></div>
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160;<span class="comment"> DEPRECATED This constructor uses OpenGL image format instead of DISTRHO one.</span></div>
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; DISTRHO_DEPRECATED_BY(&quot;<a class="code" href="classOpenGLImage.html">OpenGLImage</a>(const <span class="keywordtype">char</span>*, const <a class="code" href="classSize.html">Size</a>&lt;uint&gt;&amp;, ImageFormat)&quot;)</div>
<div class="line"><a name="l00174"></a><span class="lineno"><a class="line" href="classOpenGLImage.html#a9f6ac5e7437a8a0aaa28bc298ab9350f"> 174</a></span>&#160; explicit <a class="code" href="classOpenGLImage.html">OpenGLImage</a>(const <span class="keywordtype">char</span>* rawData, const <a class="code" href="classSize.html">Size</a>&lt;uint&gt;&amp; size, GLenum glFormat);</div>
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160;<span class="comment"> Draw this image at (0, 0) point using the current OpenGL context.</span></div>
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160;<span class="comment"> DEPRECATED This function does not take into consideration the current graphics context and only works in OpenGL.</span></div>
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; DISTRHO_DEPRECATED_BY(&quot;<a class="code" href="classOpenGLImage.html#a0bd3a7e2a8d8e36ebacf4277a3f915cc">draw</a>(const <a class="code" href="structGraphicsContext.html">GraphicsContext</a>&amp;)&quot;)</div>
<div class="line"><a name="l00181"></a><span class="lineno"><a class="line" href="classOpenGLImage.html#a0bd3a7e2a8d8e36ebacf4277a3f915cc"> 181</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classOpenGLImage.html#a0bd3a7e2a8d8e36ebacf4277a3f915cc">draw</a>();</div>
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160;<span class="comment"> Draw this image at (x, y) point using the current OpenGL context.</span></div>
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160;<span class="comment"> DEPRECATED This function does not take into consideration the current graphics context and only works in OpenGL.</span></div>
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; DISTRHO_DEPRECATED_BY(&quot;<a class="code" href="classOpenGLImage.html#ab97d09a7496436d2823c064708a61287">drawAt</a>(const <a class="code" href="structGraphicsContext.html">GraphicsContext</a>&amp;, <span class="keywordtype">int</span>, <span class="keywordtype">int</span>)&quot;)</div>
<div class="line"><a name="l00188"></a><span class="lineno"><a class="line" href="classOpenGLImage.html#a9b707a6bc3994826b250cd92059b711a"> 188</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classOpenGLImage.html#ab97d09a7496436d2823c064708a61287">drawAt</a>(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y);</div>
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160;<span class="comment"> Draw this image at position @a pos using the current OpenGL context.</span></div>
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160;<span class="comment"> DEPRECATED This function does not take into consideration the current graphics context and only works in OpenGL.</span></div>
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; DISTRHO_DEPRECATED_BY(&quot;<a class="code" href="classOpenGLImage.html#ab97d09a7496436d2823c064708a61287">drawAt</a>(const <a class="code" href="structGraphicsContext.html">GraphicsContext</a>&amp;, const <a class="code" href="classPoint.html">Point</a>&lt;<span class="keywordtype">int</span>&gt;&amp;)&quot;)</div>
<div class="line"><a name="l00195"></a><span class="lineno"><a class="line" href="classOpenGLImage.html#affc660fed1d4be803512d1ff7a0ccaf5"> 195</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classOpenGLImage.html#ab97d09a7496436d2823c064708a61287">drawAt</a>(const <a class="code" href="classPoint.html">Point</a>&lt;<span class="keywordtype">int</span>&gt;&amp; pos);</div>
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160;<span class="comment"> Get the image type.</span></div>
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160;<span class="comment"> DEPRECATED Type is always assumed to be GL_UNSIGNED_BYTE.</span></div>
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; DISTRHO_DEPRECATED</div>
<div class="line"><a name="l00202"></a><span class="lineno"><a class="line" href="classOpenGLImage.html#ac6eb1a0e289c0e29bf8d8cfb3310f40e"> 202</a></span>&#160; GLenum <a class="code" href="classOpenGLImage.html#ac6eb1a0e289c0e29bf8d8cfb3310f40e">getType</a>() const noexcept { <span class="keywordflow">return</span> GL_UNSIGNED_BYTE; }</div>
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; </div>
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160;<span class="keyword">private</span>:</div>
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; GLuint textureId;</div>
<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; <span class="keywordtype">bool</span> setupCalled;</div>
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160;};</div>
<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; </div>
<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160;<span class="comment">// -----------------------------------------------------------------------</span></div>
<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; </div>
<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160;<span class="keyword">typedef</span> <a class="code" href="classImageBaseAboutWindow.html">ImageBaseAboutWindow&lt;OpenGLImage&gt;</a> <a class="code" href="classImageBaseAboutWindow.html">OpenGLImageAboutWindow</a>;</div>
<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160;<span class="keyword">typedef</span> <a class="code" href="classImageBaseButton.html">ImageBaseButton&lt;OpenGLImage&gt;</a> <a class="code" href="classImageBaseButton.html">OpenGLImageButton</a>;</div>
<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160;<span class="keyword">typedef</span> <a class="code" href="classImageBaseKnob.html">ImageBaseKnob&lt;OpenGLImage&gt;</a> <a class="code" href="classImageBaseKnob.html">OpenGLImageKnob</a>;</div>
<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160;<span class="keyword">typedef</span> <a class="code" href="classImageBaseSlider.html">ImageBaseSlider&lt;OpenGLImage&gt;</a> <a class="code" href="classImageBaseSlider.html">OpenGLImageSlider</a>;</div>
<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160;<span class="keyword">typedef</span> <a class="code" href="classImageBaseSwitch.html">ImageBaseSwitch&lt;OpenGLImage&gt;</a> <a class="code" href="classImageBaseSwitch.html">OpenGLImageSwitch</a>;</div>
<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; </div>
<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160;<span class="comment">// -----------------------------------------------------------------------</span></div>
<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; </div>
<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160;END_NAMESPACE_DGL</div>
<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; </div>
<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160;<span class="preprocessor">#endif </span><span class="comment">// DGL_OPENGL_HPP_INCLUDED</span></div>
<div class="ttc" id="aclassImageBaseAboutWindow_html"><div class="ttname"><a href="classImageBaseAboutWindow.html">ImageBaseAboutWindow</a></div><div class="ttdef"><b>Definition:</b> ImageBaseWidgets.hpp:40</div></div>
<div class="ttc" id="aclassImageBaseButton_html"><div class="ttname"><a href="classImageBaseButton.html">ImageBaseButton</a></div><div class="ttdef"><b>Definition:</b> ImageBaseWidgets.hpp:86</div></div>
<div class="ttc" id="aclassImageBaseKnob_html"><div class="ttname"><a href="classImageBaseKnob.html">ImageBaseKnob</a></div><div class="ttdef"><b>Definition:</b> ImageBaseWidgets.hpp:132</div></div>
<div class="ttc" id="aclassImageBaseSlider_html"><div class="ttname"><a href="classImageBaseSlider.html">ImageBaseSlider</a></div><div class="ttdef"><b>Definition:</b> ImageBaseWidgets.hpp:172</div></div>
<div class="ttc" id="aclassImageBaseSwitch_html"><div class="ttname"><a href="classImageBaseSwitch.html">ImageBaseSwitch</a></div><div class="ttdef"><b>Definition:</b> ImageBaseWidgets.hpp:223</div></div>
<div class="ttc" id="aclassImageBase_html"><div class="ttname"><a href="classImageBase.html">ImageBase</a></div><div class="ttdef"><b>Definition:</b> ImageBase.hpp:45</div></div>
<div class="ttc" id="aclassOpenGLImage_html"><div class="ttname"><a href="classOpenGLImage.html">OpenGLImage</a></div><div class="ttdef"><b>Definition:</b> OpenGL.hpp:105</div></div>
<div class="ttc" id="aclassOpenGLImage_html_a0bd3a7e2a8d8e36ebacf4277a3f915cc"><div class="ttname"><a href="classOpenGLImage.html#a0bd3a7e2a8d8e36ebacf4277a3f915cc">OpenGLImage::draw</a></div><div class="ttdeci">void draw()</div></div>
<div class="ttc" id="aclassOpenGLImage_html_a289cbeb6a607985c323e0cd5a8fbd19a"><div class="ttname"><a href="classOpenGLImage.html#a289cbeb6a607985c323e0cd5a8fbd19a">OpenGLImage::operator=</a></div><div class="ttdeci">OpenGLImage &amp; operator=(const OpenGLImage &amp;image) noexcept</div></div>
<div class="ttc" id="aclassOpenGLImage_html_a5ee11a12fb84219cf5216396c1cf3c0a"><div class="ttname"><a href="classOpenGLImage.html#a5ee11a12fb84219cf5216396c1cf3c0a">OpenGLImage::loadFromMemory</a></div><div class="ttdeci">void loadFromMemory(const char *rawData, const Size&lt; uint &gt; &amp;size, ImageFormat format=kImageFormatBGRA) noexcept override</div></div>
<div class="ttc" id="aclassSize_html"><div class="ttname"><a href="classSize.html">Size&lt; uint &gt;</a></div></div>
<div class="ttc" id="aclassOpenGLImage_html_a97461921a4eba66af7cfeaf84595f3ad"><div class="ttname"><a href="classOpenGLImage.html#a97461921a4eba66af7cfeaf84595f3ad">OpenGLImage::~OpenGLImage</a></div><div class="ttdeci">~OpenGLImage() override</div></div>
<div class="ttc" id="aclassOpenGLImage_html_a7292ff9abcd2137c0cf8d7c0d57d1eb5"><div class="ttname"><a href="classOpenGLImage.html#a7292ff9abcd2137c0cf8d7c0d57d1eb5">OpenGLImage::OpenGLImage</a></div><div class="ttdeci">OpenGLImage()</div></div>
<div class="ttc" id="aclassImageBaseAboutWindow_html"><div class="ttname"><a href="classImageBaseAboutWindow.html">ImageBaseAboutWindow</a></div><div class="ttdef"><b>Definition:</b> ImageBaseWidgets.hpp:39</div></div>
<div class="ttc" id="aclassImageBase_html"><div class="ttname"><a href="classImageBase.html">ImageBase</a></div><div class="ttdef"><b>Definition:</b> ImageBase.hpp:44</div></div>
<div class="ttc" id="astructOpenGLGraphicsContext_html"><div class="ttname"><a href="structOpenGLGraphicsContext.html">OpenGLGraphicsContext</a></div><div class="ttdef"><b>Definition:</b> OpenGL.hpp:121</div></div>
<div class="ttc" id="aclassOpenGLImage_html_a0bd3a7e2a8d8e36ebacf4277a3f915cc"><div class="ttname"><a href="classOpenGLImage.html#a0bd3a7e2a8d8e36ebacf4277a3f915cc">OpenGLImage::draw</a></div><div class="ttdeci">void draw()</div></div>
<div class="ttc" id="aclassPoint_html"><div class="ttname"><a href="classPoint.html">Point&lt; int &gt;</a></div></div>
<div class="ttc" id="aclassOpenGLImage_html_a97461921a4eba66af7cfeaf84595f3ad"><div class="ttname"><a href="classOpenGLImage.html#a97461921a4eba66af7cfeaf84595f3ad">OpenGLImage::~OpenGLImage</a></div><div class="ttdeci">~OpenGLImage() override</div></div>
<div class="ttc" id="aclassOpenGLImage_html_a9cd14d74c793c77c3ee3a8f9d291a706"><div class="ttname"><a href="classOpenGLImage.html#a9cd14d74c793c77c3ee3a8f9d291a706">OpenGLImage::OpenGLImage</a></div><div class="ttdeci">OpenGLImage(const OpenGLImage &amp;image)</div></div>
<div class="ttc" id="aclassOpenGLImage_html_ab3846413c806171a98ec3f41f5db20a8"><div class="ttname"><a href="classOpenGLImage.html#ab3846413c806171a98ec3f41f5db20a8">OpenGLImage::OpenGLImage</a></div><div class="ttdeci">OpenGLImage(const char *rawData, uint width, uint height, ImageFormat format=kImageFormatBGRA)</div></div>
<div class="ttc" id="aclassOpenGLImage_html_ab97d09a7496436d2823c064708a61287"><div class="ttname"><a href="classOpenGLImage.html#ab97d09a7496436d2823c064708a61287">OpenGLImage::drawAt</a></div><div class="ttdeci">void drawAt(const GraphicsContext &amp;context, const Point&lt; int &gt; &amp;pos) override</div></div>
<div class="ttc" id="aclassOpenGLImage_html_ac6eb1a0e289c0e29bf8d8cfb3310f40e"><div class="ttname"><a href="classOpenGLImage.html#ac6eb1a0e289c0e29bf8d8cfb3310f40e">OpenGLImage::getType</a></div><div class="ttdeci">DISTRHO_DEPRECATED GLenum getType() const noexcept</div><div class="ttdef"><b>Definition:</b> OpenGL.hpp:289</div></div>
<div class="ttc" id="aclassImageBaseSwitch_html"><div class="ttname"><a href="classImageBaseSwitch.html">ImageBaseSwitch</a></div><div class="ttdef"><b>Definition:</b> ImageBaseWidgets.hpp:222</div></div>
<div class="ttc" id="aclassOpenGLImage_html"><div class="ttname"><a href="classOpenGLImage.html">OpenGLImage</a></div><div class="ttdef"><b>Definition:</b> OpenGL.hpp:191</div></div>
<div class="ttc" id="aclassOpenGLImage_html_ac6eb1a0e289c0e29bf8d8cfb3310f40e"><div class="ttname"><a href="classOpenGLImage.html#ac6eb1a0e289c0e29bf8d8cfb3310f40e">OpenGLImage::getType</a></div><div class="ttdeci">DISTRHO_DEPRECATED GLenum getType() const noexcept</div><div class="ttdef"><b>Definition:</b> OpenGL.hpp:202</div></div>
<div class="ttc" id="aclassOpenGLImage_html_af61ca1a163bae128817d3ad0ea6095f4"><div class="ttname"><a href="classOpenGLImage.html#af61ca1a163bae128817d3ad0ea6095f4">OpenGLImage::OpenGLImage</a></div><div class="ttdeci">OpenGLImage(const char *rawData, const Size&lt; uint &gt; &amp;size, ImageFormat format=kImageFormatBGRA)</div></div>
<div class="ttc" id="aclassPoint_html"><div class="ttname"><a href="classPoint.html">Point&lt; int &gt;</a></div></div>
<div class="ttc" id="aclassSize_html"><div class="ttname"><a href="classSize.html">Size&lt; uint &gt;</a></div></div>
<div class="ttc" id="astructGraphicsContext_html"><div class="ttname"><a href="structGraphicsContext.html">GraphicsContext</a></div><div class="ttdef"><b>Definition:</b> Base.hpp:212</div></div>
<div class="ttc" id="astructOpenGLGraphicsContext_html"><div class="ttname"><a href="structOpenGLGraphicsContext.html">OpenGLGraphicsContext</a></div><div class="ttdef"><b>Definition:</b> OpenGL.hpp:33</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Mar 31 2022 17:09:26 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
Generated on Wed Jul 27 2022 00:46:18 for DISTRHO Plugin Framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

+ 592
- 573
RingBuffer_8hpp_source.html
File diff suppressed because it is too large
View File


+ 334
- 0
Runner_8hpp_source.html View File

@@ -0,0 +1,334 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DISTRHO Plugin Framework: distrho/extra/Runner.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">DISTRHO Plugin Framework
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_37257469cca17bab24b582e18a78eb75.html">distrho</a></li><li class="navelem"><a class="el" href="dir_b1be46be7d80596b116b2b4ac973f2f0.html">extra</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">Runner.hpp</div> </div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> * DISTRHO Plugin Framework (DPF)</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> * Copyright (C) 2012-2022 Filipe Coelho &lt;falktx@falktx.com&gt;</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> * Permission to use, copy, modify, and/or distribute this software for any purpose with</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> * or without fee is hereby granted, provided that the above copyright notice and this</span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> * permission notice appear in all copies.</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment"> * THE SOFTWARE IS PROVIDED &quot;AS IS&quot; AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment"> * TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> * IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160; </div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="preprocessor">#ifndef DISTRHO_RUNNER_HPP_INCLUDED</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="preprocessor">#define DISTRHO_RUNNER_HPP_INCLUDED</span></div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160; </div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="preprocessor">#include &quot;../DistrhoUtils.hpp&quot;</span></div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160; </div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="preprocessor">#ifndef DISTRHO_OS_WASM</span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="preprocessor"># include &quot;Thread.hpp&quot;</span></div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="preprocessor">#else</span></div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="preprocessor"># include &quot;String.hpp&quot;</span></div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="preprocessor"># include &lt;emscripten/html5.h&gt;</span></div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; </div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<a class="code" href="group__NamespaceMacros.html#gac4cb97c393d20c28ba19365d844341cd">START_NAMESPACE_DISTRHO</a></div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; </div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="preprocessor">#ifdef DISTRHO_RUNNER_INDIRECT_WASM_CALLS</span></div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="keywordtype">long</span> d_emscripten_set_interval(<span class="keywordtype">void</span> (*)(<span class="keywordtype">void</span>*), <span class="keywordtype">double</span>, <span class="keywordtype">void</span>*);</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="keywordtype">void</span> d_emscripten_clear_interval(<span class="keywordtype">long</span>);</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="preprocessor">#else</span></div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="preprocessor"># define d_emscripten_set_interval emscripten_set_interval</span></div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="preprocessor"># define d_emscripten_clear_interval emscripten_clear_interval</span></div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; </div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;<span class="comment">// -------------------------------------------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;<span class="comment">// Runner class</span></div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;<span class="comment"> Runner class for DPF.</span></div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;<span class="comment"> This is a handy class that handles &quot;idle&quot; time in either background or main thread,</span></div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;<span class="comment"> whichever is more suitable to the target platform.</span></div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;<span class="comment"> Typically background threads on desktop platforms, main thread on web.</span></div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;<span class="comment"> A single function is expected to be implemented by subclasses,</span></div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;<span class="comment"> which directly allows it to stop the runner by returning false.</span></div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;<span class="comment"> You can use it for quick operations that do not need to be handled in the main thread if possible.</span></div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;<span class="comment"> The target is to spread out execution over many runs, instead of spending a lot of time on a single task.</span></div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="classRunner.html"> 55</a></span>&#160;<span class="keyword">class </span><a class="code" href="classRunner.html">Runner</a></div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;{</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;<span class="keyword">protected</span>:</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <span class="comment">/*</span></div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;<span class="comment"> * Constructor.</span></div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <a class="code" href="classRunner.html">Runner</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span> runnerName = <span class="keyword">nullptr</span>) noexcept</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;<span class="preprocessor"> #ifndef DISTRHO_OS_WASM</span></div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; : fRunnerThread(<span class="keyword">this</span>, runnerName),</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; fTimeInterval(0)</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <span class="preprocessor">#else</span></div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; : fRunnerName(runnerName),</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; fIntervalId(0)</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; <span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; {</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; }</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; </div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <span class="comment">/*</span></div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;<span class="comment"> * Destructor.</span></div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <span class="keyword">virtual</span> ~<a class="code" href="classRunner.html">Runner</a>() <span class="comment">/*noexcept*/</span></div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; {</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; DISTRHO_SAFE_ASSERT(! isRunnerActive());</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; </div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; stopRunner();</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; }</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; </div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; <span class="comment">/*</span></div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160;<span class="comment"> * Virtual function to be implemented by the subclass.</span></div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;<span class="comment"> * Return true to keep running, false to stop execution.</span></div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> run() = 0;</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; </div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <span class="comment">/*</span></div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;<span class="comment"> * Check if the runner should stop.</span></div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160;<span class="comment"> * To be called from inside the runner to know if a stop request has been made.</span></div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <span class="keywordtype">bool</span> shouldRunnerStop() <span class="keyword">const</span> noexcept</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; {</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160;<span class="preprocessor"> #ifndef DISTRHO_OS_WASM</span></div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <span class="keywordflow">return</span> fRunnerThread.shouldThreadExit();</div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160;<span class="preprocessor"> #else</span></div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <span class="keywordflow">return</span> fIntervalId == 0;</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160;<span class="preprocessor"> #endif</span></div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; }</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; </div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; <span class="comment">// ---------------------------------------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; </div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; <span class="comment">/*</span></div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;<span class="comment"> * Check if the runner is active.</span></div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <span class="keywordtype">bool</span> isRunnerActive() noexcept</div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; {</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160;<span class="preprocessor"> #ifndef DISTRHO_OS_WASM</span></div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; <span class="keywordflow">return</span> fRunnerThread.isThreadRunning();</div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;<span class="preprocessor"> #else</span></div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <span class="keywordflow">return</span> fIntervalId != 0;</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;<span class="preprocessor"> #endif</span></div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; }</div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; </div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <span class="comment">/*</span></div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;<span class="comment"> * Start the thread.</span></div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <span class="keywordtype">bool</span> startRunner(<span class="keyword">const</span> uint timeIntervalMilliseconds = 0) noexcept</div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; {</div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;<span class="preprocessor"> #ifndef DISTRHO_OS_WASM</span></div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; DISTRHO_SAFE_ASSERT_RETURN(!fRunnerThread.isThreadRunning(), <span class="keyword">false</span>);</div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; fTimeInterval = timeIntervalMilliseconds;</div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <span class="keywordflow">return</span> fRunnerThread.startThread();</div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;<span class="preprocessor"> #else</span></div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; DISTRHO_SAFE_ASSERT_RETURN(fIntervalId == 0, <span class="keyword">false</span>);</div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; fIntervalId = d_emscripten_set_interval(_entryPoint, timeIntervalMilliseconds, <span class="keyword">this</span>);</div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;<span class="preprocessor"> #endif</span></div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; }</div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; </div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; <span class="comment">/*</span></div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;<span class="comment"> * Stop the runner.</span></div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;<span class="comment"> * This will signal the runner to stop if active, and wait until it finishes.</span></div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; <span class="keywordtype">bool</span> stopRunner() noexcept</div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; {</div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;<span class="preprocessor"> #ifndef DISTRHO_OS_WASM</span></div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; <span class="keywordflow">return</span> fRunnerThread.stopThread(-1);</div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160;<span class="preprocessor"> #else</span></div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; signalRunnerShouldStop();</div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;<span class="preprocessor"> #endif</span></div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; }</div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; </div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; <span class="comment">/*</span></div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160;<span class="comment"> * Tell the runner to stop as soon as possible.</span></div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; <span class="keywordtype">void</span> signalRunnerShouldStop() noexcept</div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; {</div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;<span class="preprocessor"> #ifndef DISTRHO_OS_WASM</span></div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; fRunnerThread.signalThreadShouldExit();</div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;<span class="preprocessor"> #else</span></div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; <span class="keywordflow">if</span> (fIntervalId != 0)</div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; {</div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; d_emscripten_clear_interval(fIntervalId);</div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; fIntervalId = 0;</div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; }</div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160;<span class="preprocessor"> #endif</span></div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; }</div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; </div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; <span class="comment">// ---------------------------------------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; </div>
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; <span class="comment">/*</span></div>
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160;<span class="comment"> * Returns the name of the runner.</span></div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160;<span class="comment"> * This is the name that gets set in the constructor.</span></div>
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; <span class="keyword">const</span> <a class="code" href="classString.html">String</a>&amp; getRunnerName() <span class="keyword">const</span> noexcept</div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; {</div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160;<span class="preprocessor"> #ifndef DISTRHO_OS_WASM</span></div>
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; <span class="keywordflow">return</span> fRunnerThread.getThreadName();</div>
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160;<span class="preprocessor"> #else</span></div>
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; <span class="keywordflow">return</span> fRunnerName;</div>
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160;<span class="preprocessor"> #endif</span></div>
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; }</div>
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; </div>
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; <span class="comment">// ---------------------------------------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; </div>
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160;<span class="keyword">private</span>:</div>
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160;<span class="preprocessor">#ifndef DISTRHO_OS_WASM</span></div>
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; <span class="keyword">class </span>RunnerThread : <span class="keyword">public</span> <a class="code" href="classThread.html">Thread</a></div>
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; {</div>
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; <a class="code" href="classRunner.html">Runner</a>* <span class="keyword">const</span> runner;</div>
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; </div>
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; RunnerThread(<a class="code" href="classRunner.html">Runner</a>* <span class="keyword">const</span> r, <span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span> rn)</div>
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; : <a class="code" href="classThread.html">Thread</a>(rn),</div>
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; runner(r) {}</div>
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; </div>
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; <span class="keyword">protected</span>:</div>
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; <span class="keywordtype">void</span> run()<span class="keyword"> override</span></div>
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160;<span class="keyword"> </span>{</div>
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; <span class="keyword">const</span> uint timeInterval = runner-&gt;fTimeInterval;</div>
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; </div>
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; <span class="keywordflow">while</span> (!shouldThreadExit())</div>
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; {</div>
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; <span class="keywordtype">bool</span> stillRunning = <span class="keyword">false</span>;</div>
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; </div>
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; <span class="keywordflow">try</span> {</div>
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; stillRunning = runner-&gt;run();</div>
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; } <span class="keywordflow">catch</span>(...) {}</div>
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; </div>
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; <span class="keywordflow">if</span> (stillRunning &amp;&amp; !shouldThreadExit())</div>
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; {</div>
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; <span class="keywordflow">if</span> (timeInterval != 0)</div>
<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; d_msleep(timeInterval);</div>
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; </div>
<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; <span class="comment">// FIXME</span></div>
<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; <span class="comment">// pthread_yield();</span></div>
<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; <span class="keywordflow">continue</span>;</div>
<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; }</div>
<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; </div>
<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; }</div>
<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; }</div>
<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; } fRunnerThread;</div>
<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; </div>
<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; uint fTimeInterval;</div>
<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160;<span class="preprocessor">#else</span></div>
<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; <span class="keyword">const</span> <a class="code" href="classString.html">String</a> fRunnerName;</div>
<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; <span class="keywordtype">long</span> fIntervalId;</div>
<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; </div>
<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; <span class="keywordtype">void</span> _runEntryPoint() noexcept</div>
<div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; {</div>
<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; <span class="keywordtype">bool</span> stillRunning = <span class="keyword">false</span>;</div>
<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; </div>
<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; <span class="keywordflow">try</span> {</div>
<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; stillRunning = run();</div>
<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; } <span class="keywordflow">catch</span>(...) {}</div>
<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; </div>
<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; <span class="keywordflow">if</span> (fIntervalId != 0 &amp;&amp; !stillRunning)</div>
<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; {</div>
<div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; d_emscripten_clear_interval(fIntervalId);</div>
<div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; fIntervalId = 0;</div>
<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; }</div>
<div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; }</div>
<div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; </div>
<div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; <span class="keyword">static</span> <span class="keywordtype">void</span> _entryPoint(<span class="keywordtype">void</span>* <span class="keyword">const</span> userData) noexcept</div>
<div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; {</div>
<div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; <span class="keyword">static_cast&lt;</span><a class="code" href="classRunner.html">Runner</a>*<span class="keyword">&gt;</span>(userData)-&gt;_runEntryPoint();</div>
<div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; }</div>
<div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; </div>
<div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; DISTRHO_DECLARE_NON_COPYABLE(<a class="code" href="classRunner.html">Runner</a>)</div>
<div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160;};</div>
<div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; </div>
<div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160;<span class="comment">// -------------------------------------------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; </div>
<div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160;<a class="code" href="group__NamespaceMacros.html#ga3ff541a449593e069a29e92d21e38ef3">END_NAMESPACE_DISTRHO</a></div>
<div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; </div>
<div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160;<span class="preprocessor">#endif </span><span class="comment">// DISTRHO_RUNNER_HPP_INCLUDED</span></div>
<div class="ttc" id="aclassRunner_html"><div class="ttname"><a href="classRunner.html">Runner</a></div><div class="ttdef"><b>Definition:</b> Runner.hpp:56</div></div>
<div class="ttc" id="aclassString_html"><div class="ttname"><a href="classString.html">String</a></div><div class="ttdef"><b>Definition:</b> String.hpp:31</div></div>
<div class="ttc" id="aclassThread_html"><div class="ttname"><a href="classThread.html">Thread</a></div><div class="ttdef"><b>Definition:</b> Thread.hpp:38</div></div>
<div class="ttc" id="agroup__NamespaceMacros_html_ga3ff541a449593e069a29e92d21e38ef3"><div class="ttname"><a href="group__NamespaceMacros.html#ga3ff541a449593e069a29e92d21e38ef3">END_NAMESPACE_DISTRHO</a></div><div class="ttdeci">#define END_NAMESPACE_DISTRHO</div><div class="ttdef"><b>Definition:</b> DistrhoInfo.hpp:834</div></div>
<div class="ttc" id="agroup__NamespaceMacros_html_gac4cb97c393d20c28ba19365d844341cd"><div class="ttname"><a href="group__NamespaceMacros.html#gac4cb97c393d20c28ba19365d844341cd">START_NAMESPACE_DISTRHO</a></div><div class="ttdeci">#define START_NAMESPACE_DISTRHO</div><div class="ttdef"><b>Definition:</b> DistrhoInfo.hpp:828</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Jul 27 2022 00:46:18 for DISTRHO Plugin Framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

+ 18
- 20
ScopedPointer_8hpp_source.html View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DISTRHO Plugin Framework: distrho/extra/ScopedPointer.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -29,10 +29,10 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
@@ -269,7 +269,7 @@ $(function() {
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; <span class="comment">// (Required as an alternative to the overloaded &amp; operator).</span></div>
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; <span class="keyword">const</span> <a class="code" href="classScopedPointer.html">ScopedPointer</a>* getAddress() const noexcept { <span class="keywordflow">return</span> <span class="keyword">this</span>; }</div>
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; </div>
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160;<span class="preprocessor">#ifndef _MSC_VER // (MSVC can&#39;t deal with multiple copy constructors)</span></div>
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160;<span class="preprocessor">#ifndef _MSC_VER </span><span class="comment">// (MSVC can&#39;t deal with multiple copy constructors)</span></div>
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; <span class="comment">/* The copy constructors are private to stop people accidentally copying a const ScopedPointer</span></div>
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160;<span class="comment"> (the compiler would let you do so by implicitly casting the source to its raw object pointer).</span></div>
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160;<span class="comment"></span> </div>
@@ -319,28 +319,26 @@ $(function() {
<div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; </div>
<div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160;<a class="code" href="group__NamespaceMacros.html#ga3ff541a449593e069a29e92d21e38ef3">END_NAMESPACE_DISTRHO</a></div>
<div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; </div>
<div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160;<span class="preprocessor">#endif // DISTRHO_SCOPED_POINTER_HPP_INCLUDED</span></div>
</div><!-- fragment --></div><!-- contents -->
<div class="ttc" id="aclassScopedPointer_html_a88ee7f038e57471539d3181141c0390e"><div class="ttname"><a href="classScopedPointer.html#a88ee7f038e57471539d3181141c0390e">ScopedPointer::operator=</a></div><div class="ttdeci">ScopedPointer &amp; operator=(ObjectType *const newObjectToTakePossessionOf)</div><div class="ttdef"><b>Definition:</b> ScopedPointer.hpp:147</div></div>
<div class="ttc" id="agroup__NamespaceMacros_html_gac4cb97c393d20c28ba19365d844341cd"><div class="ttname"><a href="group__NamespaceMacros.html#gac4cb97c393d20c28ba19365d844341cd">START_NAMESPACE_DISTRHO</a></div><div class="ttdeci">#define START_NAMESPACE_DISTRHO</div><div class="ttdef"><b>Definition:</b> DistrhoInfo.hpp:828</div></div>
<div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160;<span class="preprocessor">#endif </span><span class="comment">// DISTRHO_SCOPED_POINTER_HPP_INCLUDED</span></div>
<div class="ttc" id="aclassScopedPointer_html"><div class="ttname"><a href="classScopedPointer.html">ScopedPointer</a></div><div class="ttdef"><b>Definition:</b> ScopedPointer.hpp:83</div></div>
<div class="ttc" id="aclassScopedPointer_html_a04688b1561dd9d861ca80c6deb63a233"><div class="ttname"><a href="classScopedPointer.html#a04688b1561dd9d861ca80c6deb63a233">ScopedPointer::ScopedPointer</a></div><div class="ttdeci">ScopedPointer(ScopedPointer &amp;objectToTransferFrom) noexcept</div><div class="ttdef"><b>Definition:</b> ScopedPointer.hpp:100</div></div>
<div class="ttc" id="aclassScopedPointer_html_a10c8f696fec0cca763b067ec3e469199"><div class="ttname"><a href="classScopedPointer.html#a10c8f696fec0cca763b067ec3e469199">ScopedPointer::release</a></div><div class="ttdeci">ObjectType * release() noexcept</div><div class="ttdef"><b>Definition:</b> ScopedPointer.hpp:179</div></div>
<div class="ttc" id="aclassScopedPointer_html_a6eedc84349cbe629cc1abb79ffa74e87"><div class="ttname"><a href="classScopedPointer.html#a6eedc84349cbe629cc1abb79ffa74e87">ScopedPointer::operator-&gt;</a></div><div class="ttdeci">ObjectType * operator-&gt;() const noexcept</div><div class="ttdef"><b>Definition:</b> ScopedPointer.hpp:173</div></div>
<div class="ttc" id="aclassScopedPointer_html_a3c540f0121065aafa5f9607362fc1450"><div class="ttname"><a href="classScopedPointer.html#a3c540f0121065aafa5f9607362fc1450">ScopedPointer::~ScopedPointer</a></div><div class="ttdeci">~ScopedPointer()</div><div class="ttdef"><b>Definition:</b> ScopedPointer.hpp:109</div></div>
<div class="ttc" id="aclassScopedPointer_html_a1a88fa0865167c487050a9519297d4ed"><div class="ttname"><a href="classScopedPointer.html#a1a88fa0865167c487050a9519297d4ed">ScopedPointer::getObject</a></div><div class="ttdeci">ObjectType &amp; getObject() const noexcept</div><div class="ttdef"><b>Definition:</b> ScopedPointer.hpp:167</div></div>
<div class="ttc" id="aclassScopedPointer_html_afefc7940828d72c056e03804cd6bea9f"><div class="ttname"><a href="classScopedPointer.html#afefc7940828d72c056e03804cd6bea9f">ScopedPointer::operator=</a></div><div class="ttdeci">ScopedPointer &amp; operator=(ScopedPointer &amp;objectToTransferFrom)</div><div class="ttdef"><b>Definition:</b> ScopedPointer.hpp:123</div></div>
<div class="ttc" id="aclassScopedPointer_html"><div class="ttname"><a href="classScopedPointer.html">ScopedPointer</a></div><div class="ttdef"><b>Definition:</b> ScopedPointer.hpp:82</div></div>
<div class="ttc" id="agroup__NamespaceMacros_html_ga3ff541a449593e069a29e92d21e38ef3"><div class="ttname"><a href="group__NamespaceMacros.html#ga3ff541a449593e069a29e92d21e38ef3">END_NAMESPACE_DISTRHO</a></div><div class="ttdeci">#define END_NAMESPACE_DISTRHO</div><div class="ttdef"><b>Definition:</b> DistrhoInfo.hpp:834</div></div>
<div class="ttc" id="aclassScopedPointer_html_a04688b1561dd9d861ca80c6deb63a233"><div class="ttname"><a href="classScopedPointer.html#a04688b1561dd9d861ca80c6deb63a233">ScopedPointer::ScopedPointer</a></div><div class="ttdeci">ScopedPointer(ScopedPointer &amp;objectToTransferFrom) noexcept</div><div class="ttdef"><b>Definition:</b> ScopedPointer.hpp:100</div></div>
<div class="ttc" id="aclassScopedPointer_html_ac187958296e33aa057dd37478ea70400"><div class="ttname"><a href="classScopedPointer.html#ac187958296e33aa057dd37478ea70400">ScopedPointer::ScopedPointer</a></div><div class="ttdeci">ScopedPointer() noexcept</div><div class="ttdef"><b>Definition:</b> ScopedPointer.hpp:87</div></div>
<div class="ttc" id="aclassScopedPointer_html_a44a7843e49c3ff719f06607b6e908f7d"><div class="ttname"><a href="classScopedPointer.html#a44a7843e49c3ff719f06607b6e908f7d">ScopedPointer::ScopedPointer</a></div><div class="ttdeci">ScopedPointer(ObjectType *const objectToTakePossessionOf) noexcept</div><div class="ttdef"><b>Definition:</b> ScopedPointer.hpp:91</div></div>
<div class="ttc" id="aclassScopedPointer_html_ac65fb45b9eb2d53773489fcfbc6fd740"><div class="ttname"><a href="classScopedPointer.html#ac65fb45b9eb2d53773489fcfbc6fd740">ScopedPointer::get</a></div><div class="ttdeci">ObjectType * get() const noexcept</div><div class="ttdef"><b>Definition:</b> ScopedPointer.hpp:164</div></div>
<div class="ttc" id="aclassScopedPointer_html_a2f48458a1656a6ef1bd35cb8452eed35"><div class="ttname"><a href="classScopedPointer.html#a2f48458a1656a6ef1bd35cb8452eed35">ScopedPointer::operator*</a></div><div class="ttdeci">ObjectType &amp; operator*() const noexcept</div><div class="ttdef"><b>Definition:</b> ScopedPointer.hpp:170</div></div>
<div class="ttc" id="aclassScopedPointer_html_a362cd8d5a212df0ee08691b75a4ba3de"><div class="ttname"><a href="classScopedPointer.html#a362cd8d5a212df0ee08691b75a4ba3de">ScopedPointer::swapWith</a></div><div class="ttdeci">void swapWith(ScopedPointer&lt; ObjectType &gt; &amp;other) noexcept</div><div class="ttdef"><b>Definition:</b> ScopedPointer.hpp:185</div></div>
<div class="ttc" id="aclassScopedPointer_html_a3c540f0121065aafa5f9607362fc1450"><div class="ttname"><a href="classScopedPointer.html#a3c540f0121065aafa5f9607362fc1450">ScopedPointer::~ScopedPointer</a></div><div class="ttdeci">~ScopedPointer()</div><div class="ttdef"><b>Definition:</b> ScopedPointer.hpp:109</div></div>
<div class="ttc" id="aclassScopedPointer_html_a44a7843e49c3ff719f06607b6e908f7d"><div class="ttname"><a href="classScopedPointer.html#a44a7843e49c3ff719f06607b6e908f7d">ScopedPointer::ScopedPointer</a></div><div class="ttdeci">ScopedPointer(ObjectType *const objectToTakePossessionOf) noexcept</div><div class="ttdef"><b>Definition:</b> ScopedPointer.hpp:91</div></div>
<div class="ttc" id="aclassScopedPointer_html_a6eedc84349cbe629cc1abb79ffa74e87"><div class="ttname"><a href="classScopedPointer.html#a6eedc84349cbe629cc1abb79ffa74e87">ScopedPointer::operator-&gt;</a></div><div class="ttdeci">ObjectType * operator-&gt;() const noexcept</div><div class="ttdef"><b>Definition:</b> ScopedPointer.hpp:173</div></div>
<div class="ttc" id="aclassScopedPointer_html_a88ee7f038e57471539d3181141c0390e"><div class="ttname"><a href="classScopedPointer.html#a88ee7f038e57471539d3181141c0390e">ScopedPointer::operator=</a></div><div class="ttdeci">ScopedPointer &amp; operator=(ObjectType *const newObjectToTakePossessionOf)</div><div class="ttdef"><b>Definition:</b> ScopedPointer.hpp:147</div></div>
<div class="ttc" id="aclassScopedPointer_html_ac187958296e33aa057dd37478ea70400"><div class="ttname"><a href="classScopedPointer.html#ac187958296e33aa057dd37478ea70400">ScopedPointer::ScopedPointer</a></div><div class="ttdeci">ScopedPointer() noexcept</div><div class="ttdef"><b>Definition:</b> ScopedPointer.hpp:87</div></div>
<div class="ttc" id="aclassScopedPointer_html_ac65fb45b9eb2d53773489fcfbc6fd740"><div class="ttname"><a href="classScopedPointer.html#ac65fb45b9eb2d53773489fcfbc6fd740">ScopedPointer::get</a></div><div class="ttdeci">ObjectType * get() const noexcept</div><div class="ttdef"><b>Definition:</b> ScopedPointer.hpp:164</div></div>
<div class="ttc" id="aclassScopedPointer_html_afefc7940828d72c056e03804cd6bea9f"><div class="ttname"><a href="classScopedPointer.html#afefc7940828d72c056e03804cd6bea9f">ScopedPointer::operator=</a></div><div class="ttdeci">ScopedPointer &amp; operator=(ScopedPointer &amp;objectToTransferFrom)</div><div class="ttdef"><b>Definition:</b> ScopedPointer.hpp:123</div></div>
<div class="ttc" id="agroup__NamespaceMacros_html_ga3ff541a449593e069a29e92d21e38ef3"><div class="ttname"><a href="group__NamespaceMacros.html#ga3ff541a449593e069a29e92d21e38ef3">END_NAMESPACE_DISTRHO</a></div><div class="ttdeci">#define END_NAMESPACE_DISTRHO</div><div class="ttdef"><b>Definition:</b> DistrhoInfo.hpp:834</div></div>
<div class="ttc" id="agroup__NamespaceMacros_html_gac4cb97c393d20c28ba19365d844341cd"><div class="ttname"><a href="group__NamespaceMacros.html#gac4cb97c393d20c28ba19365d844341cd">START_NAMESPACE_DISTRHO</a></div><div class="ttdeci">#define START_NAMESPACE_DISTRHO</div><div class="ttdef"><b>Definition:</b> DistrhoInfo.hpp:828</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Mar 31 2022 17:09:26 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
Generated on Wed Jul 27 2022 00:46:18 for DISTRHO Plugin Framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

+ 10
- 12
ScopedSafeLocale_8hpp_source.html View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DISTRHO Plugin Framework: distrho/extra/ScopedSafeLocale.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -29,10 +29,10 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
@@ -183,7 +183,7 @@ $(function() {
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; ::uselocale(oldloc);</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <span class="keywordflow">if</span> (newloc != kNullLocale)</div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; ::freelocale(newloc);</div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;<span class="preprocessor">#else // DISTRHO_USE_NEWLOCALE</span></div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;<span class="preprocessor">#else </span><span class="comment">// DISTRHO_USE_NEWLOCALE</span></div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <span class="keywordflow">if</span> (oldloc != <span class="keyword">nullptr</span>)</div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; {</div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; ::setlocale(LC_NUMERIC, oldloc);</div>
@@ -194,7 +194,7 @@ $(function() {
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; <span class="keywordflow">if</span> (oldthreadloc != -1)</div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; _configthreadlocale(oldthreadloc);</div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;<span class="preprocessor"># endif</span></div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;<span class="preprocessor">#endif // DISTRHO_USE_NEWLOCALE</span></div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;<span class="preprocessor">#endif </span><span class="comment">// DISTRHO_USE_NEWLOCALE</span></div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;}</div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; </div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;<span class="comment">// -----------------------------------------------------------------------</span></div>
@@ -204,16 +204,14 @@ $(function() {
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; </div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;<a class="code" href="group__NamespaceMacros.html#ga3ff541a449593e069a29e92d21e38ef3">END_NAMESPACE_DISTRHO</a></div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; </div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;<span class="preprocessor">#endif // DISTRHO_SCOPED_SAFE_LOCALE_HPP_INCLUDED</span></div>
</div><!-- fragment --></div><!-- contents -->
<div class="ttc" id="agroup__NamespaceMacros_html_gac4cb97c393d20c28ba19365d844341cd"><div class="ttname"><a href="group__NamespaceMacros.html#gac4cb97c393d20c28ba19365d844341cd">START_NAMESPACE_DISTRHO</a></div><div class="ttdeci">#define START_NAMESPACE_DISTRHO</div><div class="ttdef"><b>Definition:</b> DistrhoInfo.hpp:828</div></div>
<div class="ttc" id="agroup__NamespaceMacros_html_ga3ff541a449593e069a29e92d21e38ef3"><div class="ttname"><a href="group__NamespaceMacros.html#ga3ff541a449593e069a29e92d21e38ef3">END_NAMESPACE_DISTRHO</a></div><div class="ttdeci">#define END_NAMESPACE_DISTRHO</div><div class="ttdef"><b>Definition:</b> DistrhoInfo.hpp:834</div></div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;<span class="preprocessor">#endif </span><span class="comment">// DISTRHO_SCOPED_SAFE_LOCALE_HPP_INCLUDED</span></div>
<div class="ttc" id="aclassScopedSafeLocale_html"><div class="ttname"><a href="classScopedSafeLocale.html">ScopedSafeLocale</a></div><div class="ttdef"><b>Definition:</b> ScopedSafeLocale.hpp:57</div></div>
<div class="ttc" id="agroup__NamespaceMacros_html_ga3ff541a449593e069a29e92d21e38ef3"><div class="ttname"><a href="group__NamespaceMacros.html#ga3ff541a449593e069a29e92d21e38ef3">END_NAMESPACE_DISTRHO</a></div><div class="ttdeci">#define END_NAMESPACE_DISTRHO</div><div class="ttdef"><b>Definition:</b> DistrhoInfo.hpp:834</div></div>
<div class="ttc" id="agroup__NamespaceMacros_html_gac4cb97c393d20c28ba19365d844341cd"><div class="ttname"><a href="group__NamespaceMacros.html#gac4cb97c393d20c28ba19365d844341cd">START_NAMESPACE_DISTRHO</a></div><div class="ttdeci">#define START_NAMESPACE_DISTRHO</div><div class="ttdef"><b>Definition:</b> DistrhoInfo.hpp:828</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Mar 31 2022 17:09:26 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
Generated on Wed Jul 27 2022 00:46:18 for DISTRHO Plugin Framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

+ 5
- 7
Sleep_8hpp_source.html View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DISTRHO Plugin Framework: distrho/extra/Sleep.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -29,10 +29,10 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
@@ -139,13 +139,11 @@ $(function() {
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; </div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;<span class="comment">// -----------------------------------------------------------------------</span></div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; </div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;<span class="preprocessor">#endif // DISTRHO_SLEEP_HPP_INCLUDED</span></div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;<span class="preprocessor">#endif </span><span class="comment">// DISTRHO_SLEEP_HPP_INCLUDED</span></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Mar 31 2022 17:09:26 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
Generated on Wed Jul 27 2022 00:46:18 for DISTRHO Plugin Framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

+ 29
- 31
StandaloneWindow_8hpp_source.html View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DISTRHO Plugin Framework: dgl/StandaloneWindow.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -29,10 +29,10 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
@@ -159,43 +159,41 @@ $(function() {
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; </div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;END_NAMESPACE_DGL</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; </div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160;<span class="preprocessor">#endif // DGL_STANDALONE_WINDOW_HPP_INCLUDED</span></div>
</div><!-- fragment --></div><!-- contents -->
<div class="ttc" id="aclassWindow_html_a13f314cfd5c9048ec8ea0b88b611f54d"><div class="ttname"><a href="classWindow.html#a13f314cfd5c9048ec8ea0b88b611f54d">Window::setHeight</a></div><div class="ttdeci">void setHeight(uint height)</div></div>
<div class="ttc" id="astructGraphicsContext_html"><div class="ttname"><a href="structGraphicsContext.html">GraphicsContext</a></div><div class="ttdef"><b>Definition:</b> Base.hpp:171</div></div>
<div class="ttc" id="aclassWindow_html_a8f986e19a11c4c97ed8e6ad3d0e648b7"><div class="ttname"><a href="classWindow.html#a8f986e19a11c4c97ed8e6ad3d0e648b7">Window::show</a></div><div class="ttdeci">void show()</div></div>
<div class="ttc" id="aclassWindow_html_a6be53a737e7dfcc74167962437e93b8f"><div class="ttname"><a href="classWindow.html#a6be53a737e7dfcc74167962437e93b8f">Window::isVisible</a></div><div class="ttdeci">bool isVisible() const noexcept</div></div>
<div class="ttc" id="aclassWindow_html"><div class="ttname"><a href="classWindow.html">Window</a></div><div class="ttdef"><b>Definition:</b> Window.hpp:55</div></div>
<div class="ttc" id="aclassWindow_html_a77774c8ce4b01113fcd525079f9b8787"><div class="ttname"><a href="classWindow.html#a77774c8ce4b01113fcd525079f9b8787">Window::getScaleFactor</a></div><div class="ttdeci">double getScaleFactor() const noexcept</div></div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160;<span class="preprocessor">#endif </span><span class="comment">// DGL_STANDALONE_WINDOW_HPP_INCLUDED</span></div>
<div class="ttc" id="aclassApplication_html"><div class="ttname"><a href="classApplication.html">Application</a></div><div class="ttdef"><b>Definition:</b> Application.hpp:43</div></div>
<div class="ttc" id="aclassSize_html"><div class="ttname"><a href="classSize.html">Size&lt; uint &gt;</a></div></div>
<div class="ttc" id="aclassApplication_html"><div class="ttname"><a href="classApplication.html">Application</a></div><div class="ttdef"><b>Definition:</b> Application.hpp:36</div></div>
<div class="ttc" id="aclassStandaloneWindow_html_a645f7c56f44d9a8a72e81595b28650e2"><div class="ttname"><a href="classStandaloneWindow.html#a645f7c56f44d9a8a72e81595b28650e2">StandaloneWindow::isVisible</a></div><div class="ttdeci">bool isVisible() const noexcept</div><div class="ttdef"><b>Definition:</b> StandaloneWindow.hpp:59</div></div>
<div class="ttc" id="aclassWindow_html_a729ab39a1ac99d81b289e08a42582ade"><div class="ttname"><a href="classWindow.html#a729ab39a1ac99d81b289e08a42582ade">Window::repaint</a></div><div class="ttdeci">void repaint() noexcept</div></div>
<div class="ttc" id="aclassWindow_html_ab19430997dd1b3d7bf9bd3640d73b007"><div class="ttname"><a href="classWindow.html#ab19430997dd1b3d7bf9bd3640d73b007">Window::getWidth</a></div><div class="ttdeci">uint getWidth() const noexcept</div></div>
<div class="ttc" id="aclassWindow_html_aa73a74df08f29d576e18cf1d61ea9897"><div class="ttname"><a href="classWindow.html#aa73a74df08f29d576e18cf1d61ea9897">Window::getGraphicsContext</a></div><div class="ttdeci">const GraphicsContext &amp; getGraphicsContext() const noexcept</div></div>
<div class="ttc" id="aclassWindow_html_ad17a7f53a62673982f4861cdc27fd54e"><div class="ttname"><a href="classWindow.html#ad17a7f53a62673982f4861cdc27fd54e">Window::addIdleCallback</a></div><div class="ttdeci">bool addIdleCallback(IdleCallback *callback, uint timerFrequencyInMs=0)</div></div>
<div class="ttc" id="aclassStandaloneWindow_html"><div class="ttname"><a href="classStandaloneWindow.html">StandaloneWindow</a></div><div class="ttdef"><b>Definition:</b> StandaloneWindow.hpp:29</div></div>
<div class="ttc" id="aclassStandaloneWindow_html_a28d4f09b9f280c1d03cc77fc63465b48"><div class="ttname"><a href="classStandaloneWindow.html#a28d4f09b9f280c1d03cc77fc63465b48">StandaloneWindow::StandaloneWindow</a></div><div class="ttdeci">StandaloneWindow(Application &amp;app)</div><div class="ttdef"><b>Definition:</b> StandaloneWindow.hpp:34</div></div>
<div class="ttc" id="aclassStandaloneWindow_html_a3b13bbbe8b8c431806ab50d2ea3410ad"><div class="ttname"><a href="classStandaloneWindow.html#a3b13bbbe8b8c431806ab50d2ea3410ad">StandaloneWindow::done</a></div><div class="ttdeci">void done()</div><div class="ttdef"><b>Definition:</b> StandaloneWindow.hpp:51</div></div>
<div class="ttc" id="aclassStandaloneWindow_html_a645f7c56f44d9a8a72e81595b28650e2"><div class="ttname"><a href="classStandaloneWindow.html#a645f7c56f44d9a8a72e81595b28650e2">StandaloneWindow::isVisible</a></div><div class="ttdeci">bool isVisible() const noexcept</div><div class="ttdef"><b>Definition:</b> StandaloneWindow.hpp:59</div></div>
<div class="ttc" id="aclassStandaloneWindow_html_a86e7db3cd8830628b37d0608df40963c"><div class="ttname"><a href="classStandaloneWindow.html#a86e7db3cd8830628b37d0608df40963c">StandaloneWindow::StandaloneWindow</a></div><div class="ttdeci">StandaloneWindow(Application &amp;app, Window &amp;transientParentWindow)</div><div class="ttdef"><b>Definition:</b> StandaloneWindow.hpp:42</div></div>
<div class="ttc" id="aclassStandaloneWindow_html_aa1475d362245c793b516a232deab70ff"><div class="ttname"><a href="classStandaloneWindow.html#aa1475d362245c793b516a232deab70ff">StandaloneWindow::repaint</a></div><div class="ttdeci">void repaint() noexcept</div><div class="ttdef"><b>Definition:</b> StandaloneWindow.hpp:66</div></div>
<div class="ttc" id="aclassTopLevelWidget_html"><div class="ttname"><a href="classTopLevelWidget.html">TopLevelWidget</a></div><div class="ttdef"><b>Definition:</b> TopLevelWidget.hpp:47</div></div>
<div class="ttc" id="aclassWindow_html"><div class="ttname"><a href="classWindow.html">Window</a></div><div class="ttdef"><b>Definition:</b> Window.hpp:63</div></div>
<div class="ttc" id="aclassWindow_html_a118e0356bb6fcf081955f2bd97686036"><div class="ttname"><a href="classWindow.html#a118e0356bb6fcf081955f2bd97686036">Window::setVisible</a></div><div class="ttdeci">void setVisible(bool visible)</div></div>
<div class="ttc" id="aclassWindow_html_aa3824e300206b15241df8c8c78785d73"><div class="ttname"><a href="classWindow.html#aa3824e300206b15241df8c8c78785d73">Window::setGeometryConstraints</a></div><div class="ttdeci">void setGeometryConstraints(uint minimumWidth, uint minimumHeight, bool keepAspectRatio=false, bool automaticallyScale=false, bool resizeNowIfAutoScaling=true)</div></div>
<div class="ttc" id="aclassStandaloneWindow_html_a86e7db3cd8830628b37d0608df40963c"><div class="ttname"><a href="classStandaloneWindow.html#a86e7db3cd8830628b37d0608df40963c">StandaloneWindow::StandaloneWindow</a></div><div class="ttdeci">StandaloneWindow(Application &amp;app, Window &amp;transientParentWindow)</div><div class="ttdef"><b>Definition:</b> StandaloneWindow.hpp:42</div></div>
<div class="ttc" id="aclassWindow_html_acfc9a6f22176e204009acbb387d3861c"><div class="ttname"><a href="classWindow.html#acfc9a6f22176e204009acbb387d3861c">Window::setWidth</a></div><div class="ttdeci">void setWidth(uint width)</div></div>
<div class="ttc" id="aclassWindow_html_a13f314cfd5c9048ec8ea0b88b611f54d"><div class="ttname"><a href="classWindow.html#a13f314cfd5c9048ec8ea0b88b611f54d">Window::setHeight</a></div><div class="ttdeci">void setHeight(uint height)</div></div>
<div class="ttc" id="aclassWindow_html_a4626829d3cb9d01285f739d2bbc69b74"><div class="ttname"><a href="classWindow.html#a4626829d3cb9d01285f739d2bbc69b74">Window::hide</a></div><div class="ttdeci">void hide()</div></div>
<div class="ttc" id="aclassWindow_html_a5c5c4f53c53cb081b39a40d5ce9afd65"><div class="ttname"><a href="classWindow.html#a5c5c4f53c53cb081b39a40d5ce9afd65">Window::removeIdleCallback</a></div><div class="ttdeci">bool removeIdleCallback(IdleCallback *callback)</div></div>
<div class="ttc" id="aclassWindow_html_a5d53bcba43455f8f77cfcbac61ec6c8e"><div class="ttname"><a href="classWindow.html#a5d53bcba43455f8f77cfcbac61ec6c8e">Window::getHeight</a></div><div class="ttdeci">uint getHeight() const noexcept</div></div>
<div class="ttc" id="aclassWindow_html_a6be53a737e7dfcc74167962437e93b8f"><div class="ttname"><a href="classWindow.html#a6be53a737e7dfcc74167962437e93b8f">Window::isVisible</a></div><div class="ttdeci">bool isVisible() const noexcept</div></div>
<div class="ttc" id="aclassWindow_html_a729ab39a1ac99d81b289e08a42582ade"><div class="ttname"><a href="classWindow.html#a729ab39a1ac99d81b289e08a42582ade">Window::repaint</a></div><div class="ttdeci">void repaint() noexcept</div></div>
<div class="ttc" id="aclassWindow_html_a77774c8ce4b01113fcd525079f9b8787"><div class="ttname"><a href="classWindow.html#a77774c8ce4b01113fcd525079f9b8787">Window::getScaleFactor</a></div><div class="ttdeci">double getScaleFactor() const noexcept</div></div>
<div class="ttc" id="aclassWindow_html_a89bd0c91920029ddcb21b8975e8b47d9"><div class="ttname"><a href="classWindow.html#a89bd0c91920029ddcb21b8975e8b47d9">Window::setSize</a></div><div class="ttdeci">void setSize(uint width, uint height)</div></div>
<div class="ttc" id="aclassWindow_html_a8f986e19a11c4c97ed8e6ad3d0e648b7"><div class="ttname"><a href="classWindow.html#a8f986e19a11c4c97ed8e6ad3d0e648b7">Window::show</a></div><div class="ttdeci">void show()</div></div>
<div class="ttc" id="aclassWindow_html_a92600b2e0715646b80474fccbcadf336"><div class="ttname"><a href="classWindow.html#a92600b2e0715646b80474fccbcadf336">Window::getApp</a></div><div class="ttdeci">Application &amp; getApp() const noexcept</div></div>
<div class="ttc" id="astructWindow_1_1ScopedGraphicsContext_html_a4647e1da0c4477f021f668459fb3221f"><div class="ttname"><a href="structWindow_1_1ScopedGraphicsContext.html#a4647e1da0c4477f021f668459fb3221f">Window::ScopedGraphicsContext::done</a></div><div class="ttdeci">void done()</div></div>
<div class="ttc" id="aclassWindow_html_a5c5c4f53c53cb081b39a40d5ce9afd65"><div class="ttname"><a href="classWindow.html#a5c5c4f53c53cb081b39a40d5ce9afd65">Window::removeIdleCallback</a></div><div class="ttdeci">bool removeIdleCallback(IdleCallback *callback)</div></div>
<div class="ttc" id="aclassStandaloneWindow_html"><div class="ttname"><a href="classStandaloneWindow.html">StandaloneWindow</a></div><div class="ttdef"><b>Definition:</b> StandaloneWindow.hpp:27</div></div>
<div class="ttc" id="astructIdleCallback_html"><div class="ttname"><a href="structIdleCallback.html">IdleCallback</a></div><div class="ttdef"><b>Definition:</b> Base.hpp:176</div></div>
<div class="ttc" id="aclassStandaloneWindow_html_a3b13bbbe8b8c431806ab50d2ea3410ad"><div class="ttname"><a href="classStandaloneWindow.html#a3b13bbbe8b8c431806ab50d2ea3410ad">StandaloneWindow::done</a></div><div class="ttdeci">void done()</div><div class="ttdef"><b>Definition:</b> StandaloneWindow.hpp:51</div></div>
<div class="ttc" id="aclassWindow_html_aa3824e300206b15241df8c8c78785d73"><div class="ttname"><a href="classWindow.html#aa3824e300206b15241df8c8c78785d73">Window::setGeometryConstraints</a></div><div class="ttdeci">void setGeometryConstraints(uint minimumWidth, uint minimumHeight, bool keepAspectRatio=false, bool automaticallyScale=false, bool resizeNowIfAutoScaling=true)</div></div>
<div class="ttc" id="aclassWindow_html_aa73a74df08f29d576e18cf1d61ea9897"><div class="ttname"><a href="classWindow.html#aa73a74df08f29d576e18cf1d61ea9897">Window::getGraphicsContext</a></div><div class="ttdeci">const GraphicsContext &amp; getGraphicsContext() const noexcept</div></div>
<div class="ttc" id="aclassWindow_html_ab19430997dd1b3d7bf9bd3640d73b007"><div class="ttname"><a href="classWindow.html#ab19430997dd1b3d7bf9bd3640d73b007">Window::getWidth</a></div><div class="ttdeci">uint getWidth() const noexcept</div></div>
<div class="ttc" id="aclassWindow_html_acd158570648b07967a4af011d6223eea"><div class="ttname"><a href="classWindow.html#acd158570648b07967a4af011d6223eea">Window::getSize</a></div><div class="ttdeci">Size&lt; uint &gt; getSize() const noexcept</div></div>
<div class="ttc" id="aclassWindow_html_a5d53bcba43455f8f77cfcbac61ec6c8e"><div class="ttname"><a href="classWindow.html#a5d53bcba43455f8f77cfcbac61ec6c8e">Window::getHeight</a></div><div class="ttdeci">uint getHeight() const noexcept</div></div>
<div class="ttc" id="aclassTopLevelWidget_html"><div class="ttname"><a href="classTopLevelWidget.html">TopLevelWidget</a></div><div class="ttdef"><b>Definition:</b> TopLevelWidget.hpp:46</div></div>
<div class="ttc" id="aclassWindow_html_a4626829d3cb9d01285f739d2bbc69b74"><div class="ttname"><a href="classWindow.html#a4626829d3cb9d01285f739d2bbc69b74">Window::hide</a></div><div class="ttdeci">void hide()</div></div>
<div class="ttc" id="aclassWindow_html_acfc9a6f22176e204009acbb387d3861c"><div class="ttname"><a href="classWindow.html#acfc9a6f22176e204009acbb387d3861c">Window::setWidth</a></div><div class="ttdeci">void setWidth(uint width)</div></div>
<div class="ttc" id="aclassWindow_html_ad17a7f53a62673982f4861cdc27fd54e"><div class="ttname"><a href="classWindow.html#ad17a7f53a62673982f4861cdc27fd54e">Window::addIdleCallback</a></div><div class="ttdeci">bool addIdleCallback(IdleCallback *callback, uint timerFrequencyInMs=0)</div></div>
<div class="ttc" id="astructGraphicsContext_html"><div class="ttname"><a href="structGraphicsContext.html">GraphicsContext</a></div><div class="ttdef"><b>Definition:</b> Base.hpp:212</div></div>
<div class="ttc" id="astructIdleCallback_html"><div class="ttname"><a href="structIdleCallback.html">IdleCallback</a></div><div class="ttdef"><b>Definition:</b> Base.hpp:218</div></div>
<div class="ttc" id="astructWindow_1_1ScopedGraphicsContext_html_a4647e1da0c4477f021f668459fb3221f"><div class="ttname"><a href="structWindow_1_1ScopedGraphicsContext.html#a4647e1da0c4477f021f668459fb3221f">Window::ScopedGraphicsContext::done</a></div><div class="ttdeci">void done()</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Mar 31 2022 17:09:26 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
Generated on Wed Jul 27 2022 00:46:18 for DISTRHO Plugin Framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

+ 129
- 125
String_8hpp_source.html View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DISTRHO Plugin Framework: distrho/extra/String.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -29,10 +29,10 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
@@ -940,138 +940,142 @@ $(function() {
<div class="line"><a name="l00869"></a><span class="lineno"> 869</span>&#160; <span class="keywordflow">return</span> operator+(str.fBuffer);</div>
<div class="line"><a name="l00870"></a><span class="lineno"> 870</span>&#160; }</div>
<div class="line"><a name="l00871"></a><span class="lineno"> 871</span>&#160; </div>
<div class="line"><a name="l00872"></a><span class="lineno"> 872</span>&#160; <span class="comment">// -------------------------------------------------------------------</span></div>
<div class="line"><a name="l00873"></a><span class="lineno"> 873</span>&#160; </div>
<div class="line"><a name="l00874"></a><span class="lineno"> 874</span>&#160;<span class="keyword">private</span>:</div>
<div class="line"><a name="l00875"></a><span class="lineno"> 875</span>&#160; <span class="keywordtype">char</span>* fBuffer; <span class="comment">// the actual string buffer</span></div>
<div class="line"><a name="l00876"></a><span class="lineno"> 876</span>&#160; std::size_t fBufferLen; <span class="comment">// string length</span></div>
<div class="line"><a name="l00877"></a><span class="lineno"> 877</span>&#160; <span class="keywordtype">bool</span> fBufferAlloc; <span class="comment">// wherever the buffer is allocated, not using _null()</span></div>
<div class="line"><a name="l00878"></a><span class="lineno"> 878</span>&#160; </div>
<div class="line"><a name="l00879"></a><span class="lineno"> 879</span>&#160; <span class="comment">/*</span></div>
<div class="line"><a name="l00880"></a><span class="lineno"> 880</span>&#160;<span class="comment"> * Static null string.</span></div>
<div class="line"><a name="l00881"></a><span class="lineno"> 881</span>&#160;<span class="comment"> * Prevents allocation for new and/or empty strings.</span></div>
<div class="line"><a name="l00882"></a><span class="lineno"> 882</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00883"></a><span class="lineno"> 883</span>&#160; <span class="keyword">static</span> <span class="keywordtype">char</span>* _null() noexcept</div>
<div class="line"><a name="l00884"></a><span class="lineno"> 884</span>&#160; {</div>
<div class="line"><a name="l00885"></a><span class="lineno"> 885</span>&#160; <span class="keyword">static</span> <span class="keywordtype">char</span> sNull = <span class="charliteral">&#39;\0&#39;</span>;</div>
<div class="line"><a name="l00886"></a><span class="lineno"> 886</span>&#160; <span class="keywordflow">return</span> &amp;sNull;</div>
<div class="line"><a name="l00887"></a><span class="lineno"> 887</span>&#160; }</div>
<div class="line"><a name="l00888"></a><span class="lineno"> 888</span>&#160; </div>
<div class="line"><a name="l00889"></a><span class="lineno"> 889</span>&#160; <span class="comment">/*</span></div>
<div class="line"><a name="l00890"></a><span class="lineno"> 890</span>&#160;<span class="comment"> * Helper function.</span></div>
<div class="line"><a name="l00891"></a><span class="lineno"> 891</span>&#160;<span class="comment"> * Called whenever the string needs to be allocated.</span></div>
<div class="line"><a name="l00892"></a><span class="lineno"> 892</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00893"></a><span class="lineno"> 893</span>&#160;<span class="comment"> * Notes:</span></div>
<div class="line"><a name="l00894"></a><span class="lineno"> 894</span>&#160;<span class="comment"> * - Allocates string only if &#39;strBuf&#39; is not null and new string contents are different</span></div>
<div class="line"><a name="l00895"></a><span class="lineno"> 895</span>&#160;<span class="comment"> * - If &#39;strBuf&#39; is null, &#39;size&#39; must be 0</span></div>
<div class="line"><a name="l00896"></a><span class="lineno"> 896</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00897"></a><span class="lineno"> 897</span>&#160; <span class="keywordtype">void</span> _dup(<span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span> strBuf, <span class="keyword">const</span> std::size_t size = 0) noexcept</div>
<div class="line"><a name="l00898"></a><span class="lineno"> 898</span>&#160; {</div>
<div class="line"><a name="l00899"></a><span class="lineno"> 899</span>&#160; <span class="keywordflow">if</span> (strBuf != <span class="keyword">nullptr</span>)</div>
<div class="line"><a name="l00900"></a><span class="lineno"> 900</span>&#160; {</div>
<div class="line"><a name="l00901"></a><span class="lineno"> 901</span>&#160; <span class="comment">// don&#39;t recreate string if contents match</span></div>
<div class="line"><a name="l00902"></a><span class="lineno"> 902</span>&#160; <span class="keywordflow">if</span> (std::strcmp(fBuffer, strBuf) == 0)</div>
<div class="line"><a name="l00903"></a><span class="lineno"> 903</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00904"></a><span class="lineno"> 904</span>&#160; </div>
<div class="line"><a name="l00905"></a><span class="lineno"> 905</span>&#160; <span class="keywordflow">if</span> (fBufferAlloc)</div>
<div class="line"><a name="l00906"></a><span class="lineno"> 906</span>&#160; std::free(fBuffer);</div>
<div class="line"><a name="l00907"></a><span class="lineno"> 907</span>&#160; </div>
<div class="line"><a name="l00908"></a><span class="lineno"> 908</span>&#160; fBufferLen = (size &gt; 0) ? size : std::strlen(strBuf);</div>
<div class="line"><a name="l00909"></a><span class="lineno"> 909</span>&#160; fBuffer = (<span class="keywordtype">char</span>*)std::malloc(fBufferLen+1);</div>
<div class="line"><a name="l00872"></a><span class="lineno"> 872</span>&#160; <span class="comment">// needed for std::map compatibility</span></div>
<div class="line"><a name="l00873"></a><span class="lineno"> 873</span>&#160; <span class="keywordtype">bool</span> operator&lt;(<span class="keyword">const</span> <a class="code" href="classString.html">String</a>&amp; str) <span class="keyword">const</span> noexcept</div>
<div class="line"><a name="l00874"></a><span class="lineno"> 874</span>&#160; {</div>
<div class="line"><a name="l00875"></a><span class="lineno"> 875</span>&#160; <span class="keywordflow">return</span> std::strcmp(fBuffer, str.fBuffer) &lt; 0;</div>
<div class="line"><a name="l00876"></a><span class="lineno"> 876</span>&#160; }</div>
<div class="line"><a name="l00877"></a><span class="lineno"> 877</span>&#160; </div>
<div class="line"><a name="l00878"></a><span class="lineno"> 878</span>&#160; <span class="comment">// -------------------------------------------------------------------</span></div>
<div class="line"><a name="l00879"></a><span class="lineno"> 879</span>&#160; </div>
<div class="line"><a name="l00880"></a><span class="lineno"> 880</span>&#160;<span class="keyword">private</span>:</div>
<div class="line"><a name="l00881"></a><span class="lineno"> 881</span>&#160; <span class="keywordtype">char</span>* fBuffer; <span class="comment">// the actual string buffer</span></div>
<div class="line"><a name="l00882"></a><span class="lineno"> 882</span>&#160; std::size_t fBufferLen; <span class="comment">// string length</span></div>
<div class="line"><a name="l00883"></a><span class="lineno"> 883</span>&#160; <span class="keywordtype">bool</span> fBufferAlloc; <span class="comment">// wherever the buffer is allocated, not using _null()</span></div>
<div class="line"><a name="l00884"></a><span class="lineno"> 884</span>&#160; </div>
<div class="line"><a name="l00885"></a><span class="lineno"> 885</span>&#160; <span class="comment">/*</span></div>
<div class="line"><a name="l00886"></a><span class="lineno"> 886</span>&#160;<span class="comment"> * Static null string.</span></div>
<div class="line"><a name="l00887"></a><span class="lineno"> 887</span>&#160;<span class="comment"> * Prevents allocation for new and/or empty strings.</span></div>
<div class="line"><a name="l00888"></a><span class="lineno"> 888</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00889"></a><span class="lineno"> 889</span>&#160; <span class="keyword">static</span> <span class="keywordtype">char</span>* _null() noexcept</div>
<div class="line"><a name="l00890"></a><span class="lineno"> 890</span>&#160; {</div>
<div class="line"><a name="l00891"></a><span class="lineno"> 891</span>&#160; <span class="keyword">static</span> <span class="keywordtype">char</span> sNull = <span class="charliteral">&#39;\0&#39;</span>;</div>
<div class="line"><a name="l00892"></a><span class="lineno"> 892</span>&#160; <span class="keywordflow">return</span> &amp;sNull;</div>
<div class="line"><a name="l00893"></a><span class="lineno"> 893</span>&#160; }</div>
<div class="line"><a name="l00894"></a><span class="lineno"> 894</span>&#160; </div>
<div class="line"><a name="l00895"></a><span class="lineno"> 895</span>&#160; <span class="comment">/*</span></div>
<div class="line"><a name="l00896"></a><span class="lineno"> 896</span>&#160;<span class="comment"> * Helper function.</span></div>
<div class="line"><a name="l00897"></a><span class="lineno"> 897</span>&#160;<span class="comment"> * Called whenever the string needs to be allocated.</span></div>
<div class="line"><a name="l00898"></a><span class="lineno"> 898</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00899"></a><span class="lineno"> 899</span>&#160;<span class="comment"> * Notes:</span></div>
<div class="line"><a name="l00900"></a><span class="lineno"> 900</span>&#160;<span class="comment"> * - Allocates string only if &#39;strBuf&#39; is not null and new string contents are different</span></div>
<div class="line"><a name="l00901"></a><span class="lineno"> 901</span>&#160;<span class="comment"> * - If &#39;strBuf&#39; is null, &#39;size&#39; must be 0</span></div>
<div class="line"><a name="l00902"></a><span class="lineno"> 902</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00903"></a><span class="lineno"> 903</span>&#160; <span class="keywordtype">void</span> _dup(<span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span> strBuf, <span class="keyword">const</span> std::size_t size = 0) noexcept</div>
<div class="line"><a name="l00904"></a><span class="lineno"> 904</span>&#160; {</div>
<div class="line"><a name="l00905"></a><span class="lineno"> 905</span>&#160; <span class="keywordflow">if</span> (strBuf != <span class="keyword">nullptr</span>)</div>
<div class="line"><a name="l00906"></a><span class="lineno"> 906</span>&#160; {</div>
<div class="line"><a name="l00907"></a><span class="lineno"> 907</span>&#160; <span class="comment">// don&#39;t recreate string if contents match</span></div>
<div class="line"><a name="l00908"></a><span class="lineno"> 908</span>&#160; <span class="keywordflow">if</span> (std::strcmp(fBuffer, strBuf) == 0)</div>
<div class="line"><a name="l00909"></a><span class="lineno"> 909</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00910"></a><span class="lineno"> 910</span>&#160; </div>
<div class="line"><a name="l00911"></a><span class="lineno"> 911</span>&#160; <span class="keywordflow">if</span> (fBuffer == <span class="keyword">nullptr</span>)</div>
<div class="line"><a name="l00912"></a><span class="lineno"> 912</span>&#160; {</div>
<div class="line"><a name="l00913"></a><span class="lineno"> 913</span>&#160; fBuffer = _null();</div>
<div class="line"><a name="l00914"></a><span class="lineno"> 914</span>&#160; fBufferLen = 0;</div>
<div class="line"><a name="l00915"></a><span class="lineno"> 915</span>&#160; fBufferAlloc = <span class="keyword">false</span>;</div>
<div class="line"><a name="l00916"></a><span class="lineno"> 916</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00917"></a><span class="lineno"> 917</span>&#160; }</div>
<div class="line"><a name="l00918"></a><span class="lineno"> 918</span>&#160; </div>
<div class="line"><a name="l00919"></a><span class="lineno"> 919</span>&#160; fBufferAlloc = <span class="keyword">true</span>;</div>
<div class="line"><a name="l00920"></a><span class="lineno"> 920</span>&#160; </div>
<div class="line"><a name="l00921"></a><span class="lineno"> 921</span>&#160; std::strcpy(fBuffer, strBuf);</div>
<div class="line"><a name="l00922"></a><span class="lineno"> 922</span>&#160; fBuffer[fBufferLen] = <span class="charliteral">&#39;\0&#39;</span>;</div>
<div class="line"><a name="l00923"></a><span class="lineno"> 923</span>&#160; }</div>
<div class="line"><a name="l00924"></a><span class="lineno"> 924</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00925"></a><span class="lineno"> 925</span>&#160; {</div>
<div class="line"><a name="l00926"></a><span class="lineno"> 926</span>&#160; DISTRHO_SAFE_ASSERT_UINT(size == 0, <span class="keyword">static_cast&lt;</span>uint<span class="keyword">&gt;</span>(size));</div>
<div class="line"><a name="l00927"></a><span class="lineno"> 927</span>&#160; </div>
<div class="line"><a name="l00928"></a><span class="lineno"> 928</span>&#160; <span class="comment">// don&#39;t recreate null string</span></div>
<div class="line"><a name="l00929"></a><span class="lineno"> 929</span>&#160; <span class="keywordflow">if</span> (! fBufferAlloc)</div>
<div class="line"><a name="l00930"></a><span class="lineno"> 930</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00931"></a><span class="lineno"> 931</span>&#160; </div>
<div class="line"><a name="l00932"></a><span class="lineno"> 932</span>&#160; DISTRHO_SAFE_ASSERT(fBuffer != <span class="keyword">nullptr</span>);</div>
<div class="line"><a name="l00933"></a><span class="lineno"> 933</span>&#160; std::free(fBuffer);</div>
<div class="line"><a name="l00934"></a><span class="lineno"> 934</span>&#160; </div>
<div class="line"><a name="l00935"></a><span class="lineno"> 935</span>&#160; fBuffer = _null();</div>
<div class="line"><a name="l00936"></a><span class="lineno"> 936</span>&#160; fBufferLen = 0;</div>
<div class="line"><a name="l00937"></a><span class="lineno"> 937</span>&#160; fBufferAlloc = <span class="keyword">false</span>;</div>
<div class="line"><a name="l00938"></a><span class="lineno"> 938</span>&#160; }</div>
<div class="line"><a name="l00939"></a><span class="lineno"> 939</span>&#160; }</div>
<div class="line"><a name="l00911"></a><span class="lineno"> 911</span>&#160; <span class="keywordflow">if</span> (fBufferAlloc)</div>
<div class="line"><a name="l00912"></a><span class="lineno"> 912</span>&#160; std::free(fBuffer);</div>
<div class="line"><a name="l00913"></a><span class="lineno"> 913</span>&#160; </div>
<div class="line"><a name="l00914"></a><span class="lineno"> 914</span>&#160; fBufferLen = (size &gt; 0) ? size : std::strlen(strBuf);</div>
<div class="line"><a name="l00915"></a><span class="lineno"> 915</span>&#160; fBuffer = (<span class="keywordtype">char</span>*)std::malloc(fBufferLen+1);</div>
<div class="line"><a name="l00916"></a><span class="lineno"> 916</span>&#160; </div>
<div class="line"><a name="l00917"></a><span class="lineno"> 917</span>&#160; <span class="keywordflow">if</span> (fBuffer == <span class="keyword">nullptr</span>)</div>
<div class="line"><a name="l00918"></a><span class="lineno"> 918</span>&#160; {</div>
<div class="line"><a name="l00919"></a><span class="lineno"> 919</span>&#160; fBuffer = _null();</div>
<div class="line"><a name="l00920"></a><span class="lineno"> 920</span>&#160; fBufferLen = 0;</div>
<div class="line"><a name="l00921"></a><span class="lineno"> 921</span>&#160; fBufferAlloc = <span class="keyword">false</span>;</div>
<div class="line"><a name="l00922"></a><span class="lineno"> 922</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00923"></a><span class="lineno"> 923</span>&#160; }</div>
<div class="line"><a name="l00924"></a><span class="lineno"> 924</span>&#160; </div>
<div class="line"><a name="l00925"></a><span class="lineno"> 925</span>&#160; fBufferAlloc = <span class="keyword">true</span>;</div>
<div class="line"><a name="l00926"></a><span class="lineno"> 926</span>&#160; </div>
<div class="line"><a name="l00927"></a><span class="lineno"> 927</span>&#160; std::strcpy(fBuffer, strBuf);</div>
<div class="line"><a name="l00928"></a><span class="lineno"> 928</span>&#160; fBuffer[fBufferLen] = <span class="charliteral">&#39;\0&#39;</span>;</div>
<div class="line"><a name="l00929"></a><span class="lineno"> 929</span>&#160; }</div>
<div class="line"><a name="l00930"></a><span class="lineno"> 930</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00931"></a><span class="lineno"> 931</span>&#160; {</div>
<div class="line"><a name="l00932"></a><span class="lineno"> 932</span>&#160; DISTRHO_SAFE_ASSERT_UINT(size == 0, <span class="keyword">static_cast&lt;</span>uint<span class="keyword">&gt;</span>(size));</div>
<div class="line"><a name="l00933"></a><span class="lineno"> 933</span>&#160; </div>
<div class="line"><a name="l00934"></a><span class="lineno"> 934</span>&#160; <span class="comment">// don&#39;t recreate null string</span></div>
<div class="line"><a name="l00935"></a><span class="lineno"> 935</span>&#160; <span class="keywordflow">if</span> (! fBufferAlloc)</div>
<div class="line"><a name="l00936"></a><span class="lineno"> 936</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00937"></a><span class="lineno"> 937</span>&#160; </div>
<div class="line"><a name="l00938"></a><span class="lineno"> 938</span>&#160; DISTRHO_SAFE_ASSERT(fBuffer != <span class="keyword">nullptr</span>);</div>
<div class="line"><a name="l00939"></a><span class="lineno"> 939</span>&#160; std::free(fBuffer);</div>
<div class="line"><a name="l00940"></a><span class="lineno"> 940</span>&#160; </div>
<div class="line"><a name="l00941"></a><span class="lineno"> 941</span>&#160; DISTRHO_PREVENT_HEAP_ALLOCATION</div>
<div class="line"><a name="l00942"></a><span class="lineno"> 942</span>&#160;};</div>
<div class="line"><a name="l00943"></a><span class="lineno"> 943</span>&#160; </div>
<div class="line"><a name="l00944"></a><span class="lineno"> 944</span>&#160;<span class="comment">// -----------------------------------------------------------------------</span></div>
<div class="line"><a name="l00945"></a><span class="lineno"> 945</span>&#160; </div>
<div class="line"><a name="l00946"></a><span class="lineno"> 946</span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span></div>
<div class="line"><a name="l00947"></a><span class="lineno"> 947</span>&#160;<a class="code" href="classString.html">String</a> operator+(<span class="keyword">const</span> <a class="code" href="classString.html">String</a>&amp; strBefore, <span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span> strBufAfter) noexcept</div>
<div class="line"><a name="l00948"></a><span class="lineno"> 948</span>&#160;{</div>
<div class="line"><a name="l00949"></a><span class="lineno"> 949</span>&#160; <span class="keywordflow">if</span> (strBufAfter == <span class="keyword">nullptr</span> || strBufAfter[0] == <span class="charliteral">&#39;\0&#39;</span>)</div>
<div class="line"><a name="l00950"></a><span class="lineno"> 950</span>&#160; <span class="keywordflow">return</span> strBefore;</div>
<div class="line"><a name="l00951"></a><span class="lineno"> 951</span>&#160; <span class="keywordflow">if</span> (strBefore.isEmpty())</div>
<div class="line"><a name="l00952"></a><span class="lineno"> 952</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classString.html">String</a>(strBufAfter);</div>
<div class="line"><a name="l00953"></a><span class="lineno"> 953</span>&#160; </div>
<div class="line"><a name="l00954"></a><span class="lineno"> 954</span>&#160; <span class="keyword">const</span> std::size_t strBeforeLen = strBefore.length();</div>
<div class="line"><a name="l00955"></a><span class="lineno"> 955</span>&#160; <span class="keyword">const</span> std::size_t strBufAfterLen = std::strlen(strBufAfter);</div>
<div class="line"><a name="l00956"></a><span class="lineno"> 956</span>&#160; <span class="keyword">const</span> std::size_t newBufSize = strBeforeLen + strBufAfterLen;</div>
<div class="line"><a name="l00957"></a><span class="lineno"> 957</span>&#160; <span class="keywordtype">char</span>* <span class="keyword">const</span> newBuf = (<span class="keywordtype">char</span>*)malloc(newBufSize + 1);</div>
<div class="line"><a name="l00958"></a><span class="lineno"> 958</span>&#160; DISTRHO_SAFE_ASSERT_RETURN(newBuf != <span class="keyword">nullptr</span>, <a class="code" href="classString.html">String</a>());</div>
<div class="line"><a name="l00941"></a><span class="lineno"> 941</span>&#160; fBuffer = _null();</div>
<div class="line"><a name="l00942"></a><span class="lineno"> 942</span>&#160; fBufferLen = 0;</div>
<div class="line"><a name="l00943"></a><span class="lineno"> 943</span>&#160; fBufferAlloc = <span class="keyword">false</span>;</div>
<div class="line"><a name="l00944"></a><span class="lineno"> 944</span>&#160; }</div>
<div class="line"><a name="l00945"></a><span class="lineno"> 945</span>&#160; }</div>
<div class="line"><a name="l00946"></a><span class="lineno"> 946</span>&#160; </div>
<div class="line"><a name="l00947"></a><span class="lineno"> 947</span>&#160; DISTRHO_PREVENT_HEAP_ALLOCATION</div>
<div class="line"><a name="l00948"></a><span class="lineno"> 948</span>&#160;};</div>
<div class="line"><a name="l00949"></a><span class="lineno"> 949</span>&#160; </div>
<div class="line"><a name="l00950"></a><span class="lineno"> 950</span>&#160;<span class="comment">// -----------------------------------------------------------------------</span></div>
<div class="line"><a name="l00951"></a><span class="lineno"> 951</span>&#160; </div>
<div class="line"><a name="l00952"></a><span class="lineno"> 952</span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span></div>
<div class="line"><a name="l00953"></a><span class="lineno"> 953</span>&#160;<a class="code" href="classString.html">String</a> operator+(<span class="keyword">const</span> <a class="code" href="classString.html">String</a>&amp; strBefore, <span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span> strBufAfter) noexcept</div>
<div class="line"><a name="l00954"></a><span class="lineno"> 954</span>&#160;{</div>
<div class="line"><a name="l00955"></a><span class="lineno"> 955</span>&#160; <span class="keywordflow">if</span> (strBufAfter == <span class="keyword">nullptr</span> || strBufAfter[0] == <span class="charliteral">&#39;\0&#39;</span>)</div>
<div class="line"><a name="l00956"></a><span class="lineno"> 956</span>&#160; <span class="keywordflow">return</span> strBefore;</div>
<div class="line"><a name="l00957"></a><span class="lineno"> 957</span>&#160; <span class="keywordflow">if</span> (strBefore.isEmpty())</div>
<div class="line"><a name="l00958"></a><span class="lineno"> 958</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classString.html">String</a>(strBufAfter);</div>
<div class="line"><a name="l00959"></a><span class="lineno"> 959</span>&#160; </div>
<div class="line"><a name="l00960"></a><span class="lineno"> 960</span>&#160; std::memcpy(newBuf, strBefore.buffer(), strBeforeLen);</div>
<div class="line"><a name="l00961"></a><span class="lineno"> 961</span>&#160; std::memcpy(newBuf + strBeforeLen, strBufAfter, strBufAfterLen + 1);</div>
<div class="line"><a name="l00962"></a><span class="lineno"> 962</span>&#160; </div>
<div class="line"><a name="l00963"></a><span class="lineno"> 963</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classString.html">String</a>(newBuf, <span class="keyword">false</span>);</div>
<div class="line"><a name="l00964"></a><span class="lineno"> 964</span>&#160;}</div>
<div class="line"><a name="l00960"></a><span class="lineno"> 960</span>&#160; <span class="keyword">const</span> std::size_t strBeforeLen = strBefore.length();</div>
<div class="line"><a name="l00961"></a><span class="lineno"> 961</span>&#160; <span class="keyword">const</span> std::size_t strBufAfterLen = std::strlen(strBufAfter);</div>
<div class="line"><a name="l00962"></a><span class="lineno"> 962</span>&#160; <span class="keyword">const</span> std::size_t newBufSize = strBeforeLen + strBufAfterLen;</div>
<div class="line"><a name="l00963"></a><span class="lineno"> 963</span>&#160; <span class="keywordtype">char</span>* <span class="keyword">const</span> newBuf = (<span class="keywordtype">char</span>*)malloc(newBufSize + 1);</div>
<div class="line"><a name="l00964"></a><span class="lineno"> 964</span>&#160; DISTRHO_SAFE_ASSERT_RETURN(newBuf != <span class="keyword">nullptr</span>, <a class="code" href="classString.html">String</a>());</div>
<div class="line"><a name="l00965"></a><span class="lineno"> 965</span>&#160; </div>
<div class="line"><a name="l00966"></a><span class="lineno"> 966</span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span></div>
<div class="line"><a name="l00967"></a><span class="lineno"> 967</span>&#160;<a class="code" href="classString.html">String</a> operator+(<span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span> strBufBefore, <span class="keyword">const</span> <a class="code" href="classString.html">String</a>&amp; strAfter) noexcept</div>
<div class="line"><a name="l00968"></a><span class="lineno"> 968</span>&#160;{</div>
<div class="line"><a name="l00969"></a><span class="lineno"> 969</span>&#160; <span class="keywordflow">if</span> (strAfter.isEmpty())</div>
<div class="line"><a name="l00970"></a><span class="lineno"> 970</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classString.html">String</a>(strBufBefore);</div>
<div class="line"><a name="l00971"></a><span class="lineno"> 971</span>&#160; <span class="keywordflow">if</span> (strBufBefore == <span class="keyword">nullptr</span> || strBufBefore[0] == <span class="charliteral">&#39;\0&#39;</span>)</div>
<div class="line"><a name="l00972"></a><span class="lineno"> 972</span>&#160; <span class="keywordflow">return</span> strAfter;</div>
<div class="line"><a name="l00973"></a><span class="lineno"> 973</span>&#160; </div>
<div class="line"><a name="l00974"></a><span class="lineno"> 974</span>&#160; <span class="keyword">const</span> std::size_t strBufBeforeLen = std::strlen(strBufBefore);</div>
<div class="line"><a name="l00975"></a><span class="lineno"> 975</span>&#160; <span class="keyword">const</span> std::size_t strAfterLen = strAfter.length();</div>
<div class="line"><a name="l00976"></a><span class="lineno"> 976</span>&#160; <span class="keyword">const</span> std::size_t newBufSize = strBufBeforeLen + strAfterLen;</div>
<div class="line"><a name="l00977"></a><span class="lineno"> 977</span>&#160; <span class="keywordtype">char</span>* <span class="keyword">const</span> newBuf = (<span class="keywordtype">char</span>*)malloc(newBufSize + 1);</div>
<div class="line"><a name="l00978"></a><span class="lineno"> 978</span>&#160; DISTRHO_SAFE_ASSERT_RETURN(newBuf != <span class="keyword">nullptr</span>, <a class="code" href="classString.html">String</a>());</div>
<div class="line"><a name="l00966"></a><span class="lineno"> 966</span>&#160; std::memcpy(newBuf, strBefore.buffer(), strBeforeLen);</div>
<div class="line"><a name="l00967"></a><span class="lineno"> 967</span>&#160; std::memcpy(newBuf + strBeforeLen, strBufAfter, strBufAfterLen + 1);</div>
<div class="line"><a name="l00968"></a><span class="lineno"> 968</span>&#160; </div>
<div class="line"><a name="l00969"></a><span class="lineno"> 969</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classString.html">String</a>(newBuf, <span class="keyword">false</span>);</div>
<div class="line"><a name="l00970"></a><span class="lineno"> 970</span>&#160;}</div>
<div class="line"><a name="l00971"></a><span class="lineno"> 971</span>&#160; </div>
<div class="line"><a name="l00972"></a><span class="lineno"> 972</span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span></div>
<div class="line"><a name="l00973"></a><span class="lineno"> 973</span>&#160;<a class="code" href="classString.html">String</a> operator+(<span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span> strBufBefore, <span class="keyword">const</span> <a class="code" href="classString.html">String</a>&amp; strAfter) noexcept</div>
<div class="line"><a name="l00974"></a><span class="lineno"> 974</span>&#160;{</div>
<div class="line"><a name="l00975"></a><span class="lineno"> 975</span>&#160; <span class="keywordflow">if</span> (strAfter.isEmpty())</div>
<div class="line"><a name="l00976"></a><span class="lineno"> 976</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classString.html">String</a>(strBufBefore);</div>
<div class="line"><a name="l00977"></a><span class="lineno"> 977</span>&#160; <span class="keywordflow">if</span> (strBufBefore == <span class="keyword">nullptr</span> || strBufBefore[0] == <span class="charliteral">&#39;\0&#39;</span>)</div>
<div class="line"><a name="l00978"></a><span class="lineno"> 978</span>&#160; <span class="keywordflow">return</span> strAfter;</div>
<div class="line"><a name="l00979"></a><span class="lineno"> 979</span>&#160; </div>
<div class="line"><a name="l00980"></a><span class="lineno"> 980</span>&#160; std::memcpy(newBuf, strBufBefore, strBufBeforeLen);</div>
<div class="line"><a name="l00981"></a><span class="lineno"> 981</span>&#160; std::memcpy(newBuf + strBufBeforeLen, strAfter.buffer(), strAfterLen + 1);</div>
<div class="line"><a name="l00982"></a><span class="lineno"> 982</span>&#160; </div>
<div class="line"><a name="l00983"></a><span class="lineno"> 983</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classString.html">String</a>(newBuf, <span class="keyword">false</span>);</div>
<div class="line"><a name="l00984"></a><span class="lineno"> 984</span>&#160;}</div>
<div class="line"><a name="l00980"></a><span class="lineno"> 980</span>&#160; <span class="keyword">const</span> std::size_t strBufBeforeLen = std::strlen(strBufBefore);</div>
<div class="line"><a name="l00981"></a><span class="lineno"> 981</span>&#160; <span class="keyword">const</span> std::size_t strAfterLen = strAfter.length();</div>
<div class="line"><a name="l00982"></a><span class="lineno"> 982</span>&#160; <span class="keyword">const</span> std::size_t newBufSize = strBufBeforeLen + strAfterLen;</div>
<div class="line"><a name="l00983"></a><span class="lineno"> 983</span>&#160; <span class="keywordtype">char</span>* <span class="keyword">const</span> newBuf = (<span class="keywordtype">char</span>*)malloc(newBufSize + 1);</div>
<div class="line"><a name="l00984"></a><span class="lineno"> 984</span>&#160; DISTRHO_SAFE_ASSERT_RETURN(newBuf != <span class="keyword">nullptr</span>, <a class="code" href="classString.html">String</a>());</div>
<div class="line"><a name="l00985"></a><span class="lineno"> 985</span>&#160; </div>
<div class="line"><a name="l00986"></a><span class="lineno"> 986</span>&#160;<span class="comment">// -----------------------------------------------------------------------</span></div>
<div class="line"><a name="l00987"></a><span class="lineno"> 987</span>&#160; </div>
<div class="line"><a name="l00988"></a><span class="lineno"> 988</span>&#160;<a class="code" href="group__NamespaceMacros.html#ga3ff541a449593e069a29e92d21e38ef3">END_NAMESPACE_DISTRHO</a></div>
<div class="line"><a name="l00989"></a><span class="lineno"> 989</span>&#160; </div>
<div class="line"><a name="l00990"></a><span class="lineno"> 990</span>&#160;<span class="preprocessor">#endif // DISTRHO_STRING_HPP_INCLUDED</span></div>
</div><!-- fragment --></div><!-- contents -->
<div class="ttc" id="agroup__NamespaceMacros_html_gac4cb97c393d20c28ba19365d844341cd"><div class="ttname"><a href="group__NamespaceMacros.html#gac4cb97c393d20c28ba19365d844341cd">START_NAMESPACE_DISTRHO</a></div><div class="ttdeci">#define START_NAMESPACE_DISTRHO</div><div class="ttdef"><b>Definition:</b> DistrhoInfo.hpp:828</div></div>
<div class="ttc" id="aclassString_html"><div class="ttname"><a href="classString.html">String</a></div><div class="ttdef"><b>Definition:</b> String.hpp:30</div></div>
<div class="ttc" id="agroup__NamespaceMacros_html_ga3ff541a449593e069a29e92d21e38ef3"><div class="ttname"><a href="group__NamespaceMacros.html#ga3ff541a449593e069a29e92d21e38ef3">END_NAMESPACE_DISTRHO</a></div><div class="ttdeci">#define END_NAMESPACE_DISTRHO</div><div class="ttdef"><b>Definition:</b> DistrhoInfo.hpp:834</div></div>
<div class="line"><a name="l00986"></a><span class="lineno"> 986</span>&#160; std::memcpy(newBuf, strBufBefore, strBufBeforeLen);</div>
<div class="line"><a name="l00987"></a><span class="lineno"> 987</span>&#160; std::memcpy(newBuf + strBufBeforeLen, strAfter.buffer(), strAfterLen + 1);</div>
<div class="line"><a name="l00988"></a><span class="lineno"> 988</span>&#160; </div>
<div class="line"><a name="l00989"></a><span class="lineno"> 989</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classString.html">String</a>(newBuf, <span class="keyword">false</span>);</div>
<div class="line"><a name="l00990"></a><span class="lineno"> 990</span>&#160;}</div>
<div class="line"><a name="l00991"></a><span class="lineno"> 991</span>&#160; </div>
<div class="line"><a name="l00992"></a><span class="lineno"> 992</span>&#160;<span class="comment">// -----------------------------------------------------------------------</span></div>
<div class="line"><a name="l00993"></a><span class="lineno"> 993</span>&#160; </div>
<div class="line"><a name="l00994"></a><span class="lineno"> 994</span>&#160;<a class="code" href="group__NamespaceMacros.html#ga3ff541a449593e069a29e92d21e38ef3">END_NAMESPACE_DISTRHO</a></div>
<div class="line"><a name="l00995"></a><span class="lineno"> 995</span>&#160; </div>
<div class="line"><a name="l00996"></a><span class="lineno"> 996</span>&#160;<span class="preprocessor">#endif </span><span class="comment">// DISTRHO_STRING_HPP_INCLUDED</span></div>
<div class="ttc" id="aclassScopedSafeLocale_html"><div class="ttname"><a href="classScopedSafeLocale.html">ScopedSafeLocale</a></div><div class="ttdef"><b>Definition:</b> ScopedSafeLocale.hpp:57</div></div>
<div class="ttc" id="aclassString_html"><div class="ttname"><a href="classString.html">String</a></div><div class="ttdef"><b>Definition:</b> String.hpp:31</div></div>
<div class="ttc" id="agroup__MathFunctions_html_gaded8dbdc7ff99c70e7361b3f1a32b584"><div class="ttname"><a href="group__MathFunctions.html#gaded8dbdc7ff99c70e7361b3f1a32b584">d_nextPowerOf2</a></div><div class="ttdeci">static uint32_t d_nextPowerOf2(uint32_t size) noexcept</div><div class="ttdef"><b>Definition:</b> DistrhoUtils.hpp:298</div></div>
<div class="ttc" id="agroup__StringPrintFunctions_html_gac59f28efd3d30333551df9ca47c1fc0f"><div class="ttname"><a href="group__StringPrintFunctions.html#gac59f28efd3d30333551df9ca47c1fc0f">d_safe_assert_int</a></div><div class="ttdeci">static void d_safe_assert_int(const char *const assertion, const char *const file, const int line, const int value) noexcept</div><div class="ttdef"><b>Definition:</b> DistrhoUtils.hpp:186</div></div>
<div class="ttc" id="agroup__NamespaceMacros_html_ga3ff541a449593e069a29e92d21e38ef3"><div class="ttname"><a href="group__NamespaceMacros.html#ga3ff541a449593e069a29e92d21e38ef3">END_NAMESPACE_DISTRHO</a></div><div class="ttdeci">#define END_NAMESPACE_DISTRHO</div><div class="ttdef"><b>Definition:</b> DistrhoInfo.hpp:834</div></div>
<div class="ttc" id="agroup__NamespaceMacros_html_gac4cb97c393d20c28ba19365d844341cd"><div class="ttname"><a href="group__NamespaceMacros.html#gac4cb97c393d20c28ba19365d844341cd">START_NAMESPACE_DISTRHO</a></div><div class="ttdeci">#define START_NAMESPACE_DISTRHO</div><div class="ttdef"><b>Definition:</b> DistrhoInfo.hpp:828</div></div>
<div class="ttc" id="agroup__StringPrintFunctions_html_ga9473c264004ac48764062fd881a55cff"><div class="ttname"><a href="group__StringPrintFunctions.html#ga9473c264004ac48764062fd881a55cff">d_safe_assert</a></div><div class="ttdeci">static void d_safe_assert(const char *const assertion, const char *const file, const int line) noexcept</div><div class="ttdef"><b>Definition:</b> DistrhoUtils.hpp:177</div></div>
<div class="ttc" id="aclassScopedSafeLocale_html"><div class="ttname"><a href="classScopedSafeLocale.html">ScopedSafeLocale</a></div><div class="ttdef"><b>Definition:</b> ScopedSafeLocale.hpp:57</div></div>
<div class="ttc" id="agroup__StringPrintFunctions_html_gac59f28efd3d30333551df9ca47c1fc0f"><div class="ttname"><a href="group__StringPrintFunctions.html#gac59f28efd3d30333551df9ca47c1fc0f">d_safe_assert_int</a></div><div class="ttdeci">static void d_safe_assert_int(const char *const assertion, const char *const file, const int line, const int value) noexcept</div><div class="ttdef"><b>Definition:</b> DistrhoUtils.hpp:186</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Mar 31 2022 17:09:26 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
Generated on Wed Jul 27 2022 00:46:18 for DISTRHO Plugin Framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

+ 54
- 54
SubWidget_8hpp_source.html View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DISTRHO Plugin Framework: dgl/SubWidget.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -29,10 +29,10 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
@@ -113,132 +113,132 @@ $(function() {
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;<span class="comment"> Constructor.</span></div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; <span class="keyword">explicit</span> <a class="code" href="classSubWidget.html">SubWidget</a>(<a class="code" href="classWidget.html">Widget</a>* parentWidget);</div>
<div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="classSubWidget.html#a9fda448971613b2758fd9570c3065f7a"> 45</a></span>&#160; <span class="keyword">explicit</span> <a class="code" href="classSubWidget.html#a9fda448971613b2758fd9570c3065f7a">SubWidget</a>(<a class="code" href="classWidget.html">Widget</a>* parentWidget);</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;<span class="comment"> Destructor.</span></div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <span class="keyword">virtual</span> <a class="code" href="classSubWidget.html#a0f6225f53db69cd682910939edc9fd96">~SubWidget</a>();</div>
<div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="classSubWidget.html#a7ac8a2d6086eceb5af7b7fa5a157e2bc"> 50</a></span>&#160; <a class="code" href="classSubWidget.html#a7ac8a2d6086eceb5af7b7fa5a157e2bc">~SubWidget</a>() <span class="keyword">override</span>;</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;<span class="comment"> Check if this widget contains the point defined by @a x and @a y.</span></div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <span class="comment">// TODO rename as containsRelativePos</span></div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt;</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSubWidget.html#ac9b4d3e2a3a39e588504dd33c1d9ca95">contains</a>(T x, T y) <span class="keyword">const</span> noexcept;</div>
<div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="classSubWidget.html#ac9b4d3e2a3a39e588504dd33c1d9ca95"> 57</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSubWidget.html#ac9b4d3e2a3a39e588504dd33c1d9ca95">contains</a>(T x, T y) <span class="keyword">const</span> noexcept;</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;<span class="comment"> Check if this widget contains the point @a pos.</span></div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <span class="comment">// TODO rename as containsRelativePos</span></div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt;</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSubWidget.html#ac9b4d3e2a3a39e588504dd33c1d9ca95">contains</a>(<span class="keyword">const</span> <a class="code" href="classPoint.html">Point&lt;T&gt;</a>&amp; pos) <span class="keyword">const</span> noexcept;</div>
<div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="classSubWidget.html#ac5b584dfb15c98b67c03a2d9699651b7"> 64</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSubWidget.html#ac5b584dfb15c98b67c03a2d9699651b7">contains</a>(<span class="keyword">const</span> <a class="code" href="classPoint.html">Point&lt;T&gt;</a>&amp; pos) <span class="keyword">const</span> noexcept;</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;<span class="comment"> Get absolute X.</span></div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <span class="keywordtype">int</span> <a class="code" href="classSubWidget.html#a5a641f035fa0ce5b5e87ee9b3ab7bf34">getAbsoluteX</a>() <span class="keyword">const</span> noexcept;</div>
<div class="line"><a name="l00069"></a><span class="lineno"><a class="line" href="classSubWidget.html#a5a641f035fa0ce5b5e87ee9b3ab7bf34"> 69</a></span>&#160; <span class="keywordtype">int</span> <a class="code" href="classSubWidget.html#a5a641f035fa0ce5b5e87ee9b3ab7bf34">getAbsoluteX</a>() const noexcept;</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;<span class="comment"> Get absolute Y.</span></div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <span class="keywordtype">int</span> <a class="code" href="classSubWidget.html#aefe10cc8f9d62950b56f71559d1e3f5e">getAbsoluteY</a>() <span class="keyword">const</span> noexcept;</div>
<div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="classSubWidget.html#aefe10cc8f9d62950b56f71559d1e3f5e"> 74</a></span>&#160; <span class="keywordtype">int</span> <a class="code" href="classSubWidget.html#aefe10cc8f9d62950b56f71559d1e3f5e">getAbsoluteY</a>() const noexcept;</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160;<span class="comment"> Get absolute position.</span></div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <a class="code" href="classPoint.html">Point&lt;int&gt;</a> <a class="code" href="classSubWidget.html#a1c67b16fb0234941f387a960a0f0cb76">getAbsolutePos</a>() <span class="keyword">const</span> noexcept;</div>
<div class="line"><a name="l00079"></a><span class="lineno"><a class="line" href="classSubWidget.html#a1c67b16fb0234941f387a960a0f0cb76"> 79</a></span>&#160; <a class="code" href="classPoint.html">Point</a>&lt;<span class="keywordtype">int</span>&gt; <a class="code" href="classSubWidget.html#a1c67b16fb0234941f387a960a0f0cb76">getAbsolutePos</a>() const noexcept;</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160;<span class="comment"> Get absolute area of this subwidget.</span></div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160;<span class="comment"> This is the same as `Rectangle&lt;int&gt;(getAbsolutePos(), getSize());`</span></div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;<span class="comment"> @see getConstrainedAbsoluteArea()</span></div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; <a class="code" href="classRectangle.html">Rectangle&lt;int&gt;</a> <a class="code" href="classSubWidget.html#af2f289973c4a58d78eb6bb12bcbf093a">getAbsoluteArea</a>() <span class="keyword">const</span> noexcept;</div>
<div class="line"><a name="l00086"></a><span class="lineno"><a class="line" href="classSubWidget.html#af2f289973c4a58d78eb6bb12bcbf093a"> 86</a></span>&#160; <a class="code" href="classRectangle.html">Rectangle</a>&lt;<span class="keywordtype">int</span>&gt; <a class="code" href="classSubWidget.html#af2f289973c4a58d78eb6bb12bcbf093a">getAbsoluteArea</a>() const noexcept;</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;<span class="comment"> Get absolute area of this subwidget, with special consideration for not allowing negative values.</span></div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160;<span class="comment"> @see getAbsoluteArea()</span></div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <a class="code" href="classRectangle.html">Rectangle&lt;uint&gt;</a> <a class="code" href="classSubWidget.html#a72bf08fe6f61fc935f6f0836d308bc9e">getConstrainedAbsoluteArea</a>() <span class="keyword">const</span> noexcept;</div>
<div class="line"><a name="l00092"></a><span class="lineno"><a class="line" href="classSubWidget.html#a72bf08fe6f61fc935f6f0836d308bc9e"> 92</a></span>&#160; <a class="code" href="classRectangle.html">Rectangle</a>&lt;uint&gt; <a class="code" href="classSubWidget.html#a72bf08fe6f61fc935f6f0836d308bc9e">getConstrainedAbsoluteArea</a>() const noexcept;</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160;<span class="comment"> Set absolute X.</span></div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSubWidget.html#abcd0a00a4c3cdc402aea56044df26cc3">setAbsoluteX</a>(<span class="keywordtype">int</span> x) noexcept;</div>
<div class="line"><a name="l00097"></a><span class="lineno"><a class="line" href="classSubWidget.html#abcd0a00a4c3cdc402aea56044df26cc3"> 97</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSubWidget.html#abcd0a00a4c3cdc402aea56044df26cc3">setAbsoluteX</a>(<span class="keywordtype">int</span> x) noexcept;</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160;<span class="comment"> Set absolute Y.</span></div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSubWidget.html#a3c674e3c46206ac29a562c0f02dcf82c">setAbsoluteY</a>(<span class="keywordtype">int</span> y) noexcept;</div>
<div class="line"><a name="l00102"></a><span class="lineno"><a class="line" href="classSubWidget.html#a3c674e3c46206ac29a562c0f02dcf82c"> 102</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSubWidget.html#a3c674e3c46206ac29a562c0f02dcf82c">setAbsoluteY</a>(<span class="keywordtype">int</span> y) noexcept;</div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;<span class="comment"> Set absolute position using @a x and @a y values.</span></div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSubWidget.html#a0e7a4dd27eee8a3a1b7bf12d9f21769f">setAbsolutePos</a>(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y) noexcept;</div>
<div class="line"><a name="l00107"></a><span class="lineno"><a class="line" href="classSubWidget.html#a0e7a4dd27eee8a3a1b7bf12d9f21769f"> 107</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSubWidget.html#a0e7a4dd27eee8a3a1b7bf12d9f21769f">setAbsolutePos</a>(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y) noexcept;</div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;<span class="comment"> Set absolute position.</span></div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSubWidget.html#a0e7a4dd27eee8a3a1b7bf12d9f21769f">setAbsolutePos</a>(<span class="keyword">const</span> <a class="code" href="classPoint.html">Point&lt;int&gt;</a>&amp; pos) noexcept;</div>
<div class="line"><a name="l00112"></a><span class="lineno"><a class="line" href="classSubWidget.html#a05c5e533e9b10186d0f72ae94f72196d"> 112</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSubWidget.html#a0e7a4dd27eee8a3a1b7bf12d9f21769f">setAbsolutePos</a>(const <a class="code" href="classPoint.html">Point</a>&lt;<span class="keywordtype">int</span>&gt;&amp; pos) noexcept;</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;<span class="comment"> Get the margin currently in use for widget coordinates.</span></div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;<span class="comment"> By default this value is (0,0).</span></div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <a class="code" href="classPoint.html">Point&lt;int&gt;</a> <a class="code" href="classSubWidget.html#abe42b4ff151599ca5ea72f2e26e93860">getMargin</a>() <span class="keyword">const</span> noexcept;</div>
<div class="line"><a name="l00118"></a><span class="lineno"><a class="line" href="classSubWidget.html#abe42b4ff151599ca5ea72f2e26e93860"> 118</a></span>&#160; <a class="code" href="classPoint.html">Point</a>&lt;<span class="keywordtype">int</span>&gt; <a class="code" href="classSubWidget.html#abe42b4ff151599ca5ea72f2e26e93860">getMargin</a>() const noexcept;</div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;<span class="comment"> Set a margin to be used for widget coordinates using @a x and @a y values.</span></div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSubWidget.html#a9594d89a623dd7e63cbdb8139e9e4a38">setMargin</a>(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y) noexcept;</div>
<div class="line"><a name="l00123"></a><span class="lineno"><a class="line" href="classSubWidget.html#a9594d89a623dd7e63cbdb8139e9e4a38"> 123</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSubWidget.html#a9594d89a623dd7e63cbdb8139e9e4a38">setMargin</a>(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y) noexcept;</div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;<span class="comment"> Set a margin to be used for widget coordinates.</span></div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSubWidget.html#a9594d89a623dd7e63cbdb8139e9e4a38">setMargin</a>(<span class="keyword">const</span> <a class="code" href="classPoint.html">Point&lt;int&gt;</a>&amp; offset) noexcept;</div>
<div class="line"><a name="l00128"></a><span class="lineno"><a class="line" href="classSubWidget.html#a77f510ea6d0864d296b02b085cc05f2b"> 128</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSubWidget.html#a9594d89a623dd7e63cbdb8139e9e4a38">setMargin</a>(const <a class="code" href="classPoint.html">Point</a>&lt;<span class="keywordtype">int</span>&gt;&amp; offset) noexcept;</div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160;<span class="comment"> Get parent Widget, as passed in the constructor.</span></div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <a class="code" href="classWidget.html">Widget</a>* <a class="code" href="classSubWidget.html#a2d658e71ccb9502b8409a08782d8b345">getParentWidget</a>() <span class="keyword">const</span> noexcept;</div>
<div class="line"><a name="l00133"></a><span class="lineno"><a class="line" href="classSubWidget.html#a2d658e71ccb9502b8409a08782d8b345"> 133</a></span>&#160; <a class="code" href="classWidget.html">Widget</a>* <a class="code" href="classSubWidget.html#a2d658e71ccb9502b8409a08782d8b345">getParentWidget</a>() const noexcept;</div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;<span class="comment"> Request repaint of this subwidget&#39;s area to the window this widget belongs to.</span></div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSubWidget.html#a13910739dc797b600502e2dfa7daef87">repaint</a>() noexcept <span class="keyword">override</span>;</div>
<div class="line"><a name="l00138"></a><span class="lineno"><a class="line" href="classSubWidget.html#a13910739dc797b600502e2dfa7daef87"> 138</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSubWidget.html#a13910739dc797b600502e2dfa7daef87">repaint</a>() noexcept override;</div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160;<span class="comment"> Bring this widget to the &quot;front&quot; of the parent widget.</span></div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;<span class="comment"> Makes the widget behave as if it was the last to be registered on the parent widget, thus being &quot;in front&quot;.</span></div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSubWidget.html#a3426cbcf0104c8a5c9996e3efff75381">toFront</a>();</div>
<div class="line"><a name="l00144"></a><span class="lineno"><a class="line" href="classSubWidget.html#a3426cbcf0104c8a5c9996e3efff75381"> 144</a></span>&#160; virtual <span class="keywordtype">void</span> <a class="code" href="classSubWidget.html#a3426cbcf0104c8a5c9996e3efff75381">toFront</a>();</div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160;<span class="comment"> Indicate that this subwidget will draw out of bounds, and thus needs the entire viewport available for drawing.</span></div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSubWidget.html#a926884690b66c762f7bdb1196c58522b">setNeedsFullViewportDrawing</a>(<span class="keywordtype">bool</span> needsFullViewportForDrawing = <span class="keyword">true</span>);</div>
<div class="line"><a name="l00149"></a><span class="lineno"><a class="line" href="classSubWidget.html#a926884690b66c762f7bdb1196c58522b"> 149</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSubWidget.html#a926884690b66c762f7bdb1196c58522b">setNeedsFullViewportDrawing</a>(<span class="keywordtype">bool</span> needsFullViewportForDrawing = true);</div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;<span class="comment"> Indicate that this subwidget will always draw at its own internal size and needs scaling to fit target size.</span></div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSubWidget.html#a5cd703976adf24decbb66dd3dbc1db8b">setNeedsViewportScaling</a>(<span class="keywordtype">bool</span> needsViewportScaling = <span class="keyword">true</span>, <span class="keywordtype">double</span> autoScaleFactor = 0.0);</div>
<div class="line"><a name="l00154"></a><span class="lineno"><a class="line" href="classSubWidget.html#a5cd703976adf24decbb66dd3dbc1db8b"> 154</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSubWidget.html#a5cd703976adf24decbb66dd3dbc1db8b">setNeedsViewportScaling</a>(<span class="keywordtype">bool</span> needsViewportScaling = true, <span class="keywordtype">double</span> autoScaleFactor = 0.0);</div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160;<span class="comment"> Indicate that this subwidget should not be drawn on screen, typically because it is managed by something else.</span></div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSubWidget.html#adb38f61c0205d7832ddfd090f7f60f2a">setSkipDrawing</a>(<span class="keywordtype">bool</span> skipDrawing = <span class="keyword">true</span>);</div>
<div class="line"><a name="l00159"></a><span class="lineno"><a class="line" href="classSubWidget.html#adb38f61c0205d7832ddfd090f7f60f2a"> 159</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSubWidget.html#adb38f61c0205d7832ddfd090f7f60f2a">setSkipDrawing</a>(<span class="keywordtype">bool</span> skipDrawing = true);</div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; </div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;<span class="keyword">protected</span>:<span class="comment"></span></div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;protected:<span class="comment"></span></div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160;<span class="comment"> A function called when the subwidget&#39;s absolute position is changed.</span></div>
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSubWidget.html#a80ac88898a4a87047d63a7e49a5a0946">onPositionChanged</a>(<span class="keyword">const</span> <a class="code" href="structWidget_1_1PositionChangedEvent.html">PositionChangedEvent</a>&amp;);</div>
<div class="line"><a name="l00165"></a><span class="lineno"><a class="line" href="classSubWidget.html#a80ac88898a4a87047d63a7e49a5a0946"> 165</a></span>&#160; virtual <span class="keywordtype">void</span> <a class="code" href="classSubWidget.html#a80ac88898a4a87047d63a7e49a5a0946">onPositionChanged</a>(const <a class="code" href="structWidget_1_1PositionChangedEvent.html">PositionChangedEvent</a>&amp;);</div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; </div>
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160;<span class="keyword">private</span>:</div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; <span class="keyword">struct </span>PrivateData;</div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; PrivateData* <span class="keyword">const</span> pData;</div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classWidget.html">Widget</a>;</div>
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160;private:</div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; struct PrivateData;</div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; PrivateData* const pData;</div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; friend class <a class="code" href="classWidget.html">Widget</a>;</div>
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; DISTRHO_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(<a class="code" href="classSubWidget.html">SubWidget</a>)</div>
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160;};</div>
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; </div>
@@ -246,38 +246,38 @@ $(function() {
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; </div>
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160;END_NAMESPACE_DGL</div>
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; </div>
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160;<span class="preprocessor">#endif // DGL_SUBWIDGET_HPP_INCLUDED</span></div>
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160;<span class="preprocessor">#endif </span><span class="comment">// DGL_SUBWIDGET_HPP_INCLUDED</span></div>
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; </div>
</div><!-- fragment --></div><!-- contents -->
<div class="ttc" id="aclassSubWidget_html_af2f289973c4a58d78eb6bb12bcbf093a"><div class="ttname"><a href="classSubWidget.html#af2f289973c4a58d78eb6bb12bcbf093a">SubWidget::getAbsoluteArea</a></div><div class="ttdeci">Rectangle&lt; int &gt; getAbsoluteArea() const noexcept</div></div>
<div class="ttc" id="aclassSubWidget_html_a9594d89a623dd7e63cbdb8139e9e4a38"><div class="ttname"><a href="classSubWidget.html#a9594d89a623dd7e63cbdb8139e9e4a38">SubWidget::setMargin</a></div><div class="ttdeci">void setMargin(int x, int y) noexcept</div></div>
<div class="ttc" id="aclassSubWidget_html_a5a641f035fa0ce5b5e87ee9b3ab7bf34"><div class="ttname"><a href="classSubWidget.html#a5a641f035fa0ce5b5e87ee9b3ab7bf34">SubWidget::getAbsoluteX</a></div><div class="ttdeci">int getAbsoluteX() const noexcept</div></div>
<div class="ttc" id="aclassPoint_html"><div class="ttname"><a href="classPoint.html">Point</a></div><div class="ttdef"><b>Definition:</b> Geometry.hpp:41</div></div>
<div class="ttc" id="aclassRectangle_html"><div class="ttname"><a href="classRectangle.html">Rectangle</a></div><div class="ttdef"><b>Definition:</b> Geometry.hpp:614</div></div>
<div class="ttc" id="aclassSubWidget_html"><div class="ttname"><a href="classSubWidget.html">SubWidget</a></div><div class="ttdef"><b>Definition:</b> SubWidget.hpp:40</div></div>
<div class="ttc" id="aclassSubWidget_html_a0e7a4dd27eee8a3a1b7bf12d9f21769f"><div class="ttname"><a href="classSubWidget.html#a0e7a4dd27eee8a3a1b7bf12d9f21769f">SubWidget::setAbsolutePos</a></div><div class="ttdeci">void setAbsolutePos(int x, int y) noexcept</div></div>
<div class="ttc" id="aclassSubWidget_html_a13910739dc797b600502e2dfa7daef87"><div class="ttname"><a href="classSubWidget.html#a13910739dc797b600502e2dfa7daef87">SubWidget::repaint</a></div><div class="ttdeci">void repaint() noexcept override</div></div>
<div class="ttc" id="aclassSubWidget_html_a1c67b16fb0234941f387a960a0f0cb76"><div class="ttname"><a href="classSubWidget.html#a1c67b16fb0234941f387a960a0f0cb76">SubWidget::getAbsolutePos</a></div><div class="ttdeci">Point&lt; int &gt; getAbsolutePos() const noexcept</div></div>
<div class="ttc" id="aclassSubWidget_html_a2d658e71ccb9502b8409a08782d8b345"><div class="ttname"><a href="classSubWidget.html#a2d658e71ccb9502b8409a08782d8b345">SubWidget::getParentWidget</a></div><div class="ttdeci">Widget * getParentWidget() const noexcept</div></div>
<div class="ttc" id="aclassSubWidget_html_a3426cbcf0104c8a5c9996e3efff75381"><div class="ttname"><a href="classSubWidget.html#a3426cbcf0104c8a5c9996e3efff75381">SubWidget::toFront</a></div><div class="ttdeci">virtual void toFront()</div></div>
<div class="ttc" id="aclassSubWidget_html_a3c674e3c46206ac29a562c0f02dcf82c"><div class="ttname"><a href="classSubWidget.html#a3c674e3c46206ac29a562c0f02dcf82c">SubWidget::setAbsoluteY</a></div><div class="ttdeci">void setAbsoluteY(int y) noexcept</div></div>
<div class="ttc" id="aclassRectangle_html"><div class="ttname"><a href="classRectangle.html">Rectangle</a></div><div class="ttdef"><b>Definition:</b> Geometry.hpp:30</div></div>
<div class="ttc" id="aclassSubWidget_html_abcd0a00a4c3cdc402aea56044df26cc3"><div class="ttname"><a href="classSubWidget.html#abcd0a00a4c3cdc402aea56044df26cc3">SubWidget::setAbsoluteX</a></div><div class="ttdeci">void setAbsoluteX(int x) noexcept</div></div>
<div class="ttc" id="aclassSubWidget_html_a5a641f035fa0ce5b5e87ee9b3ab7bf34"><div class="ttname"><a href="classSubWidget.html#a5a641f035fa0ce5b5e87ee9b3ab7bf34">SubWidget::getAbsoluteX</a></div><div class="ttdeci">int getAbsoluteX() const noexcept</div></div>
<div class="ttc" id="aclassSubWidget_html_a5cd703976adf24decbb66dd3dbc1db8b"><div class="ttname"><a href="classSubWidget.html#a5cd703976adf24decbb66dd3dbc1db8b">SubWidget::setNeedsViewportScaling</a></div><div class="ttdeci">void setNeedsViewportScaling(bool needsViewportScaling=true, double autoScaleFactor=0.0)</div></div>
<div class="ttc" id="aclassSubWidget_html_a926884690b66c762f7bdb1196c58522b"><div class="ttname"><a href="classSubWidget.html#a926884690b66c762f7bdb1196c58522b">SubWidget::setNeedsFullViewportDrawing</a></div><div class="ttdeci">void setNeedsFullViewportDrawing(bool needsFullViewportForDrawing=true)</div></div>
<div class="ttc" id="aclassSubWidget_html_a3426cbcf0104c8a5c9996e3efff75381"><div class="ttname"><a href="classSubWidget.html#a3426cbcf0104c8a5c9996e3efff75381">SubWidget::toFront</a></div><div class="ttdeci">virtual void toFront()</div></div>
<div class="ttc" id="aclassSubWidget_html_adb38f61c0205d7832ddfd090f7f60f2a"><div class="ttname"><a href="classSubWidget.html#adb38f61c0205d7832ddfd090f7f60f2a">SubWidget::setSkipDrawing</a></div><div class="ttdeci">void setSkipDrawing(bool skipDrawing=true)</div></div>
<div class="ttc" id="aclassSubWidget_html_aefe10cc8f9d62950b56f71559d1e3f5e"><div class="ttname"><a href="classSubWidget.html#aefe10cc8f9d62950b56f71559d1e3f5e">SubWidget::getAbsoluteY</a></div><div class="ttdeci">int getAbsoluteY() const noexcept</div></div>
<div class="ttc" id="astructWidget_1_1PositionChangedEvent_html"><div class="ttname"><a href="structWidget_1_1PositionChangedEvent.html">Widget::PositionChangedEvent</a></div><div class="ttdef"><b>Definition:</b> Widget.hpp:250</div></div>
<div class="ttc" id="aclassSubWidget_html_a72bf08fe6f61fc935f6f0836d308bc9e"><div class="ttname"><a href="classSubWidget.html#a72bf08fe6f61fc935f6f0836d308bc9e">SubWidget::getConstrainedAbsoluteArea</a></div><div class="ttdeci">Rectangle&lt; uint &gt; getConstrainedAbsoluteArea() const noexcept</div></div>
<div class="ttc" id="aclassSubWidget_html_a13910739dc797b600502e2dfa7daef87"><div class="ttname"><a href="classSubWidget.html#a13910739dc797b600502e2dfa7daef87">SubWidget::repaint</a></div><div class="ttdeci">void repaint() noexcept override</div></div>
<div class="ttc" id="aclassSubWidget_html_a7ac8a2d6086eceb5af7b7fa5a157e2bc"><div class="ttname"><a href="classSubWidget.html#a7ac8a2d6086eceb5af7b7fa5a157e2bc">SubWidget::~SubWidget</a></div><div class="ttdeci">~SubWidget() override</div></div>
<div class="ttc" id="aclassSubWidget_html_a80ac88898a4a87047d63a7e49a5a0946"><div class="ttname"><a href="classSubWidget.html#a80ac88898a4a87047d63a7e49a5a0946">SubWidget::onPositionChanged</a></div><div class="ttdeci">virtual void onPositionChanged(const PositionChangedEvent &amp;)</div></div>
<div class="ttc" id="aclassSubWidget_html_a926884690b66c762f7bdb1196c58522b"><div class="ttname"><a href="classSubWidget.html#a926884690b66c762f7bdb1196c58522b">SubWidget::setNeedsFullViewportDrawing</a></div><div class="ttdeci">void setNeedsFullViewportDrawing(bool needsFullViewportForDrawing=true)</div></div>
<div class="ttc" id="aclassSubWidget_html_a9594d89a623dd7e63cbdb8139e9e4a38"><div class="ttname"><a href="classSubWidget.html#a9594d89a623dd7e63cbdb8139e9e4a38">SubWidget::setMargin</a></div><div class="ttdeci">void setMargin(int x, int y) noexcept</div></div>
<div class="ttc" id="aclassSubWidget_html_a9fda448971613b2758fd9570c3065f7a"><div class="ttname"><a href="classSubWidget.html#a9fda448971613b2758fd9570c3065f7a">SubWidget::SubWidget</a></div><div class="ttdeci">SubWidget(Widget *parentWidget)</div></div>
<div class="ttc" id="aclassSubWidget_html_abcd0a00a4c3cdc402aea56044df26cc3"><div class="ttname"><a href="classSubWidget.html#abcd0a00a4c3cdc402aea56044df26cc3">SubWidget::setAbsoluteX</a></div><div class="ttdeci">void setAbsoluteX(int x) noexcept</div></div>
<div class="ttc" id="aclassSubWidget_html_abe42b4ff151599ca5ea72f2e26e93860"><div class="ttname"><a href="classSubWidget.html#abe42b4ff151599ca5ea72f2e26e93860">SubWidget::getMargin</a></div><div class="ttdeci">Point&lt; int &gt; getMargin() const noexcept</div></div>
<div class="ttc" id="aclassSubWidget_html_ac5b584dfb15c98b67c03a2d9699651b7"><div class="ttname"><a href="classSubWidget.html#ac5b584dfb15c98b67c03a2d9699651b7">SubWidget::contains</a></div><div class="ttdeci">bool contains(const Point&lt; T &gt; &amp;pos) const noexcept</div></div>
<div class="ttc" id="aclassSubWidget_html_ac9b4d3e2a3a39e588504dd33c1d9ca95"><div class="ttname"><a href="classSubWidget.html#ac9b4d3e2a3a39e588504dd33c1d9ca95">SubWidget::contains</a></div><div class="ttdeci">bool contains(T x, T y) const noexcept</div></div>
<div class="ttc" id="aclassSubWidget_html_a80ac88898a4a87047d63a7e49a5a0946"><div class="ttname"><a href="classSubWidget.html#a80ac88898a4a87047d63a7e49a5a0946">SubWidget::onPositionChanged</a></div><div class="ttdeci">virtual void onPositionChanged(const PositionChangedEvent &amp;)</div></div>
<div class="ttc" id="aclassSubWidget_html_a2d658e71ccb9502b8409a08782d8b345"><div class="ttname"><a href="classSubWidget.html#a2d658e71ccb9502b8409a08782d8b345">SubWidget::getParentWidget</a></div><div class="ttdeci">Widget * getParentWidget() const noexcept</div></div>
<div class="ttc" id="aclassPoint_html"><div class="ttname"><a href="classPoint.html">Point</a></div><div class="ttdef"><b>Definition:</b> Geometry.hpp:40</div></div>
<div class="ttc" id="aclassSubWidget_html"><div class="ttname"><a href="classSubWidget.html">SubWidget</a></div><div class="ttdef"><b>Definition:</b> SubWidget.hpp:39</div></div>
<div class="ttc" id="aclassSubWidget_html_a1c67b16fb0234941f387a960a0f0cb76"><div class="ttname"><a href="classSubWidget.html#a1c67b16fb0234941f387a960a0f0cb76">SubWidget::getAbsolutePos</a></div><div class="ttdeci">Point&lt; int &gt; getAbsolutePos() const noexcept</div></div>
<div class="ttc" id="aclassWidget_html"><div class="ttname"><a href="classWidget.html">Widget</a></div><div class="ttdef"><b>Definition:</b> Widget.hpp:53</div></div>
<div class="ttc" id="aclassSubWidget_html_a0f6225f53db69cd682910939edc9fd96"><div class="ttname"><a href="classSubWidget.html#a0f6225f53db69cd682910939edc9fd96">SubWidget::~SubWidget</a></div><div class="ttdeci">virtual ~SubWidget()</div></div>
<div class="ttc" id="aclassSubWidget_html_adb38f61c0205d7832ddfd090f7f60f2a"><div class="ttname"><a href="classSubWidget.html#adb38f61c0205d7832ddfd090f7f60f2a">SubWidget::setSkipDrawing</a></div><div class="ttdeci">void setSkipDrawing(bool skipDrawing=true)</div></div>
<div class="ttc" id="aclassSubWidget_html_aefe10cc8f9d62950b56f71559d1e3f5e"><div class="ttname"><a href="classSubWidget.html#aefe10cc8f9d62950b56f71559d1e3f5e">SubWidget::getAbsoluteY</a></div><div class="ttdeci">int getAbsoluteY() const noexcept</div></div>
<div class="ttc" id="aclassSubWidget_html_af2f289973c4a58d78eb6bb12bcbf093a"><div class="ttname"><a href="classSubWidget.html#af2f289973c4a58d78eb6bb12bcbf093a">SubWidget::getAbsoluteArea</a></div><div class="ttdeci">Rectangle&lt; int &gt; getAbsoluteArea() const noexcept</div></div>
<div class="ttc" id="aclassWidget_html"><div class="ttname"><a href="classWidget.html">Widget</a></div><div class="ttdef"><b>Definition:</b> Widget.hpp:54</div></div>
<div class="ttc" id="astructWidget_1_1PositionChangedEvent_html"><div class="ttname"><a href="structWidget_1_1PositionChangedEvent.html">Widget::PositionChangedEvent</a></div><div class="ttdef"><b>Definition:</b> Widget.hpp:245</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Mar 31 2022 17:09:26 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
Generated on Wed Jul 27 2022 00:46:18 for DISTRHO Plugin Framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

+ 315
- 313
Thread_8hpp_source.html View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DISTRHO Plugin Framework: distrho/extra/Thread.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -29,10 +29,10 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
@@ -96,328 +96,330 @@ $(function() {
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="preprocessor"># include &lt;sys/prctl.h&gt;</span></div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160; </div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<a class="code" href="group__NamespaceMacros.html#gac4cb97c393d20c28ba19365d844341cd">START_NAMESPACE_DISTRHO</a></div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160; </div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="comment">// -----------------------------------------------------------------------</span></div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="comment">// Thread class</span></div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160; </div>
<div class="line"><a name="l00033"></a><span class="lineno"><a class="line" href="classThread.html"> 33</a></span>&#160;<span class="keyword">class </span><a class="code" href="classThread.html">Thread</a></div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;{</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="keyword">protected</span>:</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; <span class="comment">/*</span></div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="comment"> * Constructor.</span></div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; <a class="code" href="classThread.html">Thread</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span> threadName = <span class="keyword">nullptr</span>) noexcept</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; : fLock(),</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; fSignal(),</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; fName(threadName),</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;<span class="preprocessor">#ifdef PTW32_DLLPORT</span></div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; fHandle({<span class="keyword">nullptr</span>, 0}),</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;#<span class="keywordflow">else</span></div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; fHandle(0),</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; fShouldExit(<span class="keyword">false</span>) {}</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; </div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <span class="comment">/*</span></div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;<span class="comment"> * Destructor.</span></div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <span class="keyword">virtual</span> ~<a class="code" href="classThread.html">Thread</a>() <span class="comment">/*noexcept*/</span></div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; {</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; DISTRHO_SAFE_ASSERT(! isThreadRunning());</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; </div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; stopThread(-1);</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; }</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; </div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <span class="comment">/*</span></div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;<span class="comment"> * Virtual function to be implemented by the subclass.</span></div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> run() = 0;</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; </div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <span class="comment">// -------------------------------------------------------------------</span></div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; </div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; <span class="comment">/*</span></div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;<span class="comment"> * Check if the thread is running.</span></div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <span class="keywordtype">bool</span> isThreadRunning() <span class="keyword">const</span> noexcept</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; {</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;<span class="preprocessor">#ifdef PTW32_DLLPORT</span></div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <span class="keywordflow">return</span> (fHandle.p != <span class="keyword">nullptr</span>);</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;<span class="preprocessor">#else</span></div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; <span class="keywordflow">return</span> (fHandle != 0);</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; }</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; </div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <span class="comment">/*</span></div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160;<span class="comment"> * Check if the thread should exit.</span></div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <span class="keywordtype">bool</span> shouldThreadExit() <span class="keyword">const</span> noexcept</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; {</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <span class="keywordflow">return</span> fShouldExit;</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; }</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; </div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <span class="comment">/*</span></div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;<span class="comment"> * Start the thread.</span></div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; <span class="keywordtype">bool</span> startThread(<span class="keyword">const</span> <span class="keywordtype">bool</span> withRealtimePriority = <span class="keyword">false</span>) noexcept</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; {</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <span class="comment">// check if already running</span></div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; DISTRHO_SAFE_ASSERT_RETURN(! isThreadRunning(), <span class="keyword">true</span>);</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; </div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; pthread_t handle;</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; </div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; pthread_attr_t attr;</div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; pthread_attr_init(&amp;attr);</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; </div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; <span class="keyword">struct </span>sched_param sched_param;</div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; std::memset(&amp;sched_param, 0, <span class="keyword">sizeof</span>(sched_param));</div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; </div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; <span class="keywordflow">if</span> (withRealtimePriority)</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; {</div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; sched_param.sched_priority = 80;</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="preprocessor">#ifdef DISTRHO_OS_WASM</span></div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="preprocessor"># error Threads do not work under wasm!</span></div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160; </div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<a class="code" href="group__NamespaceMacros.html#gac4cb97c393d20c28ba19365d844341cd">START_NAMESPACE_DISTRHO</a></div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; </div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="comment">// -----------------------------------------------------------------------</span></div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="comment">// Thread class</span></div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; </div>
<div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="classThread.html"> 37</a></span>&#160;<span class="keyword">class </span><a class="code" href="classThread.html">Thread</a></div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;{</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;<span class="keyword">protected</span>:</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; <span class="comment">/*</span></div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;<span class="comment"> * Constructor.</span></div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; <a class="code" href="classThread.html">Thread</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span> threadName = <span class="keyword">nullptr</span>) noexcept</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; : fLock(),</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; fSignal(),</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; fName(threadName),</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;<span class="preprocessor">#ifdef PTW32_DLLPORT</span></div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; fHandle({<span class="keyword">nullptr</span>, 0}),</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;#<span class="keywordflow">else</span></div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; fHandle(0),</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; fShouldExit(<span class="keyword">false</span>) {}</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; </div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <span class="comment">/*</span></div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;<span class="comment"> * Destructor.</span></div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; <span class="keyword">virtual</span> ~<a class="code" href="classThread.html">Thread</a>() <span class="comment">/*noexcept*/</span></div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; {</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; DISTRHO_SAFE_ASSERT(! isThreadRunning());</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; </div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; stopThread(-1);</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; }</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; </div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; <span class="comment">/*</span></div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;<span class="comment"> * Virtual function to be implemented by the subclass.</span></div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> run() = 0;</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; </div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <span class="comment">// -------------------------------------------------------------------</span></div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; </div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <span class="comment">/*</span></div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;<span class="comment"> * Check if the thread is running.</span></div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <span class="keywordtype">bool</span> isThreadRunning() <span class="keyword">const</span> noexcept</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; {</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160;<span class="preprocessor">#ifdef PTW32_DLLPORT</span></div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <span class="keywordflow">return</span> (fHandle.p != <span class="keyword">nullptr</span>);</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;<span class="preprocessor">#else</span></div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <span class="keywordflow">return</span> (fHandle != 0);</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; }</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; </div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <span class="comment">/*</span></div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160;<span class="comment"> * Check if the thread should exit.</span></div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; <span class="keywordtype">bool</span> shouldThreadExit() <span class="keyword">const</span> noexcept</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; {</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; <span class="keywordflow">return</span> fShouldExit;</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; }</div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; </div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <span class="comment">/*</span></div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160;<span class="comment"> * Start the thread.</span></div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <span class="keywordtype">bool</span> startThread(<span class="keyword">const</span> <span class="keywordtype">bool</span> withRealtimePriority = <span class="keyword">false</span>) noexcept</div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; {</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <span class="comment">// check if already running</span></div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; DISTRHO_SAFE_ASSERT_RETURN(! isThreadRunning(), <span class="keyword">true</span>);</div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; </div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; pthread_t handle;</div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; </div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; pthread_attr_t attr;</div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; pthread_attr_init(&amp;attr);</div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; </div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; <span class="keyword">struct </span>sched_param sched_param;</div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; std::memset(&amp;sched_param, 0, <span class="keyword">sizeof</span>(sched_param));</div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; </div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;<span class="preprocessor">#ifndef DISTRHO_OS_HAIKU</span></div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <span class="keywordflow">if</span> (pthread_attr_setscope(&amp;attr, PTHREAD_SCOPE_SYSTEM) == 0 &amp;&amp;</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; pthread_attr_setinheritsched(&amp;attr, PTHREAD_EXPLICIT_SCHED) == 0 &amp;&amp;</div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;# ifndef DISTRHO_OS_WINDOWS</div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; (pthread_attr_setschedpolicy(&amp;attr, SCHED_FIFO) == 0 ||</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; pthread_attr_setschedpolicy(&amp;attr, SCHED_RR) == 0) &amp;&amp;</div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;# endif</div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; pthread_attr_setschedparam(&amp;attr, &amp;sched_param) == 0)</div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; {</div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; <a class="code" href="group__StringPrintFunctions.html#ga78b9baaeb515112b1e5ec1182bab299b">d_stdout</a>(<span class="stringliteral">&quot;Thread setup with realtime priority successful&quot;</span>);</div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; }</div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; {</div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; <a class="code" href="group__StringPrintFunctions.html#ga78b9baaeb515112b1e5ec1182bab299b">d_stdout</a>(<span class="stringliteral">&quot;Thread setup with realtime priority failed, going with normal priority instead&quot;</span>);</div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; pthread_attr_destroy(&amp;attr);</div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; pthread_attr_init(&amp;attr);</div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; }</div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; }</div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; </div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <span class="keyword">const</span> <a class="code" href="classScopeLocker.html">MutexLocker</a> ml(fLock);</div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; </div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; fShouldExit = <span class="keyword">false</span>;</div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <span class="keywordflow">if</span> (withRealtimePriority)</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; {</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; sched_param.sched_priority = 80;</div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; </div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;<span class="preprocessor">#ifndef DISTRHO_OS_HAIKU</span></div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <span class="keywordflow">if</span> (pthread_attr_setscope(&amp;attr, PTHREAD_SCOPE_SYSTEM) == 0 &amp;&amp;</div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; pthread_attr_setinheritsched(&amp;attr, PTHREAD_EXPLICIT_SCHED) == 0 &amp;&amp;</div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;# ifndef DISTRHO_OS_WINDOWS</div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; (pthread_attr_setschedpolicy(&amp;attr, SCHED_FIFO) == 0 ||</div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; pthread_attr_setschedpolicy(&amp;attr, SCHED_RR) == 0) &amp;&amp;</div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;# endif</div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; pthread_attr_setschedparam(&amp;attr, &amp;sched_param) == 0)</div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; {</div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <a class="code" href="group__StringPrintFunctions.html#ga78b9baaeb515112b1e5ec1182bab299b">d_stdout</a>(<span class="stringliteral">&quot;Thread setup with realtime priority successful&quot;</span>);</div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; }</div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; {</div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; <a class="code" href="group__StringPrintFunctions.html#ga78b9baaeb515112b1e5ec1182bab299b">d_stdout</a>(<span class="stringliteral">&quot;Thread setup with realtime priority failed, going with normal priority instead&quot;</span>);</div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; pthread_attr_destroy(&amp;attr);</div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; pthread_attr_init(&amp;attr);</div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; }</div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; }</div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; </div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; <span class="keywordtype">bool</span> ok = pthread_create(&amp;handle, &amp;attr, _entryPoint, <span class="keyword">this</span>) == 0;</div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; pthread_attr_destroy(&amp;attr);</div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; </div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <span class="keywordflow">if</span> (withRealtimePriority &amp;&amp; !ok)</div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; {</div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; <a class="code" href="group__StringPrintFunctions.html#ga78b9baaeb515112b1e5ec1182bab299b">d_stdout</a>(<span class="stringliteral">&quot;Thread with realtime priority failed on creation, going with normal priority instead&quot;</span>);</div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; pthread_attr_init(&amp;attr);</div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; ok = pthread_create(&amp;handle, &amp;attr, _entryPoint, <span class="keyword">this</span>) == 0;</div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; pthread_attr_destroy(&amp;attr);</div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; }</div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; </div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; DISTRHO_SAFE_ASSERT_RETURN(ok, <span class="keyword">false</span>);</div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160;<span class="preprocessor">#ifdef PTW32_DLLPORT</span></div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; DISTRHO_SAFE_ASSERT_RETURN(handle.p != <span class="keyword">nullptr</span>, <span class="keyword">false</span>);</div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;<span class="preprocessor">#else</span></div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; DISTRHO_SAFE_ASSERT_RETURN(handle != 0, <span class="keyword">false</span>);</div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; pthread_detach(handle);</div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; _copyFrom(handle);</div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; </div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; <span class="comment">// wait for thread to start</span></div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; fSignal.wait();</div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; }</div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; </div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; <span class="comment">/*</span></div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;<span class="comment"> * Stop the thread.</span></div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160;<span class="comment"> * In the &#39;timeOutMilliseconds&#39;:</span></div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160;<span class="comment"> * = 0 -&gt; no wait</span></div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;<span class="comment"> * &gt; 0 -&gt; wait timeout value</span></div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160;<span class="comment"> * &lt; 0 -&gt; wait forever</span></div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; <span class="keywordtype">bool</span> stopThread(<span class="keyword">const</span> <span class="keywordtype">int</span> timeOutMilliseconds) noexcept</div>
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; {</div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; <span class="keyword">const</span> <a class="code" href="classScopeLocker.html">MutexLocker</a> ml(fLock);</div>
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; </div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; <span class="keywordflow">if</span> (isThreadRunning())</div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; {</div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; signalThreadShouldExit();</div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; <span class="keyword">const</span> <a class="code" href="classScopeLocker.html">MutexLocker</a> ml(fLock);</div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; </div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; fShouldExit = <span class="keyword">false</span>;</div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; </div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; <span class="keywordtype">bool</span> ok = pthread_create(&amp;handle, &amp;attr, _entryPoint, <span class="keyword">this</span>) == 0;</div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; pthread_attr_destroy(&amp;attr);</div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; </div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; <span class="keywordflow">if</span> (withRealtimePriority &amp;&amp; !ok)</div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; {</div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; <a class="code" href="group__StringPrintFunctions.html#ga78b9baaeb515112b1e5ec1182bab299b">d_stdout</a>(<span class="stringliteral">&quot;Thread with realtime priority failed on creation, going with normal priority instead&quot;</span>);</div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; pthread_attr_init(&amp;attr);</div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; ok = pthread_create(&amp;handle, &amp;attr, _entryPoint, <span class="keyword">this</span>) == 0;</div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; pthread_attr_destroy(&amp;attr);</div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; }</div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; </div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; DISTRHO_SAFE_ASSERT_RETURN(ok, <span class="keyword">false</span>);</div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160;<span class="preprocessor">#ifdef PTW32_DLLPORT</span></div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; DISTRHO_SAFE_ASSERT_RETURN(handle.p != <span class="keyword">nullptr</span>, <span class="keyword">false</span>);</div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160;<span class="preprocessor">#else</span></div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; DISTRHO_SAFE_ASSERT_RETURN(handle != 0, <span class="keyword">false</span>);</div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; pthread_detach(handle);</div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; _copyFrom(handle);</div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; </div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; <span class="comment">// wait for thread to start</span></div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; fSignal.wait();</div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; }</div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; </div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; <span class="comment">/*</span></div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160;<span class="comment"> * Stop the thread.</span></div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160;<span class="comment"> * In the &#39;timeOutMilliseconds&#39;:</span></div>
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160;<span class="comment"> * = 0 -&gt; no wait</span></div>
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160;<span class="comment"> * &gt; 0 -&gt; wait timeout value</span></div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160;<span class="comment"> * &lt; 0 -&gt; wait forever</span></div>
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; <span class="keywordtype">bool</span> stopThread(<span class="keyword">const</span> <span class="keywordtype">int</span> timeOutMilliseconds) noexcept</div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; {</div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; <span class="keyword">const</span> <a class="code" href="classScopeLocker.html">MutexLocker</a> ml(fLock);</div>
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; </div>
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; <span class="keywordflow">if</span> (timeOutMilliseconds != 0)</div>
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; {</div>
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; <span class="comment">// Wait for the thread to stop</span></div>
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; <span class="keywordtype">int</span> timeOutCheck = (timeOutMilliseconds == 1 || timeOutMilliseconds == -1) ? timeOutMilliseconds : timeOutMilliseconds/2;</div>
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; </div>
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; <span class="keywordflow">for</span> (; isThreadRunning();)</div>
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; {</div>
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; d_msleep(2);</div>
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; <span class="keywordflow">if</span> (isThreadRunning())</div>
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; {</div>
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; signalThreadShouldExit();</div>
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; </div>
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; <span class="keywordflow">if</span> (timeOutMilliseconds != 0)</div>
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; {</div>
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; <span class="comment">// Wait for the thread to stop</span></div>
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; <span class="keywordtype">int</span> timeOutCheck = (timeOutMilliseconds == 1 || timeOutMilliseconds == -1) ? timeOutMilliseconds : timeOutMilliseconds/2;</div>
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; </div>
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; <span class="keywordflow">if</span> (timeOutCheck &lt; 0)</div>
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; <span class="keywordflow">continue</span>;</div>
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; </div>
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; <span class="keywordflow">if</span> (timeOutCheck &gt; 0)</div>
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; timeOutCheck -= 1;</div>
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; }</div>
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; }</div>
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; </div>
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; <span class="keywordflow">if</span> (isThreadRunning())</div>
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; {</div>
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; <span class="comment">// should never happen!</span></div>
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; <a class="code" href="group__StringPrintFunctions.html#ga9861b6a26e43554680f50623196dde7b">d_stderr2</a>(<span class="stringliteral">&quot;assertion failure: \&quot;! isThreadRunning()\&quot; in file %s, line %i&quot;</span>, __FILE__, __LINE__);</div>
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; </div>
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; <span class="comment">// copy thread id so we can clear our one</span></div>
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; pthread_t threadId;</div>
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; _copyTo(threadId);</div>
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; _init();</div>
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; </div>
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; pthread_detach(threadId);</div>
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; }</div>
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; }</div>
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; </div>
<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; }</div>
<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; </div>
<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; <span class="comment">/*</span></div>
<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160;<span class="comment"> * Tell the thread to stop as soon as possible.</span></div>
<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; <span class="keywordtype">void</span> signalThreadShouldExit() noexcept</div>
<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; {</div>
<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; fShouldExit = <span class="keyword">true</span>;</div>
<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; }</div>
<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; </div>
<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; <span class="comment">// -------------------------------------------------------------------</span></div>
<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; </div>
<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; <span class="comment">/*</span></div>
<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160;<span class="comment"> * Returns the name of the thread.</span></div>
<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160;<span class="comment"> * This is the name that gets set in the constructor.</span></div>
<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; <span class="keyword">const</span> <a class="code" href="classString.html">String</a>&amp; getThreadName() <span class="keyword">const</span> noexcept</div>
<div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; {</div>
<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; <span class="keywordflow">return</span> fName;</div>
<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; }</div>
<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; </div>
<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; <span class="comment">/*</span></div>
<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160;<span class="comment"> * Returns the Id/handle of the thread.</span></div>
<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; pthread_t getThreadId() <span class="keyword">const</span> noexcept</div>
<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; {</div>
<div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; <span class="keywordflow">return</span> fHandle;</div>
<div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; }</div>
<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; </div>
<div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; <span class="comment">/*</span></div>
<div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160;<span class="comment"> * Changes the name of the caller thread.</span></div>
<div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; <span class="keyword">static</span> <span class="keywordtype">void</span> setCurrentThreadName(<span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span> name) noexcept</div>
<div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; {</div>
<div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; DISTRHO_SAFE_ASSERT_RETURN(name != <span class="keyword">nullptr</span> &amp;&amp; name[0] != <span class="charliteral">&#39;\0&#39;</span>,);</div>
<div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; </div>
<div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160;<span class="preprocessor">#ifdef DISTRHO_OS_LINUX</span></div>
<div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; prctl(PR_SET_NAME, name, 0, 0, 0);</div>
<div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160;<span class="preprocessor">#if defined(__GLIBC__) &amp;&amp; (__GLIBC__ * 1000 + __GLIBC_MINOR__) &gt;= 2012 &amp;&amp; !defined(DISTRHO_OS_GNU_HURD)</span></div>
<div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; pthread_setname_np(pthread_self(), name);</div>
<div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; }</div>
<div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; </div>
<div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; <span class="comment">// -------------------------------------------------------------------</span></div>
<div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; </div>
<div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160;<span class="keyword">private</span>:</div>
<div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; <a class="code" href="classMutex.html">Mutex</a> fLock; <span class="comment">// Thread lock</span></div>
<div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; <a class="code" href="classSignal.html">Signal</a> fSignal; <span class="comment">// Thread start wait signal</span></div>
<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; <span class="keyword">const</span> <a class="code" href="classString.html">String</a> fName; <span class="comment">// Thread name</span></div>
<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; <span class="keyword">volatile</span> pthread_t fHandle; <span class="comment">// Handle for this thread</span></div>
<div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; <span class="keyword">volatile</span> <span class="keywordtype">bool</span> fShouldExit; <span class="comment">// true if thread should exit</span></div>
<div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; </div>
<div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; <span class="comment">/*</span></div>
<div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160;<span class="comment"> * Init pthread type.</span></div>
<div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160; <span class="keywordtype">void</span> _init() noexcept</div>
<div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; {</div>
<div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160;<span class="preprocessor">#ifdef PTW32_DLLPORT</span></div>
<div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; fHandle.p = <span class="keyword">nullptr</span>;</div>
<div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; fHandle.x = 0;</div>
<div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160;<span class="preprocessor">#else</span></div>
<div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; fHandle = 0;</div>
<div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; }</div>
<div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; </div>
<div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; <span class="comment">/*</span></div>
<div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160;<span class="comment"> * Copy our pthread type from another var.</span></div>
<div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; <span class="keywordtype">void</span> _copyFrom(<span class="keyword">const</span> pthread_t&amp; handle) noexcept</div>
<div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160; {</div>
<div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160;<span class="preprocessor">#ifdef PTW32_DLLPORT</span></div>
<div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; fHandle.p = handle.p;</div>
<div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160; fHandle.x = handle.x;</div>
<div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160;<span class="preprocessor">#else</span></div>
<div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160; fHandle = handle;</div>
<div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; }</div>
<div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; </div>
<div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160; <span class="comment">/*</span></div>
<div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160;<span class="comment"> * Copy our pthread type to another var.</span></div>
<div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; <span class="keywordtype">void</span> _copyTo(<span class="keyword">volatile</span> pthread_t&amp; handle) <span class="keyword">const</span> noexcept</div>
<div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160; {</div>
<div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160;<span class="preprocessor">#ifdef PTW32_DLLPORT</span></div>
<div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; handle.p = fHandle.p;</div>
<div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160; handle.x = fHandle.x;</div>
<div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160;<span class="preprocessor">#else</span></div>
<div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160; handle = fHandle;</div>
<div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; }</div>
<div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160; </div>
<div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160; <span class="comment">/*</span></div>
<div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160;<span class="comment"> * Thread entry point.</span></div>
<div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160; <span class="keywordtype">void</span> _runEntryPoint() noexcept</div>
<div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160; {</div>
<div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160; <span class="keywordflow">if</span> (fName.isNotEmpty())</div>
<div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; setCurrentThreadName(fName);</div>
<div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160; </div>
<div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160; <span class="comment">// report ready</span></div>
<div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160; fSignal.signal();</div>
<div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; </div>
<div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; <span class="keywordflow">try</span> {</div>
<div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160; run();</div>
<div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; } <span class="keywordflow">catch</span>(...) {}</div>
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; <span class="keywordflow">for</span> (; isThreadRunning();)</div>
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; {</div>
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; d_msleep(2);</div>
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; </div>
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; <span class="keywordflow">if</span> (timeOutCheck &lt; 0)</div>
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; <span class="keywordflow">continue</span>;</div>
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; </div>
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; <span class="keywordflow">if</span> (timeOutCheck &gt; 0)</div>
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; timeOutCheck -= 1;</div>
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; }</div>
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; }</div>
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; </div>
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; <span class="keywordflow">if</span> (isThreadRunning())</div>
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; {</div>
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; <span class="comment">// should never happen!</span></div>
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; <a class="code" href="group__StringPrintFunctions.html#ga9861b6a26e43554680f50623196dde7b">d_stderr2</a>(<span class="stringliteral">&quot;assertion failure: \&quot;! isThreadRunning()\&quot; in file %s, line %i&quot;</span>, __FILE__, __LINE__);</div>
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; </div>
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; <span class="comment">// copy thread id so we can clear our one</span></div>
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; pthread_t threadId;</div>
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; _copyTo(threadId);</div>
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; _init();</div>
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; </div>
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; pthread_detach(threadId);</div>
<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; }</div>
<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; }</div>
<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; </div>
<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; }</div>
<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; </div>
<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; <span class="comment">/*</span></div>
<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160;<span class="comment"> * Tell the thread to stop as soon as possible.</span></div>
<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; <span class="keywordtype">void</span> signalThreadShouldExit() noexcept</div>
<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; {</div>
<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; fShouldExit = <span class="keyword">true</span>;</div>
<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; }</div>
<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; </div>
<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; <span class="comment">// -------------------------------------------------------------------</span></div>
<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; </div>
<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; <span class="comment">/*</span></div>
<div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160;<span class="comment"> * Returns the name of the thread.</span></div>
<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160;<span class="comment"> * This is the name that gets set in the constructor.</span></div>
<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; <span class="keyword">const</span> <a class="code" href="classString.html">String</a>&amp; getThreadName() <span class="keyword">const</span> noexcept</div>
<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; {</div>
<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; <span class="keywordflow">return</span> fName;</div>
<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; }</div>
<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; </div>
<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; <span class="comment">/*</span></div>
<div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160;<span class="comment"> * Returns the Id/handle of the thread.</span></div>
<div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; pthread_t getThreadId() <span class="keyword">const</span> noexcept</div>
<div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; {</div>
<div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; <span class="keywordflow">return</span> fHandle;</div>
<div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; }</div>
<div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; </div>
<div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; <span class="comment">/*</span></div>
<div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160;<span class="comment"> * Changes the name of the caller thread.</span></div>
<div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; <span class="keyword">static</span> <span class="keywordtype">void</span> setCurrentThreadName(<span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span> name) noexcept</div>
<div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; {</div>
<div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; DISTRHO_SAFE_ASSERT_RETURN(name != <span class="keyword">nullptr</span> &amp;&amp; name[0] != <span class="charliteral">&#39;\0&#39;</span>,);</div>
<div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; </div>
<div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160;<span class="preprocessor">#ifdef DISTRHO_OS_LINUX</span></div>
<div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; prctl(PR_SET_NAME, name, 0, 0, 0);</div>
<div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160;<span class="preprocessor">#if defined(__GLIBC__) &amp;&amp; (__GLIBC__ * 1000 + __GLIBC_MINOR__) &gt;= 2012 &amp;&amp; !defined(DISTRHO_OS_GNU_HURD)</span></div>
<div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; pthread_setname_np(pthread_self(), name);</div>
<div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; }</div>
<div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; </div>
<div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; <span class="comment">// -------------------------------------------------------------------</span></div>
<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; </div>
<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160;<span class="keyword">private</span>:</div>
<div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; <a class="code" href="classMutex.html">Mutex</a> fLock; <span class="comment">// Thread lock</span></div>
<div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; <a class="code" href="classSignal.html">Signal</a> fSignal; <span class="comment">// Thread start wait signal</span></div>
<div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; <span class="keyword">const</span> <a class="code" href="classString.html">String</a> fName; <span class="comment">// Thread name</span></div>
<div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; <span class="keyword">volatile</span> pthread_t fHandle; <span class="comment">// Handle for this thread</span></div>
<div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; <span class="keyword">volatile</span> <span class="keywordtype">bool</span> fShouldExit; <span class="comment">// true if thread should exit</span></div>
<div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160; </div>
<div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; <span class="comment">/*</span></div>
<div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160;<span class="comment"> * Init pthread type.</span></div>
<div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; <span class="keywordtype">void</span> _init() noexcept</div>
<div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; {</div>
<div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160;<span class="preprocessor">#ifdef PTW32_DLLPORT</span></div>
<div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160; fHandle.p = <span class="keyword">nullptr</span>;</div>
<div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; fHandle.x = 0;</div>
<div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160;<span class="preprocessor">#else</span></div>
<div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; fHandle = 0;</div>
<div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; }</div>
<div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; </div>
<div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160; <span class="comment">/*</span></div>
<div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160;<span class="comment"> * Copy our pthread type from another var.</span></div>
<div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160; <span class="keywordtype">void</span> _copyFrom(<span class="keyword">const</span> pthread_t&amp; handle) noexcept</div>
<div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160; {</div>
<div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160;<span class="preprocessor">#ifdef PTW32_DLLPORT</span></div>
<div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; fHandle.p = handle.p;</div>
<div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; fHandle.x = handle.x;</div>
<div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160;<span class="preprocessor">#else</span></div>
<div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160; fHandle = handle;</div>
<div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160; }</div>
<div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; </div>
<div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160; <span class="comment">/*</span></div>
<div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160;<span class="comment"> * Copy our pthread type to another var.</span></div>
<div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160; <span class="keywordtype">void</span> _copyTo(<span class="keyword">volatile</span> pthread_t&amp; handle) <span class="keyword">const</span> noexcept</div>
<div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; {</div>
<div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160;<span class="preprocessor">#ifdef PTW32_DLLPORT</span></div>
<div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160; handle.p = fHandle.p;</div>
<div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; handle.x = fHandle.x;</div>
<div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160;<span class="preprocessor">#else</span></div>
<div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160; handle = fHandle;</div>
<div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160; }</div>
<div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160; </div>
<div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160; <span class="comment">/*</span></div>
<div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160;<span class="comment"> * Thread entry point.</span></div>
<div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160; <span class="keywordtype">void</span> _runEntryPoint() noexcept</div>
<div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160; {</div>
<div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160; <span class="keywordflow">if</span> (fName.isNotEmpty())</div>
<div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; setCurrentThreadName(fName);</div>
<div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; </div>
<div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160; <span class="comment">// report ready</span></div>
<div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; fSignal.signal();</div>
<div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160; </div>
<div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160; <span class="comment">// done</span></div>
<div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; _init();</div>
<div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; }</div>
<div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160; <span class="keywordflow">try</span> {</div>
<div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; run();</div>
<div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; } <span class="keywordflow">catch</span>(...) {}</div>
<div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; </div>
<div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160; <span class="comment">/*</span></div>
<div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160;<span class="comment"> * Thread entry point.</span></div>
<div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160; <span class="keyword">static</span> <span class="keywordtype">void</span>* _entryPoint(<span class="keywordtype">void</span>* userData) noexcept</div>
<div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160; {</div>
<div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160; <span class="keyword">static_cast&lt;</span><a class="code" href="classThread.html">Thread</a>*<span class="keyword">&gt;</span>(userData)-&gt;_runEntryPoint();</div>
<div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160; <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div>
<div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160; }</div>
<div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160; </div>
<div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160; DISTRHO_DECLARE_NON_COPYABLE(<a class="code" href="classThread.html">Thread</a>)</div>
<div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160;};</div>
<div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160; </div>
<div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160;<span class="comment">// -----------------------------------------------------------------------</span></div>
<div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160; </div>
<div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160;<a class="code" href="group__NamespaceMacros.html#ga3ff541a449593e069a29e92d21e38ef3">END_NAMESPACE_DISTRHO</a></div>
<div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160; <span class="comment">// done</span></div>
<div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; _init();</div>
<div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160; }</div>
<div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160; </div>
<div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160; <span class="comment">/*</span></div>
<div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160;<span class="comment"> * Thread entry point.</span></div>
<div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160; <span class="keyword">static</span> <span class="keywordtype">void</span>* _entryPoint(<span class="keywordtype">void</span>* userData) noexcept</div>
<div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160; {</div>
<div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160; <span class="keyword">static_cast&lt;</span><a class="code" href="classThread.html">Thread</a>*<span class="keyword">&gt;</span>(userData)-&gt;_runEntryPoint();</div>
<div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160; <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div>
<div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160; }</div>
<div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160; </div>
<div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160; DISTRHO_DECLARE_NON_COPYABLE(<a class="code" href="classThread.html">Thread</a>)</div>
<div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160;};</div>
<div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160; </div>
<div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160;<span class="preprocessor">#endif // DISTRHO_THREAD_HPP_INCLUDED</span></div>
</div><!-- fragment --></div><!-- contents -->
<div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160;<span class="comment">// -----------------------------------------------------------------------</span></div>
<div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160; </div>
<div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160;<a class="code" href="group__NamespaceMacros.html#ga3ff541a449593e069a29e92d21e38ef3">END_NAMESPACE_DISTRHO</a></div>
<div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160; </div>
<div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160;<span class="preprocessor">#endif </span><span class="comment">// DISTRHO_THREAD_HPP_INCLUDED</span></div>
<div class="ttc" id="aclassMutex_html"><div class="ttname"><a href="classMutex.html">Mutex</a></div><div class="ttdef"><b>Definition:</b> Mutex.hpp:40</div></div>
<div class="ttc" id="aclassScopeLocker_html"><div class="ttname"><a href="classScopeLocker.html">ScopeLocker</a></div><div class="ttdef"><b>Definition:</b> Mutex.hpp:269</div></div>
<div class="ttc" id="aclassSignal_html"><div class="ttname"><a href="classSignal.html">Signal</a></div><div class="ttdef"><b>Definition:</b> Mutex.hpp:187</div></div>
<div class="ttc" id="aclassString_html"><div class="ttname"><a href="classString.html">String</a></div><div class="ttdef"><b>Definition:</b> String.hpp:31</div></div>
<div class="ttc" id="aclassThread_html"><div class="ttname"><a href="classThread.html">Thread</a></div><div class="ttdef"><b>Definition:</b> Thread.hpp:38</div></div>
<div class="ttc" id="agroup__NamespaceMacros_html_ga3ff541a449593e069a29e92d21e38ef3"><div class="ttname"><a href="group__NamespaceMacros.html#ga3ff541a449593e069a29e92d21e38ef3">END_NAMESPACE_DISTRHO</a></div><div class="ttdeci">#define END_NAMESPACE_DISTRHO</div><div class="ttdef"><b>Definition:</b> DistrhoInfo.hpp:834</div></div>
<div class="ttc" id="agroup__NamespaceMacros_html_gac4cb97c393d20c28ba19365d844341cd"><div class="ttname"><a href="group__NamespaceMacros.html#gac4cb97c393d20c28ba19365d844341cd">START_NAMESPACE_DISTRHO</a></div><div class="ttdeci">#define START_NAMESPACE_DISTRHO</div><div class="ttdef"><b>Definition:</b> DistrhoInfo.hpp:828</div></div>
<div class="ttc" id="aclassString_html"><div class="ttname"><a href="classString.html">String</a></div><div class="ttdef"><b>Definition:</b> String.hpp:30</div></div>
<div class="ttc" id="agroup__StringPrintFunctions_html_ga78b9baaeb515112b1e5ec1182bab299b"><div class="ttname"><a href="group__StringPrintFunctions.html#ga78b9baaeb515112b1e5ec1182bab299b">d_stdout</a></div><div class="ttdeci">static void d_stdout(const char *const fmt,...) noexcept</div><div class="ttdef"><b>Definition:</b> DistrhoUtils.hpp:131</div></div>
<div class="ttc" id="aclassSignal_html"><div class="ttname"><a href="classSignal.html">Signal</a></div><div class="ttdef"><b>Definition:</b> Mutex.hpp:186</div></div>
<div class="ttc" id="agroup__NamespaceMacros_html_ga3ff541a449593e069a29e92d21e38ef3"><div class="ttname"><a href="group__NamespaceMacros.html#ga3ff541a449593e069a29e92d21e38ef3">END_NAMESPACE_DISTRHO</a></div><div class="ttdeci">#define END_NAMESPACE_DISTRHO</div><div class="ttdef"><b>Definition:</b> DistrhoInfo.hpp:834</div></div>
<div class="ttc" id="aclassScopeLocker_html"><div class="ttname"><a href="classScopeLocker.html">ScopeLocker</a></div><div class="ttdef"><b>Definition:</b> Mutex.hpp:268</div></div>
<div class="ttc" id="aclassMutex_html"><div class="ttname"><a href="classMutex.html">Mutex</a></div><div class="ttdef"><b>Definition:</b> Mutex.hpp:39</div></div>
<div class="ttc" id="agroup__StringPrintFunctions_html_ga9861b6a26e43554680f50623196dde7b"><div class="ttname"><a href="group__StringPrintFunctions.html#ga9861b6a26e43554680f50623196dde7b">d_stderr2</a></div><div class="ttdeci">static void d_stderr2(const char *const fmt,...) noexcept</div><div class="ttdef"><b>Definition:</b> DistrhoUtils.hpp:161</div></div>
<div class="ttc" id="aclassThread_html"><div class="ttname"><a href="classThread.html">Thread</a></div><div class="ttdef"><b>Definition:</b> Thread.hpp:33</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Mar 31 2022 17:09:26 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
Generated on Wed Jul 27 2022 00:46:18 for DISTRHO Plugin Framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

+ 54
- 55
TopLevelWidget_8hpp_source.html View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DISTRHO Plugin Framework: dgl/TopLevelWidget.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -29,10 +29,10 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
@@ -120,82 +120,82 @@ $(function() {
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;<span class="comment"> Constructor.</span></div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; <span class="keyword">explicit</span> <a class="code" href="classTopLevelWidget.html">TopLevelWidget</a>(<a class="code" href="classWindow.html">Window</a>&amp; windowToMapTo);</div>
<div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="classTopLevelWidget.html#a3cdeec5e7b144cc48d89e748a37f538e"> 52</a></span>&#160; <span class="keyword">explicit</span> <a class="code" href="classTopLevelWidget.html#a3cdeec5e7b144cc48d89e748a37f538e">TopLevelWidget</a>(<a class="code" href="classWindow.html">Window</a>&amp; windowToMapTo);</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;<span class="comment"> Destructor.</span></div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; <span class="keyword">virtual</span> <a class="code" href="classTopLevelWidget.html#a73c0ee0ce1e84c9e18d0f6dcdcb9104a">~TopLevelWidget</a>();</div>
<div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="classTopLevelWidget.html#af60daa3513ca7f7d05575ab3feaee268"> 57</a></span>&#160; <a class="code" href="classTopLevelWidget.html#af60daa3513ca7f7d05575ab3feaee268">~TopLevelWidget</a>() <span class="keyword">override</span>;</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;<span class="comment"> Get the application associated with this top-level widget&#39;s window.</span></div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <a class="code" href="classApplication.html">Application</a>&amp; <a class="code" href="classTopLevelWidget.html#af5c5c403ba231c14b3a41684bef45648">getApp</a>() <span class="keyword">const</span> noexcept;</div>
<div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="classTopLevelWidget.html#af5c5c403ba231c14b3a41684bef45648"> 62</a></span>&#160; <a class="code" href="classApplication.html">Application</a>&amp; <a class="code" href="classTopLevelWidget.html#af5c5c403ba231c14b3a41684bef45648">getApp</a>() const noexcept;</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;<span class="comment"> Get the window associated with this top-level widget.</span></div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <a class="code" href="classWindow.html">Window</a>&amp; <a class="code" href="classTopLevelWidget.html#a3ceb7af6e9372a139d40a5859dfd0e4d">getWindow</a>() <span class="keyword">const</span> noexcept;</div>
<div class="line"><a name="l00067"></a><span class="lineno"><a class="line" href="classTopLevelWidget.html#a3ceb7af6e9372a139d40a5859dfd0e4d"> 67</a></span>&#160; <a class="code" href="classWindow.html">Window</a>&amp; <a class="code" href="classTopLevelWidget.html#a3ceb7af6e9372a139d40a5859dfd0e4d">getWindow</a>() const noexcept;</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;<span class="comment"> Set width of this widget&#39;s window.</span></div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;<span class="comment"> @note This will not change the widget&#39;s size right away, but be pending on the OS resizing the window</span></div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classTopLevelWidget.html#a4a95eb3bb76704737ef9cf405e800617">setWidth</a>(uint width);</div>
<div class="line"><a name="l00073"></a><span class="lineno"><a class="line" href="classTopLevelWidget.html#a4a95eb3bb76704737ef9cf405e800617"> 73</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classTopLevelWidget.html#a4a95eb3bb76704737ef9cf405e800617">setWidth</a>(uint width);</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160;<span class="comment"> Set height of this widget&#39;s window.</span></div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160;<span class="comment"> @note This will not change the widget&#39;s size right away, but be pending on the OS resizing the window</span></div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classTopLevelWidget.html#a607afeaa7fc1bd6cf52ef3138c38360f">setHeight</a>(uint height);</div>
<div class="line"><a name="l00079"></a><span class="lineno"><a class="line" href="classTopLevelWidget.html#a607afeaa7fc1bd6cf52ef3138c38360f"> 79</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classTopLevelWidget.html#a607afeaa7fc1bd6cf52ef3138c38360f">setHeight</a>(uint height);</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160;<span class="comment"> Set size of this widget&#39;s window, using @a width and @a height values.</span></div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160;<span class="comment"> @note This will not change the widget&#39;s size right away, but be pending on the OS resizing the window</span></div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classTopLevelWidget.html#a41fa486da289fb082bb840aaaad72a08">setSize</a>(uint width, uint height);</div>
<div class="line"><a name="l00085"></a><span class="lineno"><a class="line" href="classTopLevelWidget.html#a41fa486da289fb082bb840aaaad72a08"> 85</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classTopLevelWidget.html#a41fa486da289fb082bb840aaaad72a08">setSize</a>(uint width, uint height);</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160;<span class="comment"> Set size of this widget&#39;s window.</span></div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;<span class="comment"> @note This will not change the widget&#39;s size right away, but be pending on the OS resizing the window</span></div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classTopLevelWidget.html#a41fa486da289fb082bb840aaaad72a08">setSize</a>(<span class="keyword">const</span> <a class="code" href="classSize.html">Size&lt;uint&gt;</a>&amp; size);</div>
<div class="line"><a name="l00091"></a><span class="lineno"><a class="line" href="classTopLevelWidget.html#a94f526903d739bf2e812fb785fc66aae"> 91</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classTopLevelWidget.html#a41fa486da289fb082bb840aaaad72a08">setSize</a>(const <a class="code" href="classSize.html">Size</a>&lt;uint&gt;&amp; size);</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160;<span class="comment"> TODO document this.</span></div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classTopLevelWidget.html#a5b71bc1266aea488b1f85b83744adbfd">repaint</a>() noexcept <span class="keyword">override</span>;</div>
<div class="line"><a name="l00096"></a><span class="lineno"><a class="line" href="classTopLevelWidget.html#a5b71bc1266aea488b1f85b83744adbfd"> 96</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classTopLevelWidget.html#a5b71bc1266aea488b1f85b83744adbfd">repaint</a>() noexcept override;</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160;<span class="comment"> TODO document this.</span></div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classTopLevelWidget.html#a5b71bc1266aea488b1f85b83744adbfd">repaint</a>(<span class="keyword">const</span> <a class="code" href="classRectangle.html">Rectangle&lt;uint&gt;</a>&amp; rect) noexcept;</div>
<div class="line"><a name="l00101"></a><span class="lineno"><a class="line" href="classTopLevelWidget.html#a4a9b2d040ba36825fd95f966bb4d9e36"> 101</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classTopLevelWidget.html#a5b71bc1266aea488b1f85b83744adbfd">repaint</a>(const <a class="code" href="classRectangle.html">Rectangle</a>&lt;uint&gt;&amp; rect) noexcept;</div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; </div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; <span class="comment">// TODO group stuff after here, convenience functions present in Window class</span></div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; <span class="keywordtype">bool</span> setClipboard(<span class="keyword">const</span> <span class="keywordtype">char</span>* mimeType, <span class="keyword">const</span> <span class="keywordtype">void</span>* data, <span class="keywordtype">size_t</span> dataSize);</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; <span class="keyword">const</span> <span class="keywordtype">void</span>* getClipboard(<span class="keyword">const</span> <span class="keywordtype">char</span>*&amp; mimeType, <span class="keywordtype">size_t</span>&amp; dataSize);</div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; const <span class="keywordtype">void</span>* getClipboard(<span class="keywordtype">size_t</span>&amp; dataSize);</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; <span class="keywordtype">bool</span> setClipboard(const <span class="keywordtype">char</span>* mimeType, const <span class="keywordtype">void</span>* data, <span class="keywordtype">size_t</span> dataSize);</div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <span class="keywordtype">bool</span> setCursor(MouseCursor cursor);</div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <span class="keywordtype">bool</span> addIdleCallback(<a class="code" href="structIdleCallback.html">IdleCallback</a>* callback, uint timerFrequencyInMs = 0);</div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <span class="keywordtype">bool</span> removeIdleCallback(<a class="code" href="structIdleCallback.html">IdleCallback</a>* callback);</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <span class="keywordtype">double</span> getScaleFactor() <span class="keyword">const</span> noexcept;</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <span class="keywordtype">double</span> getScaleFactor() const noexcept;</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; <span class="keywordtype">void</span> setGeometryConstraints(uint minimumWidth,</div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; uint minimumHeight,</div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <span class="keywordtype">bool</span> keepAspectRatio = <span class="keyword">false</span>,</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <span class="keywordtype">bool</span> automaticallyScale = <span class="keyword">false</span>,</div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; <span class="keywordtype">bool</span> resizeNowIfAutoScaling = <span class="keyword">true</span>);</div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <span class="keywordtype">bool</span> keepAspectRatio = false,</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <span class="keywordtype">bool</span> automaticallyScale = false,</div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; <span class="keywordtype">bool</span> resizeNowIfAutoScaling = true);</div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; </div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; DISTRHO_DEPRECATED_BY(<span class="stringliteral">&quot;getApp()&quot;</span>)</div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; <a class="code" href="classApplication.html">Application</a>&amp; getParentApp() <span class="keyword">const</span> noexcept { <span class="keywordflow">return</span> <a class="code" href="classTopLevelWidget.html#af5c5c403ba231c14b3a41684bef45648">getApp</a>(); }</div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; DISTRHO_DEPRECATED_BY(&quot;<a class="code" href="classTopLevelWidget.html#af5c5c403ba231c14b3a41684bef45648">getApp</a>()&quot;)</div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; <a class="code" href="classApplication.html">Application</a>&amp; getParentApp() const noexcept { <span class="keywordflow">return</span> <a class="code" href="classTopLevelWidget.html#af5c5c403ba231c14b3a41684bef45648">getApp</a>(); }</div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; </div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; DISTRHO_DEPRECATED_BY(<span class="stringliteral">&quot;getWindow()&quot;</span>)</div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; <a class="code" href="classWindow.html">Window</a>&amp; getParentWindow() <span class="keyword">const</span> noexcept { <span class="keywordflow">return</span> <a class="code" href="classTopLevelWidget.html#a3ceb7af6e9372a139d40a5859dfd0e4d">getWindow</a>(); }</div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; <a class="code" href="classWindow.html">Window</a>&amp; getParentWindow() const noexcept { <span class="keywordflow">return</span> <a class="code" href="classTopLevelWidget.html#a3ceb7af6e9372a139d40a5859dfd0e4d">getWindow</a>(); }</div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; </div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;<span class="keyword">protected</span>:</div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classTopLevelWidget.html#a7b182e276662bc32aa0fcd7b07dfe4d0">onKeyboard</a>(<span class="keyword">const</span> <a class="code" href="structWidget_1_1KeyboardEvent.html">KeyboardEvent</a>&amp;) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classTopLevelWidget.html#a567153ae0853e56553c9569dc61ed913">onCharacterInput</a>(<span class="keyword">const</span> <a class="code" href="structWidget_1_1CharacterInputEvent.html">CharacterInputEvent</a>&amp;) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classTopLevelWidget.html#a8ceccb37de18c8e3b21fbf64ad58981c">onMouse</a>(<span class="keyword">const</span> <a class="code" href="structWidget_1_1MouseEvent.html">MouseEvent</a>&amp;) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classTopLevelWidget.html#ac640eb913196c9edb68e5d52df4a89cb">onMotion</a>(<span class="keyword">const</span> <a class="code" href="structWidget_1_1MotionEvent.html">MotionEvent</a>&amp;) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classTopLevelWidget.html#a412a6ce96a4ef7f64396e312ad072f9d">onScroll</a>(<span class="keyword">const</span> <a class="code" href="structWidget_1_1ScrollEvent.html">ScrollEvent</a>&amp;) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00123"></a><span class="lineno"><a class="line" href="classTopLevelWidget.html#a7b182e276662bc32aa0fcd7b07dfe4d0"> 123</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classTopLevelWidget.html#a7b182e276662bc32aa0fcd7b07dfe4d0">onKeyboard</a>(<span class="keyword">const</span> <a class="code" href="structWidget_1_1KeyboardEvent.html">KeyboardEvent</a>&amp;) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00124"></a><span class="lineno"><a class="line" href="classTopLevelWidget.html#a567153ae0853e56553c9569dc61ed913"> 124</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classTopLevelWidget.html#a567153ae0853e56553c9569dc61ed913">onCharacterInput</a>(<span class="keyword">const</span> <a class="code" href="structWidget_1_1CharacterInputEvent.html">CharacterInputEvent</a>&amp;) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00125"></a><span class="lineno"><a class="line" href="classTopLevelWidget.html#a8ceccb37de18c8e3b21fbf64ad58981c"> 125</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classTopLevelWidget.html#a8ceccb37de18c8e3b21fbf64ad58981c">onMouse</a>(<span class="keyword">const</span> <a class="code" href="structWidget_1_1MouseEvent.html">MouseEvent</a>&amp;) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00126"></a><span class="lineno"><a class="line" href="classTopLevelWidget.html#ac640eb913196c9edb68e5d52df4a89cb"> 126</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classTopLevelWidget.html#ac640eb913196c9edb68e5d52df4a89cb">onMotion</a>(<span class="keyword">const</span> <a class="code" href="structWidget_1_1MotionEvent.html">MotionEvent</a>&amp;) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00127"></a><span class="lineno"><a class="line" href="classTopLevelWidget.html#a412a6ce96a4ef7f64396e312ad072f9d"> 127</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classTopLevelWidget.html#a412a6ce96a4ef7f64396e312ad072f9d">onScroll</a>(<span class="keyword">const</span> <a class="code" href="structWidget_1_1ScrollEvent.html">ScrollEvent</a>&amp;) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; </div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;<span class="keyword">private</span>:</div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; <span class="keyword">struct </span>PrivateData;</div>
@@ -203,7 +203,7 @@ $(function() {
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classWindow.html">Window</a>;</div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;<span class="preprocessor">#ifdef DISTRHO_DEFINES_H_INCLUDED</span></div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; <span class="keyword">friend</span> <span class="keyword">class </span>DISTRHO_NAMESPACE::UI;</div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;<span class="preprocessor">#endif</span><span class="comment"></span></div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;<span class="comment"> /** @internal */</span></div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> requestSizeChange(uint width, uint height);</div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; </div>
@@ -214,40 +214,39 @@ $(function() {
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; </div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160;END_NAMESPACE_DGL</div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; </div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;<span class="preprocessor">#endif // DGL_TOP_LEVEL_WIDGET_HPP_INCLUDED</span></div>
</div><!-- fragment --></div><!-- contents -->
<div class="ttc" id="aclassTopLevelWidget_html_af5c5c403ba231c14b3a41684bef45648"><div class="ttname"><a href="classTopLevelWidget.html#af5c5c403ba231c14b3a41684bef45648">TopLevelWidget::getApp</a></div><div class="ttdeci">Application &amp; getApp() const noexcept</div></div>
<div class="ttc" id="astructWidget_1_1ScrollEvent_html"><div class="ttname"><a href="structWidget_1_1ScrollEvent.html">Widget::ScrollEvent</a></div><div class="ttdef"><b>Definition:</b> Widget.hpp:213</div></div>
<div class="ttc" id="agroup__NamespaceMacros_html_gac4cb97c393d20c28ba19365d844341cd"><div class="ttname"><a href="group__NamespaceMacros.html#gac4cb97c393d20c28ba19365d844341cd">START_NAMESPACE_DISTRHO</a></div><div class="ttdeci">#define START_NAMESPACE_DISTRHO</div><div class="ttdef"><b>Definition:</b> DistrhoInfo.hpp:828</div></div>
<div class="ttc" id="astructWidget_1_1KeyboardEvent_html"><div class="ttname"><a href="structWidget_1_1KeyboardEvent.html">Widget::KeyboardEvent</a></div><div class="ttdef"><b>Definition:</b> Widget.hpp:94</div></div>
<div class="ttc" id="aclassTopLevelWidget_html_a8ceccb37de18c8e3b21fbf64ad58981c"><div class="ttname"><a href="classTopLevelWidget.html#a8ceccb37de18c8e3b21fbf64ad58981c">TopLevelWidget::onMouse</a></div><div class="ttdeci">bool onMouse(const MouseEvent &amp;) override</div></div>
<div class="ttc" id="aclassWindow_html"><div class="ttname"><a href="classWindow.html">Window</a></div><div class="ttdef"><b>Definition:</b> Window.hpp:55</div></div>
<div class="ttc" id="aclassTopLevelWidget_html_a412a6ce96a4ef7f64396e312ad072f9d"><div class="ttname"><a href="classTopLevelWidget.html#a412a6ce96a4ef7f64396e312ad072f9d">TopLevelWidget::onScroll</a></div><div class="ttdeci">bool onScroll(const ScrollEvent &amp;) override</div></div>
<div class="ttc" id="astructWidget_1_1CharacterInputEvent_html"><div class="ttname"><a href="structWidget_1_1CharacterInputEvent.html">Widget::CharacterInputEvent</a></div><div class="ttdef"><b>Definition:</b> Widget.hpp:139</div></div>
<div class="ttc" id="aclassSize_html"><div class="ttname"><a href="classSize.html">Size&lt; uint &gt;</a></div></div>
<div class="ttc" id="aclassRectangle_html"><div class="ttname"><a href="classRectangle.html">Rectangle</a></div><div class="ttdef"><b>Definition:</b> Geometry.hpp:30</div></div>
<div class="ttc" id="aclassApplication_html"><div class="ttname"><a href="classApplication.html">Application</a></div><div class="ttdef"><b>Definition:</b> Application.hpp:36</div></div>
<div class="ttc" id="agroup__NamespaceMacros_html_ga3ff541a449593e069a29e92d21e38ef3"><div class="ttname"><a href="group__NamespaceMacros.html#ga3ff541a449593e069a29e92d21e38ef3">END_NAMESPACE_DISTRHO</a></div><div class="ttdeci">#define END_NAMESPACE_DISTRHO</div><div class="ttdef"><b>Definition:</b> DistrhoInfo.hpp:834</div></div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;<span class="preprocessor">#endif </span><span class="comment">// DGL_TOP_LEVEL_WIDGET_HPP_INCLUDED</span></div>
<div class="ttc" id="aclassApplication_html"><div class="ttname"><a href="classApplication.html">Application</a></div><div class="ttdef"><b>Definition:</b> Application.hpp:43</div></div>
<div class="ttc" id="aclassRectangle_html"><div class="ttname"><a href="classRectangle.html">Rectangle</a></div><div class="ttdef"><b>Definition:</b> Geometry.hpp:614</div></div>
<div class="ttc" id="aclassSize_html"><div class="ttname"><a href="classSize.html">Size</a></div><div class="ttdef"><b>Definition:</b> Geometry.hpp:133</div></div>
<div class="ttc" id="aclassTopLevelWidget_html"><div class="ttname"><a href="classTopLevelWidget.html">TopLevelWidget</a></div><div class="ttdef"><b>Definition:</b> TopLevelWidget.hpp:47</div></div>
<div class="ttc" id="aclassTopLevelWidget_html_a3cdeec5e7b144cc48d89e748a37f538e"><div class="ttname"><a href="classTopLevelWidget.html#a3cdeec5e7b144cc48d89e748a37f538e">TopLevelWidget::TopLevelWidget</a></div><div class="ttdeci">TopLevelWidget(Window &amp;windowToMapTo)</div></div>
<div class="ttc" id="aclassTopLevelWidget_html_a3ceb7af6e9372a139d40a5859dfd0e4d"><div class="ttname"><a href="classTopLevelWidget.html#a3ceb7af6e9372a139d40a5859dfd0e4d">TopLevelWidget::getWindow</a></div><div class="ttdeci">Window &amp; getWindow() const noexcept</div></div>
<div class="ttc" id="aclassUI_html"><div class="ttname"><a href="classUI.html">UI</a></div><div class="ttdef"><b>Definition:</b> DistrhoUI.hpp:75</div></div>
<div class="ttc" id="astructWidget_1_1MotionEvent_html"><div class="ttname"><a href="structWidget_1_1MotionEvent.html">Widget::MotionEvent</a></div><div class="ttdef"><b>Definition:</b> Widget.hpp:187</div></div>
<div class="ttc" id="aclassTopLevelWidget_html_a73c0ee0ce1e84c9e18d0f6dcdcb9104a"><div class="ttname"><a href="classTopLevelWidget.html#a73c0ee0ce1e84c9e18d0f6dcdcb9104a">TopLevelWidget::~TopLevelWidget</a></div><div class="ttdeci">virtual ~TopLevelWidget()</div></div>
<div class="ttc" id="aclassTopLevelWidget_html_a412a6ce96a4ef7f64396e312ad072f9d"><div class="ttname"><a href="classTopLevelWidget.html#a412a6ce96a4ef7f64396e312ad072f9d">TopLevelWidget::onScroll</a></div><div class="ttdeci">bool onScroll(const ScrollEvent &amp;) override</div></div>
<div class="ttc" id="aclassTopLevelWidget_html_a41fa486da289fb082bb840aaaad72a08"><div class="ttname"><a href="classTopLevelWidget.html#a41fa486da289fb082bb840aaaad72a08">TopLevelWidget::setSize</a></div><div class="ttdeci">void setSize(uint width, uint height)</div></div>
<div class="ttc" id="aclassTopLevelWidget_html_a7b182e276662bc32aa0fcd7b07dfe4d0"><div class="ttname"><a href="classTopLevelWidget.html#a7b182e276662bc32aa0fcd7b07dfe4d0">TopLevelWidget::onKeyboard</a></div><div class="ttdeci">bool onKeyboard(const KeyboardEvent &amp;) override</div></div>
<div class="ttc" id="aclassTopLevelWidget_html_a607afeaa7fc1bd6cf52ef3138c38360f"><div class="ttname"><a href="classTopLevelWidget.html#a607afeaa7fc1bd6cf52ef3138c38360f">TopLevelWidget::setHeight</a></div><div class="ttdeci">void setHeight(uint height)</div></div>
<div class="ttc" id="aclassTopLevelWidget_html_ac640eb913196c9edb68e5d52df4a89cb"><div class="ttname"><a href="classTopLevelWidget.html#ac640eb913196c9edb68e5d52df4a89cb">TopLevelWidget::onMotion</a></div><div class="ttdeci">bool onMotion(const MotionEvent &amp;) override</div></div>
<div class="ttc" id="aclassTopLevelWidget_html_a4a95eb3bb76704737ef9cf405e800617"><div class="ttname"><a href="classTopLevelWidget.html#a4a95eb3bb76704737ef9cf405e800617">TopLevelWidget::setWidth</a></div><div class="ttdeci">void setWidth(uint width)</div></div>
<div class="ttc" id="aclassTopLevelWidget_html_a567153ae0853e56553c9569dc61ed913"><div class="ttname"><a href="classTopLevelWidget.html#a567153ae0853e56553c9569dc61ed913">TopLevelWidget::onCharacterInput</a></div><div class="ttdeci">bool onCharacterInput(const CharacterInputEvent &amp;) override</div></div>
<div class="ttc" id="aclassTopLevelWidget_html_a5b71bc1266aea488b1f85b83744adbfd"><div class="ttname"><a href="classTopLevelWidget.html#a5b71bc1266aea488b1f85b83744adbfd">TopLevelWidget::repaint</a></div><div class="ttdeci">void repaint() noexcept override</div></div>
<div class="ttc" id="astructIdleCallback_html"><div class="ttname"><a href="structIdleCallback.html">IdleCallback</a></div><div class="ttdef"><b>Definition:</b> Base.hpp:176</div></div>
<div class="ttc" id="astructWidget_1_1MouseEvent_html"><div class="ttname"><a href="structWidget_1_1MouseEvent.html">Widget::MouseEvent</a></div><div class="ttdef"><b>Definition:</b> Widget.hpp:165</div></div>
<div class="ttc" id="aclassTopLevelWidget_html"><div class="ttname"><a href="classTopLevelWidget.html">TopLevelWidget</a></div><div class="ttdef"><b>Definition:</b> TopLevelWidget.hpp:46</div></div>
<div class="ttc" id="aclassWidget_html"><div class="ttname"><a href="classWidget.html">Widget</a></div><div class="ttdef"><b>Definition:</b> Widget.hpp:53</div></div>
<div class="ttc" id="aclassTopLevelWidget_html_a607afeaa7fc1bd6cf52ef3138c38360f"><div class="ttname"><a href="classTopLevelWidget.html#a607afeaa7fc1bd6cf52ef3138c38360f">TopLevelWidget::setHeight</a></div><div class="ttdeci">void setHeight(uint height)</div></div>
<div class="ttc" id="aclassTopLevelWidget_html_a7b182e276662bc32aa0fcd7b07dfe4d0"><div class="ttname"><a href="classTopLevelWidget.html#a7b182e276662bc32aa0fcd7b07dfe4d0">TopLevelWidget::onKeyboard</a></div><div class="ttdeci">bool onKeyboard(const KeyboardEvent &amp;) override</div></div>
<div class="ttc" id="aclassTopLevelWidget_html_a8ceccb37de18c8e3b21fbf64ad58981c"><div class="ttname"><a href="classTopLevelWidget.html#a8ceccb37de18c8e3b21fbf64ad58981c">TopLevelWidget::onMouse</a></div><div class="ttdeci">bool onMouse(const MouseEvent &amp;) override</div></div>
<div class="ttc" id="aclassTopLevelWidget_html_ac640eb913196c9edb68e5d52df4a89cb"><div class="ttname"><a href="classTopLevelWidget.html#ac640eb913196c9edb68e5d52df4a89cb">TopLevelWidget::onMotion</a></div><div class="ttdeci">bool onMotion(const MotionEvent &amp;) override</div></div>
<div class="ttc" id="aclassTopLevelWidget_html_af5c5c403ba231c14b3a41684bef45648"><div class="ttname"><a href="classTopLevelWidget.html#af5c5c403ba231c14b3a41684bef45648">TopLevelWidget::getApp</a></div><div class="ttdeci">Application &amp; getApp() const noexcept</div></div>
<div class="ttc" id="aclassTopLevelWidget_html_af60daa3513ca7f7d05575ab3feaee268"><div class="ttname"><a href="classTopLevelWidget.html#af60daa3513ca7f7d05575ab3feaee268">TopLevelWidget::~TopLevelWidget</a></div><div class="ttdeci">~TopLevelWidget() override</div></div>
<div class="ttc" id="aclassUI_html"><div class="ttname"><a href="classUI.html">UI</a></div><div class="ttdef"><b>Definition:</b> DistrhoUI.hpp:74</div></div>
<div class="ttc" id="aclassWidget_html"><div class="ttname"><a href="classWidget.html">Widget</a></div><div class="ttdef"><b>Definition:</b> Widget.hpp:54</div></div>
<div class="ttc" id="aclassWindow_html"><div class="ttname"><a href="classWindow.html">Window</a></div><div class="ttdef"><b>Definition:</b> Window.hpp:63</div></div>
<div class="ttc" id="agroup__NamespaceMacros_html_ga3ff541a449593e069a29e92d21e38ef3"><div class="ttname"><a href="group__NamespaceMacros.html#ga3ff541a449593e069a29e92d21e38ef3">END_NAMESPACE_DISTRHO</a></div><div class="ttdeci">#define END_NAMESPACE_DISTRHO</div><div class="ttdef"><b>Definition:</b> DistrhoInfo.hpp:834</div></div>
<div class="ttc" id="agroup__NamespaceMacros_html_gac4cb97c393d20c28ba19365d844341cd"><div class="ttname"><a href="group__NamespaceMacros.html#gac4cb97c393d20c28ba19365d844341cd">START_NAMESPACE_DISTRHO</a></div><div class="ttdeci">#define START_NAMESPACE_DISTRHO</div><div class="ttdef"><b>Definition:</b> DistrhoInfo.hpp:828</div></div>
<div class="ttc" id="astructIdleCallback_html"><div class="ttname"><a href="structIdleCallback.html">IdleCallback</a></div><div class="ttdef"><b>Definition:</b> Base.hpp:218</div></div>
<div class="ttc" id="astructWidget_1_1CharacterInputEvent_html"><div class="ttname"><a href="structWidget_1_1CharacterInputEvent.html">Widget::CharacterInputEvent</a></div><div class="ttdef"><b>Definition:</b> Widget.hpp:135</div></div>
<div class="ttc" id="astructWidget_1_1KeyboardEvent_html"><div class="ttname"><a href="structWidget_1_1KeyboardEvent.html">Widget::KeyboardEvent</a></div><div class="ttdef"><b>Definition:</b> Widget.hpp:90</div></div>
<div class="ttc" id="astructWidget_1_1MotionEvent_html"><div class="ttname"><a href="structWidget_1_1MotionEvent.html">Widget::MotionEvent</a></div><div class="ttdef"><b>Definition:</b> Widget.hpp:182</div></div>
<div class="ttc" id="astructWidget_1_1MouseEvent_html"><div class="ttname"><a href="structWidget_1_1MouseEvent.html">Widget::MouseEvent</a></div><div class="ttdef"><b>Definition:</b> Widget.hpp:159</div></div>
<div class="ttc" id="astructWidget_1_1ScrollEvent_html"><div class="ttname"><a href="structWidget_1_1ScrollEvent.html">Widget::ScrollEvent</a></div><div class="ttdef"><b>Definition:</b> Widget.hpp:206</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Mar 31 2022 17:09:26 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
Generated on Wed Jul 27 2022 00:46:18 for DISTRHO Plugin Framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

+ 23
- 22
Vulkan_8hpp_source.html View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DISTRHO Plugin Framework: dgl/Vulkan.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -29,10 +29,10 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
@@ -116,47 +116,47 @@ $(function() {
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;<span class="comment"> Constructor for a null Image.</span></div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; <a class="code" href="classVulkanImage.html#aaa625bb7cbad92de916c0d6877033a42">VulkanImage</a>();</div>
<div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="classVulkanImage.html#aaa625bb7cbad92de916c0d6877033a42"> 48</a></span>&#160; <a class="code" href="classVulkanImage.html#aaa625bb7cbad92de916c0d6877033a42">VulkanImage</a>();</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;<span class="comment"> Constructor using raw image data.</span></div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;<span class="comment"> @note @a rawData must remain valid for the lifetime of this Image.</span></div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <a class="code" href="classVulkanImage.html#aaa625bb7cbad92de916c0d6877033a42">VulkanImage</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* rawData, uint width, uint height, ImageFormat format);</div>
<div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="classVulkanImage.html#a9a3d03e892ee950aa291811e54845568"> 54</a></span>&#160; <a class="code" href="classVulkanImage.html#a9a3d03e892ee950aa291811e54845568">VulkanImage</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* rawData, uint width, uint height, ImageFormat format);</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;<span class="comment"> Constructor using raw image data.</span></div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;<span class="comment"> @note @a rawData must remain valid for the lifetime of this Image.</span></div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <a class="code" href="classVulkanImage.html#aaa625bb7cbad92de916c0d6877033a42">VulkanImage</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* rawData, <span class="keyword">const</span> <a class="code" href="classSize.html">Size&lt;uint&gt;</a>&amp; size, ImageFormat format);</div>
<div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="classVulkanImage.html#aa1af6c288a92b400c0f99dd62b709443"> 60</a></span>&#160; <a class="code" href="classVulkanImage.html#aa1af6c288a92b400c0f99dd62b709443">VulkanImage</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* rawData, <span class="keyword">const</span> <a class="code" href="classSize.html">Size&lt;uint&gt;</a>&amp; size, ImageFormat format);</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;<span class="comment"> Constructor using another image data.</span></div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <a class="code" href="classVulkanImage.html#aaa625bb7cbad92de916c0d6877033a42">VulkanImage</a>(<span class="keyword">const</span> <a class="code" href="classVulkanImage.html">VulkanImage</a>&amp; image);</div>
<div class="line"><a name="l00065"></a><span class="lineno"><a class="line" href="classVulkanImage.html#a5821aca1ae6e78a7e7c9814a42f55f35"> 65</a></span>&#160; <a class="code" href="classVulkanImage.html#a5821aca1ae6e78a7e7c9814a42f55f35">VulkanImage</a>(<span class="keyword">const</span> <a class="code" href="classVulkanImage.html">VulkanImage</a>&amp; image);</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;<span class="comment"> Destructor.</span></div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <a class="code" href="classVulkanImage.html#a45ab89d12d9a6a08f4986ac241a025dc">~VulkanImage</a>() <span class="keyword">override</span>;</div>
<div class="line"><a name="l00070"></a><span class="lineno"><a class="line" href="classVulkanImage.html#a45ab89d12d9a6a08f4986ac241a025dc"> 70</a></span>&#160; <a class="code" href="classVulkanImage.html#a45ab89d12d9a6a08f4986ac241a025dc">~VulkanImage</a>() <span class="keyword">override</span>;</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;<span class="comment"> Load image data from memory.</span></div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;<span class="comment"> @note @a rawData must remain valid for the lifetime of this Image.</span></div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classVulkanImage.html#afdf45f3e60f4a5a4805402b312bc8d5f">loadFromMemory</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* rawData,</div>
<div class="line"><a name="l00076"></a><span class="lineno"><a class="line" href="classVulkanImage.html#afdf45f3e60f4a5a4805402b312bc8d5f"> 76</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classVulkanImage.html#afdf45f3e60f4a5a4805402b312bc8d5f">loadFromMemory</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* rawData,</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <span class="keyword">const</span> <a class="code" href="classSize.html">Size&lt;uint&gt;</a>&amp; size,</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; ImageFormat format = kImageFormatBGRA) noexcept <span class="keyword">override</span>;</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160;<span class="comment"> Draw this image at position @a pos using the graphics context @a context.</span></div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classVulkanImage.html#a35ba9f546320a8b51c76f09f0d80845f">drawAt</a>(<span class="keyword">const</span> <a class="code" href="structGraphicsContext.html">GraphicsContext</a>&amp; context, <span class="keyword">const</span> <a class="code" href="classPoint.html">Point&lt;int&gt;</a>&amp; pos) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00083"></a><span class="lineno"><a class="line" href="classVulkanImage.html#a35ba9f546320a8b51c76f09f0d80845f"> 83</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classVulkanImage.html#a35ba9f546320a8b51c76f09f0d80845f">drawAt</a>(<span class="keyword">const</span> <a class="code" href="structGraphicsContext.html">GraphicsContext</a>&amp; context, <span class="keyword">const</span> <a class="code" href="classPoint.html">Point&lt;int&gt;</a>&amp; pos) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160;<span class="comment"> TODO document this.</span></div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <a class="code" href="classVulkanImage.html">VulkanImage</a>&amp; <a class="code" href="classVulkanImage.html#ae99740f2a1bdaa98e67c8fcfbdec9423">operator=</a>(<span class="keyword">const</span> <a class="code" href="classVulkanImage.html">VulkanImage</a>&amp; image) noexcept;</div>
<div class="line"><a name="l00088"></a><span class="lineno"><a class="line" href="classVulkanImage.html#ae99740f2a1bdaa98e67c8fcfbdec9423"> 88</a></span>&#160; <a class="code" href="classVulkanImage.html">VulkanImage</a>&amp; <a class="code" href="classVulkanImage.html#ae99740f2a1bdaa98e67c8fcfbdec9423">operator=</a>(<span class="keyword">const</span> <a class="code" href="classVulkanImage.html">VulkanImage</a>&amp; image) noexcept;</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; </div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <span class="comment">// FIXME this should not be needed</span></div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classVulkanImage.html#afdf45f3e60f4a5a4805402b312bc8d5f">loadFromMemory</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* rdata, uint w, uint h, ImageFormat fmt = kImageFormatBGRA)</div>
@@ -172,23 +172,24 @@ $(function() {
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;END_NAMESPACE_DGL</div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; </div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;<span class="preprocessor">#endif</span></div>
</div><!-- fragment --></div><!-- contents -->
<div class="ttc" id="aclassVulkanImage_html"><div class="ttname"><a href="classVulkanImage.html">VulkanImage</a></div><div class="ttdef"><b>Definition:</b> Vulkan.hpp:42</div></div>
<div class="ttc" id="astructGraphicsContext_html"><div class="ttname"><a href="structGraphicsContext.html">GraphicsContext</a></div><div class="ttdef"><b>Definition:</b> Base.hpp:171</div></div>
<div class="ttc" id="aclassImageBase_html"><div class="ttname"><a href="classImageBase.html">ImageBase</a></div><div class="ttdef"><b>Definition:</b> ImageBase.hpp:45</div></div>
<div class="ttc" id="aclassPoint_html"><div class="ttname"><a href="classPoint.html">Point&lt; int &gt;</a></div></div>
<div class="ttc" id="aclassSize_html"><div class="ttname"><a href="classSize.html">Size&lt; uint &gt;</a></div></div>
<div class="ttc" id="aclassVulkanImage_html"><div class="ttname"><a href="classVulkanImage.html">VulkanImage</a></div><div class="ttdef"><b>Definition:</b> Vulkan.hpp:43</div></div>
<div class="ttc" id="aclassVulkanImage_html_a35ba9f546320a8b51c76f09f0d80845f"><div class="ttname"><a href="classVulkanImage.html#a35ba9f546320a8b51c76f09f0d80845f">VulkanImage::drawAt</a></div><div class="ttdeci">void drawAt(const GraphicsContext &amp;context, const Point&lt; int &gt; &amp;pos) override</div></div>
<div class="ttc" id="aclassVulkanImage_html_a45ab89d12d9a6a08f4986ac241a025dc"><div class="ttname"><a href="classVulkanImage.html#a45ab89d12d9a6a08f4986ac241a025dc">VulkanImage::~VulkanImage</a></div><div class="ttdeci">~VulkanImage() override</div></div>
<div class="ttc" id="aclassVulkanImage_html_afdf45f3e60f4a5a4805402b312bc8d5f"><div class="ttname"><a href="classVulkanImage.html#afdf45f3e60f4a5a4805402b312bc8d5f">VulkanImage::loadFromMemory</a></div><div class="ttdeci">void loadFromMemory(const char *rawData, const Size&lt; uint &gt; &amp;size, ImageFormat format=kImageFormatBGRA) noexcept override</div></div>
<div class="ttc" id="aclassImageBase_html"><div class="ttname"><a href="classImageBase.html">ImageBase</a></div><div class="ttdef"><b>Definition:</b> ImageBase.hpp:44</div></div>
<div class="ttc" id="aclassVulkanImage_html_ae99740f2a1bdaa98e67c8fcfbdec9423"><div class="ttname"><a href="classVulkanImage.html#ae99740f2a1bdaa98e67c8fcfbdec9423">VulkanImage::operator=</a></div><div class="ttdeci">VulkanImage &amp; operator=(const VulkanImage &amp;image) noexcept</div></div>
<div class="ttc" id="astructVulkanGraphicsContext_html"><div class="ttname"><a href="structVulkanGraphicsContext.html">VulkanGraphicsContext</a></div><div class="ttdef"><b>Definition:</b> Vulkan.hpp:31</div></div>
<div class="ttc" id="aclassPoint_html"><div class="ttname"><a href="classPoint.html">Point&lt; int &gt;</a></div></div>
<div class="ttc" id="aclassVulkanImage_html_a5821aca1ae6e78a7e7c9814a42f55f35"><div class="ttname"><a href="classVulkanImage.html#a5821aca1ae6e78a7e7c9814a42f55f35">VulkanImage::VulkanImage</a></div><div class="ttdeci">VulkanImage(const VulkanImage &amp;image)</div></div>
<div class="ttc" id="aclassVulkanImage_html_a9a3d03e892ee950aa291811e54845568"><div class="ttname"><a href="classVulkanImage.html#a9a3d03e892ee950aa291811e54845568">VulkanImage::VulkanImage</a></div><div class="ttdeci">VulkanImage(const char *rawData, uint width, uint height, ImageFormat format)</div></div>
<div class="ttc" id="aclassVulkanImage_html_aa1af6c288a92b400c0f99dd62b709443"><div class="ttname"><a href="classVulkanImage.html#aa1af6c288a92b400c0f99dd62b709443">VulkanImage::VulkanImage</a></div><div class="ttdeci">VulkanImage(const char *rawData, const Size&lt; uint &gt; &amp;size, ImageFormat format)</div></div>
<div class="ttc" id="aclassVulkanImage_html_aaa625bb7cbad92de916c0d6877033a42"><div class="ttname"><a href="classVulkanImage.html#aaa625bb7cbad92de916c0d6877033a42">VulkanImage::VulkanImage</a></div><div class="ttdeci">VulkanImage()</div></div>
<div class="ttc" id="aclassVulkanImage_html_ae99740f2a1bdaa98e67c8fcfbdec9423"><div class="ttname"><a href="classVulkanImage.html#ae99740f2a1bdaa98e67c8fcfbdec9423">VulkanImage::operator=</a></div><div class="ttdeci">VulkanImage &amp; operator=(const VulkanImage &amp;image) noexcept</div></div>
<div class="ttc" id="aclassVulkanImage_html_afdf45f3e60f4a5a4805402b312bc8d5f"><div class="ttname"><a href="classVulkanImage.html#afdf45f3e60f4a5a4805402b312bc8d5f">VulkanImage::loadFromMemory</a></div><div class="ttdeci">void loadFromMemory(const char *rawData, const Size&lt; uint &gt; &amp;size, ImageFormat format=kImageFormatBGRA) noexcept override</div></div>
<div class="ttc" id="astructGraphicsContext_html"><div class="ttname"><a href="structGraphicsContext.html">GraphicsContext</a></div><div class="ttdef"><b>Definition:</b> Base.hpp:212</div></div>
<div class="ttc" id="astructVulkanGraphicsContext_html"><div class="ttname"><a href="structVulkanGraphicsContext.html">VulkanGraphicsContext</a></div><div class="ttdef"><b>Definition:</b> Vulkan.hpp:32</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Mar 31 2022 17:09:26 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
Generated on Wed Jul 27 2022 00:46:18 for DISTRHO Plugin Framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

+ 463
- 445
Widget_8hpp_source.html View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DISTRHO Plugin Framework: dgl/Widget.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -29,10 +29,10 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
@@ -127,462 +127,480 @@ $(function() {
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;<span class="comment"> Base event data.</span></div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;<span class="comment"> These are the fields present on all Widget events.</span></div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;<span class="comment"> @a mod Currently active keyboard modifiers, @see Modifier.</span></div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;<span class="comment"> @a mod Event flags, @see EventFlag.</span></div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;<span class="comment"> @a time Event timestamp (if any).</span></div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="structWidget_1_1BaseEvent.html"> 64</a></span>&#160; <span class="keyword">struct </span><a class="code" href="structWidget_1_1BaseEvent.html">BaseEvent</a> {</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; uint mod;</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; uint flags;</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; uint time;</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;<span class="comment"> /** Constructor */</span></div>
<div class="line"><a name="l00070"></a><span class="lineno"><a class="line" href="structWidget_1_1BaseEvent.html#a18c1114caca474cadefd9a13e2d9c693"> 70</a></span>&#160; <a class="code" href="structWidget_1_1BaseEvent.html#a18c1114caca474cadefd9a13e2d9c693">BaseEvent</a>() noexcept : mod(0x0), flags(0x0), time(0) {}<span class="comment"></span></div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;<span class="comment"> /** Destuctor */</span></div>
<div class="line"><a name="l00072"></a><span class="lineno"><a class="line" href="structWidget_1_1BaseEvent.html#a58da172316b49f6d79b879b74ce5792a"> 72</a></span>&#160; <span class="keyword">virtual</span> <a class="code" href="structWidget_1_1BaseEvent.html#a58da172316b49f6d79b879b74ce5792a">~BaseEvent</a>() noexcept {}</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; };</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160;<span class="comment"> Keyboard event.</span></div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;<span class="comment"> This event represents low-level key presses and releases.</span></div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;<span class="comment"> This can be used for &quot;direct&quot; keyboard handing like key bindings, but must not be interpreted as text input.</span></div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160;<span class="comment"> Keys are represented portably as Unicode code points, using the &quot;natural&quot; code point for the key.</span></div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160;<span class="comment"> The @a key field is the code for the pressed key, without any modifiers applied.</span></div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160;<span class="comment"> For example, a press or release of the &#39;A&#39; key will have `key` 97 (&#39;a&#39;)</span></div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;<span class="comment"> regardless of whether shift or control are being held.</span></div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160;<span class="comment"> Alternatively, the raw @a keycode can be used to work directly with physical keys,</span></div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160;<span class="comment"> but note that this value is not portable and differs between platforms and hardware.</span></div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;<span class="comment"> @a press True if the key was pressed, false if released.</span></div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160;<span class="comment"> @a key Unicode point of the key pressed.</span></div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160;<span class="comment"> @a keycode Raw keycode.</span></div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160;<span class="comment"> @see onKeyboard</span></div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00094"></a><span class="lineno"><a class="line" href="structWidget_1_1KeyboardEvent.html"> 94</a></span>&#160; <span class="keyword">struct </span><a class="code" href="structWidget_1_1KeyboardEvent.html">KeyboardEvent</a> : <a class="code" href="structWidget_1_1BaseEvent.html">BaseEvent</a> {</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <span class="keywordtype">bool</span> press;</div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; uint key;</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; uint keycode;</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160;<span class="comment"> /** Constructor */</span></div>
<div class="line"><a name="l00100"></a><span class="lineno"><a class="line" href="structWidget_1_1KeyboardEvent.html#a5a55a296264b9999a7915f2633eacb10"> 100</a></span>&#160; <a class="code" href="structWidget_1_1KeyboardEvent.html#a5a55a296264b9999a7915f2633eacb10">KeyboardEvent</a>() noexcept</div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; : <a class="code" href="structWidget_1_1BaseEvent.html">BaseEvent</a>(),</div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; press(false),</div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; key(0),</div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; keycode(0) {}</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; };</div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;<span class="comment"> Special keyboard event.</span></div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;<span class="comment"> DEPRECATED This used to be part of DPF due to pugl, but now deprecated and simply non-functional.</span></div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;<span class="comment"> All events go through KeyboardEvent or CharacterInputEvent, use those instead.</span></div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <span class="keyword">struct </span>DISTRHO_DEPRECATED_BY(&quot;KeyboardEvent&quot;) SpecialEvent : BaseEvent {</div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; <span class="keywordtype">bool</span> press;</div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; Key key;</div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;<span class="comment"> /** Constructor */</span></div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; SpecialEvent() noexcept</div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; : BaseEvent(),</div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; press(false),</div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; key(Key(0)) {}</div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; };</div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;<span class="comment"> Character input event.</span></div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;<span class="comment"> This event represents text input, usually as the result of a key press.</span></div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160;<span class="comment"> The text is given both as a Unicode character code and a UTF-8 string.</span></div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;<span class="comment"> Note that this event is generated by the platform&#39;s input system,</span></div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160;<span class="comment"> so there is not necessarily a direct correspondence between text events and physical key presses.</span></div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;<span class="comment"> For example, with some input methods a sequence of several key presses will generate a single character.</span></div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;<span class="comment"> @a keycode Raw key code.</span></div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;<span class="comment"> @a character Unicode character code.</span></div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;<span class="comment"> @a string UTF-8 string.</span></div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160;<span class="comment"> @see onCharacterInput</span></div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00139"></a><span class="lineno"><a class="line" href="structWidget_1_1CharacterInputEvent.html"> 139</a></span>&#160; <span class="keyword">struct </span><a class="code" href="structWidget_1_1CharacterInputEvent.html">CharacterInputEvent</a> : <a class="code" href="structWidget_1_1BaseEvent.html">BaseEvent</a> {</div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; uint keycode;</div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; uint character;</div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; <span class="keywordtype">char</span> <span class="keywordtype">string</span>[8];</div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160;<span class="comment"> /** Constructor */</span></div>
<div class="line"><a name="l00145"></a><span class="lineno"><a class="line" href="structWidget_1_1CharacterInputEvent.html#ab0e3407cf8693ba9f3be0be805c8af24"> 145</a></span>&#160; <a class="code" href="structWidget_1_1CharacterInputEvent.html#ab0e3407cf8693ba9f3be0be805c8af24">CharacterInputEvent</a>() noexcept</div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; : <a class="code" href="structWidget_1_1BaseEvent.html">BaseEvent</a>(),</div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; keycode(0),</div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; character(0),</div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160;<span class="preprocessor">#ifdef DISTRHO_PROPER_CPP11_SUPPORT</span></div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; <span class="keywordtype">string</span>{<span class="charliteral">&#39;\0&#39;</span>,<span class="charliteral">&#39;\0&#39;</span>,<span class="charliteral">&#39;\0&#39;</span>,<span class="charliteral">&#39;\0&#39;</span>,<span class="charliteral">&#39;\0&#39;</span>,<span class="charliteral">&#39;\0&#39;</span>,<span class="charliteral">&#39;\0&#39;</span>,<span class="charliteral">&#39;\0&#39;</span>} {}</div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;<span class="preprocessor">#else</span></div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; string() { std::memset(<span class="keywordtype">string</span>, 0, <span class="keyword">sizeof</span>(<span class="keywordtype">string</span>)); }</div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; };</div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160;<span class="comment"> Mouse press or release event.</span></div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160;<span class="comment"> @a button The button number starting from 1 (1 = left, 2 = middle, 3 = right).</span></div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160;<span class="comment"> @a press True if the button was pressed, false if released.</span></div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;<span class="comment"> @a pos The widget-relative coordinates of the pointer.</span></div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160;<span class="comment"> @a absolutePos The absolute coordinates of the pointer.</span></div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160;<span class="comment"> @see onMouse</span></div>
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00165"></a><span class="lineno"><a class="line" href="structWidget_1_1MouseEvent.html"> 165</a></span>&#160; <span class="keyword">struct </span><a class="code" href="structWidget_1_1MouseEvent.html">MouseEvent</a> : <a class="code" href="structWidget_1_1BaseEvent.html">BaseEvent</a> {</div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; uint button;</div>
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; <span class="keywordtype">bool</span> press;</div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; <a class="code" href="classPoint.html">Point&lt;double&gt;</a> pos;</div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; <a class="code" href="classPoint.html">Point&lt;double&gt;</a> absolutePos;</div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160;<span class="comment"> /** Constructor */</span></div>
<div class="line"><a name="l00172"></a><span class="lineno"><a class="line" href="structWidget_1_1MouseEvent.html#aa37fee8a593c62c53e4ca5c67ad9278f"> 172</a></span>&#160; <a class="code" href="structWidget_1_1MouseEvent.html#aa37fee8a593c62c53e4ca5c67ad9278f">MouseEvent</a>() noexcept</div>
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; : <a class="code" href="structWidget_1_1BaseEvent.html">BaseEvent</a>(),</div>
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; button(0),</div>
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; press(false),</div>
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; pos(0.0, 0.0),</div>
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; absolutePos(0.0, 0.0) {}</div>
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; };</div>
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160;<span class="comment"> Mouse motion event.</span></div>
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160;<span class="comment"> @a pos The widget-relative coordinates of the pointer.</span></div>
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160;<span class="comment"> @a absolutePos The absolute coordinates of the pointer.</span></div>
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160;<span class="comment"> @see onMotion</span></div>
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00187"></a><span class="lineno"><a class="line" href="structWidget_1_1MotionEvent.html"> 187</a></span>&#160; <span class="keyword">struct </span><a class="code" href="structWidget_1_1MotionEvent.html">MotionEvent</a> : <a class="code" href="structWidget_1_1BaseEvent.html">BaseEvent</a> {</div>
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; <a class="code" href="classPoint.html">Point&lt;double&gt;</a> pos;</div>
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; <a class="code" href="classPoint.html">Point&lt;double&gt;</a> absolutePos;</div>
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160;<span class="comment"> /** Constructor */</span></div>
<div class="line"><a name="l00192"></a><span class="lineno"><a class="line" href="structWidget_1_1MotionEvent.html#a0d2bf8f5c66002bb129968f10e0cc082"> 192</a></span>&#160; <a class="code" href="structWidget_1_1MotionEvent.html#a0d2bf8f5c66002bb129968f10e0cc082">MotionEvent</a>() noexcept</div>
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; : <a class="code" href="structWidget_1_1BaseEvent.html">BaseEvent</a>(),</div>
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; pos(0.0, 0.0),</div>
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; absolutePos(0.0, 0.0) {}</div>
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; };</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="structWidget_1_1BaseEvent.html"> 60</a></span>&#160; <span class="keyword">struct </span><a class="code" href="structWidget_1_1BaseEvent.html">BaseEvent</a> {<span class="comment"></span></div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;<span class="comment"> /** Currently active keyboard modifiers. @see Modifier */</span></div>
<div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="structWidget_1_1BaseEvent.html#a227a57d145561c7d07596a702f20d448"> 62</a></span>&#160; uint <a class="code" href="structWidget_1_1BaseEvent.html#a227a57d145561c7d07596a702f20d448">mod</a>;<span class="comment"></span></div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;<span class="comment"> /** Event flags. @see EventFlag */</span></div>
<div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="structWidget_1_1BaseEvent.html#ae134a6bdbd16a59218b5b4f0ee3a154c"> 64</a></span>&#160; uint <a class="code" href="structWidget_1_1BaseEvent.html#ae134a6bdbd16a59218b5b4f0ee3a154c">flags</a>;<span class="comment"></span></div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;<span class="comment"> /** Event timestamp (if any). */</span></div>
<div class="line"><a name="l00066"></a><span class="lineno"><a class="line" href="structWidget_1_1BaseEvent.html#a52bcdb90972ffb30a223d358e64f723f"> 66</a></span>&#160; uint <a class="code" href="structWidget_1_1BaseEvent.html#a52bcdb90972ffb30a223d358e64f723f">time</a>;</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;<span class="comment"> /** Constructor for default/null values */</span></div>
<div class="line"><a name="l00069"></a><span class="lineno"><a class="line" href="structWidget_1_1BaseEvent.html#a18c1114caca474cadefd9a13e2d9c693"> 69</a></span>&#160; <a class="code" href="structWidget_1_1BaseEvent.html#a18c1114caca474cadefd9a13e2d9c693">BaseEvent</a>() noexcept : <a class="code" href="structWidget_1_1BaseEvent.html#a227a57d145561c7d07596a702f20d448">mod</a>(0x0), <a class="code" href="structWidget_1_1BaseEvent.html#ae134a6bdbd16a59218b5b4f0ee3a154c">flags</a>(0x0), <a class="code" href="structWidget_1_1BaseEvent.html#a52bcdb90972ffb30a223d358e64f723f">time</a>(0) {}<span class="comment"></span></div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;<span class="comment"> /** Destuctor */</span></div>
<div class="line"><a name="l00071"></a><span class="lineno"><a class="line" href="structWidget_1_1BaseEvent.html#a58da172316b49f6d79b879b74ce5792a"> 71</a></span>&#160; <span class="keyword">virtual</span> <a class="code" href="structWidget_1_1BaseEvent.html#a58da172316b49f6d79b879b74ce5792a">~BaseEvent</a>() noexcept {}</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; };</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;<span class="comment"> Keyboard event.</span></div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160;<span class="comment"> This event represents low-level key presses and releases.</span></div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;<span class="comment"> This can be used for &quot;direct&quot; keyboard handing like key bindings, but must not be interpreted as text input.</span></div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;<span class="comment"> Keys are represented portably as Unicode code points, using the &quot;natural&quot; code point for the key.</span></div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160;<span class="comment"> The @a key field is the code for the pressed key, without any modifiers applied.</span></div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160;<span class="comment"> For example, a press or release of the &#39;A&#39; key will have `key` 97 (&#39;a&#39;)</span></div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160;<span class="comment"> regardless of whether shift or control are being held.</span></div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160;<span class="comment"> Alternatively, the raw @a keycode can be used to work directly with physical keys,</span></div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160;<span class="comment"> but note that this value is not portable and differs between platforms and hardware.</span></div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160;<span class="comment"> @see onKeyboard</span></div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00090"></a><span class="lineno"><a class="line" href="structWidget_1_1KeyboardEvent.html"> 90</a></span>&#160; <span class="keyword">struct </span><a class="code" href="structWidget_1_1KeyboardEvent.html">KeyboardEvent</a> : <a class="code" href="structWidget_1_1BaseEvent.html">BaseEvent</a> {<span class="comment"></span></div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160;<span class="comment"> /** True if the key was pressed, false if released. */</span></div>
<div class="line"><a name="l00092"></a><span class="lineno"><a class="line" href="structWidget_1_1KeyboardEvent.html#a8169fe04d78fb7bb4052ec7bc820da43"> 92</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="structWidget_1_1KeyboardEvent.html#a8169fe04d78fb7bb4052ec7bc820da43">press</a>;<span class="comment"></span></div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160;<span class="comment"> /** Unicode point of the key pressed. */</span></div>
<div class="line"><a name="l00094"></a><span class="lineno"><a class="line" href="structWidget_1_1KeyboardEvent.html#a46cdbf1f69912c93deb649f756ec24f4"> 94</a></span>&#160; uint <a class="code" href="structWidget_1_1KeyboardEvent.html#a46cdbf1f69912c93deb649f756ec24f4">key</a>;<span class="comment"></span></div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160;<span class="comment"> /** Raw keycode. */</span></div>
<div class="line"><a name="l00096"></a><span class="lineno"><a class="line" href="structWidget_1_1KeyboardEvent.html#a0db51894bdbda766c9596b226d04d8c3"> 96</a></span>&#160; uint <a class="code" href="structWidget_1_1KeyboardEvent.html#a0db51894bdbda766c9596b226d04d8c3">keycode</a>;</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160;<span class="comment"> /** Constructor for default/null values */</span></div>
<div class="line"><a name="l00099"></a><span class="lineno"><a class="line" href="structWidget_1_1KeyboardEvent.html#a5a55a296264b9999a7915f2633eacb10"> 99</a></span>&#160; <a class="code" href="structWidget_1_1KeyboardEvent.html#a5a55a296264b9999a7915f2633eacb10">KeyboardEvent</a>() noexcept</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; : <a class="code" href="structWidget_1_1BaseEvent.html">BaseEvent</a>(),</div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; <a class="code" href="structWidget_1_1KeyboardEvent.html#a8169fe04d78fb7bb4052ec7bc820da43">press</a>(false),</div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; <a class="code" href="structWidget_1_1KeyboardEvent.html#a46cdbf1f69912c93deb649f756ec24f4">key</a>(0),</div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; <a class="code" href="structWidget_1_1KeyboardEvent.html#a0db51894bdbda766c9596b226d04d8c3">keycode</a>(0) {}</div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; };</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;<span class="comment"> Special keyboard event.</span></div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160;<span class="comment"> DEPRECATED This used to be part of DPF due to pugl, but now deprecated and simply non-functional.</span></div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;<span class="comment"> All events go through KeyboardEvent or CharacterInputEvent, use those instead.</span></div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <span class="keyword">struct </span>DISTRHO_DEPRECATED_BY(&quot;KeyboardEvent&quot;) SpecialEvent : BaseEvent {</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <span class="keywordtype">bool</span> press;</div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; Key key;</div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;<span class="comment"> /** Constructor for default/null values */</span></div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; SpecialEvent() noexcept</div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; : BaseEvent(),</div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; press(false),</div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; key(Key(0)) {}</div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; };</div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;<span class="comment"> Character input event.</span></div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;<span class="comment"> This event represents text input, usually as the result of a key press.</span></div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;<span class="comment"> The text is given both as a Unicode character code and a UTF-8 string.</span></div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;<span class="comment"> Note that this event is generated by the platform&#39;s input system,</span></div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;<span class="comment"> so there is not necessarily a direct correspondence between text events and physical key presses.</span></div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160;<span class="comment"> For example, with some input methods a sequence of several key presses will generate a single character.</span></div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;<span class="comment"> @see onCharacterInput</span></div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00135"></a><span class="lineno"><a class="line" href="structWidget_1_1CharacterInputEvent.html"> 135</a></span>&#160; <span class="keyword">struct </span><a class="code" href="structWidget_1_1CharacterInputEvent.html">CharacterInputEvent</a> : <a class="code" href="structWidget_1_1BaseEvent.html">BaseEvent</a> {<span class="comment"></span></div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;<span class="comment"> /** Raw key code. */</span></div>
<div class="line"><a name="l00137"></a><span class="lineno"><a class="line" href="structWidget_1_1CharacterInputEvent.html#ab1ee376543219ff4e4f2139b23701700"> 137</a></span>&#160; uint <a class="code" href="structWidget_1_1CharacterInputEvent.html#ab1ee376543219ff4e4f2139b23701700">keycode</a>;<span class="comment"></span></div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;<span class="comment"> /** Unicode character code. */</span></div>
<div class="line"><a name="l00139"></a><span class="lineno"><a class="line" href="structWidget_1_1CharacterInputEvent.html#a8426db4231baad1c1621e287817fde85"> 139</a></span>&#160; uint <a class="code" href="structWidget_1_1CharacterInputEvent.html#a8426db4231baad1c1621e287817fde85">character</a>;<span class="comment"></span></div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160;<span class="comment"> /** UTF-8 string. */</span></div>
<div class="line"><a name="l00141"></a><span class="lineno"><a class="line" href="structWidget_1_1CharacterInputEvent.html#a5bfefd8ce88c676f1dd4b990faf49cb0"> 141</a></span>&#160; <span class="keywordtype">char</span> <span class="keywordtype">string</span>[8];</div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;<span class="comment"> /** Constructor for default/null values */</span></div>
<div class="line"><a name="l00144"></a><span class="lineno"><a class="line" href="structWidget_1_1CharacterInputEvent.html#ab0e3407cf8693ba9f3be0be805c8af24"> 144</a></span>&#160; <a class="code" href="structWidget_1_1CharacterInputEvent.html#ab0e3407cf8693ba9f3be0be805c8af24">CharacterInputEvent</a>() noexcept</div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; : <a class="code" href="structWidget_1_1BaseEvent.html">BaseEvent</a>(),</div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; <a class="code" href="structWidget_1_1CharacterInputEvent.html#ab1ee376543219ff4e4f2139b23701700">keycode</a>(0),</div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; <a class="code" href="structWidget_1_1CharacterInputEvent.html#a8426db4231baad1c1621e287817fde85">character</a>(0),</div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160;<span class="preprocessor">#ifdef DISTRHO_PROPER_CPP11_SUPPORT</span></div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; <span class="keywordtype">string</span>{<span class="charliteral">&#39;\0&#39;</span>,<span class="charliteral">&#39;\0&#39;</span>,<span class="charliteral">&#39;\0&#39;</span>,<span class="charliteral">&#39;\0&#39;</span>,<span class="charliteral">&#39;\0&#39;</span>,<span class="charliteral">&#39;\0&#39;</span>,<span class="charliteral">&#39;\0&#39;</span>,<span class="charliteral">&#39;\0&#39;</span>} {}</div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160;<span class="preprocessor">#else</span></div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; <a class="code" href="structWidget_1_1CharacterInputEvent.html#a5bfefd8ce88c676f1dd4b990faf49cb0">string</a>() { std::memset(<span class="keywordtype">string</span>, 0, <span class="keyword">sizeof</span>(<span class="keywordtype">string</span>)); }</div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; };</div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;<span class="comment"> Mouse press or release event.</span></div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160;<span class="comment"> @see onMouse</span></div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00159"></a><span class="lineno"><a class="line" href="structWidget_1_1MouseEvent.html"> 159</a></span>&#160; <span class="keyword">struct </span><a class="code" href="structWidget_1_1MouseEvent.html">MouseEvent</a> : <a class="code" href="structWidget_1_1BaseEvent.html">BaseEvent</a> {<span class="comment"></span></div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160;<span class="comment"> /** The button number starting from 1. @see MouseButton */</span></div>
<div class="line"><a name="l00161"></a><span class="lineno"><a class="line" href="structWidget_1_1MouseEvent.html#ab6471d00c229719e1dd821f78ed4bdef"> 161</a></span>&#160; uint <a class="code" href="structWidget_1_1MouseEvent.html#ab6471d00c229719e1dd821f78ed4bdef">button</a>;<span class="comment"></span></div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160;<span class="comment"> /** True if the button was pressed, false if released. */</span></div>
<div class="line"><a name="l00163"></a><span class="lineno"><a class="line" href="structWidget_1_1MouseEvent.html#ab65f0309f44fab0bf329b4ade9b53fcb"> 163</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="structWidget_1_1MouseEvent.html#ab65f0309f44fab0bf329b4ade9b53fcb">press</a>;<span class="comment"></span></div>
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160;<span class="comment"> /** The widget-relative coordinates of the pointer. */</span></div>
<div class="line"><a name="l00165"></a><span class="lineno"><a class="line" href="structWidget_1_1MouseEvent.html#a11c6d85adf87424c392d866579149770"> 165</a></span>&#160; <a class="code" href="classPoint.html">Point&lt;double&gt;</a> <a class="code" href="structWidget_1_1MouseEvent.html#a11c6d85adf87424c392d866579149770">pos</a>;<span class="comment"></span></div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160;<span class="comment"> /** The absolute coordinates of the pointer. */</span></div>
<div class="line"><a name="l00167"></a><span class="lineno"><a class="line" href="structWidget_1_1MouseEvent.html#ae80ebc0ab59ed2e06a63743d8c963651"> 167</a></span>&#160; <a class="code" href="classPoint.html">Point&lt;double&gt;</a> <a class="code" href="structWidget_1_1MouseEvent.html#ae80ebc0ab59ed2e06a63743d8c963651">absolutePos</a>;</div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160;<span class="comment"> /** Constructor for default/null values */</span></div>
<div class="line"><a name="l00170"></a><span class="lineno"><a class="line" href="structWidget_1_1MouseEvent.html#aa37fee8a593c62c53e4ca5c67ad9278f"> 170</a></span>&#160; <a class="code" href="structWidget_1_1MouseEvent.html#aa37fee8a593c62c53e4ca5c67ad9278f">MouseEvent</a>() noexcept</div>
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; : <a class="code" href="structWidget_1_1BaseEvent.html">BaseEvent</a>(),</div>
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; <a class="code" href="structWidget_1_1MouseEvent.html#ab6471d00c229719e1dd821f78ed4bdef">button</a>(0),</div>
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; <a class="code" href="structWidget_1_1MouseEvent.html#ab65f0309f44fab0bf329b4ade9b53fcb">press</a>(false),</div>
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; <a class="code" href="structWidget_1_1MouseEvent.html#a11c6d85adf87424c392d866579149770">pos</a>(0.0, 0.0),</div>
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; <a class="code" href="structWidget_1_1MouseEvent.html#ae80ebc0ab59ed2e06a63743d8c963651">absolutePos</a>(0.0, 0.0) {}</div>
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; };</div>
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160;<span class="comment"> Mouse motion event.</span></div>
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160;<span class="comment"> @see onMotion</span></div>
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00182"></a><span class="lineno"><a class="line" href="structWidget_1_1MotionEvent.html"> 182</a></span>&#160; <span class="keyword">struct </span><a class="code" href="structWidget_1_1MotionEvent.html">MotionEvent</a> : <a class="code" href="structWidget_1_1BaseEvent.html">BaseEvent</a> {<span class="comment"></span></div>
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160;<span class="comment"> /** The widget-relative coordinates of the pointer. */</span></div>
<div class="line"><a name="l00184"></a><span class="lineno"><a class="line" href="structWidget_1_1MotionEvent.html#a8024c6f2f0027bb046b152d003b2527a"> 184</a></span>&#160; <a class="code" href="classPoint.html">Point&lt;double&gt;</a> <a class="code" href="structWidget_1_1MotionEvent.html#a8024c6f2f0027bb046b152d003b2527a">pos</a>;<span class="comment"></span></div>
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160;<span class="comment"> /** The absolute coordinates of the pointer. */</span></div>
<div class="line"><a name="l00186"></a><span class="lineno"><a class="line" href="structWidget_1_1MotionEvent.html#add941e64b93be96b512b6023f1670d91"> 186</a></span>&#160; <a class="code" href="classPoint.html">Point&lt;double&gt;</a> <a class="code" href="structWidget_1_1MotionEvent.html#add941e64b93be96b512b6023f1670d91">absolutePos</a>;</div>
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160;<span class="comment"> /** Constructor for default/null values */</span></div>
<div class="line"><a name="l00189"></a><span class="lineno"><a class="line" href="structWidget_1_1MotionEvent.html#a0d2bf8f5c66002bb129968f10e0cc082"> 189</a></span>&#160; <a class="code" href="structWidget_1_1MotionEvent.html#a0d2bf8f5c66002bb129968f10e0cc082">MotionEvent</a>() noexcept</div>
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; : <a class="code" href="structWidget_1_1BaseEvent.html">BaseEvent</a>(),</div>
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; <a class="code" href="structWidget_1_1MotionEvent.html#a8024c6f2f0027bb046b152d003b2527a">pos</a>(0.0, 0.0),</div>
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; <a class="code" href="structWidget_1_1MotionEvent.html#add941e64b93be96b512b6023f1670d91">absolutePos</a>(0.0, 0.0) {}</div>
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; };</div>
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160;<span class="comment"> Mouse scroll event.</span></div>
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160;<span class="comment"> Mouse scroll event.</span></div>
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160;<span class="comment"> The scroll distance is expressed in &quot;lines&quot;,</span></div>
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160;<span class="comment"> an arbitrary unit that corresponds to a single tick of a detented mouse wheel.</span></div>
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160;<span class="comment"> For example, `delta.y` = 1.0 scrolls 1 line up.</span></div>
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160;<span class="comment"> Some systems and devices support finer resolution and/or higher values for fast scrolls,</span></div>
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160;<span class="comment"> so programs should handle any value gracefully.</span></div>
<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160;<span class="comment"> @a pos The widget-relative coordinates of the pointer.</span></div>
<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160;<span class="comment"> @a absolutePos The absolute coordinates of the pointer.</span></div>
<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160;<span class="comment"> @a delta The scroll distance.</span></div>
<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160;<span class="comment"> @a direction The direction of the scroll or &quot;smooth&quot;.</span></div>
<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160;<span class="comment"> @see onScroll</span></div>
<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00213"></a><span class="lineno"><a class="line" href="structWidget_1_1ScrollEvent.html"> 213</a></span>&#160; <span class="keyword">struct </span><a class="code" href="structWidget_1_1ScrollEvent.html">ScrollEvent</a> : <a class="code" href="structWidget_1_1BaseEvent.html">BaseEvent</a> {</div>
<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; <a class="code" href="classPoint.html">Point&lt;double&gt;</a> pos;</div>
<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; <a class="code" href="classPoint.html">Point&lt;double&gt;</a> absolutePos;</div>
<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; <a class="code" href="classPoint.html">Point&lt;double&gt;</a> delta;</div>
<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; ScrollDirection direction;</div>
<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160;<span class="comment"> /** Constructor */</span></div>
<div class="line"><a name="l00220"></a><span class="lineno"><a class="line" href="structWidget_1_1ScrollEvent.html#abee88b10b7b031ddcca1454e064a3cc3"> 220</a></span>&#160; <a class="code" href="structWidget_1_1ScrollEvent.html#abee88b10b7b031ddcca1454e064a3cc3">ScrollEvent</a>() noexcept</div>
<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; : <a class="code" href="structWidget_1_1BaseEvent.html">BaseEvent</a>(),</div>
<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; pos(0.0, 0.0),</div>
<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; absolutePos(0.0, 0.0),</div>
<div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; delta(0.0, 0.0),</div>
<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; direction(kScrollSmooth) {}</div>
<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; };</div>
<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160;<span class="comment"> Resize event.</span></div>
<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160;<span class="comment"> @a size The new widget size.</span></div>
<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160;<span class="comment"> @a oldSize The previous size, may be null.</span></div>
<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160;<span class="comment"> @see onResize</span></div>
<div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00234"></a><span class="lineno"><a class="line" href="structWidget_1_1ResizeEvent.html"> 234</a></span>&#160; <span class="keyword">struct </span><a class="code" href="structWidget_1_1ResizeEvent.html">ResizeEvent</a> {</div>
<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; <a class="code" href="classSize.html">Size&lt;uint&gt;</a> size;</div>
<div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; <a class="code" href="classSize.html">Size&lt;uint&gt;</a> oldSize;</div>
<div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160;<span class="comment"> /** Constructor */</span></div>
<div class="line"><a name="l00239"></a><span class="lineno"><a class="line" href="structWidget_1_1ResizeEvent.html#ac92abcdb2820807cd3d020864b96b3bd"> 239</a></span>&#160; <a class="code" href="structWidget_1_1ResizeEvent.html#ac92abcdb2820807cd3d020864b96b3bd">ResizeEvent</a>() noexcept</div>
<div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; : size(0, 0),</div>
<div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; oldSize(0, 0) {}</div>
<div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; };</div>
<div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160;<span class="comment"> Widget position changed event.</span></div>
<div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160;<span class="comment"> @a pos The new absolute position of the widget.</span></div>
<div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160;<span class="comment"> @a oldPos The previous absolute position of the widget.</span></div>
<div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160;<span class="comment"> @see onPositionChanged</span></div>
<div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00250"></a><span class="lineno"><a class="line" href="structWidget_1_1PositionChangedEvent.html"> 250</a></span>&#160; <span class="keyword">struct </span><a class="code" href="structWidget_1_1PositionChangedEvent.html">PositionChangedEvent</a> {</div>
<div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; <a class="code" href="classPoint.html">Point&lt;int&gt;</a> pos;</div>
<div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; <a class="code" href="classPoint.html">Point&lt;int&gt;</a> oldPos;</div>
<div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160;<span class="comment"> /** Constructor */</span></div>
<div class="line"><a name="l00255"></a><span class="lineno"><a class="line" href="structWidget_1_1PositionChangedEvent.html#aa6360f57c0314621b04d049708bea45c"> 255</a></span>&#160; <a class="code" href="structWidget_1_1PositionChangedEvent.html#aa6360f57c0314621b04d049708bea45c">PositionChangedEvent</a>() noexcept</div>
<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; : pos(0, 0),</div>
<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; oldPos(0, 0) {}</div>
<div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; };</div>
<div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; </div>
<div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160;<span class="keyword">private</span>:<span class="comment"></span></div>
<div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160;<span class="comment"> Private constructor, reserved for TopLevelWidget class.</span></div>
<div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; <span class="keyword">explicit</span> <a class="code" href="classWidget.html">Widget</a>(<a class="code" href="classTopLevelWidget.html">TopLevelWidget</a>* topLevelWidget);</div>
<div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160;<span class="comment"> Private constructor, reserved for SubWidget class.</span></div>
<div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; <span class="keyword">explicit</span> <a class="code" href="classWidget.html">Widget</a>(<a class="code" href="classWidget.html">Widget</a>* widgetToGroupTo);</div>
<div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160; </div>
<div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160;<span class="keyword">public</span>:<span class="comment"></span></div>
<div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160;<span class="comment"> Destructor.</span></div>
<div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; <span class="keyword">virtual</span> <a class="code" href="classWidget.html#a714cf798aadb4d615f6f60a355382c02">~Widget</a>();</div>
<div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160;<span class="comment"> Check if this widget is visible within its parent window.</span></div>
<div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160;<span class="comment"> Invisible widgets do not receive events except resize.</span></div>
<div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classWidget.html#a234a8ee8a685dc211ad11f492f0dbc71">isVisible</a>() const noexcept;</div>
<div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160;<span class="comment"> Set widget visible (or not) according to @a visible.</span></div>
<div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classWidget.html#a66088a03691f9c643ff335fa826576ba">setVisible</a>(<span class="keywordtype">bool</span> visible);</div>
<div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160;<span class="comment"> Show widget.</span></div>
<div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160;<span class="comment"> This is the same as calling setVisible(true).</span></div>
<div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classWidget.html#a25ff178539e226b5f30ef0335d060f2b">show</a>();</div>
<div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160;<span class="comment"> Hide widget.</span></div>
<div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160;<span class="comment"> This is the same as calling setVisible(false).</span></div>
<div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classWidget.html#a4a2f8eebacdd20db505b838f1a118c6b">hide</a>();</div>
<div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160;<span class="comment"> Get width.</span></div>
<div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160; uint <a class="code" href="classWidget.html#a169c317caf734c6664494a573e427b40">getWidth</a>() const noexcept;</div>
<div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160;<span class="comment"> Get height.</span></div>
<div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160; uint <a class="code" href="classWidget.html#aa20f6dc096a8836706173f31324c4db8">getHeight</a>() const noexcept;</div>
<div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160;<span class="comment"> Get size.</span></div>
<div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160; const <a class="code" href="classSize.html">Size</a>&lt;uint&gt; <a class="code" href="classWidget.html#a9044d42c20ead27dba983b710c94f8d6">getSize</a>() const noexcept;</div>
<div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160;<span class="comment"> Set width.</span></div>
<div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classWidget.html#aed80a9cbc4a13c01641f35dd3d8688ea">setWidth</a>(uint width) noexcept;</div>
<div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160;<span class="comment"> Set height.</span></div>
<div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classWidget.html#ac6d2e6cbb2ff96f3645493d804af07f7">setHeight</a>(uint height) noexcept;</div>
<div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160;<span class="comment"> Set size using @a width and @a height values.</span></div>
<div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classWidget.html#ab4d9e0156e455db3ff23730f82544daa">setSize</a>(uint width, uint height) noexcept;</div>
<div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160;<span class="comment"> Set size.</span></div>
<div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classWidget.html#ab4d9e0156e455db3ff23730f82544daa">setSize</a>(const <a class="code" href="classSize.html">Size</a>&lt;uint&gt;&amp; size) noexcept;</div>
<div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160;<span class="comment"> Get the Id associated with this widget.</span></div>
<div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160;<span class="comment"> @see setId</span></div>
<div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160; uint <a class="code" href="classWidget.html#a3ee6b2824e3f3719c1c9b3d070385f49">getId</a>() const noexcept;</div>
<div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160;<span class="comment"> Set an Id to be associated with this widget.</span></div>
<div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160;<span class="comment"> @see getId</span></div>
<div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classWidget.html#abfba3652559de84ba1ae9ccbd3d35e31">setId</a>(uint <span class="keywordtype">id</span>) noexcept;</div>
<div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160;<span class="comment"> Get the application associated with this widget&#39;s window.</span></div>
<div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160;<span class="comment"> This is the same as calling `getTopLevelWidget()-&gt;getApp()`.</span></div>
<div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160; <a class="code" href="classApplication.html">Application</a>&amp; <a class="code" href="classWidget.html#a373419bc6353abf50a502cdbebd736e7">getApp</a>() const noexcept;</div>
<div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160;<span class="comment"> Get the window associated with this widget.</span></div>
<div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160;<span class="comment"> This is the same as calling `getTopLevelWidget()-&gt;getWindow()`.</span></div>
<div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160; <a class="code" href="classWindow.html">Window</a>&amp; <a class="code" href="classWidget.html#a0ef05695aec704b0eb1eb91c2e8af07d">getWindow</a>() const noexcept;</div>
<div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160;<span class="comment"> Get the graphics context associated with this widget&#39;s window.</span></div>
<div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160;<span class="comment"> GraphicsContext is an empty struct and needs to be casted into a different type in order to be usable,</span></div>
<div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160;<span class="comment"> for example GraphicsContext.</span></div>
<div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160;<span class="comment"> @see CairoSubWidget, CairoTopLevelWidget</span></div>
<div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160; const <a class="code" href="structGraphicsContext.html">GraphicsContext</a>&amp; <a class="code" href="classWidget.html#ae23d09ec0e5f0397a3451b603b407182">getGraphicsContext</a>() const noexcept;</div>
<div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160;<span class="comment"> Get top-level widget, as passed directly in the constructor</span></div>
<div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160;<span class="comment"> or going up the chain of group widgets until it finds the top-level one.</span></div>
<div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; <a class="code" href="classTopLevelWidget.html">TopLevelWidget</a>* <a class="code" href="classWidget.html#a607b153f7d3187ca60bf21004efc1314">getTopLevelWidget</a>() const noexcept;</div>
<div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160;<span class="comment"> Request repaint of this widget&#39;s area to the window this widget belongs to.</span></div>
<div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160;<span class="comment"> On the raw Widget class this function does nothing.</span></div>
<div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160; virtual <span class="keywordtype">void</span> <a class="code" href="classWidget.html#abe8cfe0aaae71dd011cf9a86e930fd12">repaint</a>() noexcept;</div>
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160;<span class="comment"> The scroll distance is expressed in &quot;lines&quot;,</span></div>
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160;<span class="comment"> an arbitrary unit that corresponds to a single tick of a detented mouse wheel.</span></div>
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160;<span class="comment"> For example, `delta.y` = 1.0 scrolls 1 line up.</span></div>
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160;<span class="comment"> Some systems and devices support finer resolution and/or higher values for fast scrolls,</span></div>
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160;<span class="comment"> so programs should handle any value gracefully.</span></div>
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160;<span class="comment"> @see onScroll</span></div>
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00206"></a><span class="lineno"><a class="line" href="structWidget_1_1ScrollEvent.html"> 206</a></span>&#160; <span class="keyword">struct </span><a class="code" href="structWidget_1_1ScrollEvent.html">ScrollEvent</a> : <a class="code" href="structWidget_1_1BaseEvent.html">BaseEvent</a> {<span class="comment"></span></div>
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160;<span class="comment"> /** The widget-relative coordinates of the pointer. */</span></div>
<div class="line"><a name="l00208"></a><span class="lineno"><a class="line" href="structWidget_1_1ScrollEvent.html#aea1e954d9e6aaee6b3f6131a1ca7aecf"> 208</a></span>&#160; <a class="code" href="classPoint.html">Point&lt;double&gt;</a> <a class="code" href="structWidget_1_1ScrollEvent.html#aea1e954d9e6aaee6b3f6131a1ca7aecf">pos</a>;<span class="comment"></span></div>
<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160;<span class="comment"> /** The absolute coordinates of the pointer. */</span></div>
<div class="line"><a name="l00210"></a><span class="lineno"><a class="line" href="structWidget_1_1ScrollEvent.html#aa30ba4c1bc3c8973c5a99f315c089497"> 210</a></span>&#160; <a class="code" href="classPoint.html">Point&lt;double&gt;</a> <a class="code" href="structWidget_1_1ScrollEvent.html#aa30ba4c1bc3c8973c5a99f315c089497">absolutePos</a>;<span class="comment"></span></div>
<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160;<span class="comment"> /** The scroll distance. */</span></div>
<div class="line"><a name="l00212"></a><span class="lineno"><a class="line" href="structWidget_1_1ScrollEvent.html#a5081893281d91c5f615cc066fb5fc3dc"> 212</a></span>&#160; <a class="code" href="classPoint.html">Point&lt;double&gt;</a> <a class="code" href="structWidget_1_1ScrollEvent.html#a5081893281d91c5f615cc066fb5fc3dc">delta</a>;<span class="comment"></span></div>
<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160;<span class="comment"> /** The direction of the scroll or &quot;smooth&quot;. */</span></div>
<div class="line"><a name="l00214"></a><span class="lineno"><a class="line" href="structWidget_1_1ScrollEvent.html#aaf8500e819334defd632522858050e02"> 214</a></span>&#160; ScrollDirection <a class="code" href="structWidget_1_1ScrollEvent.html#aaf8500e819334defd632522858050e02">direction</a>;</div>
<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160;<span class="comment"> /** Constructor for default/null values */</span></div>
<div class="line"><a name="l00217"></a><span class="lineno"><a class="line" href="structWidget_1_1ScrollEvent.html#abee88b10b7b031ddcca1454e064a3cc3"> 217</a></span>&#160; <a class="code" href="structWidget_1_1ScrollEvent.html#abee88b10b7b031ddcca1454e064a3cc3">ScrollEvent</a>() noexcept</div>
<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; : <a class="code" href="structWidget_1_1BaseEvent.html">BaseEvent</a>(),</div>
<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; <a class="code" href="structWidget_1_1ScrollEvent.html#aea1e954d9e6aaee6b3f6131a1ca7aecf">pos</a>(0.0, 0.0),</div>
<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; <a class="code" href="structWidget_1_1ScrollEvent.html#aa30ba4c1bc3c8973c5a99f315c089497">absolutePos</a>(0.0, 0.0),</div>
<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; <a class="code" href="structWidget_1_1ScrollEvent.html#a5081893281d91c5f615cc066fb5fc3dc">delta</a>(0.0, 0.0),</div>
<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; <a class="code" href="structWidget_1_1ScrollEvent.html#aaf8500e819334defd632522858050e02">direction</a>(kScrollSmooth) {}</div>
<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; };</div>
<div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160;<span class="comment"> Resize event.</span></div>
<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160;<span class="comment"> @see onResize</span></div>
<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00229"></a><span class="lineno"><a class="line" href="structWidget_1_1ResizeEvent.html"> 229</a></span>&#160; <span class="keyword">struct </span><a class="code" href="structWidget_1_1ResizeEvent.html">ResizeEvent</a> {<span class="comment"></span></div>
<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160;<span class="comment"> /** The new widget size. */</span></div>
<div class="line"><a name="l00231"></a><span class="lineno"><a class="line" href="structWidget_1_1ResizeEvent.html#a79045426f6b38169fec44abbb19d92d9"> 231</a></span>&#160; <a class="code" href="classSize.html">Size&lt;uint&gt;</a> <a class="code" href="structWidget_1_1ResizeEvent.html#a79045426f6b38169fec44abbb19d92d9">size</a>;<span class="comment"></span></div>
<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160;<span class="comment"> /** The previous size, can be null. */</span></div>
<div class="line"><a name="l00233"></a><span class="lineno"><a class="line" href="structWidget_1_1ResizeEvent.html#a91546ab4b305f914b8ce144bd0f88960"> 233</a></span>&#160; <a class="code" href="classSize.html">Size&lt;uint&gt;</a> <a class="code" href="structWidget_1_1ResizeEvent.html#a91546ab4b305f914b8ce144bd0f88960">oldSize</a>;</div>
<div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160;<span class="comment"> /** Constructor for default/null values */</span></div>
<div class="line"><a name="l00236"></a><span class="lineno"><a class="line" href="structWidget_1_1ResizeEvent.html#ac92abcdb2820807cd3d020864b96b3bd"> 236</a></span>&#160; <a class="code" href="structWidget_1_1ResizeEvent.html#ac92abcdb2820807cd3d020864b96b3bd">ResizeEvent</a>() noexcept</div>
<div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; : <a class="code" href="structWidget_1_1ResizeEvent.html#a79045426f6b38169fec44abbb19d92d9">size</a>(0, 0),</div>
<div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; <a class="code" href="structWidget_1_1ResizeEvent.html#a91546ab4b305f914b8ce144bd0f88960">oldSize</a>(0, 0) {}</div>
<div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; };</div>
<div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160;<span class="comment"> Widget position changed event.</span></div>
<div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160;<span class="comment"> @see onPositionChanged</span></div>
<div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00245"></a><span class="lineno"><a class="line" href="structWidget_1_1PositionChangedEvent.html"> 245</a></span>&#160; <span class="keyword">struct </span><a class="code" href="structWidget_1_1PositionChangedEvent.html">PositionChangedEvent</a> {<span class="comment"></span></div>
<div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160;<span class="comment"> /** The new absolute position of the widget. */</span></div>
<div class="line"><a name="l00247"></a><span class="lineno"><a class="line" href="structWidget_1_1PositionChangedEvent.html#ab7364cb80073ed1fc981d5685a8e9942"> 247</a></span>&#160; <a class="code" href="classPoint.html">Point&lt;int&gt;</a> <a class="code" href="structWidget_1_1PositionChangedEvent.html#ab7364cb80073ed1fc981d5685a8e9942">pos</a>;<span class="comment"></span></div>
<div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160;<span class="comment"> /** The previous absolute position of the widget. */</span></div>
<div class="line"><a name="l00249"></a><span class="lineno"><a class="line" href="structWidget_1_1PositionChangedEvent.html#ab722a13acfc378f562a484c375a62d5d"> 249</a></span>&#160; <a class="code" href="classPoint.html">Point&lt;int&gt;</a> <a class="code" href="structWidget_1_1PositionChangedEvent.html#ab722a13acfc378f562a484c375a62d5d">oldPos</a>;</div>
<div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160;<span class="comment"> /** Constructor for default/null values */</span></div>
<div class="line"><a name="l00252"></a><span class="lineno"><a class="line" href="structWidget_1_1PositionChangedEvent.html#aa6360f57c0314621b04d049708bea45c"> 252</a></span>&#160; <a class="code" href="structWidget_1_1PositionChangedEvent.html#aa6360f57c0314621b04d049708bea45c">PositionChangedEvent</a>() noexcept</div>
<div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; : <a class="code" href="structWidget_1_1PositionChangedEvent.html#ab7364cb80073ed1fc981d5685a8e9942">pos</a>(0, 0),</div>
<div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; <a class="code" href="structWidget_1_1PositionChangedEvent.html#ab722a13acfc378f562a484c375a62d5d">oldPos</a>(0, 0) {}</div>
<div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; };</div>
<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; </div>
<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160;<span class="keyword">private</span>:<span class="comment"></span></div>
<div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160;<span class="comment"> Private constructor, reserved for TopLevelWidget class.</span></div>
<div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; <span class="keyword">explicit</span> <a class="code" href="classWidget.html">Widget</a>(<a class="code" href="classTopLevelWidget.html">TopLevelWidget</a>* topLevelWidget);</div>
<div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160;<span class="comment"> Private constructor, reserved for SubWidget class.</span></div>
<div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; <span class="keyword">explicit</span> <a class="code" href="classWidget.html">Widget</a>(<a class="code" href="classWidget.html">Widget</a>* widgetToGroupTo);</div>
<div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; </div>
<div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160;<span class="keyword">public</span>:<span class="comment"></span></div>
<div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160;<span class="comment"> Destructor.</span></div>
<div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00272"></a><span class="lineno"><a class="line" href="classWidget.html#a714cf798aadb4d615f6f60a355382c02"> 272</a></span>&#160; <span class="keyword">virtual</span> <a class="code" href="classWidget.html#a714cf798aadb4d615f6f60a355382c02">~Widget</a>();</div>
<div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160;<span class="comment"> Check if this widget is visible within its parent window.</span></div>
<div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160;<span class="comment"> Invisible widgets do not receive events except resize.</span></div>
<div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00278"></a><span class="lineno"><a class="line" href="classWidget.html#a234a8ee8a685dc211ad11f492f0dbc71"> 278</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classWidget.html#a234a8ee8a685dc211ad11f492f0dbc71">isVisible</a>() const noexcept;</div>
<div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160;<span class="comment"> Set widget visible (or not) according to @a visible.</span></div>
<div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00283"></a><span class="lineno"><a class="line" href="classWidget.html#a66088a03691f9c643ff335fa826576ba"> 283</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classWidget.html#a66088a03691f9c643ff335fa826576ba">setVisible</a>(<span class="keywordtype">bool</span> visible);</div>
<div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160;<span class="comment"> Show widget.</span></div>
<div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160;<span class="comment"> This is the same as calling setVisible(true).</span></div>
<div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00289"></a><span class="lineno"><a class="line" href="classWidget.html#a25ff178539e226b5f30ef0335d060f2b"> 289</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classWidget.html#a25ff178539e226b5f30ef0335d060f2b">show</a>();</div>
<div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160;<span class="comment"> Hide widget.</span></div>
<div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160;<span class="comment"> This is the same as calling setVisible(false).</span></div>
<div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00295"></a><span class="lineno"><a class="line" href="classWidget.html#a4a2f8eebacdd20db505b838f1a118c6b"> 295</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classWidget.html#a4a2f8eebacdd20db505b838f1a118c6b">hide</a>();</div>
<div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160;<span class="comment"> Get width.</span></div>
<div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00300"></a><span class="lineno"><a class="line" href="classWidget.html#a169c317caf734c6664494a573e427b40"> 300</a></span>&#160; uint <a class="code" href="classWidget.html#a169c317caf734c6664494a573e427b40">getWidth</a>() const noexcept;</div>
<div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160;<span class="comment"> Get height.</span></div>
<div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00305"></a><span class="lineno"><a class="line" href="classWidget.html#aa20f6dc096a8836706173f31324c4db8"> 305</a></span>&#160; uint <a class="code" href="classWidget.html#aa20f6dc096a8836706173f31324c4db8">getHeight</a>() const noexcept;</div>
<div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160;<span class="comment"> Get size.</span></div>
<div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00310"></a><span class="lineno"><a class="line" href="classWidget.html#a9044d42c20ead27dba983b710c94f8d6"> 310</a></span>&#160; const <a class="code" href="classSize.html">Size</a>&lt;uint&gt; <a class="code" href="classWidget.html#a9044d42c20ead27dba983b710c94f8d6">getSize</a>() const noexcept;</div>
<div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160;<span class="comment"> Set width.</span></div>
<div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00315"></a><span class="lineno"><a class="line" href="classWidget.html#aed80a9cbc4a13c01641f35dd3d8688ea"> 315</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classWidget.html#aed80a9cbc4a13c01641f35dd3d8688ea">setWidth</a>(uint width) noexcept;</div>
<div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160;<span class="comment"> Set height.</span></div>
<div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00320"></a><span class="lineno"><a class="line" href="classWidget.html#ac6d2e6cbb2ff96f3645493d804af07f7"> 320</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classWidget.html#ac6d2e6cbb2ff96f3645493d804af07f7">setHeight</a>(uint height) noexcept;</div>
<div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160;<span class="comment"> Set size using @a width and @a height values.</span></div>
<div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00325"></a><span class="lineno"><a class="line" href="classWidget.html#ab4d9e0156e455db3ff23730f82544daa"> 325</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classWidget.html#ab4d9e0156e455db3ff23730f82544daa">setSize</a>(uint width, uint height) noexcept;</div>
<div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160;<span class="comment"> Set size.</span></div>
<div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00330"></a><span class="lineno"><a class="line" href="classWidget.html#afce784b204902c0f11e9ed02bc692362"> 330</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classWidget.html#ab4d9e0156e455db3ff23730f82544daa">setSize</a>(const <a class="code" href="classSize.html">Size</a>&lt;uint&gt;&amp; size) noexcept;</div>
<div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160;<span class="comment"> Get the Id associated with this widget.</span></div>
<div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160;<span class="comment"> @see setId</span></div>
<div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00336"></a><span class="lineno"><a class="line" href="classWidget.html#a3ee6b2824e3f3719c1c9b3d070385f49"> 336</a></span>&#160; uint <a class="code" href="classWidget.html#a3ee6b2824e3f3719c1c9b3d070385f49">getId</a>() const noexcept;</div>
<div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160;<span class="comment"> Set an Id to be associated with this widget.</span></div>
<div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160;<span class="comment"> @see getId</span></div>
<div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00342"></a><span class="lineno"><a class="line" href="classWidget.html#abfba3652559de84ba1ae9ccbd3d35e31"> 342</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classWidget.html#abfba3652559de84ba1ae9ccbd3d35e31">setId</a>(uint <span class="keywordtype">id</span>) noexcept;</div>
<div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160;<span class="comment"> Get the application associated with this widget&#39;s window.</span></div>
<div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160;<span class="comment"> This is the same as calling `getTopLevelWidget()-&gt;getApp()`.</span></div>
<div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00348"></a><span class="lineno"><a class="line" href="classWidget.html#a373419bc6353abf50a502cdbebd736e7"> 348</a></span>&#160; <a class="code" href="classApplication.html">Application</a>&amp; <a class="code" href="classWidget.html#a373419bc6353abf50a502cdbebd736e7">getApp</a>() const noexcept;</div>
<div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160;<span class="comment"> Get the window associated with this widget.</span></div>
<div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160;<span class="comment"> This is the same as calling `getTopLevelWidget()-&gt;getWindow()`.</span></div>
<div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00354"></a><span class="lineno"><a class="line" href="classWidget.html#a0ef05695aec704b0eb1eb91c2e8af07d"> 354</a></span>&#160; <a class="code" href="classWindow.html">Window</a>&amp; <a class="code" href="classWidget.html#a0ef05695aec704b0eb1eb91c2e8af07d">getWindow</a>() const noexcept;</div>
<div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160;<span class="comment"> Get the graphics context associated with this widget&#39;s window.</span></div>
<div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160;<span class="comment"> GraphicsContext is an empty struct and needs to be casted into a different type in order to be usable,</span></div>
<div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160;<span class="comment"> for example GraphicsContext.</span></div>
<div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160;<span class="comment"> @see CairoSubWidget, CairoTopLevelWidget</span></div>
<div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00362"></a><span class="lineno"><a class="line" href="classWidget.html#ae23d09ec0e5f0397a3451b603b407182"> 362</a></span>&#160; const <a class="code" href="structGraphicsContext.html">GraphicsContext</a>&amp; <a class="code" href="classWidget.html#ae23d09ec0e5f0397a3451b603b407182">getGraphicsContext</a>() const noexcept;</div>
<div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160;<span class="comment"> Get top-level widget, as passed directly in the constructor</span></div>
<div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160;<span class="comment"> or going up the chain of group widgets until it finds the top-level one.</span></div>
<div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00368"></a><span class="lineno"><a class="line" href="classWidget.html#a607b153f7d3187ca60bf21004efc1314"> 368</a></span>&#160; <a class="code" href="classTopLevelWidget.html">TopLevelWidget</a>* <a class="code" href="classWidget.html#a607b153f7d3187ca60bf21004efc1314">getTopLevelWidget</a>() const noexcept;</div>
<div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160;<span class="comment"> Request repaint of this widget&#39;s area to the window this widget belongs to.</span></div>
<div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160;<span class="comment"> On the raw Widget class this function does nothing.</span></div>
<div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00374"></a><span class="lineno"><a class="line" href="classWidget.html#abe8cfe0aaae71dd011cf9a86e930fd12"> 374</a></span>&#160; virtual <span class="keywordtype">void</span> <a class="code" href="classWidget.html#abe8cfe0aaae71dd011cf9a86e930fd12">repaint</a>() noexcept;</div>
<div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; </div>
<div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160; DISTRHO_DEPRECATED_BY(&quot;<a class="code" href="classWidget.html#a373419bc6353abf50a502cdbebd736e7">getApp</a>()&quot;)</div>
<div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160; <a class="code" href="classApplication.html">Application</a>&amp; getParentApp() const noexcept { <span class="keywordflow">return</span> <a class="code" href="classWidget.html#a373419bc6353abf50a502cdbebd736e7">getApp</a>(); }</div>
<div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160; </div>
<div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160; DISTRHO_DEPRECATED_BY(&quot;<a class="code" href="classWidget.html#a373419bc6353abf50a502cdbebd736e7">getApp</a>()&quot;)</div>
<div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160; <a class="code" href="classApplication.html">Application</a>&amp; getParentApp() const noexcept { <span class="keywordflow">return</span> <a class="code" href="classWidget.html#a373419bc6353abf50a502cdbebd736e7">getApp</a>(); }</div>
<div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160; DISTRHO_DEPRECATED_BY(<span class="stringliteral">&quot;getWindow()&quot;</span>)</div>
<div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160; <a class="code" href="classWindow.html">Window</a>&amp; getParentWindow() const noexcept { <span class="keywordflow">return</span> <a class="code" href="classWidget.html#a0ef05695aec704b0eb1eb91c2e8af07d">getWindow</a>(); }</div>
<div class="line"><a name="l00381"></a><span class="lineno"> 381</span>&#160; </div>
<div class="line"><a name="l00382"></a><span class="lineno"> 382</span>&#160; DISTRHO_DEPRECATED_BY(<span class="stringliteral">&quot;getWindow()&quot;</span>)</div>
<div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160; <a class="code" href="classWindow.html">Window</a>&amp; getParentWindow() const noexcept { <span class="keywordflow">return</span> <a class="code" href="classWidget.html#a0ef05695aec704b0eb1eb91c2e8af07d">getWindow</a>(); }</div>
<div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160; </div>
<div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160;<span class="keyword">protected</span>:<span class="comment"></span></div>
<div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160;<span class="comment"> A function called to draw the widget contents.</span></div>
<div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classWidget.html#ae1554f348fe3b2f9d4c3c5c4f9ec55bd">onDisplay</a>() = 0;</div>
<div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160;<span class="comment"> A function called when a key is pressed or released.</span></div>
<div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160;<span class="comment"> @return True to stop event propagation, false otherwise.</span></div>
<div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classWidget.html#a9fa874aede538b41348f1029524aea11">onKeyboard</a>(<span class="keyword">const</span> KeyboardEvent&amp;);</div>
<div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160;<span class="comment"> A function called when an UTF-8 character is received.</span></div>
<div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160;<span class="comment"> @return True to stop event propagation, false otherwise.</span></div>
<div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classWidget.html#ad7fb24de24d8809305b04ff3750f0dea">onCharacterInput</a>(<span class="keyword">const</span> CharacterInputEvent&amp;);</div>
<div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160;<span class="comment"> A function called when a mouse button is pressed or released.</span></div>
<div class="line"><a name="l00405"></a><span class="lineno"> 405</span>&#160;<span class="comment"> @return True to stop event propagation, false otherwise.</span></div>
<div class="line"><a name="l00406"></a><span class="lineno"> 406</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00407"></a><span class="lineno"> 407</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classWidget.html#a097ec1d56a06bdc9e0a4e54880def378">onMouse</a>(<span class="keyword">const</span> MouseEvent&amp;);</div>
<div class="line"><a name="l00408"></a><span class="lineno"> 408</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00409"></a><span class="lineno"> 409</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160;<span class="comment"> A function called when the pointer moves.</span></div>
<div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160;<span class="comment"> @return True to stop event propagation, false otherwise.</span></div>
<div class="line"><a name="l00412"></a><span class="lineno"> 412</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00413"></a><span class="lineno"> 413</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classWidget.html#a655569fb78a598652e9f24cefa1fe4a5">onMotion</a>(<span class="keyword">const</span> MotionEvent&amp;);</div>
<div class="line"><a name="l00414"></a><span class="lineno"> 414</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00415"></a><span class="lineno"> 415</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00416"></a><span class="lineno"> 416</span>&#160;<span class="comment"> A function called on scrolling (e.g. mouse wheel or track pad).</span></div>
<div class="line"><a name="l00417"></a><span class="lineno"> 417</span>&#160;<span class="comment"> @return True to stop event propagation, false otherwise.</span></div>
<div class="line"><a name="l00418"></a><span class="lineno"> 418</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00419"></a><span class="lineno"> 419</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classWidget.html#a0d78d28bd4a98c3a016a38091b2d4185">onScroll</a>(<span class="keyword">const</span> ScrollEvent&amp;);</div>
<div class="line"><a name="l00420"></a><span class="lineno"> 420</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00421"></a><span class="lineno"> 421</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00422"></a><span class="lineno"> 422</span>&#160;<span class="comment"> A function called when the widget is resized.</span></div>
<div class="line"><a name="l00423"></a><span class="lineno"> 423</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00424"></a><span class="lineno"> 424</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classWidget.html#acc0365ec4b9245bdffb8d0285be55dea">onResize</a>(<span class="keyword">const</span> ResizeEvent&amp;);</div>
<div class="line"><a name="l00425"></a><span class="lineno"> 425</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00426"></a><span class="lineno"> 426</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00427"></a><span class="lineno"> 427</span>&#160;<span class="comment"> A function called when a special key is pressed or released.</span></div>
<div class="line"><a name="l00428"></a><span class="lineno"> 428</span>&#160;<span class="comment"> DEPRECATED use onKeyboard or onCharacterInput</span></div>
<div class="line"><a name="l00429"></a><span class="lineno"> 429</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00430"></a><span class="lineno"> 430</span>&#160;<span class="preprocessor">#if defined(__clang__)</span></div>
<div class="line"><a name="l00431"></a><span class="lineno"> 431</span>&#160;<span class="preprocessor"># pragma clang diagnostic push</span></div>
<div class="line"><a name="l00432"></a><span class="lineno"> 432</span>&#160;<span class="preprocessor"># pragma clang diagnostic ignored &quot;-Wdeprecated-declarations&quot;</span></div>
<div class="line"><a name="l00433"></a><span class="lineno"> 433</span>&#160;<span class="preprocessor">#elif defined(__GNUC__) &amp;&amp; (__GNUC__ * 100 + __GNUC_MINOR__) &gt;= 460</span></div>
<div class="line"><a name="l00434"></a><span class="lineno"> 434</span>&#160;<span class="preprocessor"># pragma GCC diagnostic push</span></div>
<div class="line"><a name="l00435"></a><span class="lineno"> 435</span>&#160;<span class="preprocessor"># pragma GCC diagnostic ignored &quot;-Wdeprecated-declarations&quot;</span></div>
<div class="line"><a name="l00436"></a><span class="lineno"> 436</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00437"></a><span class="lineno"><a class="line" href="classWidget.html#a3b42652fcb2f95c6f86bdd43a1727507"> 437</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classWidget.html#a3b42652fcb2f95c6f86bdd43a1727507">onSpecial</a>(<span class="keyword">const</span> SpecialEvent&amp;) { <span class="keywordflow">return</span> <span class="keyword">false</span>; }</div>
<div class="line"><a name="l00438"></a><span class="lineno"> 438</span>&#160;<span class="preprocessor">#if defined(__clang__)</span></div>
<div class="line"><a name="l00439"></a><span class="lineno"> 439</span>&#160;<span class="preprocessor"># pragma clang diagnostic pop</span></div>
<div class="line"><a name="l00440"></a><span class="lineno"> 440</span>&#160;<span class="preprocessor">#elif defined(__GNUC__) &amp;&amp; (__GNUC__ * 100 + __GNUC_MINOR__) &gt;= 460</span></div>
<div class="line"><a name="l00441"></a><span class="lineno"> 441</span>&#160;<span class="preprocessor"># pragma GCC diagnostic pop</span></div>
<div class="line"><a name="l00442"></a><span class="lineno"> 442</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00443"></a><span class="lineno"> 443</span>&#160; </div>
<div class="line"><a name="l00444"></a><span class="lineno"> 444</span>&#160;<span class="keyword">private</span>:</div>
<div class="line"><a name="l00445"></a><span class="lineno"> 445</span>&#160; <span class="keyword">struct </span>PrivateData;</div>
<div class="line"><a name="l00446"></a><span class="lineno"> 446</span>&#160; PrivateData* <span class="keyword">const</span> pData;</div>
<div class="line"><a name="l00447"></a><span class="lineno"> 447</span>&#160; <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classSubWidget.html">SubWidget</a>;</div>
<div class="line"><a name="l00448"></a><span class="lineno"> 448</span>&#160; <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classTopLevelWidget.html">TopLevelWidget</a>;</div>
<div class="line"><a name="l00382"></a><span class="lineno"> 382</span>&#160;<span class="keyword">protected</span>:<span class="comment"></span></div>
<div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160;<span class="comment"> A function called to draw the widget contents.</span></div>
<div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00386"></a><span class="lineno"><a class="line" href="classWidget.html#ae1554f348fe3b2f9d4c3c5c4f9ec55bd"> 386</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classWidget.html#ae1554f348fe3b2f9d4c3c5c4f9ec55bd">onDisplay</a>() = 0;</div>
<div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160;<span class="comment"> A function called when a key is pressed or released.</span></div>
<div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160;<span class="comment"> @return True to stop event propagation, false otherwise.</span></div>
<div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00392"></a><span class="lineno"><a class="line" href="classWidget.html#a9fa874aede538b41348f1029524aea11"> 392</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classWidget.html#a9fa874aede538b41348f1029524aea11">onKeyboard</a>(<span class="keyword">const</span> <a class="code" href="structWidget_1_1KeyboardEvent.html">KeyboardEvent</a>&amp;);</div>
<div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160;<span class="comment"> A function called when an UTF-8 character is received.</span></div>
<div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160;<span class="comment"> @return True to stop event propagation, false otherwise.</span></div>
<div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00398"></a><span class="lineno"><a class="line" href="classWidget.html#ad7fb24de24d8809305b04ff3750f0dea"> 398</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classWidget.html#ad7fb24de24d8809305b04ff3750f0dea">onCharacterInput</a>(<span class="keyword">const</span> <a class="code" href="structWidget_1_1CharacterInputEvent.html">CharacterInputEvent</a>&amp;);</div>
<div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160;<span class="comment"> A function called when a mouse button is pressed or released.</span></div>
<div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160;<span class="comment"> @return True to stop event propagation, false otherwise.</span></div>
<div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00404"></a><span class="lineno"><a class="line" href="classWidget.html#a097ec1d56a06bdc9e0a4e54880def378"> 404</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classWidget.html#a097ec1d56a06bdc9e0a4e54880def378">onMouse</a>(<span class="keyword">const</span> <a class="code" href="structWidget_1_1MouseEvent.html">MouseEvent</a>&amp;);</div>
<div class="line"><a name="l00405"></a><span class="lineno"> 405</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00406"></a><span class="lineno"> 406</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00407"></a><span class="lineno"> 407</span>&#160;<span class="comment"> A function called when the pointer moves.</span></div>
<div class="line"><a name="l00408"></a><span class="lineno"> 408</span>&#160;<span class="comment"> @return True to stop event propagation, false otherwise.</span></div>
<div class="line"><a name="l00409"></a><span class="lineno"> 409</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00410"></a><span class="lineno"><a class="line" href="classWidget.html#a655569fb78a598652e9f24cefa1fe4a5"> 410</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classWidget.html#a655569fb78a598652e9f24cefa1fe4a5">onMotion</a>(<span class="keyword">const</span> <a class="code" href="structWidget_1_1MotionEvent.html">MotionEvent</a>&amp;);</div>
<div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00412"></a><span class="lineno"> 412</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00413"></a><span class="lineno"> 413</span>&#160;<span class="comment"> A function called on scrolling (e.g. mouse wheel or track pad).</span></div>
<div class="line"><a name="l00414"></a><span class="lineno"> 414</span>&#160;<span class="comment"> @return True to stop event propagation, false otherwise.</span></div>
<div class="line"><a name="l00415"></a><span class="lineno"> 415</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00416"></a><span class="lineno"><a class="line" href="classWidget.html#a0d78d28bd4a98c3a016a38091b2d4185"> 416</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classWidget.html#a0d78d28bd4a98c3a016a38091b2d4185">onScroll</a>(<span class="keyword">const</span> <a class="code" href="structWidget_1_1ScrollEvent.html">ScrollEvent</a>&amp;);</div>
<div class="line"><a name="l00417"></a><span class="lineno"> 417</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00418"></a><span class="lineno"> 418</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00419"></a><span class="lineno"> 419</span>&#160;<span class="comment"> A function called when the widget is resized.</span></div>
<div class="line"><a name="l00420"></a><span class="lineno"> 420</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00421"></a><span class="lineno"><a class="line" href="classWidget.html#acc0365ec4b9245bdffb8d0285be55dea"> 421</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classWidget.html#acc0365ec4b9245bdffb8d0285be55dea">onResize</a>(<span class="keyword">const</span> <a class="code" href="structWidget_1_1ResizeEvent.html">ResizeEvent</a>&amp;);</div>
<div class="line"><a name="l00422"></a><span class="lineno"> 422</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00423"></a><span class="lineno"> 423</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00424"></a><span class="lineno"> 424</span>&#160;<span class="comment"> A function called when a special key is pressed or released.</span></div>
<div class="line"><a name="l00425"></a><span class="lineno"> 425</span>&#160;<span class="comment"> DEPRECATED use onKeyboard or onCharacterInput</span></div>
<div class="line"><a name="l00426"></a><span class="lineno"> 426</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00427"></a><span class="lineno"> 427</span>&#160;<span class="preprocessor">#if defined(__clang__)</span></div>
<div class="line"><a name="l00428"></a><span class="lineno"> 428</span>&#160;<span class="preprocessor"># pragma clang diagnostic push</span></div>
<div class="line"><a name="l00429"></a><span class="lineno"> 429</span>&#160;<span class="preprocessor"># pragma clang diagnostic ignored &quot;-Wdeprecated-declarations&quot;</span></div>
<div class="line"><a name="l00430"></a><span class="lineno"> 430</span>&#160;<span class="preprocessor">#elif defined(__GNUC__) &amp;&amp; (__GNUC__ * 100 + __GNUC_MINOR__) &gt;= 460</span></div>
<div class="line"><a name="l00431"></a><span class="lineno"> 431</span>&#160;<span class="preprocessor"># pragma GCC diagnostic push</span></div>
<div class="line"><a name="l00432"></a><span class="lineno"> 432</span>&#160;<span class="preprocessor"># pragma GCC diagnostic ignored &quot;-Wdeprecated-declarations&quot;</span></div>
<div class="line"><a name="l00433"></a><span class="lineno"> 433</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00434"></a><span class="lineno"><a class="line" href="classWidget.html#a3b42652fcb2f95c6f86bdd43a1727507"> 434</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classWidget.html#a3b42652fcb2f95c6f86bdd43a1727507">onSpecial</a>(<span class="keyword">const</span> SpecialEvent&amp;) { <span class="keywordflow">return</span> <span class="keyword">false</span>; }</div>
<div class="line"><a name="l00435"></a><span class="lineno"> 435</span>&#160;<span class="preprocessor">#if defined(__clang__)</span></div>
<div class="line"><a name="l00436"></a><span class="lineno"> 436</span>&#160;<span class="preprocessor"># pragma clang diagnostic pop</span></div>
<div class="line"><a name="l00437"></a><span class="lineno"> 437</span>&#160;<span class="preprocessor">#elif defined(__GNUC__) &amp;&amp; (__GNUC__ * 100 + __GNUC_MINOR__) &gt;= 460</span></div>
<div class="line"><a name="l00438"></a><span class="lineno"> 438</span>&#160;<span class="preprocessor"># pragma GCC diagnostic pop</span></div>
<div class="line"><a name="l00439"></a><span class="lineno"> 439</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00440"></a><span class="lineno"> 440</span>&#160; </div>
<div class="line"><a name="l00441"></a><span class="lineno"> 441</span>&#160;<span class="keyword">private</span>:</div>
<div class="line"><a name="l00442"></a><span class="lineno"> 442</span>&#160; <span class="keyword">struct </span>PrivateData;</div>
<div class="line"><a name="l00443"></a><span class="lineno"> 443</span>&#160; PrivateData* <span class="keyword">const</span> pData;</div>
<div class="line"><a name="l00444"></a><span class="lineno"> 444</span>&#160; <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classSubWidget.html">SubWidget</a>;</div>
<div class="line"><a name="l00445"></a><span class="lineno"> 445</span>&#160; <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classTopLevelWidget.html">TopLevelWidget</a>;</div>
<div class="line"><a name="l00446"></a><span class="lineno"> 446</span>&#160; </div>
<div class="line"><a name="l00447"></a><span class="lineno"> 447</span>&#160; DISTRHO_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(<a class="code" href="classWidget.html">Widget</a>)</div>
<div class="line"><a name="l00448"></a><span class="lineno"> 448</span>&#160;};</div>
<div class="line"><a name="l00449"></a><span class="lineno"> 449</span>&#160; </div>
<div class="line"><a name="l00450"></a><span class="lineno"> 450</span>&#160; DISTRHO_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(<a class="code" href="classWidget.html">Widget</a>)</div>
<div class="line"><a name="l00451"></a><span class="lineno"> 451</span>&#160;};</div>
<div class="line"><a name="l00452"></a><span class="lineno"> 452</span>&#160; </div>
<div class="line"><a name="l00453"></a><span class="lineno"> 453</span>&#160;<span class="comment">// --------------------------------------------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00454"></a><span class="lineno"> 454</span>&#160; </div>
<div class="line"><a name="l00455"></a><span class="lineno"> 455</span>&#160;END_NAMESPACE_DGL</div>
<div class="line"><a name="l00456"></a><span class="lineno"> 456</span>&#160; </div>
<div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160;<span class="preprocessor">#endif // DGL_WIDGET_HPP_INCLUDED</span></div>
</div><!-- fragment --></div><!-- contents -->
<div class="ttc" id="astructWidget_1_1ScrollEvent_html"><div class="ttname"><a href="structWidget_1_1ScrollEvent.html">Widget::ScrollEvent</a></div><div class="ttdef"><b>Definition:</b> Widget.hpp:213</div></div>
<div class="ttc" id="astructWidget_1_1PositionChangedEvent_html_aa6360f57c0314621b04d049708bea45c"><div class="ttname"><a href="structWidget_1_1PositionChangedEvent.html#aa6360f57c0314621b04d049708bea45c">Widget::PositionChangedEvent::PositionChangedEvent</a></div><div class="ttdeci">PositionChangedEvent() noexcept</div><div class="ttdef"><b>Definition:</b> Widget.hpp:255</div></div>
<div class="ttc" id="astructGraphicsContext_html"><div class="ttname"><a href="structGraphicsContext.html">GraphicsContext</a></div><div class="ttdef"><b>Definition:</b> Base.hpp:171</div></div>
<div class="ttc" id="astructWidget_1_1KeyboardEvent_html"><div class="ttname"><a href="structWidget_1_1KeyboardEvent.html">Widget::KeyboardEvent</a></div><div class="ttdef"><b>Definition:</b> Widget.hpp:94</div></div>
<div class="ttc" id="astructWidget_1_1BaseEvent_html"><div class="ttname"><a href="structWidget_1_1BaseEvent.html">Widget::BaseEvent</a></div><div class="ttdef"><b>Definition:</b> Widget.hpp:64</div></div>
<div class="ttc" id="aclassWidget_html_a66088a03691f9c643ff335fa826576ba"><div class="ttname"><a href="classWidget.html#a66088a03691f9c643ff335fa826576ba">Widget::setVisible</a></div><div class="ttdeci">void setVisible(bool visible)</div></div>
<div class="ttc" id="aclassWidget_html_a097ec1d56a06bdc9e0a4e54880def378"><div class="ttname"><a href="classWidget.html#a097ec1d56a06bdc9e0a4e54880def378">Widget::onMouse</a></div><div class="ttdeci">virtual bool onMouse(const MouseEvent &amp;)</div></div>
<div class="ttc" id="aclassWindow_html"><div class="ttname"><a href="classWindow.html">Window</a></div><div class="ttdef"><b>Definition:</b> Window.hpp:55</div></div>
<div class="ttc" id="aclassWidget_html_a655569fb78a598652e9f24cefa1fe4a5"><div class="ttname"><a href="classWidget.html#a655569fb78a598652e9f24cefa1fe4a5">Widget::onMotion</a></div><div class="ttdeci">virtual bool onMotion(const MotionEvent &amp;)</div></div>
<div class="ttc" id="astructWidget_1_1CharacterInputEvent_html"><div class="ttname"><a href="structWidget_1_1CharacterInputEvent.html">Widget::CharacterInputEvent</a></div><div class="ttdef"><b>Definition:</b> Widget.hpp:139</div></div>
<div class="ttc" id="aclassWidget_html_a9fa874aede538b41348f1029524aea11"><div class="ttname"><a href="classWidget.html#a9fa874aede538b41348f1029524aea11">Widget::onKeyboard</a></div><div class="ttdeci">virtual bool onKeyboard(const KeyboardEvent &amp;)</div></div>
<div class="line"><a name="l00450"></a><span class="lineno"> 450</span>&#160;<span class="comment">// --------------------------------------------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00451"></a><span class="lineno"> 451</span>&#160; </div>
<div class="line"><a name="l00452"></a><span class="lineno"> 452</span>&#160;END_NAMESPACE_DGL</div>
<div class="line"><a name="l00453"></a><span class="lineno"> 453</span>&#160; </div>
<div class="line"><a name="l00454"></a><span class="lineno"> 454</span>&#160;<span class="preprocessor">#endif </span><span class="comment">// DGL_WIDGET_HPP_INCLUDED</span></div>
<div class="ttc" id="aclassApplication_html"><div class="ttname"><a href="classApplication.html">Application</a></div><div class="ttdef"><b>Definition:</b> Application.hpp:43</div></div>
<div class="ttc" id="aclassPoint_html"><div class="ttname"><a href="classPoint.html">Point&lt; double &gt;</a></div></div>
<div class="ttc" id="aclassSize_html"><div class="ttname"><a href="classSize.html">Size&lt; uint &gt;</a></div></div>
<div class="ttc" id="aclassApplication_html"><div class="ttname"><a href="classApplication.html">Application</a></div><div class="ttdef"><b>Definition:</b> Application.hpp:36</div></div>
<div class="ttc" id="astructWidget_1_1ResizeEvent_html_ac92abcdb2820807cd3d020864b96b3bd"><div class="ttname"><a href="structWidget_1_1ResizeEvent.html#ac92abcdb2820807cd3d020864b96b3bd">Widget::ResizeEvent::ResizeEvent</a></div><div class="ttdeci">ResizeEvent() noexcept</div><div class="ttdef"><b>Definition:</b> Widget.hpp:239</div></div>
<div class="ttc" id="astructWidget_1_1MotionEvent_html"><div class="ttname"><a href="structWidget_1_1MotionEvent.html">Widget::MotionEvent</a></div><div class="ttdef"><b>Definition:</b> Widget.hpp:187</div></div>
<div class="ttc" id="aclassWidget_html_a25ff178539e226b5f30ef0335d060f2b"><div class="ttname"><a href="classWidget.html#a25ff178539e226b5f30ef0335d060f2b">Widget::show</a></div><div class="ttdeci">void show()</div></div>
<div class="ttc" id="aclassWidget_html_ac6d2e6cbb2ff96f3645493d804af07f7"><div class="ttname"><a href="classWidget.html#ac6d2e6cbb2ff96f3645493d804af07f7">Widget::setHeight</a></div><div class="ttdeci">void setHeight(uint height) noexcept</div></div>
<div class="ttc" id="aclassWidget_html_ad7fb24de24d8809305b04ff3750f0dea"><div class="ttname"><a href="classWidget.html#ad7fb24de24d8809305b04ff3750f0dea">Widget::onCharacterInput</a></div><div class="ttdeci">virtual bool onCharacterInput(const CharacterInputEvent &amp;)</div></div>
<div class="ttc" id="astructWidget_1_1CharacterInputEvent_html_ab0e3407cf8693ba9f3be0be805c8af24"><div class="ttname"><a href="structWidget_1_1CharacterInputEvent.html#ab0e3407cf8693ba9f3be0be805c8af24">Widget::CharacterInputEvent::CharacterInputEvent</a></div><div class="ttdeci">CharacterInputEvent() noexcept</div><div class="ttdef"><b>Definition:</b> Widget.hpp:145</div></div>
<div class="ttc" id="aclassWidget_html_a234a8ee8a685dc211ad11f492f0dbc71"><div class="ttname"><a href="classWidget.html#a234a8ee8a685dc211ad11f492f0dbc71">Widget::isVisible</a></div><div class="ttdeci">bool isVisible() const noexcept</div></div>
<div class="ttc" id="aclassWidget_html_a3b42652fcb2f95c6f86bdd43a1727507"><div class="ttname"><a href="classWidget.html#a3b42652fcb2f95c6f86bdd43a1727507">Widget::onSpecial</a></div><div class="ttdeci">virtual bool onSpecial(const SpecialEvent &amp;)</div><div class="ttdef"><b>Definition:</b> Widget.hpp:437</div></div>
<div class="ttc" id="aclassSubWidget_html"><div class="ttname"><a href="classSubWidget.html">SubWidget</a></div><div class="ttdef"><b>Definition:</b> SubWidget.hpp:40</div></div>
<div class="ttc" id="aclassTopLevelWidget_html"><div class="ttname"><a href="classTopLevelWidget.html">TopLevelWidget</a></div><div class="ttdef"><b>Definition:</b> TopLevelWidget.hpp:47</div></div>
<div class="ttc" id="aclassWidget_html"><div class="ttname"><a href="classWidget.html">Widget</a></div><div class="ttdef"><b>Definition:</b> Widget.hpp:54</div></div>
<div class="ttc" id="aclassWidget_html_a097ec1d56a06bdc9e0a4e54880def378"><div class="ttname"><a href="classWidget.html#a097ec1d56a06bdc9e0a4e54880def378">Widget::onMouse</a></div><div class="ttdeci">virtual bool onMouse(const MouseEvent &amp;)</div></div>
<div class="ttc" id="aclassWidget_html_a0d78d28bd4a98c3a016a38091b2d4185"><div class="ttname"><a href="classWidget.html#a0d78d28bd4a98c3a016a38091b2d4185">Widget::onScroll</a></div><div class="ttdeci">virtual bool onScroll(const ScrollEvent &amp;)</div></div>
<div class="ttc" id="aclassWidget_html_a0ef05695aec704b0eb1eb91c2e8af07d"><div class="ttname"><a href="classWidget.html#a0ef05695aec704b0eb1eb91c2e8af07d">Widget::getWindow</a></div><div class="ttdeci">Window &amp; getWindow() const noexcept</div></div>
<div class="ttc" id="aclassWidget_html_a169c317caf734c6664494a573e427b40"><div class="ttname"><a href="classWidget.html#a169c317caf734c6664494a573e427b40">Widget::getWidth</a></div><div class="ttdeci">uint getWidth() const noexcept</div></div>
<div class="ttc" id="aclassWidget_html_a234a8ee8a685dc211ad11f492f0dbc71"><div class="ttname"><a href="classWidget.html#a234a8ee8a685dc211ad11f492f0dbc71">Widget::isVisible</a></div><div class="ttdeci">bool isVisible() const noexcept</div></div>
<div class="ttc" id="aclassWidget_html_a25ff178539e226b5f30ef0335d060f2b"><div class="ttname"><a href="classWidget.html#a25ff178539e226b5f30ef0335d060f2b">Widget::show</a></div><div class="ttdeci">void show()</div></div>
<div class="ttc" id="aclassWidget_html_a373419bc6353abf50a502cdbebd736e7"><div class="ttname"><a href="classWidget.html#a373419bc6353abf50a502cdbebd736e7">Widget::getApp</a></div><div class="ttdeci">Application &amp; getApp() const noexcept</div></div>
<div class="ttc" id="astructWidget_1_1KeyboardEvent_html_a5a55a296264b9999a7915f2633eacb10"><div class="ttname"><a href="structWidget_1_1KeyboardEvent.html#a5a55a296264b9999a7915f2633eacb10">Widget::KeyboardEvent::KeyboardEvent</a></div><div class="ttdeci">KeyboardEvent() noexcept</div><div class="ttdef"><b>Definition:</b> Widget.hpp:100</div></div>
<div class="ttc" id="aclassWidget_html_a3b42652fcb2f95c6f86bdd43a1727507"><div class="ttname"><a href="classWidget.html#a3b42652fcb2f95c6f86bdd43a1727507">Widget::onSpecial</a></div><div class="ttdeci">virtual bool onSpecial(const SpecialEvent &amp;)</div><div class="ttdef"><b>Definition:</b> Widget.hpp:434</div></div>
<div class="ttc" id="aclassWidget_html_a3ee6b2824e3f3719c1c9b3d070385f49"><div class="ttname"><a href="classWidget.html#a3ee6b2824e3f3719c1c9b3d070385f49">Widget::getId</a></div><div class="ttdeci">uint getId() const noexcept</div></div>
<div class="ttc" id="aclassWidget_html_a4a2f8eebacdd20db505b838f1a118c6b"><div class="ttname"><a href="classWidget.html#a4a2f8eebacdd20db505b838f1a118c6b">Widget::hide</a></div><div class="ttdeci">void hide()</div></div>
<div class="ttc" id="astructWidget_1_1ScrollEvent_html_abee88b10b7b031ddcca1454e064a3cc3"><div class="ttname"><a href="structWidget_1_1ScrollEvent.html#abee88b10b7b031ddcca1454e064a3cc3">Widget::ScrollEvent::ScrollEvent</a></div><div class="ttdeci">ScrollEvent() noexcept</div><div class="ttdef"><b>Definition:</b> Widget.hpp:220</div></div>
<div class="ttc" id="astructWidget_1_1PositionChangedEvent_html"><div class="ttname"><a href="structWidget_1_1PositionChangedEvent.html">Widget::PositionChangedEvent</a></div><div class="ttdef"><b>Definition:</b> Widget.hpp:250</div></div>
<div class="ttc" id="aclassWidget_html_acc0365ec4b9245bdffb8d0285be55dea"><div class="ttname"><a href="classWidget.html#acc0365ec4b9245bdffb8d0285be55dea">Widget::onResize</a></div><div class="ttdeci">virtual void onResize(const ResizeEvent &amp;)</div></div>
<div class="ttc" id="aclassWidget_html_a9044d42c20ead27dba983b710c94f8d6"><div class="ttname"><a href="classWidget.html#a9044d42c20ead27dba983b710c94f8d6">Widget::getSize</a></div><div class="ttdeci">const Size&lt; uint &gt; getSize() const noexcept</div></div>
<div class="ttc" id="aclassWidget_html_abfba3652559de84ba1ae9ccbd3d35e31"><div class="ttname"><a href="classWidget.html#abfba3652559de84ba1ae9ccbd3d35e31">Widget::setId</a></div><div class="ttdeci">void setId(uint id) noexcept</div></div>
<div class="ttc" id="aclassWidget_html_abe8cfe0aaae71dd011cf9a86e930fd12"><div class="ttname"><a href="classWidget.html#abe8cfe0aaae71dd011cf9a86e930fd12">Widget::repaint</a></div><div class="ttdeci">virtual void repaint() noexcept</div></div>
<div class="ttc" id="aclassWidget_html_a169c317caf734c6664494a573e427b40"><div class="ttname"><a href="classWidget.html#a169c317caf734c6664494a573e427b40">Widget::getWidth</a></div><div class="ttdeci">uint getWidth() const noexcept</div></div>
<div class="ttc" id="aclassWidget_html_a0ef05695aec704b0eb1eb91c2e8af07d"><div class="ttname"><a href="classWidget.html#a0ef05695aec704b0eb1eb91c2e8af07d">Widget::getWindow</a></div><div class="ttdeci">Window &amp; getWindow() const noexcept</div></div>
<div class="ttc" id="aclassPoint_html"><div class="ttname"><a href="classPoint.html">Point&lt; double &gt;</a></div></div>
<div class="ttc" id="aclassSubWidget_html"><div class="ttname"><a href="classSubWidget.html">SubWidget</a></div><div class="ttdef"><b>Definition:</b> SubWidget.hpp:39</div></div>
<div class="ttc" id="astructWidget_1_1MouseEvent_html"><div class="ttname"><a href="structWidget_1_1MouseEvent.html">Widget::MouseEvent</a></div><div class="ttdef"><b>Definition:</b> Widget.hpp:165</div></div>
<div class="ttc" id="astructWidget_1_1ResizeEvent_html"><div class="ttname"><a href="structWidget_1_1ResizeEvent.html">Widget::ResizeEvent</a></div><div class="ttdef"><b>Definition:</b> Widget.hpp:234</div></div>
<div class="ttc" id="aclassWidget_html_aed80a9cbc4a13c01641f35dd3d8688ea"><div class="ttname"><a href="classWidget.html#aed80a9cbc4a13c01641f35dd3d8688ea">Widget::setWidth</a></div><div class="ttdeci">void setWidth(uint width) noexcept</div></div>
<div class="ttc" id="aclassWidget_html_ae1554f348fe3b2f9d4c3c5c4f9ec55bd"><div class="ttname"><a href="classWidget.html#ae1554f348fe3b2f9d4c3c5c4f9ec55bd">Widget::onDisplay</a></div><div class="ttdeci">virtual void onDisplay()=0</div></div>
<div class="ttc" id="astructWidget_1_1MotionEvent_html_a0d2bf8f5c66002bb129968f10e0cc082"><div class="ttname"><a href="structWidget_1_1MotionEvent.html#a0d2bf8f5c66002bb129968f10e0cc082">Widget::MotionEvent::MotionEvent</a></div><div class="ttdeci">MotionEvent() noexcept</div><div class="ttdef"><b>Definition:</b> Widget.hpp:192</div></div>
<div class="ttc" id="aclassWidget_html_a714cf798aadb4d615f6f60a355382c02"><div class="ttname"><a href="classWidget.html#a714cf798aadb4d615f6f60a355382c02">Widget::~Widget</a></div><div class="ttdeci">virtual ~Widget()</div></div>
<div class="ttc" id="aclassWidget_html_a607b153f7d3187ca60bf21004efc1314"><div class="ttname"><a href="classWidget.html#a607b153f7d3187ca60bf21004efc1314">Widget::getTopLevelWidget</a></div><div class="ttdeci">TopLevelWidget * getTopLevelWidget() const noexcept</div></div>
<div class="ttc" id="astructWidget_1_1BaseEvent_html_a18c1114caca474cadefd9a13e2d9c693"><div class="ttname"><a href="structWidget_1_1BaseEvent.html#a18c1114caca474cadefd9a13e2d9c693">Widget::BaseEvent::BaseEvent</a></div><div class="ttdeci">BaseEvent() noexcept</div><div class="ttdef"><b>Definition:</b> Widget.hpp:70</div></div>
<div class="ttc" id="aclassWidget_html_a3ee6b2824e3f3719c1c9b3d070385f49"><div class="ttname"><a href="classWidget.html#a3ee6b2824e3f3719c1c9b3d070385f49">Widget::getId</a></div><div class="ttdeci">uint getId() const noexcept</div></div>
<div class="ttc" id="aclassWidget_html_a655569fb78a598652e9f24cefa1fe4a5"><div class="ttname"><a href="classWidget.html#a655569fb78a598652e9f24cefa1fe4a5">Widget::onMotion</a></div><div class="ttdeci">virtual bool onMotion(const MotionEvent &amp;)</div></div>
<div class="ttc" id="aclassWidget_html_a66088a03691f9c643ff335fa826576ba"><div class="ttname"><a href="classWidget.html#a66088a03691f9c643ff335fa826576ba">Widget::setVisible</a></div><div class="ttdeci">void setVisible(bool visible)</div></div>
<div class="ttc" id="aclassWidget_html_a714cf798aadb4d615f6f60a355382c02"><div class="ttname"><a href="classWidget.html#a714cf798aadb4d615f6f60a355382c02">Widget::~Widget</a></div><div class="ttdeci">virtual ~Widget()</div></div>
<div class="ttc" id="aclassWidget_html_a9044d42c20ead27dba983b710c94f8d6"><div class="ttname"><a href="classWidget.html#a9044d42c20ead27dba983b710c94f8d6">Widget::getSize</a></div><div class="ttdeci">const Size&lt; uint &gt; getSize() const noexcept</div></div>
<div class="ttc" id="aclassWidget_html_a9fa874aede538b41348f1029524aea11"><div class="ttname"><a href="classWidget.html#a9fa874aede538b41348f1029524aea11">Widget::onKeyboard</a></div><div class="ttdeci">virtual bool onKeyboard(const KeyboardEvent &amp;)</div></div>
<div class="ttc" id="aclassWidget_html_aa20f6dc096a8836706173f31324c4db8"><div class="ttname"><a href="classWidget.html#aa20f6dc096a8836706173f31324c4db8">Widget::getHeight</a></div><div class="ttdeci">uint getHeight() const noexcept</div></div>
<div class="ttc" id="aclassWidget_html_ab4d9e0156e455db3ff23730f82544daa"><div class="ttname"><a href="classWidget.html#ab4d9e0156e455db3ff23730f82544daa">Widget::setSize</a></div><div class="ttdeci">void setSize(uint width, uint height) noexcept</div></div>
<div class="ttc" id="aclassTopLevelWidget_html"><div class="ttname"><a href="classTopLevelWidget.html">TopLevelWidget</a></div><div class="ttdef"><b>Definition:</b> TopLevelWidget.hpp:46</div></div>
<div class="ttc" id="astructWidget_1_1BaseEvent_html_a58da172316b49f6d79b879b74ce5792a"><div class="ttname"><a href="structWidget_1_1BaseEvent.html#a58da172316b49f6d79b879b74ce5792a">Widget::BaseEvent::~BaseEvent</a></div><div class="ttdeci">virtual ~BaseEvent() noexcept</div><div class="ttdef"><b>Definition:</b> Widget.hpp:72</div></div>
<div class="ttc" id="astructWidget_1_1MouseEvent_html_aa37fee8a593c62c53e4ca5c67ad9278f"><div class="ttname"><a href="structWidget_1_1MouseEvent.html#aa37fee8a593c62c53e4ca5c67ad9278f">Widget::MouseEvent::MouseEvent</a></div><div class="ttdeci">MouseEvent() noexcept</div><div class="ttdef"><b>Definition:</b> Widget.hpp:172</div></div>
<div class="ttc" id="aclassWidget_html"><div class="ttname"><a href="classWidget.html">Widget</a></div><div class="ttdef"><b>Definition:</b> Widget.hpp:53</div></div>
<div class="ttc" id="aclassWidget_html_abe8cfe0aaae71dd011cf9a86e930fd12"><div class="ttname"><a href="classWidget.html#abe8cfe0aaae71dd011cf9a86e930fd12">Widget::repaint</a></div><div class="ttdeci">virtual void repaint() noexcept</div></div>
<div class="ttc" id="aclassWidget_html_abfba3652559de84ba1ae9ccbd3d35e31"><div class="ttname"><a href="classWidget.html#abfba3652559de84ba1ae9ccbd3d35e31">Widget::setId</a></div><div class="ttdeci">void setId(uint id) noexcept</div></div>
<div class="ttc" id="aclassWidget_html_ac6d2e6cbb2ff96f3645493d804af07f7"><div class="ttname"><a href="classWidget.html#ac6d2e6cbb2ff96f3645493d804af07f7">Widget::setHeight</a></div><div class="ttdeci">void setHeight(uint height) noexcept</div></div>
<div class="ttc" id="aclassWidget_html_acc0365ec4b9245bdffb8d0285be55dea"><div class="ttname"><a href="classWidget.html#acc0365ec4b9245bdffb8d0285be55dea">Widget::onResize</a></div><div class="ttdeci">virtual void onResize(const ResizeEvent &amp;)</div></div>
<div class="ttc" id="aclassWidget_html_ad7fb24de24d8809305b04ff3750f0dea"><div class="ttname"><a href="classWidget.html#ad7fb24de24d8809305b04ff3750f0dea">Widget::onCharacterInput</a></div><div class="ttdeci">virtual bool onCharacterInput(const CharacterInputEvent &amp;)</div></div>
<div class="ttc" id="aclassWidget_html_ae1554f348fe3b2f9d4c3c5c4f9ec55bd"><div class="ttname"><a href="classWidget.html#ae1554f348fe3b2f9d4c3c5c4f9ec55bd">Widget::onDisplay</a></div><div class="ttdeci">virtual void onDisplay()=0</div></div>
<div class="ttc" id="aclassWidget_html_ae23d09ec0e5f0397a3451b603b407182"><div class="ttname"><a href="classWidget.html#ae23d09ec0e5f0397a3451b603b407182">Widget::getGraphicsContext</a></div><div class="ttdeci">const GraphicsContext &amp; getGraphicsContext() const noexcept</div></div>
<div class="ttc" id="aclassWidget_html_aed80a9cbc4a13c01641f35dd3d8688ea"><div class="ttname"><a href="classWidget.html#aed80a9cbc4a13c01641f35dd3d8688ea">Widget::setWidth</a></div><div class="ttdeci">void setWidth(uint width) noexcept</div></div>
<div class="ttc" id="aclassWindow_html"><div class="ttname"><a href="classWindow.html">Window</a></div><div class="ttdef"><b>Definition:</b> Window.hpp:63</div></div>
<div class="ttc" id="astructGraphicsContext_html"><div class="ttname"><a href="structGraphicsContext.html">GraphicsContext</a></div><div class="ttdef"><b>Definition:</b> Base.hpp:212</div></div>
<div class="ttc" id="astructWidget_1_1BaseEvent_html"><div class="ttname"><a href="structWidget_1_1BaseEvent.html">Widget::BaseEvent</a></div><div class="ttdef"><b>Definition:</b> Widget.hpp:60</div></div>
<div class="ttc" id="astructWidget_1_1BaseEvent_html_a18c1114caca474cadefd9a13e2d9c693"><div class="ttname"><a href="structWidget_1_1BaseEvent.html#a18c1114caca474cadefd9a13e2d9c693">Widget::BaseEvent::BaseEvent</a></div><div class="ttdeci">BaseEvent() noexcept</div><div class="ttdef"><b>Definition:</b> Widget.hpp:69</div></div>
<div class="ttc" id="astructWidget_1_1BaseEvent_html_a227a57d145561c7d07596a702f20d448"><div class="ttname"><a href="structWidget_1_1BaseEvent.html#a227a57d145561c7d07596a702f20d448">Widget::BaseEvent::mod</a></div><div class="ttdeci">uint mod</div><div class="ttdef"><b>Definition:</b> Widget.hpp:62</div></div>
<div class="ttc" id="astructWidget_1_1BaseEvent_html_a52bcdb90972ffb30a223d358e64f723f"><div class="ttname"><a href="structWidget_1_1BaseEvent.html#a52bcdb90972ffb30a223d358e64f723f">Widget::BaseEvent::time</a></div><div class="ttdeci">uint time</div><div class="ttdef"><b>Definition:</b> Widget.hpp:66</div></div>
<div class="ttc" id="astructWidget_1_1BaseEvent_html_a58da172316b49f6d79b879b74ce5792a"><div class="ttname"><a href="structWidget_1_1BaseEvent.html#a58da172316b49f6d79b879b74ce5792a">Widget::BaseEvent::~BaseEvent</a></div><div class="ttdeci">virtual ~BaseEvent() noexcept</div><div class="ttdef"><b>Definition:</b> Widget.hpp:71</div></div>
<div class="ttc" id="astructWidget_1_1BaseEvent_html_ae134a6bdbd16a59218b5b4f0ee3a154c"><div class="ttname"><a href="structWidget_1_1BaseEvent.html#ae134a6bdbd16a59218b5b4f0ee3a154c">Widget::BaseEvent::flags</a></div><div class="ttdeci">uint flags</div><div class="ttdef"><b>Definition:</b> Widget.hpp:64</div></div>
<div class="ttc" id="astructWidget_1_1CharacterInputEvent_html"><div class="ttname"><a href="structWidget_1_1CharacterInputEvent.html">Widget::CharacterInputEvent</a></div><div class="ttdef"><b>Definition:</b> Widget.hpp:135</div></div>
<div class="ttc" id="astructWidget_1_1CharacterInputEvent_html_a5bfefd8ce88c676f1dd4b990faf49cb0"><div class="ttname"><a href="structWidget_1_1CharacterInputEvent.html#a5bfefd8ce88c676f1dd4b990faf49cb0">Widget::CharacterInputEvent::string</a></div><div class="ttdeci">char string[8]</div><div class="ttdef"><b>Definition:</b> Widget.hpp:141</div></div>
<div class="ttc" id="astructWidget_1_1CharacterInputEvent_html_a8426db4231baad1c1621e287817fde85"><div class="ttname"><a href="structWidget_1_1CharacterInputEvent.html#a8426db4231baad1c1621e287817fde85">Widget::CharacterInputEvent::character</a></div><div class="ttdeci">uint character</div><div class="ttdef"><b>Definition:</b> Widget.hpp:139</div></div>
<div class="ttc" id="astructWidget_1_1CharacterInputEvent_html_ab0e3407cf8693ba9f3be0be805c8af24"><div class="ttname"><a href="structWidget_1_1CharacterInputEvent.html#ab0e3407cf8693ba9f3be0be805c8af24">Widget::CharacterInputEvent::CharacterInputEvent</a></div><div class="ttdeci">CharacterInputEvent() noexcept</div><div class="ttdef"><b>Definition:</b> Widget.hpp:144</div></div>
<div class="ttc" id="astructWidget_1_1CharacterInputEvent_html_ab1ee376543219ff4e4f2139b23701700"><div class="ttname"><a href="structWidget_1_1CharacterInputEvent.html#ab1ee376543219ff4e4f2139b23701700">Widget::CharacterInputEvent::keycode</a></div><div class="ttdeci">uint keycode</div><div class="ttdef"><b>Definition:</b> Widget.hpp:137</div></div>
<div class="ttc" id="astructWidget_1_1KeyboardEvent_html"><div class="ttname"><a href="structWidget_1_1KeyboardEvent.html">Widget::KeyboardEvent</a></div><div class="ttdef"><b>Definition:</b> Widget.hpp:90</div></div>
<div class="ttc" id="astructWidget_1_1KeyboardEvent_html_a0db51894bdbda766c9596b226d04d8c3"><div class="ttname"><a href="structWidget_1_1KeyboardEvent.html#a0db51894bdbda766c9596b226d04d8c3">Widget::KeyboardEvent::keycode</a></div><div class="ttdeci">uint keycode</div><div class="ttdef"><b>Definition:</b> Widget.hpp:96</div></div>
<div class="ttc" id="astructWidget_1_1KeyboardEvent_html_a46cdbf1f69912c93deb649f756ec24f4"><div class="ttname"><a href="structWidget_1_1KeyboardEvent.html#a46cdbf1f69912c93deb649f756ec24f4">Widget::KeyboardEvent::key</a></div><div class="ttdeci">uint key</div><div class="ttdef"><b>Definition:</b> Widget.hpp:94</div></div>
<div class="ttc" id="astructWidget_1_1KeyboardEvent_html_a5a55a296264b9999a7915f2633eacb10"><div class="ttname"><a href="structWidget_1_1KeyboardEvent.html#a5a55a296264b9999a7915f2633eacb10">Widget::KeyboardEvent::KeyboardEvent</a></div><div class="ttdeci">KeyboardEvent() noexcept</div><div class="ttdef"><b>Definition:</b> Widget.hpp:99</div></div>
<div class="ttc" id="astructWidget_1_1KeyboardEvent_html_a8169fe04d78fb7bb4052ec7bc820da43"><div class="ttname"><a href="structWidget_1_1KeyboardEvent.html#a8169fe04d78fb7bb4052ec7bc820da43">Widget::KeyboardEvent::press</a></div><div class="ttdeci">bool press</div><div class="ttdef"><b>Definition:</b> Widget.hpp:92</div></div>
<div class="ttc" id="astructWidget_1_1MotionEvent_html"><div class="ttname"><a href="structWidget_1_1MotionEvent.html">Widget::MotionEvent</a></div><div class="ttdef"><b>Definition:</b> Widget.hpp:182</div></div>
<div class="ttc" id="astructWidget_1_1MotionEvent_html_a0d2bf8f5c66002bb129968f10e0cc082"><div class="ttname"><a href="structWidget_1_1MotionEvent.html#a0d2bf8f5c66002bb129968f10e0cc082">Widget::MotionEvent::MotionEvent</a></div><div class="ttdeci">MotionEvent() noexcept</div><div class="ttdef"><b>Definition:</b> Widget.hpp:189</div></div>
<div class="ttc" id="astructWidget_1_1MotionEvent_html_a8024c6f2f0027bb046b152d003b2527a"><div class="ttname"><a href="structWidget_1_1MotionEvent.html#a8024c6f2f0027bb046b152d003b2527a">Widget::MotionEvent::pos</a></div><div class="ttdeci">Point&lt; double &gt; pos</div><div class="ttdef"><b>Definition:</b> Widget.hpp:184</div></div>
<div class="ttc" id="astructWidget_1_1MotionEvent_html_add941e64b93be96b512b6023f1670d91"><div class="ttname"><a href="structWidget_1_1MotionEvent.html#add941e64b93be96b512b6023f1670d91">Widget::MotionEvent::absolutePos</a></div><div class="ttdeci">Point&lt; double &gt; absolutePos</div><div class="ttdef"><b>Definition:</b> Widget.hpp:186</div></div>
<div class="ttc" id="astructWidget_1_1MouseEvent_html"><div class="ttname"><a href="structWidget_1_1MouseEvent.html">Widget::MouseEvent</a></div><div class="ttdef"><b>Definition:</b> Widget.hpp:159</div></div>
<div class="ttc" id="astructWidget_1_1MouseEvent_html_a11c6d85adf87424c392d866579149770"><div class="ttname"><a href="structWidget_1_1MouseEvent.html#a11c6d85adf87424c392d866579149770">Widget::MouseEvent::pos</a></div><div class="ttdeci">Point&lt; double &gt; pos</div><div class="ttdef"><b>Definition:</b> Widget.hpp:165</div></div>
<div class="ttc" id="astructWidget_1_1MouseEvent_html_aa37fee8a593c62c53e4ca5c67ad9278f"><div class="ttname"><a href="structWidget_1_1MouseEvent.html#aa37fee8a593c62c53e4ca5c67ad9278f">Widget::MouseEvent::MouseEvent</a></div><div class="ttdeci">MouseEvent() noexcept</div><div class="ttdef"><b>Definition:</b> Widget.hpp:170</div></div>
<div class="ttc" id="astructWidget_1_1MouseEvent_html_ab6471d00c229719e1dd821f78ed4bdef"><div class="ttname"><a href="structWidget_1_1MouseEvent.html#ab6471d00c229719e1dd821f78ed4bdef">Widget::MouseEvent::button</a></div><div class="ttdeci">uint button</div><div class="ttdef"><b>Definition:</b> Widget.hpp:161</div></div>
<div class="ttc" id="astructWidget_1_1MouseEvent_html_ab65f0309f44fab0bf329b4ade9b53fcb"><div class="ttname"><a href="structWidget_1_1MouseEvent.html#ab65f0309f44fab0bf329b4ade9b53fcb">Widget::MouseEvent::press</a></div><div class="ttdeci">bool press</div><div class="ttdef"><b>Definition:</b> Widget.hpp:163</div></div>
<div class="ttc" id="astructWidget_1_1MouseEvent_html_ae80ebc0ab59ed2e06a63743d8c963651"><div class="ttname"><a href="structWidget_1_1MouseEvent.html#ae80ebc0ab59ed2e06a63743d8c963651">Widget::MouseEvent::absolutePos</a></div><div class="ttdeci">Point&lt; double &gt; absolutePos</div><div class="ttdef"><b>Definition:</b> Widget.hpp:167</div></div>
<div class="ttc" id="astructWidget_1_1PositionChangedEvent_html"><div class="ttname"><a href="structWidget_1_1PositionChangedEvent.html">Widget::PositionChangedEvent</a></div><div class="ttdef"><b>Definition:</b> Widget.hpp:245</div></div>
<div class="ttc" id="astructWidget_1_1PositionChangedEvent_html_aa6360f57c0314621b04d049708bea45c"><div class="ttname"><a href="structWidget_1_1PositionChangedEvent.html#aa6360f57c0314621b04d049708bea45c">Widget::PositionChangedEvent::PositionChangedEvent</a></div><div class="ttdeci">PositionChangedEvent() noexcept</div><div class="ttdef"><b>Definition:</b> Widget.hpp:252</div></div>
<div class="ttc" id="astructWidget_1_1PositionChangedEvent_html_ab722a13acfc378f562a484c375a62d5d"><div class="ttname"><a href="structWidget_1_1PositionChangedEvent.html#ab722a13acfc378f562a484c375a62d5d">Widget::PositionChangedEvent::oldPos</a></div><div class="ttdeci">Point&lt; int &gt; oldPos</div><div class="ttdef"><b>Definition:</b> Widget.hpp:249</div></div>
<div class="ttc" id="astructWidget_1_1PositionChangedEvent_html_ab7364cb80073ed1fc981d5685a8e9942"><div class="ttname"><a href="structWidget_1_1PositionChangedEvent.html#ab7364cb80073ed1fc981d5685a8e9942">Widget::PositionChangedEvent::pos</a></div><div class="ttdeci">Point&lt; int &gt; pos</div><div class="ttdef"><b>Definition:</b> Widget.hpp:247</div></div>
<div class="ttc" id="astructWidget_1_1ResizeEvent_html"><div class="ttname"><a href="structWidget_1_1ResizeEvent.html">Widget::ResizeEvent</a></div><div class="ttdef"><b>Definition:</b> Widget.hpp:229</div></div>
<div class="ttc" id="astructWidget_1_1ResizeEvent_html_a79045426f6b38169fec44abbb19d92d9"><div class="ttname"><a href="structWidget_1_1ResizeEvent.html#a79045426f6b38169fec44abbb19d92d9">Widget::ResizeEvent::size</a></div><div class="ttdeci">Size&lt; uint &gt; size</div><div class="ttdef"><b>Definition:</b> Widget.hpp:231</div></div>
<div class="ttc" id="astructWidget_1_1ResizeEvent_html_a91546ab4b305f914b8ce144bd0f88960"><div class="ttname"><a href="structWidget_1_1ResizeEvent.html#a91546ab4b305f914b8ce144bd0f88960">Widget::ResizeEvent::oldSize</a></div><div class="ttdeci">Size&lt; uint &gt; oldSize</div><div class="ttdef"><b>Definition:</b> Widget.hpp:233</div></div>
<div class="ttc" id="astructWidget_1_1ResizeEvent_html_ac92abcdb2820807cd3d020864b96b3bd"><div class="ttname"><a href="structWidget_1_1ResizeEvent.html#ac92abcdb2820807cd3d020864b96b3bd">Widget::ResizeEvent::ResizeEvent</a></div><div class="ttdeci">ResizeEvent() noexcept</div><div class="ttdef"><b>Definition:</b> Widget.hpp:236</div></div>
<div class="ttc" id="astructWidget_1_1ScrollEvent_html"><div class="ttname"><a href="structWidget_1_1ScrollEvent.html">Widget::ScrollEvent</a></div><div class="ttdef"><b>Definition:</b> Widget.hpp:206</div></div>
<div class="ttc" id="astructWidget_1_1ScrollEvent_html_a5081893281d91c5f615cc066fb5fc3dc"><div class="ttname"><a href="structWidget_1_1ScrollEvent.html#a5081893281d91c5f615cc066fb5fc3dc">Widget::ScrollEvent::delta</a></div><div class="ttdeci">Point&lt; double &gt; delta</div><div class="ttdef"><b>Definition:</b> Widget.hpp:212</div></div>
<div class="ttc" id="astructWidget_1_1ScrollEvent_html_aa30ba4c1bc3c8973c5a99f315c089497"><div class="ttname"><a href="structWidget_1_1ScrollEvent.html#aa30ba4c1bc3c8973c5a99f315c089497">Widget::ScrollEvent::absolutePos</a></div><div class="ttdeci">Point&lt; double &gt; absolutePos</div><div class="ttdef"><b>Definition:</b> Widget.hpp:210</div></div>
<div class="ttc" id="astructWidget_1_1ScrollEvent_html_aaf8500e819334defd632522858050e02"><div class="ttname"><a href="structWidget_1_1ScrollEvent.html#aaf8500e819334defd632522858050e02">Widget::ScrollEvent::direction</a></div><div class="ttdeci">ScrollDirection direction</div><div class="ttdef"><b>Definition:</b> Widget.hpp:214</div></div>
<div class="ttc" id="astructWidget_1_1ScrollEvent_html_abee88b10b7b031ddcca1454e064a3cc3"><div class="ttname"><a href="structWidget_1_1ScrollEvent.html#abee88b10b7b031ddcca1454e064a3cc3">Widget::ScrollEvent::ScrollEvent</a></div><div class="ttdeci">ScrollEvent() noexcept</div><div class="ttdef"><b>Definition:</b> Widget.hpp:217</div></div>
<div class="ttc" id="astructWidget_1_1ScrollEvent_html_aea1e954d9e6aaee6b3f6131a1ca7aecf"><div class="ttname"><a href="structWidget_1_1ScrollEvent.html#aea1e954d9e6aaee6b3f6131a1ca7aecf">Widget::ScrollEvent::pos</a></div><div class="ttdeci">Point&lt; double &gt; pos</div><div class="ttdef"><b>Definition:</b> Widget.hpp:208</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Mar 31 2022 17:09:26 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
Generated on Wed Jul 27 2022 00:46:18 for DISTRHO Plugin Framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

+ 540
- 489
Window_8hpp_source.html
File diff suppressed because it is too large
View File


+ 82
- 82
annotated.html View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DISTRHO Plugin Framework: Class List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -29,10 +29,10 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
@@ -77,90 +77,90 @@ $(function() {
<tr id="row_6_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structCairoGraphicsContext.html" target="_self">CairoGraphicsContext</a></td><td class="desc"></td></tr>
<tr id="row_7_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classCairoImage.html" target="_self">CairoImage</a></td><td class="desc"></td></tr>
<tr id="row_8_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classCircle.html" target="_self">Circle</a></td><td class="desc"></td></tr>
<tr id="row_9_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structColor.html" target="_self">Color</a></td><td class="desc"></td></tr>
<tr id="row_10_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classExternalWindow.html" target="_self">ExternalWindow</a></td><td class="desc"></td></tr>
<tr id="row_11_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structFileBrowserData.html" target="_self">FileBrowserData</a></td><td class="desc"></td></tr>
<tr id="row_12_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_12_" class="arrow" onclick="toggleFolder('12_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structFileBrowserOptions.html" target="_self">FileBrowserOptions</a></td><td class="desc"></td></tr>
<tr id="row_12_0_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structFileBrowserOptions_1_1Buttons.html" target="_self">Buttons</a></td><td class="desc"></td></tr>
<tr id="row_13_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structGraphicsContext.html" target="_self">GraphicsContext</a></td><td class="desc"></td></tr>
<tr id="row_14_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structHeapBuffer.html" target="_self">HeapBuffer</a></td><td class="desc"></td></tr>
<tr id="row_15_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classHeapRingBuffer.html" target="_self">HeapRingBuffer</a></td><td class="desc"></td></tr>
<tr id="row_16_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structHugeStackBuffer.html" target="_self">HugeStackBuffer</a></td><td class="desc"></td></tr>
<tr id="row_17_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structIdleCallback.html" target="_self">IdleCallback</a></td><td class="desc"></td></tr>
<tr id="row_18_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classImageBase.html" target="_self">ImageBase</a></td><td class="desc"></td></tr>
<tr id="row_19_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classImageBaseAboutWindow.html" target="_self">ImageBaseAboutWindow</a></td><td class="desc"></td></tr>
<tr id="row_20_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_20_" class="arrow" onclick="toggleFolder('20_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classImageBaseButton.html" target="_self">ImageBaseButton</a></td><td class="desc"></td></tr>
<tr id="row_20_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classImageBaseButton_1_1Callback.html" target="_self">Callback</a></td><td class="desc"></td></tr>
<tr id="row_21_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_21_" class="arrow" onclick="toggleFolder('21_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classImageBaseKnob.html" target="_self">ImageBaseKnob</a></td><td class="desc"></td></tr>
<tr id="row_21_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classImageBaseKnob_1_1Callback.html" target="_self">Callback</a></td><td class="desc"></td></tr>
<tr id="row_22_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_22_" class="arrow" onclick="toggleFolder('22_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classImageBaseSlider.html" target="_self">ImageBaseSlider</a></td><td class="desc"></td></tr>
<tr id="row_22_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classImageBaseSlider_1_1Callback.html" target="_self">Callback</a></td><td class="desc"></td></tr>
<tr id="row_23_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_23_" class="arrow" onclick="toggleFolder('23_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classImageBaseSwitch.html" target="_self">ImageBaseSwitch</a></td><td class="desc"></td></tr>
<tr id="row_23_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classImageBaseSwitch_1_1Callback.html" target="_self">Callback</a></td><td class="desc"></td></tr>
<tr id="row_24_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_24_" class="arrow" onclick="toggleFolder('24_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classKnobEventHandler.html" target="_self">KnobEventHandler</a></td><td class="desc"></td></tr>
<tr id="row_24_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classKnobEventHandler_1_1Callback.html" target="_self">Callback</a></td><td class="desc"></td></tr>
<tr id="row_25_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classLeakedObjectDetector.html" target="_self">LeakedObjectDetector</a></td><td class="desc"></td></tr>
<tr id="row_26_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classLine.html" target="_self">Line</a></td><td class="desc"></td></tr>
<tr id="row_27_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structMidiEvent.html" target="_self">MidiEvent</a></td><td class="desc"></td></tr>
<tr id="row_28_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classMutex.html" target="_self">Mutex</a></td><td class="desc"></td></tr>
<tr id="row_29_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classNanoBaseWidget.html" target="_self">NanoBaseWidget</a></td><td class="desc"></td></tr>
<tr id="row_30_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classNanoImage.html" target="_self">NanoImage</a></td><td class="desc"></td></tr>
<tr id="row_31_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_31_" class="arrow" onclick="toggleFolder('31_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classNanoVG.html" target="_self">NanoVG</a></td><td class="desc"></td></tr>
<tr id="row_31_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structNanoVG_1_1GlyphPosition.html" target="_self">GlyphPosition</a></td><td class="desc"></td></tr>
<tr id="row_31_1_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structNanoVG_1_1Paint.html" target="_self">Paint</a></td><td class="desc"></td></tr>
<tr id="row_31_2_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structNanoVG_1_1TextRow.html" target="_self">TextRow</a></td><td class="desc"></td></tr>
<tr id="row_32_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structOpenGLGraphicsContext.html" target="_self">OpenGLGraphicsContext</a></td><td class="desc"></td></tr>
<tr id="row_33_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classOpenGLImage.html" target="_self">OpenGLImage</a></td><td class="desc"></td></tr>
<tr id="row_34_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structParameter.html" target="_self">Parameter</a></td><td class="desc"></td></tr>
<tr id="row_35_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structParameterEnumerationValue.html" target="_self">ParameterEnumerationValue</a></td><td class="desc"></td></tr>
<tr id="row_36_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structParameterEnumerationValues.html" target="_self">ParameterEnumerationValues</a></td><td class="desc"></td></tr>
<tr id="row_37_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structParameterRanges.html" target="_self">ParameterRanges</a></td><td class="desc"></td></tr>
<tr id="row_38_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classPlugin.html" target="_self">Plugin</a></td><td class="desc"></td></tr>
<tr id="row_39_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classPoint.html" target="_self">Point</a></td><td class="desc"></td></tr>
<tr id="row_40_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structPortGroup.html" target="_self">PortGroup</a></td><td class="desc"></td></tr>
<tr id="row_41_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classRectangle.html" target="_self">Rectangle</a></td><td class="desc"></td></tr>
<tr id="row_42_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classRecursiveMutex.html" target="_self">RecursiveMutex</a></td><td class="desc"></td></tr>
<tr id="row_43_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classRingBufferControl.html" target="_self">RingBufferControl</a></td><td class="desc"></td></tr>
<tr id="row_44_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classScopedPointer.html" target="_self">ScopedPointer</a></td><td class="desc"></td></tr>
<tr id="row_45_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classScopedSafeLocale.html" target="_self">ScopedSafeLocale</a></td><td class="desc"></td></tr>
<tr id="row_46_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classScopeLocker.html" target="_self">ScopeLocker</a></td><td class="desc"></td></tr>
<tr id="row_47_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classScopeTryLocker.html" target="_self">ScopeTryLocker</a></td><td class="desc"></td></tr>
<tr id="row_48_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classScopeUnlocker.html" target="_self">ScopeUnlocker</a></td><td class="desc"></td></tr>
<tr id="row_49_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classSignal.html" target="_self">Signal</a></td><td class="desc"></td></tr>
<tr id="row_50_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classSize.html" target="_self">Size</a></td><td class="desc"></td></tr>
<tr id="row_51_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structSmallStackBuffer.html" target="_self">SmallStackBuffer</a></td><td class="desc"></td></tr>
<tr id="row_52_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classSmallStackRingBuffer.html" target="_self">SmallStackRingBuffer</a></td><td class="desc"></td></tr>
<tr id="row_53_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classStandaloneWindow.html" target="_self">StandaloneWindow</a></td><td class="desc"></td></tr>
<tr id="row_54_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structState.html" target="_self">State</a></td><td class="desc"></td></tr>
<tr id="row_55_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classString.html" target="_self">String</a></td><td class="desc"></td></tr>
<tr id="row_56_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classSubWidget.html" target="_self">SubWidget</a></td><td class="desc"></td></tr>
<tr id="row_57_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classThread.html" target="_self">Thread</a></td><td class="desc"></td></tr>
<tr id="row_58_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_58_" class="arrow" onclick="toggleFolder('58_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structTimePosition.html" target="_self">TimePosition</a></td><td class="desc"></td></tr>
<tr id="row_58_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structTimePosition_1_1BarBeatTick.html" target="_self">BarBeatTick</a></td><td class="desc"></td></tr>
<tr id="row_59_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classTopLevelWidget.html" target="_self">TopLevelWidget</a></td><td class="desc"></td></tr>
<tr id="row_60_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classTriangle.html" target="_self">Triangle</a></td><td class="desc"></td></tr>
<tr id="row_61_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classUI.html" target="_self">UI</a></td><td class="desc"></td></tr>
<tr id="row_62_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structVulkanGraphicsContext.html" target="_self">VulkanGraphicsContext</a></td><td class="desc"></td></tr>
<tr id="row_63_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classVulkanImage.html" target="_self">VulkanImage</a></td><td class="desc"></td></tr>
<tr id="row_64_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_64_" class="arrow" onclick="toggleFolder('64_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classWidget.html" target="_self">Widget</a></td><td class="desc"></td></tr>
<tr id="row_64_0_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structWidget_1_1BaseEvent.html" target="_self">BaseEvent</a></td><td class="desc"></td></tr>
<tr id="row_64_1_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structWidget_1_1CharacterInputEvent.html" target="_self">CharacterInputEvent</a></td><td class="desc"></td></tr>
<tr id="row_64_2_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structWidget_1_1KeyboardEvent.html" target="_self">KeyboardEvent</a></td><td class="desc"></td></tr>
<tr id="row_64_3_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structWidget_1_1MotionEvent.html" target="_self">MotionEvent</a></td><td class="desc"></td></tr>
<tr id="row_64_4_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structWidget_1_1MouseEvent.html" target="_self">MouseEvent</a></td><td class="desc"></td></tr>
<tr id="row_64_5_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structWidget_1_1PositionChangedEvent.html" target="_self">PositionChangedEvent</a></td><td class="desc"></td></tr>
<tr id="row_64_6_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structWidget_1_1ResizeEvent.html" target="_self">ResizeEvent</a></td><td class="desc"></td></tr>
<tr id="row_64_7_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structWidget_1_1ScrollEvent.html" target="_self">ScrollEvent</a></td><td class="desc"></td></tr>
<tr id="row_65_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_65_" class="arrow" onclick="toggleFolder('65_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classWindow.html" target="_self">Window</a></td><td class="desc"></td></tr>
<tr id="row_65_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structWindow_1_1ScopedGraphicsContext.html" target="_self">ScopedGraphicsContext</a></td><td class="desc"></td></tr>
<tr id="row_9_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structClipboardDataOffer.html" target="_self">ClipboardDataOffer</a></td><td class="desc"></td></tr>
<tr id="row_10_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structColor.html" target="_self">Color</a></td><td class="desc"></td></tr>
<tr id="row_11_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classExternalWindow.html" target="_self">ExternalWindow</a></td><td class="desc"></td></tr>
<tr id="row_12_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structFileBrowserData.html" target="_self">FileBrowserData</a></td><td class="desc"></td></tr>
<tr id="row_13_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_13_" class="arrow" onclick="toggleFolder('13_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structFileBrowserOptions.html" target="_self">FileBrowserOptions</a></td><td class="desc"></td></tr>
<tr id="row_13_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structFileBrowserOptions_1_1Buttons.html" target="_self">Buttons</a></td><td class="desc"></td></tr>
<tr id="row_14_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structGraphicsContext.html" target="_self">GraphicsContext</a></td><td class="desc"></td></tr>
<tr id="row_15_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structHeapBuffer.html" target="_self">HeapBuffer</a></td><td class="desc"></td></tr>
<tr id="row_16_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classHeapRingBuffer.html" target="_self">HeapRingBuffer</a></td><td class="desc"></td></tr>
<tr id="row_17_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structHugeStackBuffer.html" target="_self">HugeStackBuffer</a></td><td class="desc"></td></tr>
<tr id="row_18_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structIdleCallback.html" target="_self">IdleCallback</a></td><td class="desc"></td></tr>
<tr id="row_19_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classImageBase.html" target="_self">ImageBase</a></td><td class="desc"></td></tr>
<tr id="row_20_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classImageBaseAboutWindow.html" target="_self">ImageBaseAboutWindow</a></td><td class="desc"></td></tr>
<tr id="row_21_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_21_" class="arrow" onclick="toggleFolder('21_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classImageBaseButton.html" target="_self">ImageBaseButton</a></td><td class="desc"></td></tr>
<tr id="row_21_0_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classImageBaseButton_1_1Callback.html" target="_self">Callback</a></td><td class="desc"></td></tr>
<tr id="row_22_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_22_" class="arrow" onclick="toggleFolder('22_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classImageBaseKnob.html" target="_self">ImageBaseKnob</a></td><td class="desc"></td></tr>
<tr id="row_22_0_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classImageBaseKnob_1_1Callback.html" target="_self">Callback</a></td><td class="desc"></td></tr>
<tr id="row_23_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_23_" class="arrow" onclick="toggleFolder('23_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classImageBaseSlider.html" target="_self">ImageBaseSlider</a></td><td class="desc"></td></tr>
<tr id="row_23_0_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classImageBaseSlider_1_1Callback.html" target="_self">Callback</a></td><td class="desc"></td></tr>
<tr id="row_24_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_24_" class="arrow" onclick="toggleFolder('24_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classImageBaseSwitch.html" target="_self">ImageBaseSwitch</a></td><td class="desc"></td></tr>
<tr id="row_24_0_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classImageBaseSwitch_1_1Callback.html" target="_self">Callback</a></td><td class="desc"></td></tr>
<tr id="row_25_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_25_" class="arrow" onclick="toggleFolder('25_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classKnobEventHandler.html" target="_self">KnobEventHandler</a></td><td class="desc"></td></tr>
<tr id="row_25_0_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classKnobEventHandler_1_1Callback.html" target="_self">Callback</a></td><td class="desc"></td></tr>
<tr id="row_26_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classLeakedObjectDetector.html" target="_self">LeakedObjectDetector</a></td><td class="desc"></td></tr>
<tr id="row_27_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classLine.html" target="_self">Line</a></td><td class="desc"></td></tr>
<tr id="row_28_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structMidiEvent.html" target="_self">MidiEvent</a></td><td class="desc"></td></tr>
<tr id="row_29_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classMutex.html" target="_self">Mutex</a></td><td class="desc"></td></tr>
<tr id="row_30_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classNanoBaseWidget.html" target="_self">NanoBaseWidget</a></td><td class="desc"></td></tr>
<tr id="row_31_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classNanoImage.html" target="_self">NanoImage</a></td><td class="desc"></td></tr>
<tr id="row_32_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_32_" class="arrow" onclick="toggleFolder('32_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classNanoVG.html" target="_self">NanoVG</a></td><td class="desc"></td></tr>
<tr id="row_32_0_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structNanoVG_1_1GlyphPosition.html" target="_self">GlyphPosition</a></td><td class="desc"></td></tr>
<tr id="row_32_1_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structNanoVG_1_1Paint.html" target="_self">Paint</a></td><td class="desc"></td></tr>
<tr id="row_32_2_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structNanoVG_1_1TextRow.html" target="_self">TextRow</a></td><td class="desc"></td></tr>
<tr id="row_33_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structOpenGLGraphicsContext.html" target="_self">OpenGLGraphicsContext</a></td><td class="desc"></td></tr>
<tr id="row_34_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classOpenGLImage.html" target="_self">OpenGLImage</a></td><td class="desc"></td></tr>
<tr id="row_35_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structParameter.html" target="_self">Parameter</a></td><td class="desc"></td></tr>
<tr id="row_36_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structParameterEnumerationValue.html" target="_self">ParameterEnumerationValue</a></td><td class="desc"></td></tr>
<tr id="row_37_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structParameterEnumerationValues.html" target="_self">ParameterEnumerationValues</a></td><td class="desc"></td></tr>
<tr id="row_38_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structParameterRanges.html" target="_self">ParameterRanges</a></td><td class="desc"></td></tr>
<tr id="row_39_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classPlugin.html" target="_self">Plugin</a></td><td class="desc"></td></tr>
<tr id="row_40_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classPoint.html" target="_self">Point</a></td><td class="desc"></td></tr>
<tr id="row_41_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structPortGroup.html" target="_self">PortGroup</a></td><td class="desc"></td></tr>
<tr id="row_42_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classRectangle.html" target="_self">Rectangle</a></td><td class="desc"></td></tr>
<tr id="row_43_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classRecursiveMutex.html" target="_self">RecursiveMutex</a></td><td class="desc"></td></tr>
<tr id="row_44_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classRingBufferControl.html" target="_self">RingBufferControl</a></td><td class="desc"></td></tr>
<tr id="row_45_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classRunner.html" target="_self">Runner</a></td><td class="desc"></td></tr>
<tr id="row_46_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classScopedPointer.html" target="_self">ScopedPointer</a></td><td class="desc"></td></tr>
<tr id="row_47_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classScopedSafeLocale.html" target="_self">ScopedSafeLocale</a></td><td class="desc"></td></tr>
<tr id="row_48_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classScopeLocker.html" target="_self">ScopeLocker</a></td><td class="desc"></td></tr>
<tr id="row_49_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classScopeTryLocker.html" target="_self">ScopeTryLocker</a></td><td class="desc"></td></tr>
<tr id="row_50_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classScopeUnlocker.html" target="_self">ScopeUnlocker</a></td><td class="desc"></td></tr>
<tr id="row_51_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classSignal.html" target="_self">Signal</a></td><td class="desc"></td></tr>
<tr id="row_52_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classSize.html" target="_self">Size</a></td><td class="desc"></td></tr>
<tr id="row_53_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structSmallStackBuffer.html" target="_self">SmallStackBuffer</a></td><td class="desc"></td></tr>
<tr id="row_54_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classSmallStackRingBuffer.html" target="_self">SmallStackRingBuffer</a></td><td class="desc"></td></tr>
<tr id="row_55_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classStandaloneWindow.html" target="_self">StandaloneWindow</a></td><td class="desc"></td></tr>
<tr id="row_56_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structState.html" target="_self">State</a></td><td class="desc"></td></tr>
<tr id="row_57_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classString.html" target="_self">String</a></td><td class="desc"></td></tr>
<tr id="row_58_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classSubWidget.html" target="_self">SubWidget</a></td><td class="desc"></td></tr>
<tr id="row_59_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classThread.html" target="_self">Thread</a></td><td class="desc"></td></tr>
<tr id="row_60_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_60_" class="arrow" onclick="toggleFolder('60_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structTimePosition.html" target="_self">TimePosition</a></td><td class="desc"></td></tr>
<tr id="row_60_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structTimePosition_1_1BarBeatTick.html" target="_self">BarBeatTick</a></td><td class="desc"></td></tr>
<tr id="row_61_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classTopLevelWidget.html" target="_self">TopLevelWidget</a></td><td class="desc"></td></tr>
<tr id="row_62_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classTriangle.html" target="_self">Triangle</a></td><td class="desc"></td></tr>
<tr id="row_63_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classUI.html" target="_self">UI</a></td><td class="desc"></td></tr>
<tr id="row_64_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structVulkanGraphicsContext.html" target="_self">VulkanGraphicsContext</a></td><td class="desc"></td></tr>
<tr id="row_65_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classVulkanImage.html" target="_self">VulkanImage</a></td><td class="desc"></td></tr>
<tr id="row_66_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_66_" class="arrow" onclick="toggleFolder('66_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classWidget.html" target="_self">Widget</a></td><td class="desc"></td></tr>
<tr id="row_66_0_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structWidget_1_1BaseEvent.html" target="_self">BaseEvent</a></td><td class="desc"></td></tr>
<tr id="row_66_1_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structWidget_1_1CharacterInputEvent.html" target="_self">CharacterInputEvent</a></td><td class="desc"></td></tr>
<tr id="row_66_2_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structWidget_1_1KeyboardEvent.html" target="_self">KeyboardEvent</a></td><td class="desc"></td></tr>
<tr id="row_66_3_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structWidget_1_1MotionEvent.html" target="_self">MotionEvent</a></td><td class="desc"></td></tr>
<tr id="row_66_4_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structWidget_1_1MouseEvent.html" target="_self">MouseEvent</a></td><td class="desc"></td></tr>
<tr id="row_66_5_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structWidget_1_1PositionChangedEvent.html" target="_self">PositionChangedEvent</a></td><td class="desc"></td></tr>
<tr id="row_66_6_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structWidget_1_1ResizeEvent.html" target="_self">ResizeEvent</a></td><td class="desc"></td></tr>
<tr id="row_66_7_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structWidget_1_1ScrollEvent.html" target="_self">ScrollEvent</a></td><td class="desc"></td></tr>
<tr id="row_67_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_67_" class="arrow" onclick="toggleFolder('67_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classWindow.html" target="_self">Window</a></td><td class="desc"></td></tr>
<tr id="row_67_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structWindow_1_1ScopedGraphicsContext.html" target="_self">ScopedGraphicsContext</a></td><td class="desc"></td></tr>
</table>
</div><!-- directory -->
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Mar 31 2022 17:09:27 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
Generated on Wed Jul 27 2022 00:46:18 for DISTRHO Plugin Framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

+ 12
- 13
classApplication-members.html View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DISTRHO Plugin Framework: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -29,10 +29,10 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
@@ -70,23 +70,22 @@ $(function() {
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="classApplication.html#ad6aab76a79b7b3c2883785040b46017a">addIdleCallback</a>(IdleCallback *callback)</td><td class="entry"><a class="el" href="classApplication.html">Application</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classApplication.html#af9dd089d30cf442f8ffda646305089bb">Application</a>(bool isStandalone=true)</td><td class="entry"><a class="el" href="classApplication.html">Application</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classApplication.html#a805dd37af3b9adfc1d0ee1e734ad81e3">exec</a>(uint idleTimeInMs=30)</td><td class="entry"><a class="el" href="classApplication.html">Application</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>DISTRHO_NAMESPACE::PluginApplication</b> (defined in <a class="el" href="classApplication.html">Application</a>)</td><td class="entry"><a class="el" href="classApplication.html">Application</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
<tr><td class="entry"><a class="el" href="classApplication.html#a805dd37af3b9adfc1d0ee1e734ad81e3">exec</a>(uint idleTimeInMs=30)</td><td class="entry"><a class="el" href="classApplication.html">Application</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classApplication.html#a4eb331050ea4835aea5ad06cad1265fb">getClassName</a>() const noexcept</td><td class="entry"><a class="el" href="classApplication.html">Application</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classApplication.html#a2f6f8250f31dbb600bdef12692d62b73">getTime</a>() const</td><td class="entry"><a class="el" href="classApplication.html">Application</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classApplication.html#ac8382754f04f4de15768981459a28e3a">idle</a>()</td><td class="entry"><a class="el" href="classApplication.html">Application</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classApplication.html#aa2dd05d544834e8fca24a58f5e57f795">isQuitting</a>() const noexcept</td><td class="entry"><a class="el" href="classApplication.html">Application</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classApplication.html#aa0728e9c72545d81ba403b44c92ecd50">isStandalone</a>() const noexcept</td><td class="entry"><a class="el" href="classApplication.html">Application</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>PluginApplication</b> (defined in <a class="el" href="classApplication.html">Application</a>)</td><td class="entry"><a class="el" href="classApplication.html">Application</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classApplication.html#af77b716ee803aecb2ce1674695dc3986">quit</a>()</td><td class="entry"><a class="el" href="classApplication.html">Application</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classApplication.html#a082f532e2922924c6c72517f9272f67d">removeIdleCallback</a>(IdleCallback *callback)</td><td class="entry"><a class="el" href="classApplication.html">Application</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classApplication.html#a203d22d1ce0c0de90c2379f6bc839815">setClassName</a>(const char *name)</td><td class="entry"><a class="el" href="classApplication.html">Application</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>Window</b> (defined in <a class="el" href="classApplication.html">Application</a>)</td><td class="entry"><a class="el" href="classApplication.html">Application</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classApplication.html#a20573928a0d53fb96d929513bc5acde6">~Application</a>()</td><td class="entry"><a class="el" href="classApplication.html">Application</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="classApplication.html#af77b716ee803aecb2ce1674695dc3986">quit</a>()</td><td class="entry"><a class="el" href="classApplication.html">Application</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classApplication.html#a082f532e2922924c6c72517f9272f67d">removeIdleCallback</a>(IdleCallback *callback)</td><td class="entry"><a class="el" href="classApplication.html">Application</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classApplication.html#a203d22d1ce0c0de90c2379f6bc839815">setClassName</a>(const char *name)</td><td class="entry"><a class="el" href="classApplication.html">Application</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Window</b> (defined in <a class="el" href="classApplication.html">Application</a>)</td><td class="entry"><a class="el" href="classApplication.html">Application</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
<tr><td class="entry"><a class="el" href="classApplication.html#a20573928a0d53fb96d929513bc5acde6">~Application</a>()</td><td class="entry"><a class="el" href="classApplication.html">Application</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Mar 31 2022 17:09:26 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
Generated on Wed Jul 27 2022 00:46:18 for DISTRHO Plugin Framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

+ 38
- 12
classApplication.html View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DISTRHO Plugin Framework: Application Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -29,10 +29,10 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
@@ -94,17 +94,19 @@ Public Member Functions</h2></td></tr>
<tr class="separator:ad6aab76a79b7b3c2883785040b46017a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a082f532e2922924c6c72517f9272f67d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApplication.html#a082f532e2922924c6c72517f9272f67d">removeIdleCallback</a> (<a class="el" href="structIdleCallback.html">IdleCallback</a> *callback)</td></tr>
<tr class="separator:a082f532e2922924c6c72517f9272f67d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4eb331050ea4835aea5ad06cad1265fb"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApplication.html#a4eb331050ea4835aea5ad06cad1265fb">getClassName</a> () const noexcept</td></tr>
<tr class="separator:a4eb331050ea4835aea5ad06cad1265fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a203d22d1ce0c0de90c2379f6bc839815"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApplication.html#a203d22d1ce0c0de90c2379f6bc839815">setClassName</a> (const char *name)</td></tr>
<tr class="separator:a203d22d1ce0c0de90c2379f6bc839815"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
Friends</h2></td></tr>
<tr class="memitem:afa112a27803ac1aa3b10d351b8b85fe5"><td class="memItemLeft" align="right" valign="top"><a id="afa112a27803ac1aa3b10d351b8b85fe5"></a>
class&#160;</td><td class="memItemRight" valign="bottom"><b>PluginApplication</b></td></tr>
<tr class="separator:afa112a27803ac1aa3b10d351b8b85fe5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a553f958a25683445088050a69d3de8e9"><td class="memItemLeft" align="right" valign="top"><a id="a553f958a25683445088050a69d3de8e9"></a>
class&#160;</td><td class="memItemRight" valign="bottom"><b>Window</b></td></tr>
<tr class="separator:a553f958a25683445088050a69d3de8e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a883b722c934d56ad3fd6758b74fa4f4d"><td class="memItemLeft" align="right" valign="top"><a id="a883b722c934d56ad3fd6758b74fa4f4d"></a>
class&#160;</td><td class="memItemRight" valign="bottom"><b>DISTRHO_NAMESPACE::PluginApplication</b></td></tr>
<tr class="separator:a883b722c934d56ad3fd6758b74fa4f4d"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Base DGL <a class="el" href="classApplication.html">Application</a> class.</p>
@@ -321,6 +323,34 @@ The returned time is only useful to compare against other times returned by this
</div><div class="memdoc">
<p>Remove an idle callback previously added via <a class="el" href="classApplication.html#ad6aab76a79b7b3c2883785040b46017a">addIdleCallback()</a>. </p>

</div>
</div>
<a id="a4eb331050ea4835aea5ad06cad1265fb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4eb331050ea4835aea5ad06cad1265fb">&#9670;&nbsp;</a></span>getClassName()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const char* Application::getClassName </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the class name of the application.</p>
<p>This is a stable identifier for the application, used as the window class/instance name on X11 and Windows. It is not displayed to the user, but can be used in scripts and by window managers, so it should be the same for every instance of the application, but different from other applications.</p>
<p>Plugins created with DPF have their class name automatically set based on DGL_NAMESPACE and plugin name. </p>

</div>
</div>
<a id="a203d22d1ce0c0de90c2379f6bc839815"></a>
@@ -338,9 +368,7 @@ The returned time is only useful to compare against other times returned by this
</tr>
</table>
</div><div class="memdoc">
<p>Set the class name of the application.</p>
<p>This is a stable identifier for the application, used as the window class/instance name on X11 and Windows. It is not displayed to the user, but can be used in scripts and by window managers, so it should be the same for every instance of the application, but different from other applications.</p>
<p>Plugins created with DPF have their class name automatically set based on DGL_NAMESPACE and plugin name. </p>
<p>Set the class name of the application. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="classApplication.html#a4eb331050ea4835aea5ad06cad1265fb">getClassName</a> </dd></dl>

</div>
</div>
@@ -350,9 +378,7 @@ The returned time is only useful to compare against other times returned by this
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Mar 31 2022 17:09:26 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
Generated on Wed Jul 27 2022 00:46:18 for DISTRHO Plugin Framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

+ 4
- 6
classButtonEventHandler-members.html View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DISTRHO Plugin Framework: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -29,10 +29,10 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
@@ -94,9 +94,7 @@ $(function() {
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Mar 31 2022 17:09:26 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
Generated on Wed Jul 27 2022 00:46:18 for DISTRHO Plugin Framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

+ 8
- 10
classButtonEventHandler.html View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DISTRHO Plugin Framework: ButtonEventHandler Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -29,10 +29,10 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
@@ -88,10 +88,10 @@ Classes</h2></td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:a93c2ffcfc3a54567fb060b2f7d42be4c"><td class="memItemLeft" align="right" valign="top"><a id="a93c2ffcfc3a54567fb060b2f7d42be4c"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><b>State</b> { <b>kButtonStateDefault</b> = 0x0,
<b>kButtonStateHover</b> = 0x1,
<b>kButtonStateActive</b> = 0x2,
<b>kButtonStateActiveHover</b> = kButtonStateActive|kButtonStateHover
<tr class="memitem:a93c2ffcfc3a54567fb060b2f7d42be4c"><td class="memItemLeft" align="right" valign="top"><a id="a93c2ffcfc3a54567fb060b2f7d42be4c"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><b>State</b> { <b>kButtonStateDefault</b> = 0x0
, <b>kButtonStateHover</b> = 0x1
, <b>kButtonStateActive</b> = 0x2
, <b>kButtonStateActiveHover</b> = kButtonStateActive|kButtonStateHover
}</td></tr>
<tr class="separator:a93c2ffcfc3a54567fb060b2f7d42be4c"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
@@ -158,9 +158,7 @@ void&#160;</td><td class="memItemRight" valign="bottom"><b>triggerUserCallback</
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Mar 31 2022 17:09:26 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
Generated on Wed Jul 27 2022 00:46:18 for DISTRHO Plugin Framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

+ 4
- 6
classButtonEventHandler_1_1Callback-members.html View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DISTRHO Plugin Framework: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -29,10 +29,10 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
@@ -77,9 +77,7 @@ $(function() {
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Mar 31 2022 17:09:26 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
Generated on Wed Jul 27 2022 00:46:18 for DISTRHO Plugin Framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

+ 4
- 6
classButtonEventHandler_1_1Callback.html View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DISTRHO Plugin Framework: ButtonEventHandler::Callback Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -29,10 +29,10 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
@@ -85,9 +85,7 @@ virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>buttonClicked
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Mar 31 2022 17:09:26 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
Generated on Wed Jul 27 2022 00:46:18 for DISTRHO Plugin Framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

+ 5
- 7
classCairoBaseWidget-members.html View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DISTRHO Plugin Framework: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -29,10 +29,10 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
@@ -73,13 +73,11 @@ $(function() {
<tr class="even"><td class="entry"><a class="el" href="classCairoBaseWidget.html#a2342ae5da3def6ce0b9713a9bf49e203">CairoBaseWidget</a>(Application &amp;app)</td><td class="entry"><a class="el" href="classCairoBaseWidget.html">CairoBaseWidget&lt; BaseWidget &gt;</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
<tr><td class="entry"><a class="el" href="classCairoBaseWidget.html#af5544cdc62910eb3c25670a5130baeb2">CairoBaseWidget</a>(Application &amp;app, Window &amp;parentWindow)</td><td class="entry"><a class="el" href="classCairoBaseWidget.html">CairoBaseWidget&lt; BaseWidget &gt;</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classCairoBaseWidget.html#a2d59f5625d6e948ccbf7a9d2b3b00adf">onCairoDisplay</a>(const CairoGraphicsContext &amp;context)=0</td><td class="entry"><a class="el" href="classCairoBaseWidget.html">CairoBaseWidget&lt; BaseWidget &gt;</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">pure virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="classCairoBaseWidget.html#ab76ae3b54d624b194e6392ba48799ce4">~CairoBaseWidget</a>()</td><td class="entry"><a class="el" href="classCairoBaseWidget.html">CairoBaseWidget&lt; BaseWidget &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="classCairoBaseWidget.html#ab13e7888614ab01ef4a74175b9c487fa">~CairoBaseWidget</a>() override</td><td class="entry"><a class="el" href="classCairoBaseWidget.html">CairoBaseWidget&lt; BaseWidget &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Mar 31 2022 17:09:26 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
Generated on Wed Jul 27 2022 00:46:18 for DISTRHO Plugin Framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

+ 10
- 12
classCairoBaseWidget.html View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DISTRHO Plugin Framework: CairoBaseWidget&lt; BaseWidget &gt; Class Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -29,10 +29,10 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
@@ -88,8 +88,8 @@ Public Member Functions</h2></td></tr>
<tr class="separator:a2342ae5da3def6ce0b9713a9bf49e203"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af5544cdc62910eb3c25670a5130baeb2"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairoBaseWidget.html#af5544cdc62910eb3c25670a5130baeb2">CairoBaseWidget</a> (<a class="el" href="classApplication.html">Application</a> &amp;app, <a class="el" href="classWindow.html">Window</a> &amp;parentWindow)</td></tr>
<tr class="separator:af5544cdc62910eb3c25670a5130baeb2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab76ae3b54d624b194e6392ba48799ce4"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairoBaseWidget.html#ab76ae3b54d624b194e6392ba48799ce4">~CairoBaseWidget</a> ()</td></tr>
<tr class="separator:ab76ae3b54d624b194e6392ba48799ce4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab13e7888614ab01ef4a74175b9c487fa"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairoBaseWidget.html#ab13e7888614ab01ef4a74175b9c487fa">~CairoBaseWidget</a> () override</td></tr>
<tr class="separator:ab13e7888614ab01ef4a74175b9c487fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
@@ -228,8 +228,8 @@ template&lt;class BaseWidget &gt; </div>

</div>
</div>
<a id="ab76ae3b54d624b194e6392ba48799ce4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab76ae3b54d624b194e6392ba48799ce4">&#9670;&nbsp;</a></span>~CairoBaseWidget()</h2>
<a id="ab13e7888614ab01ef4a74175b9c487fa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab13e7888614ab01ef4a74175b9c487fa">&#9670;&nbsp;</a></span>~CairoBaseWidget()</h2>

<div class="memitem">
<div class="memproto">
@@ -240,7 +240,7 @@ template&lt;class BaseWidget &gt; </div>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual <a class="el" href="classCairoBaseWidget.html">CairoBaseWidget</a>&lt; BaseWidget &gt;::~<a class="el" href="classCairoBaseWidget.html">CairoBaseWidget</a> </td>
<td class="memname"><a class="el" href="classCairoBaseWidget.html">CairoBaseWidget</a>&lt; BaseWidget &gt;::~<a class="el" href="classCairoBaseWidget.html">CairoBaseWidget</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
@@ -248,7 +248,7 @@ template&lt;class BaseWidget &gt; </div>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">override</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
@@ -292,9 +292,7 @@ template&lt;class BaseWidget &gt; </div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Mar 31 2022 17:09:26 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
Generated on Wed Jul 27 2022 00:46:18 for DISTRHO Plugin Framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

+ 4
- 6
classCairoImage-members.html View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DISTRHO Plugin Framework: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -29,10 +29,10 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
@@ -102,9 +102,7 @@ $(function() {
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Mar 31 2022 17:09:26 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
Generated on Wed Jul 27 2022 00:46:18 for DISTRHO Plugin Framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

+ 4
- 6
classCairoImage.html View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DISTRHO Plugin Framework: CairoImage Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -29,10 +29,10 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
@@ -489,9 +489,7 @@ ImageFormat&#160;</td><td class="memItemRight" valign="bottom"><b>format</b></td
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Mar 31 2022 17:09:26 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
Generated on Wed Jul 27 2022 00:46:18 for DISTRHO Plugin Framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

+ 4
- 6
classCircle-members.html View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DISTRHO Plugin Framework: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -29,10 +29,10 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
@@ -93,9 +93,7 @@ $(function() {
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Mar 31 2022 17:09:26 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
Generated on Wed Jul 27 2022 00:46:18 for DISTRHO Plugin Framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

+ 4
- 6
classCircle.html View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DISTRHO Plugin Framework: Circle&lt; T &gt; Class Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -29,10 +29,10 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
@@ -683,9 +683,7 @@ DEPRECATED Please use <a class="el" href="classCircle.html#ac81aa76956931eb30717
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Mar 31 2022 17:09:26 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
Generated on Wed Jul 27 2022 00:46:18 for DISTRHO Plugin Framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

+ 4
- 6
classExternalWindow-members.html View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DISTRHO Plugin Framework: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -29,10 +29,10 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
@@ -105,9 +105,7 @@ $(function() {
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Mar 31 2022 17:09:26 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
Generated on Wed Jul 27 2022 00:46:18 for DISTRHO Plugin Framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

+ 4
- 6
classExternalWindow.html View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DISTRHO Plugin Framework: ExternalWindow Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -29,10 +29,10 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
@@ -1012,9 +1012,7 @@ class&#160;</td><td class="memItemRight" valign="bottom"><b>UI</b></td></tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Mar 31 2022 17:09:26 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
Generated on Wed Jul 27 2022 00:46:18 for DISTRHO Plugin Framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

+ 9
- 9
classHeapRingBuffer-members.html View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DISTRHO Plugin Framework: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -29,10 +29,10 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
@@ -70,9 +70,11 @@ $(function() {
<table class="directory">
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>clearData</b>() noexcept (defined in <a class="el" href="classRingBufferControl.html">RingBufferControl&lt; HeapBuffer &gt;</a>)</td><td class="entry"><a class="el" href="classRingBufferControl.html">RingBufferControl&lt; HeapBuffer &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="classRingBufferControl.html#afe0c53d2591eb265d657c1cab6800036">commitWrite</a>() noexcept</td><td class="entry"><a class="el" href="classRingBufferControl.html">RingBufferControl&lt; HeapBuffer &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classHeapRingBuffer.html#ab7d60a3acc757e88e1c7254626ce9709">createBuffer</a>(const uint32_t size) noexcept</td><td class="entry"><a class="el" href="classHeapRingBuffer.html">HeapRingBuffer</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="classHeapRingBuffer.html#a940bc4c023a53a0d511d6f99186d8224">deleteBuffer</a>() noexcept</td><td class="entry"><a class="el" href="classHeapRingBuffer.html">HeapRingBuffer</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>getAvailableDataSize</b>() const noexcept (defined in <a class="el" href="classRingBufferControl.html">RingBufferControl&lt; HeapBuffer &gt;</a>)</td><td class="entry"><a class="el" href="classRingBufferControl.html">RingBufferControl&lt; HeapBuffer &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>copyFromAndClearOther</b>(HeapRingBuffer &amp;other) (defined in <a class="el" href="classHeapRingBuffer.html">HeapRingBuffer</a>)</td><td class="entry"><a class="el" href="classHeapRingBuffer.html">HeapRingBuffer</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="classHeapRingBuffer.html#ab7d60a3acc757e88e1c7254626ce9709">createBuffer</a>(const uint32_t size) noexcept</td><td class="entry"><a class="el" href="classHeapRingBuffer.html">HeapRingBuffer</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classHeapRingBuffer.html#a940bc4c023a53a0d511d6f99186d8224">deleteBuffer</a>() noexcept</td><td class="entry"><a class="el" href="classHeapRingBuffer.html">HeapRingBuffer</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>getReadableDataSize</b>() const noexcept (defined in <a class="el" href="classRingBufferControl.html">RingBufferControl&lt; HeapBuffer &gt;</a>)</td><td class="entry"><a class="el" href="classRingBufferControl.html">RingBufferControl&lt; HeapBuffer &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>getWritableDataSize</b>() const noexcept (defined in <a class="el" href="classRingBufferControl.html">RingBufferControl&lt; HeapBuffer &gt;</a>)</td><td class="entry"><a class="el" href="classRingBufferControl.html">RingBufferControl&lt; HeapBuffer &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="classHeapRingBuffer.html#a6a3c03b584b5b20ad2829e26f5e6ed0e">HeapRingBuffer</a>() noexcept</td><td class="entry"><a class="el" href="classHeapRingBuffer.html">HeapRingBuffer</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>isDataAvailableForReading</b>() const noexcept (defined in <a class="el" href="classRingBufferControl.html">RingBufferControl&lt; HeapBuffer &gt;</a>)</td><td class="entry"><a class="el" href="classRingBufferControl.html">RingBufferControl&lt; HeapBuffer &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>isEmpty</b>() const noexcept (defined in <a class="el" href="classRingBufferControl.html">RingBufferControl&lt; HeapBuffer &gt;</a>)</td><td class="entry"><a class="el" href="classRingBufferControl.html">RingBufferControl&lt; HeapBuffer &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
@@ -109,9 +111,7 @@ $(function() {
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Mar 31 2022 17:09:26 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
Generated on Wed Jul 27 2022 00:46:18 for DISTRHO Plugin Framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

+ 13
- 9
classHeapRingBuffer.html View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DISTRHO Plugin Framework: HeapRingBuffer Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -29,10 +29,10 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
@@ -90,6 +90,9 @@ Public Member Functions</h2></td></tr>
<tr class="separator:ab7d60a3acc757e88e1c7254626ce9709"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a940bc4c023a53a0d511d6f99186d8224"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classHeapRingBuffer.html#a940bc4c023a53a0d511d6f99186d8224">deleteBuffer</a> () noexcept</td></tr>
<tr class="separator:a940bc4c023a53a0d511d6f99186d8224"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1af9a8b6cbc381fe43ee7433d863e0cb"><td class="memItemLeft" align="right" valign="top"><a id="a1af9a8b6cbc381fe43ee7433d863e0cb"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>copyFromAndClearOther</b> (<a class="el" href="classHeapRingBuffer.html">HeapRingBuffer</a> &amp;other)</td></tr>
<tr class="separator:a1af9a8b6cbc381fe43ee7433d863e0cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classRingBufferControl"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classRingBufferControl')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classRingBufferControl.html">RingBufferControl&lt; HeapBuffer &gt;</a></td></tr>
<tr class="memitem:a5a857b3ce6d8570899e1310bbaa166c2 inherit pub_methods_classRingBufferControl"><td class="memItemLeft" align="right" valign="top"><a id="a5a857b3ce6d8570899e1310bbaa166c2"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>isDataAvailableForReading</b> () const noexcept</td></tr>
@@ -97,9 +100,12 @@ bool&#160;</td><td class="memItemRight" valign="bottom"><b>isDataAvailableForRea
<tr class="memitem:ac795fc07ffa5c591b9516b514dedc7aa inherit pub_methods_classRingBufferControl"><td class="memItemLeft" align="right" valign="top"><a id="ac795fc07ffa5c591b9516b514dedc7aa"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>isEmpty</b> () const noexcept</td></tr>
<tr class="separator:ac795fc07ffa5c591b9516b514dedc7aa inherit pub_methods_classRingBufferControl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aed6ec8bf3b3bc4ef2e490bd1f34f5cfb inherit pub_methods_classRingBufferControl"><td class="memItemLeft" align="right" valign="top"><a id="aed6ec8bf3b3bc4ef2e490bd1f34f5cfb"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>getAvailableDataSize</b> () const noexcept</td></tr>
<tr class="separator:aed6ec8bf3b3bc4ef2e490bd1f34f5cfb inherit pub_methods_classRingBufferControl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a798dea2af126ea7749d4325e401d6b90 inherit pub_methods_classRingBufferControl"><td class="memItemLeft" align="right" valign="top"><a id="a798dea2af126ea7749d4325e401d6b90"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>getReadableDataSize</b> () const noexcept</td></tr>
<tr class="separator:a798dea2af126ea7749d4325e401d6b90 inherit pub_methods_classRingBufferControl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac6882674f4bdfb7bc8d9c3a89e6a3275 inherit pub_methods_classRingBufferControl"><td class="memItemLeft" align="right" valign="top"><a id="ac6882674f4bdfb7bc8d9c3a89e6a3275"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>getWritableDataSize</b> () const noexcept</td></tr>
<tr class="separator:ac6882674f4bdfb7bc8d9c3a89e6a3275 inherit pub_methods_classRingBufferControl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8a93880bd798351b66c7c546ee91d7af inherit pub_methods_classRingBufferControl"><td class="memItemLeft" align="right" valign="top"><a id="a8a93880bd798351b66c7c546ee91d7af"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>clearData</b> () noexcept</td></tr>
<tr class="separator:a8a93880bd798351b66c7c546ee91d7af inherit pub_methods_classRingBufferControl"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -302,9 +308,7 @@ bool&#160;</td><td class="memItemRight" valign="bottom"><b>tryWrite</b> (const v
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Mar 31 2022 17:09:26 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
Generated on Wed Jul 27 2022 00:46:18 for DISTRHO Plugin Framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

+ 4
- 6
classImageBase-members.html View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DISTRHO Plugin Framework: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -29,10 +29,10 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
@@ -94,9 +94,7 @@ $(function() {
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Mar 31 2022 17:09:26 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
Generated on Wed Jul 27 2022 00:46:18 for DISTRHO Plugin Framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

+ 6
- 8
classImageBase.html View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DISTRHO Plugin Framework: ImageBase Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -29,10 +29,10 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
@@ -593,7 +593,7 @@ ImageFormat&#160;</td><td class="memItemRight" valign="bottom"><b>format</b></td
</div><div class="memdoc">
<p>Load image data from memory. </p><dl class="section note"><dt>Note</dt><dd><em>rawData</em> must remain valid for the lifetime of this Image. </dd></dl>

<p>Reimplemented in <a class="el" href="classOpenGLImage.html#a5ee11a12fb84219cf5216396c1cf3c0a">OpenGLImage</a>, <a class="el" href="classCairoImage.html#a861bdbb5cd592feaef43e2202397deed">CairoImage</a>, and <a class="el" href="classVulkanImage.html#afdf45f3e60f4a5a4805402b312bc8d5f">VulkanImage</a>.</p>
<p>Reimplemented in <a class="el" href="classVulkanImage.html#afdf45f3e60f4a5a4805402b312bc8d5f">VulkanImage</a>, <a class="el" href="classOpenGLImage.html#a5ee11a12fb84219cf5216396c1cf3c0a">OpenGLImage</a>, and <a class="el" href="classCairoImage.html#a861bdbb5cd592feaef43e2202397deed">CairoImage</a>.</p>

</div>
</div>
@@ -686,7 +686,7 @@ ImageFormat&#160;</td><td class="memItemRight" valign="bottom"><b>format</b></td
</div><div class="memdoc">
<p>Draw this image at position <em>pos</em> using the current OpenGL context. </p>

<p>Implemented in <a class="el" href="classOpenGLImage.html#ab97d09a7496436d2823c064708a61287">OpenGLImage</a>, <a class="el" href="classCairoImage.html#aa60a5e3b68032170e8e59fb506c7d3b7">CairoImage</a>, and <a class="el" href="classVulkanImage.html#a35ba9f546320a8b51c76f09f0d80845f">VulkanImage</a>.</p>
<p>Implemented in <a class="el" href="classVulkanImage.html#a35ba9f546320a8b51c76f09f0d80845f">VulkanImage</a>, <a class="el" href="classOpenGLImage.html#ab97d09a7496436d2823c064708a61287">OpenGLImage</a>, and <a class="el" href="classCairoImage.html#aa60a5e3b68032170e8e59fb506c7d3b7">CairoImage</a>.</p>

</div>
</div>
@@ -723,9 +723,7 @@ ImageFormat&#160;</td><td class="memItemRight" valign="bottom"><b>format</b></td
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Mar 31 2022 17:09:26 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
Generated on Wed Jul 27 2022 00:46:18 for DISTRHO Plugin Framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

+ 49
- 50
classImageBaseAboutWindow-members.html View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DISTRHO Plugin Framework: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -29,10 +29,10 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
@@ -72,39 +72,39 @@ $(function() {
<tr><td class="entry"><a class="el" href="classWindow.html#a35055c04498121d39741bfcd5082705b">close</a>()</td><td class="entry"><a class="el" href="classWindow.html">Window</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classStandaloneWindow.html#a3b13bbbe8b8c431806ab50d2ea3410ad">done</a>()</td><td class="entry"><a class="el" href="classStandaloneWindow.html">StandaloneWindow</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="classWindow.html#addce529703b96ff6742428c8bd8c4cba">exec</a>(bool blockWait=false)</td><td class="entry"><a class="el" href="classWindow.html">Window</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>FileBrowserHandle</b> typedef (defined in <a class="el" href="classWindow.html">Window</a>)</td><td class="entry"><a class="el" href="classWindow.html">Window</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>FileBrowserOptions</b> typedef (defined in <a class="el" href="classWindow.html">Window</a>)</td><td class="entry"><a class="el" href="classWindow.html">Window</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classWindow.html#a6ec017881675f860ae746dad6c021b63">fileBrowserSelected</a>(const char *filename)</td><td class="entry"><a class="el" href="classWindow.html">Window</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="classWindow.html#a03985e4ca2c9b4fcf572b5029e8c0115">focus</a>()</td><td class="entry"><a class="el" href="classWindow.html">Window</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>getApp</b>() const noexcept (defined in <a class="el" href="classStandaloneWindow.html">StandaloneWindow</a>)</td><td class="entry"><a class="el" href="classStandaloneWindow.html">StandaloneWindow</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="classWindow.html#a74e09b4aef222345feeecbd024b330cd">Window::getClipboard</a>(const char *&amp;mimeType, size_t &amp;dataSize)</td><td class="entry"><a class="el" href="classWindow.html">Window</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>getClipboard</b>(const char *&amp;mimeType, size_t &amp;dataSize) (defined in <a class="el" href="classTopLevelWidget.html">TopLevelWidget</a>)</td><td class="entry"><a class="el" href="classTopLevelWidget.html">TopLevelWidget</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classWindow.html#a540fbc63288c019f420123644acc6a11">getGeometryConstraints</a>(bool &amp;keepAspectRatio)</td><td class="entry"><a class="el" href="classWindow.html">Window</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>getGraphicsContext</b>() const noexcept (defined in <a class="el" href="classStandaloneWindow.html">StandaloneWindow</a>)</td><td class="entry"><a class="el" href="classStandaloneWindow.html">StandaloneWindow</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>getHeight</b>() const noexcept (defined in <a class="el" href="classStandaloneWindow.html">StandaloneWindow</a>)</td><td class="entry"><a class="el" href="classStandaloneWindow.html">StandaloneWindow</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classWidget.html#a3ee6b2824e3f3719c1c9b3d070385f49">getId</a>() const noexcept</td><td class="entry"><a class="el" href="classWidget.html">Widget</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classWindow.html#a0e1895a4e93ee0d7c34a9b10953c968e">getIgnoringKeyRepeat</a>() const noexcept</td><td class="entry"><a class="el" href="classWindow.html">Window</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classWindow.html#a01a9277a2e19766947f9a99b43147bfd">getNativeWindowHandle</a>() const noexcept</td><td class="entry"><a class="el" href="classWindow.html">Window</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classWindow.html#a58f66fcfd4c902954594e99d4bfa0b6a">getOffset</a>() const noexcept</td><td class="entry"><a class="el" href="classWindow.html">Window</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classWindow.html#a200f3e517effa7973e1c42c72ca55f9f">getOffsetX</a>() const noexcept</td><td class="entry"><a class="el" href="classWindow.html">Window</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classWindow.html#a948304155a8403b92db8feeae1a76f46">getOffsetY</a>() const noexcept</td><td class="entry"><a class="el" href="classWindow.html">Window</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>getParentApp</b>() const noexcept (defined in <a class="el" href="classTopLevelWidget.html">TopLevelWidget</a>)</td><td class="entry"><a class="el" href="classTopLevelWidget.html">TopLevelWidget</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>getParentWindow</b>() const noexcept (defined in <a class="el" href="classTopLevelWidget.html">TopLevelWidget</a>)</td><td class="entry"><a class="el" href="classTopLevelWidget.html">TopLevelWidget</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>getScaleFactor</b>() const noexcept (defined in <a class="el" href="classStandaloneWindow.html">StandaloneWindow</a>)</td><td class="entry"><a class="el" href="classStandaloneWindow.html">StandaloneWindow</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="classWindow.html#a9b94fea3236d1d49e3fbd53a8d9cc70b">getScaling</a>() const noexcept</td><td class="entry"><a class="el" href="classWindow.html">Window</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>getSize</b>() const noexcept (defined in <a class="el" href="classStandaloneWindow.html">StandaloneWindow</a>)</td><td class="entry"><a class="el" href="classStandaloneWindow.html">StandaloneWindow</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="classWindow.html#af437e6afd9104708f30ab769d9afce7a">getTitle</a>() const noexcept</td><td class="entry"><a class="el" href="classWindow.html">Window</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classWidget.html#a607b153f7d3187ca60bf21004efc1314">getTopLevelWidget</a>() const noexcept</td><td class="entry"><a class="el" href="classWidget.html">Widget</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>getWidth</b>() const noexcept (defined in <a class="el" href="classStandaloneWindow.html">StandaloneWindow</a>)</td><td class="entry"><a class="el" href="classStandaloneWindow.html">StandaloneWindow</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classTopLevelWidget.html#a3ceb7af6e9372a139d40a5859dfd0e4d">getWindow</a>() const noexcept</td><td class="entry"><a class="el" href="classTopLevelWidget.html">TopLevelWidget</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>hide</b>() (defined in <a class="el" href="classStandaloneWindow.html">StandaloneWindow</a>)</td><td class="entry"><a class="el" href="classStandaloneWindow.html">StandaloneWindow</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classImageBaseAboutWindow.html#ae90dd7700dc6b88eca94be95459f7607">ImageBaseAboutWindow</a>(Window &amp;transientParentWindow, const ImageType &amp;image=ImageType())</td><td class="entry"><a class="el" href="classImageBaseAboutWindow.html">ImageBaseAboutWindow&lt; ImageType &gt;</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
<tr><td class="entry"><a class="el" href="classImageBaseAboutWindow.html#a6866dc828c0a7435d86887ced02ff993">ImageBaseAboutWindow</a>(TopLevelWidget *topLevelWidget, const ImageType &amp;image=ImageType())</td><td class="entry"><a class="el" href="classImageBaseAboutWindow.html">ImageBaseAboutWindow&lt; ImageType &gt;</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classWindow.html#afb840ed25c1fe17bed66d80adfc420ab">isEmbed</a>() const noexcept</td><td class="entry"><a class="el" href="classWindow.html">Window</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classWindow.html#ab5cbe1298a28a1860319198a4c843183">isIgnoringKeyRepeat</a>() const noexcept</td><td class="entry"><a class="el" href="classWindow.html">Window</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classWindow.html#a1b888a7e6a5562968a253b915ccb7825">isResizable</a>() const noexcept</td><td class="entry"><a class="el" href="classWindow.html">Window</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classStandaloneWindow.html#a645f7c56f44d9a8a72e81595b28650e2">isVisible</a>() const noexcept</td><td class="entry"><a class="el" href="classStandaloneWindow.html">StandaloneWindow</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classTopLevelWidget.html#a567153ae0853e56553c9569dc61ed913">onCharacterInput</a>(const CharacterInputEvent &amp;) override</td><td class="entry"><a class="el" href="classTopLevelWidget.html">TopLevelWidget</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="classWindow.html#ac8244e75f9fdb4fe886b226959f568f9">Window::getClipboard</a>(size_t &amp;dataSize)</td><td class="entry"><a class="el" href="classWindow.html">Window</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>getClipboard</b>(size_t &amp;dataSize) (defined in <a class="el" href="classTopLevelWidget.html">TopLevelWidget</a>)</td><td class="entry"><a class="el" href="classTopLevelWidget.html">TopLevelWidget</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classWindow.html#a6071a51d8fd2c150bcfc240ba43f7b2b">getClipboardDataOfferTypes</a>()</td><td class="entry"><a class="el" href="classWindow.html">Window</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classWindow.html#a540fbc63288c019f420123644acc6a11">getGeometryConstraints</a>(bool &amp;keepAspectRatio)</td><td class="entry"><a class="el" href="classWindow.html">Window</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>getGraphicsContext</b>() const noexcept (defined in <a class="el" href="classStandaloneWindow.html">StandaloneWindow</a>)</td><td class="entry"><a class="el" href="classStandaloneWindow.html">StandaloneWindow</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>getHeight</b>() const noexcept (defined in <a class="el" href="classStandaloneWindow.html">StandaloneWindow</a>)</td><td class="entry"><a class="el" href="classStandaloneWindow.html">StandaloneWindow</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="classWidget.html#a3ee6b2824e3f3719c1c9b3d070385f49">getId</a>() const noexcept</td><td class="entry"><a class="el" href="classWidget.html">Widget</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classWindow.html#a0e1895a4e93ee0d7c34a9b10953c968e">getIgnoringKeyRepeat</a>() const noexcept</td><td class="entry"><a class="el" href="classWindow.html">Window</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="classWindow.html#a01a9277a2e19766947f9a99b43147bfd">getNativeWindowHandle</a>() const noexcept</td><td class="entry"><a class="el" href="classWindow.html">Window</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classWindow.html#a58f66fcfd4c902954594e99d4bfa0b6a">getOffset</a>() const noexcept</td><td class="entry"><a class="el" href="classWindow.html">Window</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classWindow.html#a200f3e517effa7973e1c42c72ca55f9f">getOffsetX</a>() const noexcept</td><td class="entry"><a class="el" href="classWindow.html">Window</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classWindow.html#a948304155a8403b92db8feeae1a76f46">getOffsetY</a>() const noexcept</td><td class="entry"><a class="el" href="classWindow.html">Window</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>getParentApp</b>() const noexcept (defined in <a class="el" href="classTopLevelWidget.html">TopLevelWidget</a>)</td><td class="entry"><a class="el" href="classTopLevelWidget.html">TopLevelWidget</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>getParentWindow</b>() const noexcept (defined in <a class="el" href="classTopLevelWidget.html">TopLevelWidget</a>)</td><td class="entry"><a class="el" href="classTopLevelWidget.html">TopLevelWidget</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>getScaleFactor</b>() const noexcept (defined in <a class="el" href="classStandaloneWindow.html">StandaloneWindow</a>)</td><td class="entry"><a class="el" href="classStandaloneWindow.html">StandaloneWindow</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classWindow.html#a9b94fea3236d1d49e3fbd53a8d9cc70b">getScaling</a>() const noexcept</td><td class="entry"><a class="el" href="classWindow.html">Window</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>getSize</b>() const noexcept (defined in <a class="el" href="classStandaloneWindow.html">StandaloneWindow</a>)</td><td class="entry"><a class="el" href="classStandaloneWindow.html">StandaloneWindow</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classWindow.html#af437e6afd9104708f30ab769d9afce7a">getTitle</a>() const noexcept</td><td class="entry"><a class="el" href="classWindow.html">Window</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classWidget.html#a607b153f7d3187ca60bf21004efc1314">getTopLevelWidget</a>() const noexcept</td><td class="entry"><a class="el" href="classWidget.html">Widget</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>getWidth</b>() const noexcept (defined in <a class="el" href="classStandaloneWindow.html">StandaloneWindow</a>)</td><td class="entry"><a class="el" href="classStandaloneWindow.html">StandaloneWindow</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="classTopLevelWidget.html#a3ceb7af6e9372a139d40a5859dfd0e4d">getWindow</a>() const noexcept</td><td class="entry"><a class="el" href="classTopLevelWidget.html">TopLevelWidget</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>hide</b>() (defined in <a class="el" href="classStandaloneWindow.html">StandaloneWindow</a>)</td><td class="entry"><a class="el" href="classStandaloneWindow.html">StandaloneWindow</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="classImageBaseAboutWindow.html#ae90dd7700dc6b88eca94be95459f7607">ImageBaseAboutWindow</a>(Window &amp;transientParentWindow, const ImageType &amp;image=ImageType())</td><td class="entry"><a class="el" href="classImageBaseAboutWindow.html">ImageBaseAboutWindow&lt; ImageType &gt;</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classImageBaseAboutWindow.html#a6866dc828c0a7435d86887ced02ff993">ImageBaseAboutWindow</a>(TopLevelWidget *topLevelWidget, const ImageType &amp;image=ImageType())</td><td class="entry"><a class="el" href="classImageBaseAboutWindow.html">ImageBaseAboutWindow&lt; ImageType &gt;</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
<tr><td class="entry"><a class="el" href="classWindow.html#afb840ed25c1fe17bed66d80adfc420ab">isEmbed</a>() const noexcept</td><td class="entry"><a class="el" href="classWindow.html">Window</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classWindow.html#ab5cbe1298a28a1860319198a4c843183">isIgnoringKeyRepeat</a>() const noexcept</td><td class="entry"><a class="el" href="classWindow.html">Window</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classWindow.html#a1b888a7e6a5562968a253b915ccb7825">isResizable</a>() const noexcept</td><td class="entry"><a class="el" href="classWindow.html">Window</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classStandaloneWindow.html#a645f7c56f44d9a8a72e81595b28650e2">isVisible</a>() const noexcept</td><td class="entry"><a class="el" href="classStandaloneWindow.html">StandaloneWindow</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="classTopLevelWidget.html#a567153ae0853e56553c9569dc61ed913">onCharacterInput</a>(const CharacterInputEvent &amp;) override</td><td class="entry"><a class="el" href="classTopLevelWidget.html">TopLevelWidget</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classWindow.html#a0d6c68dee413b400e599f715f2e3b5e7">onClipboardDataOffer</a>()</td><td class="entry"><a class="el" href="classWindow.html">Window</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="classWindow.html#a979cfd2bc52650f07b789217d6c6f570">onClose</a>()</td><td class="entry"><a class="el" href="classWindow.html">Window</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classImageBaseAboutWindow.html#a3e675bef6bb84375cb762767d216e8f7">onDisplay</a>() override</td><td class="entry"><a class="el" href="classImageBaseAboutWindow.html">ImageBaseAboutWindow&lt; ImageType &gt;</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="classWindow.html#a887287be0807b58aa701139c802939a3">onFileSelected</a>(const char *filename)</td><td class="entry"><a class="el" href="classWindow.html">Window</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
@@ -117,7 +117,7 @@ $(function() {
<tr class="even"><td class="entry"><a class="el" href="classWindow.html#a306742ddc21c7c41f59b41e5761a38c7">onScaleFactorChanged</a>(double scaleFactor)</td><td class="entry"><a class="el" href="classWindow.html">Window</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="classTopLevelWidget.html#a412a6ce96a4ef7f64396e312ad072f9d">onScroll</a>(const ScrollEvent &amp;) override</td><td class="entry"><a class="el" href="classTopLevelWidget.html">TopLevelWidget</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classWidget.html#a3b42652fcb2f95c6f86bdd43a1727507">onSpecial</a>(const SpecialEvent &amp;)</td><td class="entry"><a class="el" href="classWidget.html">Widget</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="classWindow.html#a7d2a006347a7fb95e63140ad2cec531c">openFileBrowser</a>(const FileBrowserOptions &amp;options=FileBrowserOptions())</td><td class="entry"><a class="el" href="classWindow.html">Window</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classWindow.html#a56ed4c181deb56c7fcec2b2cfe7295bd">openFileBrowser</a>(const DGL_NAMESPACE::FileBrowserOptions &amp;options=FileBrowserOptions())</td><td class="entry"><a class="el" href="classWindow.html">Window</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>removeIdleCallback</b>(IdleCallback *callback) (defined in <a class="el" href="classStandaloneWindow.html">StandaloneWindow</a>)</td><td class="entry"><a class="el" href="classStandaloneWindow.html">StandaloneWindow</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="classWindow.html#abc7044d06bab27a7dadf06b9f42b2c95">renderToPicture</a>(const char *filename)</td><td class="entry"><a class="el" href="classWindow.html">Window</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classStandaloneWindow.html#aa1475d362245c793b516a232deab70ff">repaint</a>() noexcept</td><td class="entry"><a class="el" href="classStandaloneWindow.html">StandaloneWindow</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
@@ -143,25 +143,24 @@ $(function() {
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>setSize</b>(uint width, uint height) (defined in <a class="el" href="classStandaloneWindow.html">StandaloneWindow</a>)</td><td class="entry"><a class="el" href="classStandaloneWindow.html">StandaloneWindow</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>setSize</b>(const Size&lt; uint &gt; &amp;size) (defined in <a class="el" href="classStandaloneWindow.html">StandaloneWindow</a>)</td><td class="entry"><a class="el" href="classStandaloneWindow.html">StandaloneWindow</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classWindow.html#ab2f1b80c5dfcafd2cbdf6b85b756fdbd">setTitle</a>(const char *title)</td><td class="entry"><a class="el" href="classWindow.html">Window</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>setVisible</b>(bool yesNo) (defined in <a class="el" href="classStandaloneWindow.html">StandaloneWindow</a>)</td><td class="entry"><a class="el" href="classStandaloneWindow.html">StandaloneWindow</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>setWidth</b>(uint width) (defined in <a class="el" href="classStandaloneWindow.html">StandaloneWindow</a>)</td><td class="entry"><a class="el" href="classStandaloneWindow.html">StandaloneWindow</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>show</b>() (defined in <a class="el" href="classStandaloneWindow.html">StandaloneWindow</a>)</td><td class="entry"><a class="el" href="classStandaloneWindow.html">StandaloneWindow</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classStandaloneWindow.html#a28d4f09b9f280c1d03cc77fc63465b48">StandaloneWindow</a>(Application &amp;app)</td><td class="entry"><a class="el" href="classStandaloneWindow.html">StandaloneWindow</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="classStandaloneWindow.html#a86e7db3cd8830628b37d0608df40963c">StandaloneWindow</a>(Application &amp;app, Window &amp;transientParentWindow)</td><td class="entry"><a class="el" href="classStandaloneWindow.html">StandaloneWindow</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classTopLevelWidget.html#a3cdeec5e7b144cc48d89e748a37f538e">TopLevelWidget</a>(Window &amp;windowToMapTo)</td><td class="entry"><a class="el" href="classTopLevelWidget.html">TopLevelWidget</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
<tr><td class="entry"><a class="el" href="classWindow.html#a2f6257937261fcb3e627752dfb248d47">Window::Window</a>(Application &amp;app)</td><td class="entry"><a class="el" href="classWindow.html">Window</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classWindow.html#a647ec84da28005ecf0501825af77adec">Window::Window</a>(Application &amp;app, Window &amp;transientParentWindow)</td><td class="entry"><a class="el" href="classWindow.html">Window</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
<tr><td class="entry"><a class="el" href="classWindow.html#a2cd48e2c2d816439cf38faf5c7a9736f">Window::Window</a>(Application &amp;app, uintptr_t parentWindowHandle, double scaleFactor, bool resizable)</td><td class="entry"><a class="el" href="classWindow.html">Window</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classWindow.html#ada557b4543c122a0de22c876c55504ae">Window::Window</a>(Application &amp;app, uintptr_t parentWindowHandle, uint width, uint height, double scaleFactor, bool resizable)</td><td class="entry"><a class="el" href="classWindow.html">Window</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
<tr><td class="entry"><a class="el" href="classTopLevelWidget.html#a73c0ee0ce1e84c9e18d0f6dcdcb9104a">~TopLevelWidget</a>()</td><td class="entry"><a class="el" href="classTopLevelWidget.html">TopLevelWidget</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classWidget.html#a714cf798aadb4d615f6f60a355382c02">~Widget</a>()</td><td class="entry"><a class="el" href="classWidget.html">Widget</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="classWindow.html#a62b4a97b3c2e492f1d9a46092011e2d9">~Window</a>()</td><td class="entry"><a class="el" href="classWindow.html">Window</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="classWindow.html#ab3fd6ca05bdbd2df01665192cde2ff34">setTransientParent</a>(uintptr_t transientParentWindowHandle)</td><td class="entry"><a class="el" href="classWindow.html">Window</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>setVisible</b>(bool yesNo) (defined in <a class="el" href="classStandaloneWindow.html">StandaloneWindow</a>)</td><td class="entry"><a class="el" href="classStandaloneWindow.html">StandaloneWindow</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>setWidth</b>(uint width) (defined in <a class="el" href="classStandaloneWindow.html">StandaloneWindow</a>)</td><td class="entry"><a class="el" href="classStandaloneWindow.html">StandaloneWindow</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>show</b>() (defined in <a class="el" href="classStandaloneWindow.html">StandaloneWindow</a>)</td><td class="entry"><a class="el" href="classStandaloneWindow.html">StandaloneWindow</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="classStandaloneWindow.html#a28d4f09b9f280c1d03cc77fc63465b48">StandaloneWindow</a>(Application &amp;app)</td><td class="entry"><a class="el" href="classStandaloneWindow.html">StandaloneWindow</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classStandaloneWindow.html#a86e7db3cd8830628b37d0608df40963c">StandaloneWindow</a>(Application &amp;app, Window &amp;transientParentWindow)</td><td class="entry"><a class="el" href="classStandaloneWindow.html">StandaloneWindow</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="classTopLevelWidget.html#a3cdeec5e7b144cc48d89e748a37f538e">TopLevelWidget</a>(Window &amp;windowToMapTo)</td><td class="entry"><a class="el" href="classTopLevelWidget.html">TopLevelWidget</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classWindow.html#a2f6257937261fcb3e627752dfb248d47">Window::Window</a>(Application &amp;app)</td><td class="entry"><a class="el" href="classWindow.html">Window</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
<tr><td class="entry"><a class="el" href="classWindow.html#a647ec84da28005ecf0501825af77adec">Window::Window</a>(Application &amp;app, Window &amp;transientParentWindow)</td><td class="entry"><a class="el" href="classWindow.html">Window</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classWindow.html#a2cd48e2c2d816439cf38faf5c7a9736f">Window::Window</a>(Application &amp;app, uintptr_t parentWindowHandle, double scaleFactor, bool resizable)</td><td class="entry"><a class="el" href="classWindow.html">Window</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
<tr><td class="entry"><a class="el" href="classWindow.html#ada557b4543c122a0de22c876c55504ae">Window::Window</a>(Application &amp;app, uintptr_t parentWindowHandle, uint width, uint height, double scaleFactor, bool resizable)</td><td class="entry"><a class="el" href="classWindow.html">Window</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classTopLevelWidget.html#af60daa3513ca7f7d05575ab3feaee268">~TopLevelWidget</a>() override</td><td class="entry"><a class="el" href="classTopLevelWidget.html">TopLevelWidget</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classWidget.html#a714cf798aadb4d615f6f60a355382c02">~Widget</a>()</td><td class="entry"><a class="el" href="classWidget.html">Widget</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classWindow.html#a62b4a97b3c2e492f1d9a46092011e2d9">~Window</a>()</td><td class="entry"><a class="el" href="classWindow.html">Window</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Mar 31 2022 17:09:26 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
Generated on Wed Jul 27 2022 00:46:18 for DISTRHO Plugin Framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

+ 19
- 25
classImageBaseAboutWindow.html View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DISTRHO Plugin Framework: ImageBaseAboutWindow&lt; ImageType &gt; Class Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -29,10 +29,10 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
@@ -214,10 +214,10 @@ void&#160;</td><td class="memItemRight" valign="bottom"><b>setGeometryConstraint
<tr class="separator:ab5cbe1298a28a1860319198a4c843183 inherit pub_methods_classWindow"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a36a04e5f5ecc6ee5228f9da6df43e865 inherit pub_methods_classWindow"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWindow.html#a36a04e5f5ecc6ee5228f9da6df43e865">setIgnoringKeyRepeat</a> (bool ignore) noexcept</td></tr>
<tr class="separator:a36a04e5f5ecc6ee5228f9da6df43e865 inherit pub_methods_classWindow"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac8244e75f9fdb4fe886b226959f568f9 inherit pub_methods_classWindow"><td class="memItemLeft" align="right" valign="top">const void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWindow.html#ac8244e75f9fdb4fe886b226959f568f9">getClipboard</a> (size_t &amp;dataSize)</td></tr>
<tr class="separator:ac8244e75f9fdb4fe886b226959f568f9 inherit pub_methods_classWindow"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a88bf8d28d58fbe390359bd220137311e inherit pub_methods_classWindow"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWindow.html#a88bf8d28d58fbe390359bd220137311e">setClipboard</a> (const char *mimeType, const void *data, size_t dataSize)</td></tr>
<tr class="separator:a88bf8d28d58fbe390359bd220137311e inherit pub_methods_classWindow"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a74e09b4aef222345feeecbd024b330cd inherit pub_methods_classWindow"><td class="memItemLeft" align="right" valign="top">const void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWindow.html#a74e09b4aef222345feeecbd024b330cd">getClipboard</a> (const char *&amp;mimeType, size_t &amp;dataSize)</td></tr>
<tr class="separator:a74e09b4aef222345feeecbd024b330cd inherit pub_methods_classWindow"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aabcbd667b0c4dd4665d13beb940fa700 inherit pub_methods_classWindow"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWindow.html#aabcbd667b0c4dd4665d13beb940fa700">setCursor</a> (MouseCursor cursor)</td></tr>
<tr class="separator:aabcbd667b0c4dd4665d13beb940fa700 inherit pub_methods_classWindow"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad17a7f53a62673982f4861cdc27fd54e inherit pub_methods_classWindow"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWindow.html#ad17a7f53a62673982f4861cdc27fd54e">addIdleCallback</a> (<a class="el" href="structIdleCallback.html">IdleCallback</a> *callback, uint timerFrequencyInMs=0)</td></tr>
@@ -234,8 +234,8 @@ void&#160;</td><td class="memItemRight" valign="bottom"><b>setGeometryConstraint
<tr class="separator:a77774c8ce4b01113fcd525079f9b8787 inherit pub_methods_classWindow"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a03985e4ca2c9b4fcf572b5029e8c0115 inherit pub_methods_classWindow"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWindow.html#a03985e4ca2c9b4fcf572b5029e8c0115">focus</a> ()</td></tr>
<tr class="separator:a03985e4ca2c9b4fcf572b5029e8c0115 inherit pub_methods_classWindow"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7d2a006347a7fb95e63140ad2cec531c inherit pub_methods_classWindow"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWindow.html#a7d2a006347a7fb95e63140ad2cec531c">openFileBrowser</a> (const <a class="el" href="structFileBrowserOptions.html">FileBrowserOptions</a> &amp;options=<a class="el" href="structFileBrowserOptions.html">FileBrowserOptions</a>())</td></tr>
<tr class="separator:a7d2a006347a7fb95e63140ad2cec531c inherit pub_methods_classWindow"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a56ed4c181deb56c7fcec2b2cfe7295bd inherit pub_methods_classWindow"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWindow.html#a56ed4c181deb56c7fcec2b2cfe7295bd">openFileBrowser</a> (const DGL_NAMESPACE::FileBrowserOptions &amp;options=<a class="el" href="structFileBrowserOptions.html">FileBrowserOptions</a>())</td></tr>
<tr class="separator:a56ed4c181deb56c7fcec2b2cfe7295bd inherit pub_methods_classWindow"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a729ab39a1ac99d81b289e08a42582ade inherit pub_methods_classWindow"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWindow.html#a729ab39a1ac99d81b289e08a42582ade">repaint</a> () noexcept</td></tr>
<tr class="separator:a729ab39a1ac99d81b289e08a42582ade inherit pub_methods_classWindow"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a33f9518b6f3209cd8201106260c9e42c inherit pub_methods_classWindow"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWindow.html#a33f9518b6f3209cd8201106260c9e42c">repaint</a> (const <a class="el" href="classRectangle.html">Rectangle</a>&lt; uint &gt; &amp;rect) noexcept</td></tr>
@@ -248,6 +248,8 @@ void&#160;</td><td class="memItemRight" valign="bottom"><b>setGeometryConstraint
<tr class="separator:a540fbc63288c019f420123644acc6a11 inherit pub_methods_classWindow"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa3824e300206b15241df8c8c78785d73 inherit pub_methods_classWindow"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWindow.html#aa3824e300206b15241df8c8c78785d73">setGeometryConstraints</a> (uint minimumWidth, uint minimumHeight, bool keepAspectRatio=false, bool automaticallyScale=false, bool resizeNowIfAutoScaling=true)</td></tr>
<tr class="separator:aa3824e300206b15241df8c8c78785d73 inherit pub_methods_classWindow"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab3fd6ca05bdbd2df01665192cde2ff34 inherit pub_methods_classWindow"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWindow.html#ab3fd6ca05bdbd2df01665192cde2ff34">setTransientParent</a> (uintptr_t transientParentWindowHandle)</td></tr>
<tr class="separator:ab3fd6ca05bdbd2df01665192cde2ff34 inherit pub_methods_classWindow"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0e1895a4e93ee0d7c34a9b10953c968e inherit pub_methods_classWindow"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWindow.html#a0e1895a4e93ee0d7c34a9b10953c968e">getIgnoringKeyRepeat</a> () const noexcept</td></tr>
<tr class="separator:a0e1895a4e93ee0d7c34a9b10953c968e inherit pub_methods_classWindow"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9b94fea3236d1d49e3fbd53a8d9cc70b inherit pub_methods_classWindow"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWindow.html#a9b94fea3236d1d49e3fbd53a8d9cc70b">getScaling</a> () const noexcept</td></tr>
@@ -257,8 +259,8 @@ void&#160;</td><td class="memItemRight" valign="bottom"><b>setGeometryConstraint
<tr class="inherit_header pub_methods_classTopLevelWidget"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classTopLevelWidget')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classTopLevelWidget.html">TopLevelWidget</a></td></tr>
<tr class="memitem:a3cdeec5e7b144cc48d89e748a37f538e inherit pub_methods_classTopLevelWidget"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTopLevelWidget.html#a3cdeec5e7b144cc48d89e748a37f538e">TopLevelWidget</a> (<a class="el" href="classWindow.html">Window</a> &amp;windowToMapTo)</td></tr>
<tr class="separator:a3cdeec5e7b144cc48d89e748a37f538e inherit pub_methods_classTopLevelWidget"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a73c0ee0ce1e84c9e18d0f6dcdcb9104a inherit pub_methods_classTopLevelWidget"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTopLevelWidget.html#a73c0ee0ce1e84c9e18d0f6dcdcb9104a">~TopLevelWidget</a> ()</td></tr>
<tr class="separator:a73c0ee0ce1e84c9e18d0f6dcdcb9104a inherit pub_methods_classTopLevelWidget"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af60daa3513ca7f7d05575ab3feaee268 inherit pub_methods_classTopLevelWidget"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTopLevelWidget.html#af60daa3513ca7f7d05575ab3feaee268">~TopLevelWidget</a> () override</td></tr>
<tr class="separator:af60daa3513ca7f7d05575ab3feaee268 inherit pub_methods_classTopLevelWidget"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af5c5c403ba231c14b3a41684bef45648 inherit pub_methods_classTopLevelWidget"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classApplication.html">Application</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTopLevelWidget.html#af5c5c403ba231c14b3a41684bef45648">getApp</a> () const noexcept</td></tr>
<tr class="separator:af5c5c403ba231c14b3a41684bef45648 inherit pub_methods_classTopLevelWidget"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3ceb7af6e9372a139d40a5859dfd0e4d inherit pub_methods_classTopLevelWidget"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classWindow.html">Window</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTopLevelWidget.html#a3ceb7af6e9372a139d40a5859dfd0e4d">getWindow</a> () const noexcept</td></tr>
@@ -275,12 +277,12 @@ void&#160;</td><td class="memItemRight" valign="bottom"><b>setGeometryConstraint
<tr class="separator:a5b71bc1266aea488b1f85b83744adbfd inherit pub_methods_classTopLevelWidget"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4a9b2d040ba36825fd95f966bb4d9e36 inherit pub_methods_classTopLevelWidget"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTopLevelWidget.html#a4a9b2d040ba36825fd95f966bb4d9e36">repaint</a> (const <a class="el" href="classRectangle.html">Rectangle</a>&lt; uint &gt; &amp;rect) noexcept</td></tr>
<tr class="separator:a4a9b2d040ba36825fd95f966bb4d9e36 inherit pub_methods_classTopLevelWidget"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1fbfc17e10dbe06cfcf656ebd3438da0 inherit pub_methods_classTopLevelWidget"><td class="memItemLeft" align="right" valign="top"><a id="a1fbfc17e10dbe06cfcf656ebd3438da0"></a>
const void *&#160;</td><td class="memItemRight" valign="bottom"><b>getClipboard</b> (size_t &amp;dataSize)</td></tr>
<tr class="separator:a1fbfc17e10dbe06cfcf656ebd3438da0 inherit pub_methods_classTopLevelWidget"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a74ed1b7de337a9d4447903644087ef32 inherit pub_methods_classTopLevelWidget"><td class="memItemLeft" align="right" valign="top"><a id="a74ed1b7de337a9d4447903644087ef32"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>setClipboard</b> (const char *mimeType, const void *data, size_t dataSize)</td></tr>
<tr class="separator:a74ed1b7de337a9d4447903644087ef32 inherit pub_methods_classTopLevelWidget"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9afc8d1c10e429aa4ef96876b97c5d75 inherit pub_methods_classTopLevelWidget"><td class="memItemLeft" align="right" valign="top"><a id="a9afc8d1c10e429aa4ef96876b97c5d75"></a>
const void *&#160;</td><td class="memItemRight" valign="bottom"><b>getClipboard</b> (const char *&amp;mimeType, size_t &amp;dataSize)</td></tr>
<tr class="separator:a9afc8d1c10e429aa4ef96876b97c5d75 inherit pub_methods_classTopLevelWidget"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a21314d0829749739ee1c438e691a5f49 inherit pub_methods_classTopLevelWidget"><td class="memItemLeft" align="right" valign="top"><a id="a21314d0829749739ee1c438e691a5f49"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>setCursor</b> (MouseCursor cursor)</td></tr>
<tr class="separator:a21314d0829749739ee1c438e691a5f49 inherit pub_methods_classTopLevelWidget"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -355,6 +357,10 @@ Protected Member Functions</h2></td></tr>
<tr class="memitem:ad2c3d4c6943a5562574baf60f58de483"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classImageBaseAboutWindow.html#ad2c3d4c6943a5562574baf60f58de483">onMouse</a> (const <a class="el" href="structWidget_1_1MouseEvent.html">MouseEvent</a> &amp;) override</td></tr>
<tr class="separator:ad2c3d4c6943a5562574baf60f58de483"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_methods_classWindow"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classWindow')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="classWindow.html">Window</a></td></tr>
<tr class="memitem:a6071a51d8fd2c150bcfc240ba43f7b2b inherit pro_methods_classWindow"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="structClipboardDataOffer.html">ClipboardDataOffer</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWindow.html#a6071a51d8fd2c150bcfc240ba43f7b2b">getClipboardDataOfferTypes</a> ()</td></tr>
<tr class="separator:a6071a51d8fd2c150bcfc240ba43f7b2b inherit pro_methods_classWindow"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0d6c68dee413b400e599f715f2e3b5e7 inherit pro_methods_classWindow"><td class="memItemLeft" align="right" valign="top">virtual uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWindow.html#a0d6c68dee413b400e599f715f2e3b5e7">onClipboardDataOffer</a> ()</td></tr>
<tr class="separator:a0d6c68dee413b400e599f715f2e3b5e7 inherit pro_methods_classWindow"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a979cfd2bc52650f07b789217d6c6f570 inherit pro_methods_classWindow"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWindow.html#a979cfd2bc52650f07b789217d6c6f570">onClose</a> ()</td></tr>
<tr class="separator:a979cfd2bc52650f07b789217d6c6f570 inherit pro_methods_classWindow"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a754415613248bd3b5068d76c4cfe3704 inherit pro_methods_classWindow"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWindow.html#a754415613248bd3b5068d76c4cfe3704">onFocus</a> (bool <a class="el" href="classWindow.html#a03985e4ca2c9b4fcf572b5029e8c0115">focus</a>, CrossingMode mode)</td></tr>
@@ -383,16 +389,6 @@ Protected Member Functions</h2></td></tr>
<tr class="separator:acc0365ec4b9245bdffb8d0285be55dea inherit pro_methods_classWidget"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3b42652fcb2f95c6f86bdd43a1727507 inherit pro_methods_classWidget"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWidget.html#a3b42652fcb2f95c6f86bdd43a1727507">onSpecial</a> (const SpecialEvent &amp;)</td></tr>
<tr class="separator:a3b42652fcb2f95c6f86bdd43a1727507 inherit pro_methods_classWidget"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
Additional Inherited Members</h2></td></tr>
<tr class="inherit_header pub_types_classWindow"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classWindow')"><img src="closed.png" alt="-"/>&#160;Public Types inherited from <a class="el" href="classWindow.html">Window</a></td></tr>
<tr class="memitem:a3ef841505ec27623b0dfcaf8da57df92 inherit pub_types_classWindow"><td class="memItemLeft" align="right" valign="top"><a id="a3ef841505ec27623b0dfcaf8da57df92"></a>
typedef DISTRHO_NAMESPACE::FileBrowserHandle&#160;</td><td class="memItemRight" valign="bottom"><b>FileBrowserHandle</b></td></tr>
<tr class="separator:a3ef841505ec27623b0dfcaf8da57df92 inherit pub_types_classWindow"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abaf74a42f154e16a6319779998a87b95 inherit pub_types_classWindow"><td class="memItemLeft" align="right" valign="top"><a id="abaf74a42f154e16a6319779998a87b95"></a>
typedef DISTRHO_NAMESPACE::FileBrowserOptions&#160;</td><td class="memItemRight" valign="bottom"><b>FileBrowserOptions</b></td></tr>
<tr class="separator:abaf74a42f154e16a6319779998a87b95 inherit pub_types_classWindow"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><h3>template&lt;class ImageType&gt;<br />
@@ -601,9 +597,7 @@ template&lt;class ImageType &gt; </div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Mar 31 2022 17:09:26 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
Generated on Wed Jul 27 2022 00:46:18 for DISTRHO Plugin Framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

+ 5
- 7
classImageBaseButton-members.html View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DISTRHO Plugin Framework: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -29,10 +29,10 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
@@ -145,14 +145,12 @@ $(function() {
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>triggerUserCallback</b>(SubWidget *widget, int button) (defined in <a class="el" href="classButtonEventHandler.html">ButtonEventHandler</a>)</td><td class="entry"><a class="el" href="classButtonEventHandler.html">ButtonEventHandler</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>~ButtonEventHandler</b>() (defined in <a class="el" href="classButtonEventHandler.html">ButtonEventHandler</a>)</td><td class="entry"><a class="el" href="classButtonEventHandler.html">ButtonEventHandler</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~ImageBaseButton</b>() override (defined in <a class="el" href="classImageBaseButton.html">ImageBaseButton&lt; ImageType &gt;</a>)</td><td class="entry"><a class="el" href="classImageBaseButton.html">ImageBaseButton&lt; ImageType &gt;</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classSubWidget.html#a0f6225f53db69cd682910939edc9fd96">~SubWidget</a>()</td><td class="entry"><a class="el" href="classSubWidget.html">SubWidget</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="classSubWidget.html#a7ac8a2d6086eceb5af7b7fa5a157e2bc">~SubWidget</a>() override</td><td class="entry"><a class="el" href="classSubWidget.html">SubWidget</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classWidget.html#a714cf798aadb4d615f6f60a355382c02">~Widget</a>()</td><td class="entry"><a class="el" href="classWidget.html">Widget</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Mar 31 2022 17:09:26 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
Generated on Wed Jul 27 2022 00:46:18 for DISTRHO Plugin Framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

+ 10
- 12
classImageBaseButton.html View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DISTRHO Plugin Framework: ImageBaseButton&lt; ImageType &gt; Class Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -29,10 +29,10 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
@@ -106,8 +106,8 @@ void&#160;</td><td class="memItemRight" valign="bottom"><b>setCallback</b> (<a c
<tr class="inherit_header pub_methods_classSubWidget"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classSubWidget')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classSubWidget.html">SubWidget</a></td></tr>
<tr class="memitem:a9fda448971613b2758fd9570c3065f7a inherit pub_methods_classSubWidget"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSubWidget.html#a9fda448971613b2758fd9570c3065f7a">SubWidget</a> (<a class="el" href="classWidget.html">Widget</a> *parentWidget)</td></tr>
<tr class="separator:a9fda448971613b2758fd9570c3065f7a inherit pub_methods_classSubWidget"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0f6225f53db69cd682910939edc9fd96 inherit pub_methods_classSubWidget"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSubWidget.html#a0f6225f53db69cd682910939edc9fd96">~SubWidget</a> ()</td></tr>
<tr class="separator:a0f6225f53db69cd682910939edc9fd96 inherit pub_methods_classSubWidget"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7ac8a2d6086eceb5af7b7fa5a157e2bc inherit pub_methods_classSubWidget"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSubWidget.html#a7ac8a2d6086eceb5af7b7fa5a157e2bc">~SubWidget</a> () override</td></tr>
<tr class="separator:a7ac8a2d6086eceb5af7b7fa5a157e2bc inherit pub_methods_classSubWidget"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac9b4d3e2a3a39e588504dd33c1d9ca95 inherit pub_methods_classSubWidget"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:ac9b4d3e2a3a39e588504dd33c1d9ca95 inherit pub_methods_classSubWidget"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classSubWidget.html#ac9b4d3e2a3a39e588504dd33c1d9ca95">contains</a> (T x, T y) const noexcept</td></tr>
<tr class="separator:ac9b4d3e2a3a39e588504dd33c1d9ca95 inherit pub_methods_classSubWidget"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -273,10 +273,10 @@ void&#160;</td><td class="memItemRight" valign="bottom"><b>triggerUserCallback</
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
Additional Inherited Members</h2></td></tr>
<tr class="inherit_header pub_types_classButtonEventHandler"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classButtonEventHandler')"><img src="closed.png" alt="-"/>&#160;Public Types inherited from <a class="el" href="classButtonEventHandler.html">ButtonEventHandler</a></td></tr>
<tr class="memitem:a93c2ffcfc3a54567fb060b2f7d42be4c inherit pub_types_classButtonEventHandler"><td class="memItemLeft" align="right" valign="top"><a id="a93c2ffcfc3a54567fb060b2f7d42be4c"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><b>State</b> { <b>kButtonStateDefault</b> = 0x0,
<b>kButtonStateHover</b> = 0x1,
<b>kButtonStateActive</b> = 0x2,
<b>kButtonStateActiveHover</b> = kButtonStateActive|kButtonStateHover
<tr class="memitem:a93c2ffcfc3a54567fb060b2f7d42be4c inherit pub_types_classButtonEventHandler"><td class="memItemLeft" align="right" valign="top"><a id="a93c2ffcfc3a54567fb060b2f7d42be4c"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><b>State</b> { <b>kButtonStateDefault</b> = 0x0
, <b>kButtonStateHover</b> = 0x1
, <b>kButtonStateActive</b> = 0x2
, <b>kButtonStateActiveHover</b> = kButtonStateActive|kButtonStateHover
}</td></tr>
<tr class="separator:a93c2ffcfc3a54567fb060b2f7d42be4c inherit pub_types_classButtonEventHandler"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
@@ -387,9 +387,7 @@ template&lt;class ImageType &gt; </div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Mar 31 2022 17:09:26 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
Generated on Wed Jul 27 2022 00:46:18 for DISTRHO Plugin Framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

+ 4
- 6
classImageBaseButton_1_1Callback-members.html View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DISTRHO Plugin Framework: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -29,10 +29,10 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
@@ -77,9 +77,7 @@ $(function() {
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Mar 31 2022 17:09:26 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
Generated on Wed Jul 27 2022 00:46:18 for DISTRHO Plugin Framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

+ 4
- 6
classImageBaseButton_1_1Callback.html View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DISTRHO Plugin Framework: ImageBaseButton&lt; ImageType &gt;::Callback Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -29,10 +29,10 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
@@ -85,9 +85,7 @@ virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>imageButtonCl
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Mar 31 2022 17:09:26 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
Generated on Wed Jul 27 2022 00:46:18 for DISTRHO Plugin Framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

+ 5
- 7
classImageBaseKnob-members.html View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DISTRHO Plugin Framework: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -29,10 +29,10 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
@@ -150,14 +150,12 @@ $(function() {
<tr bgcolor="#f0f0f0"><td class="entry"><b>Vertical</b> enum value (defined in <a class="el" href="classKnobEventHandler.html">KnobEventHandler</a>)</td><td class="entry"><a class="el" href="classKnobEventHandler.html">KnobEventHandler</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~ImageBaseKnob</b>() override (defined in <a class="el" href="classImageBaseKnob.html">ImageBaseKnob&lt; ImageType &gt;</a>)</td><td class="entry"><a class="el" href="classImageBaseKnob.html">ImageBaseKnob&lt; ImageType &gt;</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>~KnobEventHandler</b>() (defined in <a class="el" href="classKnobEventHandler.html">KnobEventHandler</a>)</td><td class="entry"><a class="el" href="classKnobEventHandler.html">KnobEventHandler</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classSubWidget.html#a0f6225f53db69cd682910939edc9fd96">~SubWidget</a>()</td><td class="entry"><a class="el" href="classSubWidget.html">SubWidget</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classSubWidget.html#a7ac8a2d6086eceb5af7b7fa5a157e2bc">~SubWidget</a>() override</td><td class="entry"><a class="el" href="classSubWidget.html">SubWidget</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classWidget.html#a714cf798aadb4d615f6f60a355382c02">~Widget</a>()</td><td class="entry"><a class="el" href="classWidget.html">Widget</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Mar 31 2022 17:09:26 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
Generated on Wed Jul 27 2022 00:46:18 for DISTRHO Plugin Framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

+ 12
- 14
classImageBaseKnob.html View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DISTRHO Plugin Framework: ImageBaseKnob&lt; ImageType &gt; Class Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -29,10 +29,10 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
@@ -115,8 +115,8 @@ bool&#160;</td><td class="memItemRight" valign="bottom"><b>setValue</b> (float v
<tr class="inherit_header pub_methods_classSubWidget"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classSubWidget')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classSubWidget.html">SubWidget</a></td></tr>
<tr class="memitem:a9fda448971613b2758fd9570c3065f7a inherit pub_methods_classSubWidget"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSubWidget.html#a9fda448971613b2758fd9570c3065f7a">SubWidget</a> (<a class="el" href="classWidget.html">Widget</a> *parentWidget)</td></tr>
<tr class="separator:a9fda448971613b2758fd9570c3065f7a inherit pub_methods_classSubWidget"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0f6225f53db69cd682910939edc9fd96 inherit pub_methods_classSubWidget"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSubWidget.html#a0f6225f53db69cd682910939edc9fd96">~SubWidget</a> ()</td></tr>
<tr class="separator:a0f6225f53db69cd682910939edc9fd96 inherit pub_methods_classSubWidget"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7ac8a2d6086eceb5af7b7fa5a157e2bc inherit pub_methods_classSubWidget"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSubWidget.html#a7ac8a2d6086eceb5af7b7fa5a157e2bc">~SubWidget</a> () override</td></tr>
<tr class="separator:a7ac8a2d6086eceb5af7b7fa5a157e2bc inherit pub_methods_classSubWidget"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac9b4d3e2a3a39e588504dd33c1d9ca95 inherit pub_methods_classSubWidget"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:ac9b4d3e2a3a39e588504dd33c1d9ca95 inherit pub_methods_classSubWidget"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classSubWidget.html#ac9b4d3e2a3a39e588504dd33c1d9ca95">contains</a> (T x, T y) const noexcept</td></tr>
<tr class="separator:ac9b4d3e2a3a39e588504dd33c1d9ca95 inherit pub_methods_classSubWidget"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -279,14 +279,14 @@ Protected Member Functions</h2></td></tr>
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
Additional Inherited Members</h2></td></tr>
<tr class="inherit_header pub_types_classKnobEventHandler"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classKnobEventHandler')"><img src="closed.png" alt="-"/>&#160;Public Types inherited from <a class="el" href="classKnobEventHandler.html">KnobEventHandler</a></td></tr>
<tr class="memitem:af36be885045fea73f06c0ffd94c8667b inherit pub_types_classKnobEventHandler"><td class="memItemLeft" align="right" valign="top"><a id="af36be885045fea73f06c0ffd94c8667b"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><b>Orientation</b> { <b>Horizontal</b>,
<b>Vertical</b>
<tr class="memitem:af36be885045fea73f06c0ffd94c8667b inherit pub_types_classKnobEventHandler"><td class="memItemLeft" align="right" valign="top"><a id="af36be885045fea73f06c0ffd94c8667b"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><b>Orientation</b> { <b>Horizontal</b>
, <b>Vertical</b>
}</td></tr>
<tr class="separator:af36be885045fea73f06c0ffd94c8667b inherit pub_types_classKnobEventHandler"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a59cb5b018c4e2bf768a526847dd8b03a inherit pub_types_classKnobEventHandler"><td class="memItemLeft" align="right" valign="top"><a id="a59cb5b018c4e2bf768a526847dd8b03a"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><b>State</b> { <b>kKnobStateDefault</b> = 0x0,
<b>kKnobStateHover</b> = 0x1,
<b>kKnobStateDragging</b> = 0x2,
<b>kKnobStateDraggingHover</b> = kKnobStateDragging|kKnobStateHover
<tr class="memitem:a59cb5b018c4e2bf768a526847dd8b03a inherit pub_types_classKnobEventHandler"><td class="memItemLeft" align="right" valign="top"><a id="a59cb5b018c4e2bf768a526847dd8b03a"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><b>State</b> { <b>kKnobStateDefault</b> = 0x0
, <b>kKnobStateHover</b> = 0x1
, <b>kKnobStateDragging</b> = 0x2
, <b>kKnobStateDraggingHover</b> = kKnobStateDragging|kKnobStateHover
}</td></tr>
<tr class="separator:a59cb5b018c4e2bf768a526847dd8b03a inherit pub_types_classKnobEventHandler"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
@@ -428,9 +428,7 @@ template&lt;class ImageType &gt; </div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Mar 31 2022 17:09:26 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
Generated on Wed Jul 27 2022 00:46:18 for DISTRHO Plugin Framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

+ 4
- 6
classImageBaseKnob_1_1Callback-members.html View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DISTRHO Plugin Framework: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -29,10 +29,10 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
@@ -79,9 +79,7 @@ $(function() {
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Mar 31 2022 17:09:26 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
Generated on Wed Jul 27 2022 00:46:18 for DISTRHO Plugin Framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

+ 4
- 6
classImageBaseKnob_1_1Callback.html View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DISTRHO Plugin Framework: ImageBaseKnob&lt; ImageType &gt;::Callback Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -29,10 +29,10 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
@@ -91,9 +91,7 @@ virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>imageKnobValu
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Mar 31 2022 17:09:26 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
Generated on Wed Jul 27 2022 00:46:18 for DISTRHO Plugin Framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

+ 5
- 7
classImageBaseSlider-members.html View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DISTRHO Plugin Framework: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -29,10 +29,10 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
@@ -130,14 +130,12 @@ $(function() {
<tr><td class="entry"><a class="el" href="classSubWidget.html#a9fda448971613b2758fd9570c3065f7a">SubWidget</a>(Widget *parentWidget)</td><td class="entry"><a class="el" href="classSubWidget.html">SubWidget</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classSubWidget.html#a3426cbcf0104c8a5c9996e3efff75381">toFront</a>()</td><td class="entry"><a class="el" href="classSubWidget.html">SubWidget</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>~ImageBaseSlider</b>() override (defined in <a class="el" href="classImageBaseSlider.html">ImageBaseSlider&lt; ImageType &gt;</a>)</td><td class="entry"><a class="el" href="classImageBaseSlider.html">ImageBaseSlider&lt; ImageType &gt;</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classSubWidget.html#a0f6225f53db69cd682910939edc9fd96">~SubWidget</a>()</td><td class="entry"><a class="el" href="classSubWidget.html">SubWidget</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classSubWidget.html#a7ac8a2d6086eceb5af7b7fa5a157e2bc">~SubWidget</a>() override</td><td class="entry"><a class="el" href="classSubWidget.html">SubWidget</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classWidget.html#a714cf798aadb4d615f6f60a355382c02">~Widget</a>()</td><td class="entry"><a class="el" href="classWidget.html">Widget</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Mar 31 2022 17:09:26 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
Generated on Wed Jul 27 2022 00:46:18 for DISTRHO Plugin Framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

+ 6
- 8
classImageBaseSlider.html View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DISTRHO Plugin Framework: ImageBaseSlider&lt; ImageType &gt; Class Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -29,10 +29,10 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
@@ -127,8 +127,8 @@ void&#160;</td><td class="memItemRight" valign="bottom"><b>setCallback</b> (<a c
<tr class="inherit_header pub_methods_classSubWidget"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classSubWidget')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classSubWidget.html">SubWidget</a></td></tr>
<tr class="memitem:a9fda448971613b2758fd9570c3065f7a inherit pub_methods_classSubWidget"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSubWidget.html#a9fda448971613b2758fd9570c3065f7a">SubWidget</a> (<a class="el" href="classWidget.html">Widget</a> *parentWidget)</td></tr>
<tr class="separator:a9fda448971613b2758fd9570c3065f7a inherit pub_methods_classSubWidget"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0f6225f53db69cd682910939edc9fd96 inherit pub_methods_classSubWidget"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSubWidget.html#a0f6225f53db69cd682910939edc9fd96">~SubWidget</a> ()</td></tr>
<tr class="separator:a0f6225f53db69cd682910939edc9fd96 inherit pub_methods_classSubWidget"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7ac8a2d6086eceb5af7b7fa5a157e2bc inherit pub_methods_classSubWidget"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSubWidget.html#a7ac8a2d6086eceb5af7b7fa5a157e2bc">~SubWidget</a> () override</td></tr>
<tr class="separator:a7ac8a2d6086eceb5af7b7fa5a157e2bc inherit pub_methods_classSubWidget"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac9b4d3e2a3a39e588504dd33c1d9ca95 inherit pub_methods_classSubWidget"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:ac9b4d3e2a3a39e588504dd33c1d9ca95 inherit pub_methods_classSubWidget"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classSubWidget.html#ac9b4d3e2a3a39e588504dd33c1d9ca95">contains</a> (T x, T y) const noexcept</td></tr>
<tr class="separator:ac9b4d3e2a3a39e588504dd33c1d9ca95 inherit pub_methods_classSubWidget"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -337,9 +337,7 @@ template&lt;class ImageType &gt; </div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Mar 31 2022 17:09:26 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
Generated on Wed Jul 27 2022 00:46:18 for DISTRHO Plugin Framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

+ 4
- 6
classImageBaseSlider_1_1Callback-members.html View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DISTRHO Plugin Framework: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -29,10 +29,10 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
@@ -79,9 +79,7 @@ $(function() {
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Mar 31 2022 17:09:26 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
Generated on Wed Jul 27 2022 00:46:18 for DISTRHO Plugin Framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

+ 4
- 6
classImageBaseSlider_1_1Callback.html View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DISTRHO Plugin Framework: ImageBaseSlider&lt; ImageType &gt;::Callback Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -29,10 +29,10 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
@@ -91,9 +91,7 @@ virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>imageSliderVa
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Mar 31 2022 17:09:26 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
Generated on Wed Jul 27 2022 00:46:18 for DISTRHO Plugin Framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

+ 5
- 7
classImageBaseSwitch-members.html View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DISTRHO Plugin Framework: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -29,10 +29,10 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
@@ -124,14 +124,12 @@ $(function() {
<tr><td class="entry"><a class="el" href="classSubWidget.html#a9fda448971613b2758fd9570c3065f7a">SubWidget</a>(Widget *parentWidget)</td><td class="entry"><a class="el" href="classSubWidget.html">SubWidget</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classSubWidget.html#a3426cbcf0104c8a5c9996e3efff75381">toFront</a>()</td><td class="entry"><a class="el" href="classSubWidget.html">SubWidget</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>~ImageBaseSwitch</b>() override (defined in <a class="el" href="classImageBaseSwitch.html">ImageBaseSwitch&lt; ImageType &gt;</a>)</td><td class="entry"><a class="el" href="classImageBaseSwitch.html">ImageBaseSwitch&lt; ImageType &gt;</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classSubWidget.html#a0f6225f53db69cd682910939edc9fd96">~SubWidget</a>()</td><td class="entry"><a class="el" href="classSubWidget.html">SubWidget</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classSubWidget.html#a7ac8a2d6086eceb5af7b7fa5a157e2bc">~SubWidget</a>() override</td><td class="entry"><a class="el" href="classSubWidget.html">SubWidget</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classWidget.html#a714cf798aadb4d615f6f60a355382c02">~Widget</a>()</td><td class="entry"><a class="el" href="classWidget.html">Widget</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Mar 31 2022 17:09:26 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
Generated on Wed Jul 27 2022 00:46:18 for DISTRHO Plugin Framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

+ 6
- 8
classImageBaseSwitch.html View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DISTRHO Plugin Framework: ImageBaseSwitch&lt; ImageType &gt; Class Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -29,10 +29,10 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
@@ -109,8 +109,8 @@ void&#160;</td><td class="memItemRight" valign="bottom"><b>setCallback</b> (<a c
<tr class="inherit_header pub_methods_classSubWidget"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classSubWidget')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classSubWidget.html">SubWidget</a></td></tr>
<tr class="memitem:a9fda448971613b2758fd9570c3065f7a inherit pub_methods_classSubWidget"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSubWidget.html#a9fda448971613b2758fd9570c3065f7a">SubWidget</a> (<a class="el" href="classWidget.html">Widget</a> *parentWidget)</td></tr>
<tr class="separator:a9fda448971613b2758fd9570c3065f7a inherit pub_methods_classSubWidget"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0f6225f53db69cd682910939edc9fd96 inherit pub_methods_classSubWidget"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSubWidget.html#a0f6225f53db69cd682910939edc9fd96">~SubWidget</a> ()</td></tr>
<tr class="separator:a0f6225f53db69cd682910939edc9fd96 inherit pub_methods_classSubWidget"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7ac8a2d6086eceb5af7b7fa5a157e2bc inherit pub_methods_classSubWidget"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSubWidget.html#a7ac8a2d6086eceb5af7b7fa5a157e2bc">~SubWidget</a> () override</td></tr>
<tr class="separator:a7ac8a2d6086eceb5af7b7fa5a157e2bc inherit pub_methods_classSubWidget"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac9b4d3e2a3a39e588504dd33c1d9ca95 inherit pub_methods_classSubWidget"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:ac9b4d3e2a3a39e588504dd33c1d9ca95 inherit pub_methods_classSubWidget"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classSubWidget.html#ac9b4d3e2a3a39e588504dd33c1d9ca95">contains</a> (T x, T y) const noexcept</td></tr>
<tr class="separator:ac9b4d3e2a3a39e588504dd33c1d9ca95 inherit pub_methods_classSubWidget"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -288,9 +288,7 @@ template&lt;class ImageType &gt; </div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Mar 31 2022 17:09:26 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
Generated on Wed Jul 27 2022 00:46:18 for DISTRHO Plugin Framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

+ 4
- 6
classImageBaseSwitch_1_1Callback-members.html View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DISTRHO Plugin Framework: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -29,10 +29,10 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
@@ -77,9 +77,7 @@ $(function() {
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Mar 31 2022 17:09:26 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
Generated on Wed Jul 27 2022 00:46:18 for DISTRHO Plugin Framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

+ 4
- 6
classImageBaseSwitch_1_1Callback.html View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DISTRHO Plugin Framework: ImageBaseSwitch&lt; ImageType &gt;::Callback Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -29,10 +29,10 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
@@ -85,9 +85,7 @@ virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>imageSwitchCl
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Mar 31 2022 17:09:26 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
Generated on Wed Jul 27 2022 00:46:18 for DISTRHO Plugin Framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

+ 4
- 6
classKnobEventHandler-members.html View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DISTRHO Plugin Framework: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -29,10 +29,10 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
@@ -97,9 +97,7 @@ $(function() {
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Mar 31 2022 17:09:26 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
Generated on Wed Jul 27 2022 00:46:18 for DISTRHO Plugin Framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

+ 10
- 12
classKnobEventHandler.html View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DISTRHO Plugin Framework: KnobEventHandler Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -29,10 +29,10 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
@@ -88,14 +88,14 @@ Classes</h2></td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:af36be885045fea73f06c0ffd94c8667b"><td class="memItemLeft" align="right" valign="top"><a id="af36be885045fea73f06c0ffd94c8667b"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><b>Orientation</b> { <b>Horizontal</b>,
<b>Vertical</b>
<tr class="memitem:af36be885045fea73f06c0ffd94c8667b"><td class="memItemLeft" align="right" valign="top"><a id="af36be885045fea73f06c0ffd94c8667b"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><b>Orientation</b> { <b>Horizontal</b>
, <b>Vertical</b>
}</td></tr>
<tr class="separator:af36be885045fea73f06c0ffd94c8667b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a59cb5b018c4e2bf768a526847dd8b03a"><td class="memItemLeft" align="right" valign="top"><a id="a59cb5b018c4e2bf768a526847dd8b03a"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><b>State</b> { <b>kKnobStateDefault</b> = 0x0,
<b>kKnobStateHover</b> = 0x1,
<b>kKnobStateDragging</b> = 0x2,
<b>kKnobStateDraggingHover</b> = kKnobStateDragging|kKnobStateHover
<tr class="memitem:a59cb5b018c4e2bf768a526847dd8b03a"><td class="memItemLeft" align="right" valign="top"><a id="a59cb5b018c4e2bf768a526847dd8b03a"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><b>State</b> { <b>kKnobStateDefault</b> = 0x0
, <b>kKnobStateHover</b> = 0x1
, <b>kKnobStateDragging</b> = 0x2
, <b>kKnobStateDraggingHover</b> = kKnobStateDragging|kKnobStateHover
}</td></tr>
<tr class="separator:a59cb5b018c4e2bf768a526847dd8b03a"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
@@ -162,9 +162,7 @@ Protected Member Functions</h2></td></tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Mar 31 2022 17:09:26 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
Generated on Wed Jul 27 2022 00:46:18 for DISTRHO Plugin Framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

+ 4
- 6
classKnobEventHandler_1_1Callback-members.html View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DISTRHO Plugin Framework: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -29,10 +29,10 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
@@ -79,9 +79,7 @@ $(function() {
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Mar 31 2022 17:09:26 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
Generated on Wed Jul 27 2022 00:46:18 for DISTRHO Plugin Framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

+ 4
- 6
classKnobEventHandler_1_1Callback.html View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DISTRHO Plugin Framework: KnobEventHandler::Callback Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -29,10 +29,10 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
@@ -91,9 +91,7 @@ virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>knobValueChan
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Mar 31 2022 17:09:26 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
Generated on Wed Jul 27 2022 00:46:18 for DISTRHO Plugin Framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

+ 4
- 6
classLeakedObjectDetector-members.html View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DISTRHO Plugin Framework: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -29,10 +29,10 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
@@ -74,9 +74,7 @@ $(function() {
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Mar 31 2022 17:09:26 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
Generated on Wed Jul 27 2022 00:46:18 for DISTRHO Plugin Framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

+ 4
- 6
classLeakedObjectDetector.html View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DISTRHO Plugin Framework: LeakedObjectDetector&lt; OwnerClass &gt; Class Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -29,10 +29,10 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
@@ -124,9 +124,7 @@ template&lt;class OwnerClass &gt; </div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Mar 31 2022 17:09:26 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
Generated on Wed Jul 27 2022 00:46:18 for DISTRHO Plugin Framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

+ 4
- 6
classLine-members.html View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DISTRHO Plugin Framework: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -29,10 +29,10 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
@@ -100,9 +100,7 @@ $(function() {
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Mar 31 2022 17:09:26 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
Generated on Wed Jul 27 2022 00:46:18 for DISTRHO Plugin Framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

+ 4
- 6
classLine.html View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DISTRHO Plugin Framework: Line&lt; T &gt; Class Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -29,10 +29,10 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
@@ -982,9 +982,7 @@ DEPRECATED Please use draw(const GraphicsContext&amp;) instead. </p>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Mar 31 2022 17:09:26 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
Generated on Wed Jul 27 2022 00:46:18 for DISTRHO Plugin Framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

+ 4
- 6
classMutex-members.html View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DISTRHO Plugin Framework: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -29,10 +29,10 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
@@ -76,9 +76,7 @@ $(function() {
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Mar 31 2022 17:09:26 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
Generated on Wed Jul 27 2022 00:46:18 for DISTRHO Plugin Framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

+ 4
- 6
classMutex.html View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DISTRHO Plugin Framework: Mutex Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -29,10 +29,10 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
@@ -90,9 +90,7 @@ void&#160;</td><td class="memItemRight" valign="bottom"><b>unlock</b> () const n
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Mar 31 2022 17:09:26 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
Generated on Wed Jul 27 2022 00:46:18 for DISTRHO Plugin Framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

+ 5
- 7
classNanoBaseWidget-members.html View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DISTRHO Plugin Framework: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -29,10 +29,10 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
@@ -194,14 +194,12 @@ $(function() {
<tr><td class="entry"><a class="el" href="classNanoVG.html#a022e3cdfa06f5bc9103b37dfa64adb2c">transformTranslate</a>(float dst[6], float tx, float ty)</td><td class="entry"><a class="el" href="classNanoVG.html">NanoVG</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classNanoVG.html#abc1d6466eb7fdc57a869ec7b9fdd6bdf">translate</a>(float x, float y)</td><td class="entry"><a class="el" href="classNanoVG.html">NanoVG</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>Winding</b> enum name (defined in <a class="el" href="classNanoVG.html">NanoVG</a>)</td><td class="entry"><a class="el" href="classNanoVG.html">NanoVG</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classNanoBaseWidget.html#a902dabbadc38052f23a0a1820ddf8003">~NanoBaseWidget</a>()</td><td class="entry"><a class="el" href="classNanoBaseWidget.html">NanoBaseWidget&lt; BaseWidget &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classNanoBaseWidget.html#a7baf9307e082a627e7fae8732346174b">~NanoBaseWidget</a>() override</td><td class="entry"><a class="el" href="classNanoBaseWidget.html">NanoBaseWidget&lt; BaseWidget &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="classNanoVG.html#a3e05169f4e66e811537adaea17e4bb3f">~NanoVG</a>()</td><td class="entry"><a class="el" href="classNanoVG.html">NanoVG</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Mar 31 2022 17:09:26 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
Generated on Wed Jul 27 2022 00:46:18 for DISTRHO Plugin Framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

+ 35
- 37
classNanoBaseWidget.html View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DISTRHO Plugin Framework: NanoBaseWidget&lt; BaseWidget &gt; Class Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -29,10 +29,10 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
@@ -91,8 +91,8 @@ Public Member Functions</h2></td></tr>
<tr class="separator:a4f7e3ad95f8f5ba93fb2e452afd88115"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a595d332ead95b9102a16f8f9bc53a8e8"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classNanoBaseWidget.html#a595d332ead95b9102a16f8f9bc53a8e8">NanoBaseWidget</a> (<a class="el" href="classApplication.html">Application</a> &amp;app, <a class="el" href="classWindow.html">Window</a> &amp;transientParentWindow, int flags=<a class="el" href="classNanoVG.html#a54ec9a68401121aab78976df6d3891a9a4fb2bb2ad2eccc922e6e5613ca1bf19e">CREATE_ANTIALIAS</a>)</td></tr>
<tr class="separator:a595d332ead95b9102a16f8f9bc53a8e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a902dabbadc38052f23a0a1820ddf8003"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classNanoBaseWidget.html#a902dabbadc38052f23a0a1820ddf8003">~NanoBaseWidget</a> ()</td></tr>
<tr class="separator:a902dabbadc38052f23a0a1820ddf8003"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7baf9307e082a627e7fae8732346174b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classNanoBaseWidget.html#a7baf9307e082a627e7fae8732346174b">~NanoBaseWidget</a> () override</td></tr>
<tr class="separator:a7baf9307e082a627e7fae8732346174b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classNanoVG"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classNanoVG')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classNanoVG.html">NanoVG</a></td></tr>
<tr class="memitem:a79dfc0b6c38ec95cef030df2b7a663ef inherit pub_methods_classNanoVG"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classNanoVG.html#a79dfc0b6c38ec95cef030df2b7a663ef">NanoVG</a> (int flags=<a class="el" href="classNanoVG.html#a54ec9a68401121aab78976df6d3891a9a4fb2bb2ad2eccc922e6e5613ca1bf19e">CREATE_ANTIALIAS</a>)</td></tr>
<tr class="separator:a79dfc0b6c38ec95cef030df2b7a663ef inherit pub_methods_classNanoVG"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -269,49 +269,49 @@ Protected Member Functions</h2></td></tr>
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
Additional Inherited Members</h2></td></tr>
<tr class="inherit_header pub_types_classNanoVG"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classNanoVG')"><img src="closed.png" alt="-"/>&#160;Public Types inherited from <a class="el" href="classNanoVG.html">NanoVG</a></td></tr>
<tr class="memitem:a54ec9a68401121aab78976df6d3891a9 inherit pub_types_classNanoVG"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classNanoVG.html#a54ec9a68401121aab78976df6d3891a9">CreateFlags</a> { <a class="el" href="classNanoVG.html#a54ec9a68401121aab78976df6d3891a9a4fb2bb2ad2eccc922e6e5613ca1bf19e">CREATE_ANTIALIAS</a> = 1 &lt;&lt; 0,
<a class="el" href="classNanoVG.html#a54ec9a68401121aab78976df6d3891a9aa4539b7424f6885f382ad911c5eb4ad3">CREATE_STENCIL_STROKES</a> = 1 &lt;&lt; 1,
<a class="el" href="classNanoVG.html#a54ec9a68401121aab78976df6d3891a9ace85d2e89072533bdc5d326df30f82c5">CREATE_DEBUG</a> = 1 &lt;&lt; 2
<tr class="memitem:a54ec9a68401121aab78976df6d3891a9 inherit pub_types_classNanoVG"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classNanoVG.html#a54ec9a68401121aab78976df6d3891a9">CreateFlags</a> { <a class="el" href="classNanoVG.html#a54ec9a68401121aab78976df6d3891a9a4fb2bb2ad2eccc922e6e5613ca1bf19e">CREATE_ANTIALIAS</a> = 1 &lt;&lt; 0
, <a class="el" href="classNanoVG.html#a54ec9a68401121aab78976df6d3891a9aa4539b7424f6885f382ad911c5eb4ad3">CREATE_STENCIL_STROKES</a> = 1 &lt;&lt; 1
, <a class="el" href="classNanoVG.html#a54ec9a68401121aab78976df6d3891a9ace85d2e89072533bdc5d326df30f82c5">CREATE_DEBUG</a> = 1 &lt;&lt; 2
}</td></tr>
<tr class="separator:a54ec9a68401121aab78976df6d3891a9 inherit pub_types_classNanoVG"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a37b54bf970ad0a4e3bc5bdfedebfbd30 inherit pub_types_classNanoVG"><td class="memItemLeft" align="right" valign="top"><a id="a37b54bf970ad0a4e3bc5bdfedebfbd30"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><b>ImageFlags</b> { <br />
&#160;&#160;<b>IMAGE_GENERATE_MIPMAPS</b> = 1 &lt;&lt; 0,
<b>IMAGE_REPEAT_X</b> = 1 &lt;&lt; 1,
<b>IMAGE_REPEAT_Y</b> = 1 &lt;&lt; 2,
<b>IMAGE_FLIP_Y</b> = 1 &lt;&lt; 3,
<br />
&#160;&#160;<b>IMAGE_GENERATE_MIPMAPS</b> = 1 &lt;&lt; 0
, <b>IMAGE_REPEAT_X</b> = 1 &lt;&lt; 1
, <b>IMAGE_REPEAT_Y</b> = 1 &lt;&lt; 2
, <b>IMAGE_FLIP_Y</b> = 1 &lt;&lt; 3
, <br />
&#160;&#160;<b>IMAGE_PREMULTIPLIED</b> = 1 &lt;&lt; 4
<br />
}</td></tr>
<tr class="separator:a37b54bf970ad0a4e3bc5bdfedebfbd30 inherit pub_types_classNanoVG"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aef0fef7702b2af6ea0eeceeb6d03d5e1 inherit pub_types_classNanoVG"><td class="memItemLeft" align="right" valign="top"><a id="aef0fef7702b2af6ea0eeceeb6d03d5e1"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><b>Align</b> { <br />
&#160;&#160;<b>ALIGN_LEFT</b> = 1 &lt;&lt; 0,
<b>ALIGN_CENTER</b> = 1 &lt;&lt; 1,
<b>ALIGN_RIGHT</b> = 1 &lt;&lt; 2,
<b>ALIGN_TOP</b> = 1 &lt;&lt; 3,
<br />
&#160;&#160;<b>ALIGN_MIDDLE</b> = 1 &lt;&lt; 4,
<b>ALIGN_BOTTOM</b> = 1 &lt;&lt; 5,
<b>ALIGN_BASELINE</b> = 1 &lt;&lt; 6
&#160;&#160;<b>ALIGN_LEFT</b> = 1 &lt;&lt; 0
, <b>ALIGN_CENTER</b> = 1 &lt;&lt; 1
, <b>ALIGN_RIGHT</b> = 1 &lt;&lt; 2
, <b>ALIGN_TOP</b> = 1 &lt;&lt; 3
, <br />
&#160;&#160;<b>ALIGN_MIDDLE</b> = 1 &lt;&lt; 4
, <b>ALIGN_BOTTOM</b> = 1 &lt;&lt; 5
, <b>ALIGN_BASELINE</b> = 1 &lt;&lt; 6
<br />
}</td></tr>
<tr class="separator:aef0fef7702b2af6ea0eeceeb6d03d5e1 inherit pub_types_classNanoVG"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2bd8c4bfd8ab252a81c4c33d49ed6efc inherit pub_types_classNanoVG"><td class="memItemLeft" align="right" valign="top"><a id="a2bd8c4bfd8ab252a81c4c33d49ed6efc"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><b>LineCap</b> { <br />
&#160;&#160;<b>BUTT</b>,
<b>ROUND</b>,
<b>SQUARE</b>,
<b>BEVEL</b>,
<br />
&#160;&#160;<b>BUTT</b>
, <b>ROUND</b>
, <b>SQUARE</b>
, <b>BEVEL</b>
, <br />
&#160;&#160;<b>MITER</b>
<br />
}</td></tr>
<tr class="separator:a2bd8c4bfd8ab252a81c4c33d49ed6efc inherit pub_types_classNanoVG"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9e709cdf2bba4c4c0872684ee39f14b0 inherit pub_types_classNanoVG"><td class="memItemLeft" align="right" valign="top"><a id="a9e709cdf2bba4c4c0872684ee39f14b0"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><b>Solidity</b> { <b>SOLID</b> = 1,
<b>HOLE</b> = 2
<tr class="memitem:a9e709cdf2bba4c4c0872684ee39f14b0 inherit pub_types_classNanoVG"><td class="memItemLeft" align="right" valign="top"><a id="a9e709cdf2bba4c4c0872684ee39f14b0"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><b>Solidity</b> { <b>SOLID</b> = 1
, <b>HOLE</b> = 2
}</td></tr>
<tr class="separator:a9e709cdf2bba4c4c0872684ee39f14b0 inherit pub_types_classNanoVG"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a34d4f52f08f69ca1efcecd6699f9d434 inherit pub_types_classNanoVG"><td class="memItemLeft" align="right" valign="top"><a id="a34d4f52f08f69ca1efcecd6699f9d434"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><b>Winding</b> { <b>CCW</b> = 1,
<b>CW</b> = 2
<tr class="memitem:a34d4f52f08f69ca1efcecd6699f9d434 inherit pub_types_classNanoVG"><td class="memItemLeft" align="right" valign="top"><a id="a34d4f52f08f69ca1efcecd6699f9d434"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><b>Winding</b> { <b>CCW</b> = 1
, <b>CW</b> = 2
}</td></tr>
<tr class="separator:a34d4f52f08f69ca1efcecd6699f9d434 inherit pub_types_classNanoVG"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab3095a2dda8a9f0293f3451687eb9d7d inherit pub_types_classNanoVG"><td class="memItemLeft" align="right" valign="top"><a id="ab3095a2dda8a9f0293f3451687eb9d7d"></a>
@@ -512,8 +512,8 @@ template&lt;class BaseWidget &gt; </div>

</div>
</div>
<a id="a902dabbadc38052f23a0a1820ddf8003"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a902dabbadc38052f23a0a1820ddf8003">&#9670;&nbsp;</a></span>~NanoBaseWidget()</h2>
<a id="a7baf9307e082a627e7fae8732346174b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7baf9307e082a627e7fae8732346174b">&#9670;&nbsp;</a></span>~NanoBaseWidget()</h2>

<div class="memitem">
<div class="memproto">
@@ -524,7 +524,7 @@ template&lt;class BaseWidget &gt; </div>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual <a class="el" href="classNanoBaseWidget.html">NanoBaseWidget</a>&lt; BaseWidget &gt;::~<a class="el" href="classNanoBaseWidget.html">NanoBaseWidget</a> </td>
<td class="memname"><a class="el" href="classNanoBaseWidget.html">NanoBaseWidget</a>&lt; BaseWidget &gt;::~<a class="el" href="classNanoBaseWidget.html">NanoBaseWidget</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
@@ -532,7 +532,7 @@ template&lt;class BaseWidget &gt; </div>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">override</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
@@ -575,9 +575,7 @@ template&lt;class BaseWidget &gt; </div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Mar 31 2022 17:09:26 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
Generated on Wed Jul 27 2022 00:46:18 for DISTRHO Plugin Framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

+ 4
- 6
classNanoImage-members.html View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DISTRHO Plugin Framework: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -29,10 +29,10 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
@@ -79,9 +79,7 @@ $(function() {
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Mar 31 2022 17:09:26 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
Generated on Wed Jul 27 2022 00:46:18 for DISTRHO Plugin Framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

+ 4
- 6
classNanoImage.html View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DISTRHO Plugin Framework: NanoImage Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -29,10 +29,10 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
@@ -251,9 +251,7 @@ class&#160;</td><td class="memItemRight" valign="bottom"><b>NanoVG</b></td></tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Mar 31 2022 17:09:26 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
Generated on Wed Jul 27 2022 00:46:18 for DISTRHO Plugin Framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

+ 4
- 6
classNanoVG-members.html View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DISTRHO Plugin Framework: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -29,10 +29,10 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
@@ -197,9 +197,7 @@ $(function() {
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Mar 31 2022 17:09:26 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
Generated on Wed Jul 27 2022 00:46:18 for DISTRHO Plugin Framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

+ 29
- 31
classNanoVG.html View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DISTRHO Plugin Framework: NanoVG Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -29,10 +29,10 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
@@ -94,49 +94,49 @@ Classes</h2></td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:a54ec9a68401121aab78976df6d3891a9"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classNanoVG.html#a54ec9a68401121aab78976df6d3891a9">CreateFlags</a> { <a class="el" href="classNanoVG.html#a54ec9a68401121aab78976df6d3891a9a4fb2bb2ad2eccc922e6e5613ca1bf19e">CREATE_ANTIALIAS</a> = 1 &lt;&lt; 0,
<a class="el" href="classNanoVG.html#a54ec9a68401121aab78976df6d3891a9aa4539b7424f6885f382ad911c5eb4ad3">CREATE_STENCIL_STROKES</a> = 1 &lt;&lt; 1,
<a class="el" href="classNanoVG.html#a54ec9a68401121aab78976df6d3891a9ace85d2e89072533bdc5d326df30f82c5">CREATE_DEBUG</a> = 1 &lt;&lt; 2
<tr class="memitem:a54ec9a68401121aab78976df6d3891a9"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classNanoVG.html#a54ec9a68401121aab78976df6d3891a9">CreateFlags</a> { <a class="el" href="classNanoVG.html#a54ec9a68401121aab78976df6d3891a9a4fb2bb2ad2eccc922e6e5613ca1bf19e">CREATE_ANTIALIAS</a> = 1 &lt;&lt; 0
, <a class="el" href="classNanoVG.html#a54ec9a68401121aab78976df6d3891a9aa4539b7424f6885f382ad911c5eb4ad3">CREATE_STENCIL_STROKES</a> = 1 &lt;&lt; 1
, <a class="el" href="classNanoVG.html#a54ec9a68401121aab78976df6d3891a9ace85d2e89072533bdc5d326df30f82c5">CREATE_DEBUG</a> = 1 &lt;&lt; 2
}</td></tr>
<tr class="separator:a54ec9a68401121aab78976df6d3891a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a37b54bf970ad0a4e3bc5bdfedebfbd30"><td class="memItemLeft" align="right" valign="top"><a id="a37b54bf970ad0a4e3bc5bdfedebfbd30"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><b>ImageFlags</b> { <br />
&#160;&#160;<b>IMAGE_GENERATE_MIPMAPS</b> = 1 &lt;&lt; 0,
<b>IMAGE_REPEAT_X</b> = 1 &lt;&lt; 1,
<b>IMAGE_REPEAT_Y</b> = 1 &lt;&lt; 2,
<b>IMAGE_FLIP_Y</b> = 1 &lt;&lt; 3,
<br />
&#160;&#160;<b>IMAGE_GENERATE_MIPMAPS</b> = 1 &lt;&lt; 0
, <b>IMAGE_REPEAT_X</b> = 1 &lt;&lt; 1
, <b>IMAGE_REPEAT_Y</b> = 1 &lt;&lt; 2
, <b>IMAGE_FLIP_Y</b> = 1 &lt;&lt; 3
, <br />
&#160;&#160;<b>IMAGE_PREMULTIPLIED</b> = 1 &lt;&lt; 4
<br />
}</td></tr>
<tr class="separator:a37b54bf970ad0a4e3bc5bdfedebfbd30"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aef0fef7702b2af6ea0eeceeb6d03d5e1"><td class="memItemLeft" align="right" valign="top"><a id="aef0fef7702b2af6ea0eeceeb6d03d5e1"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><b>Align</b> { <br />
&#160;&#160;<b>ALIGN_LEFT</b> = 1 &lt;&lt; 0,
<b>ALIGN_CENTER</b> = 1 &lt;&lt; 1,
<b>ALIGN_RIGHT</b> = 1 &lt;&lt; 2,
<b>ALIGN_TOP</b> = 1 &lt;&lt; 3,
<br />
&#160;&#160;<b>ALIGN_MIDDLE</b> = 1 &lt;&lt; 4,
<b>ALIGN_BOTTOM</b> = 1 &lt;&lt; 5,
<b>ALIGN_BASELINE</b> = 1 &lt;&lt; 6
&#160;&#160;<b>ALIGN_LEFT</b> = 1 &lt;&lt; 0
, <b>ALIGN_CENTER</b> = 1 &lt;&lt; 1
, <b>ALIGN_RIGHT</b> = 1 &lt;&lt; 2
, <b>ALIGN_TOP</b> = 1 &lt;&lt; 3
, <br />
&#160;&#160;<b>ALIGN_MIDDLE</b> = 1 &lt;&lt; 4
, <b>ALIGN_BOTTOM</b> = 1 &lt;&lt; 5
, <b>ALIGN_BASELINE</b> = 1 &lt;&lt; 6
<br />
}</td></tr>
<tr class="separator:aef0fef7702b2af6ea0eeceeb6d03d5e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2bd8c4bfd8ab252a81c4c33d49ed6efc"><td class="memItemLeft" align="right" valign="top"><a id="a2bd8c4bfd8ab252a81c4c33d49ed6efc"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><b>LineCap</b> { <br />
&#160;&#160;<b>BUTT</b>,
<b>ROUND</b>,
<b>SQUARE</b>,
<b>BEVEL</b>,
<br />
&#160;&#160;<b>BUTT</b>
, <b>ROUND</b>
, <b>SQUARE</b>
, <b>BEVEL</b>
, <br />
&#160;&#160;<b>MITER</b>
<br />
}</td></tr>
<tr class="separator:a2bd8c4bfd8ab252a81c4c33d49ed6efc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9e709cdf2bba4c4c0872684ee39f14b0"><td class="memItemLeft" align="right" valign="top"><a id="a9e709cdf2bba4c4c0872684ee39f14b0"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><b>Solidity</b> { <b>SOLID</b> = 1,
<b>HOLE</b> = 2
<tr class="memitem:a9e709cdf2bba4c4c0872684ee39f14b0"><td class="memItemLeft" align="right" valign="top"><a id="a9e709cdf2bba4c4c0872684ee39f14b0"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><b>Solidity</b> { <b>SOLID</b> = 1
, <b>HOLE</b> = 2
}</td></tr>
<tr class="separator:a9e709cdf2bba4c4c0872684ee39f14b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a34d4f52f08f69ca1efcecd6699f9d434"><td class="memItemLeft" align="right" valign="top"><a id="a34d4f52f08f69ca1efcecd6699f9d434"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><b>Winding</b> { <b>CCW</b> = 1,
<b>CW</b> = 2
<tr class="memitem:a34d4f52f08f69ca1efcecd6699f9d434"><td class="memItemLeft" align="right" valign="top"><a id="a34d4f52f08f69ca1efcecd6699f9d434"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><b>Winding</b> { <b>CCW</b> = 1
, <b>CW</b> = 2
}</td></tr>
<tr class="separator:a34d4f52f08f69ca1efcecd6699f9d434"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab3095a2dda8a9f0293f3451687eb9d7d"><td class="memItemLeft" align="right" valign="top"><a id="ab3095a2dda8a9f0293f3451687eb9d7d"></a>
@@ -3457,9 +3457,7 @@ Text</h1>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Mar 31 2022 17:09:26 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
Generated on Wed Jul 27 2022 00:46:18 for DISTRHO Plugin Framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

+ 4
- 6
classOpenGLImage-members.html View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DISTRHO Plugin Framework: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -29,10 +29,10 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
@@ -106,9 +106,7 @@ $(function() {
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Mar 31 2022 17:09:27 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
Generated on Wed Jul 27 2022 00:46:18 for DISTRHO Plugin Framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

+ 4
- 6
classOpenGLImage.html View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DISTRHO Plugin Framework: OpenGLImage Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -29,10 +29,10 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
@@ -620,9 +620,7 @@ ImageFormat&#160;</td><td class="memItemRight" valign="bottom"><b>format</b></td
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Mar 31 2022 17:09:27 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
Generated on Wed Jul 27 2022 00:46:18 for DISTRHO Plugin Framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

+ 4
- 6
classPlugin-members.html View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DISTRHO Plugin Framework: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -29,10 +29,10 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
@@ -109,9 +109,7 @@ $(function() {
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Mar 31 2022 17:09:27 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
Generated on Wed Jul 27 2022 00:46:18 for DISTRHO Plugin Framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

+ 4
- 6
classPlugin.html View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DISTRHO Plugin Framework: Plugin Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -29,10 +29,10 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
@@ -1291,9 +1291,7 @@ This function will only be called when the plugin is deactivated. </p><dl class=
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Mar 31 2022 17:09:27 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
Generated on Wed Jul 27 2022 00:46:18 for DISTRHO Plugin Framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

+ 4
- 6
classPoint-members.html View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DISTRHO Plugin Framework: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -29,10 +29,10 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
@@ -95,9 +95,7 @@ $(function() {
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Mar 31 2022 17:09:27 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
Generated on Wed Jul 27 2022 00:46:18 for DISTRHO Plugin Framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

+ 4
- 6
classPoint.html View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DISTRHO Plugin Framework: Point&lt; T &gt; Class Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -29,10 +29,10 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
@@ -557,9 +557,7 @@ template&lt;typename T &gt; </div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Mar 31 2022 17:09:27 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
Generated on Wed Jul 27 2022 00:46:18 for DISTRHO Plugin Framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

+ 4
- 6
classRectangle-members.html View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DISTRHO Plugin Framework: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -29,10 +29,10 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
@@ -116,9 +116,7 @@ $(function() {
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Mar 31 2022 17:09:27 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
Generated on Wed Jul 27 2022 00:46:18 for DISTRHO Plugin Framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

+ 4
- 6
classRectangle.html View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DISTRHO Plugin Framework: Rectangle&lt; T &gt; Class Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -29,10 +29,10 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
@@ -1437,9 +1437,7 @@ DEPRECATED Please use <a class="el" href="classRectangle.html#ab07a01fb85e96f8f7
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Mar 31 2022 17:09:27 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
Generated on Wed Jul 27 2022 00:46:18 for DISTRHO Plugin Framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

+ 4
- 6
classRecursiveMutex-members.html View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DISTRHO Plugin Framework: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -29,10 +29,10 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
@@ -76,9 +76,7 @@ $(function() {
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Mar 31 2022 17:09:27 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
Generated on Wed Jul 27 2022 00:46:18 for DISTRHO Plugin Framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save