Browse Source

update

Signed-off-by: falkTX <falktx@falktx.com>
gh-pages
falkTX 1 year ago
parent
commit
14db3e2aba
Signed by: falkTX <falktx@falktx.com> GPG Key ID: CDBAA37ABC74FBA0
100 changed files with 8633 additions and 6250 deletions
  1. +3
    -3
      Application_8hpp_source.html
  2. +1
    -1
      Base64_8hpp_source.html
  3. +237
    -196
      Base_8hpp_source.html
  4. +2
    -2
      Cairo_8hpp_source.html
  5. +75
    -43
      Color_8hpp_source.html
  6. +1244
    -0
      DistrhoDetails_8hpp_source.html
  7. +298
    -269
      DistrhoInfo_8hpp_source.html
  8. +4
    -4
      DistrhoPluginUtils_8hpp_source.html
  9. +395
    -1379
      DistrhoPlugin_8hpp_source.html
  10. +2
    -2
      DistrhoStandaloneUtils_8hpp_source.html
  11. +394
    -393
      DistrhoUI_8hpp_source.html
  12. +298
    -241
      DistrhoUtils_8hpp_source.html
  13. +4
    -4
      EventHandlers_8hpp_source.html
  14. +6
    -6
      ExternalWindow_8hpp_source.html
  15. +90
    -85
      FileBrowserDialogImpl_8hpp_source.html
  16. +1
    -1
      Geometry_8hpp_source.html
  17. +66
    -65
      ImageBaseWidgets_8hpp_source.html
  18. +1
    -1
      ImageBase_8hpp_source.html
  19. +1
    -1
      ImageWidgets_8hpp_source.html
  20. +5
    -5
      LeakDetector_8hpp_source.html
  21. +2
    -2
      LibraryUtils_8hpp_source.html
  22. +367
    -338
      Mutex_8hpp_source.html
  23. +69
    -85
      OpenGL-include_8hpp_source.html
  24. +20
    -19
      OpenGL_8hpp_source.html
  25. +610
    -588
      RingBuffer_8hpp_source.html
  26. +4
    -4
      Runner_8hpp_source.html
  27. +193
    -0
      ScopedDenormalDisable_8hpp_source.html
  28. +2
    -2
      ScopedPointer_8hpp_source.html
  29. +2
    -2
      ScopedSafeLocale_8hpp_source.html
  30. +51
    -40
      StandaloneWindow_8hpp_source.html
  31. +947
    -933
      String_8hpp_source.html
  32. +255
    -249
      Thread_8hpp_source.html
  33. +4
    -4
      TopLevelWidget_8hpp_source.html
  34. +287
    -0
      ValueSmoother_8hpp_source.html
  35. +1
    -1
      Vulkan_8hpp_source.html
  36. +34
    -29
      Widget_8hpp_source.html
  37. +448
    -442
      Window_8hpp_source.html
  38. +84
    -81
      annotated.html
  39. +86
    -0
      classExponentialValueSmoother-members.html
  40. +118
    -0
      classExponentialValueSmoother.html
  41. +3
    -1
      classHeapRingBuffer-members.html
  42. +6
    -0
      classHeapRingBuffer.html
  43. +41
    -40
      classImageBaseAboutWindow-members.html
  44. +2
    -0
      classImageBaseAboutWindow.html
  45. +29
    -28
      classImageBaseSlider-members.html
  46. +3
    -0
      classImageBaseSlider.html
  47. +86
    -0
      classLinearValueSmoother-members.html
  48. +118
    -0
      classLinearValueSmoother.html
  49. +16
    -15
      classPlugin-members.html
  50. +45
    -2
      classPlugin.html
  51. +3
    -1
      classRingBufferControl-members.html
  52. +11
    -5
      classRingBufferControl.html
  53. +79
    -0
      classScopedDenormalDisable-members.html
  54. +84
    -0
      classScopedDenormalDisable.html
  55. +3
    -1
      classSmallStackRingBuffer-members.html
  56. +6
    -0
      classSmallStackRingBuffer.html
  57. +40
    -39
      classStandaloneWindow-members.html
  58. +28
    -0
      classStandaloneWindow.html
  59. +3
    -3
      classes.html
  60. +2
    -2
      distrho_2extra_2FileBrowserDialog_8hpp_source.html
  61. +14
    -11
      files.html
  62. +4
    -1
      functions_c.html
  63. +3
    -0
      functions_d.html
  64. +4
    -4
      functions_func_g.html
  65. +6
    -0
      functions_func_i.html
  66. +3
    -0
      functions_func_m.html
  67. +6
    -3
      functions_func_p.html
  68. +4
    -0
      functions_func_r.html
  69. +4
    -4
      functions_g.html
  70. +7
    -1
      functions_i.html
  71. +1
    -1
      functions_k.html
  72. +3
    -0
      functions_m.html
  73. +5
    -2
      functions_p.html
  74. +6
    -2
      functions_r.html
  75. +7
    -1
      functions_vars.html
  76. +61
    -36
      group__AudioPortHints.html
  77. +18
    -0
      group__ExtraPluginMacros.html
  78. +156
    -28
      group__MathFunctions.html
  79. +30
    -1
      group__MiscellaneousFunctions.html
  80. +68
    -42
      group__ParameterHints.html
  81. +56
    -0
      group__PluginMacros.html
  82. +36
    -36
      group__StateHints.html
  83. +93
    -90
      hierarchy.html
  84. +16
    -16
      index.html
  85. +5
    -0
      menudata.js
  86. +7
    -7
      modules.html
  87. +134
    -0
      namespaceParameterDesignationSymbols.html
  88. +78
    -0
      namespacemembers.html
  89. +78
    -0
      namespacemembers_vars.html
  90. +80
    -0
      namespaces.html
  91. +3
    -1
      search/all_1.js
  92. +32
    -31
      search/all_10.js
  93. +90
    -89
      search/all_11.js
  94. +37
    -37
      search/all_12.js
  95. +6
    -6
      search/all_13.js
  96. +7
    -7
      search/all_14.js
  97. +7
    -7
      search/all_15.js
  98. +21
    -21
      search/all_16.js
  99. +38
    -37
      search/all_2.js
  100. +80
    -71
      search/all_3.js

+ 3
- 3
Application_8hpp_source.html View File

@@ -220,9 +220,9 @@ $(function() {
<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:920</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:914</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="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:949</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:943</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:259</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>


+ 1
- 1
Base64_8hpp_source.html View File

@@ -219,7 +219,7 @@ $(function() {
<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 </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 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:171</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>


+ 237
- 196
Base_8hpp_source.html View File

@@ -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-2022 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-2024 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>
@@ -111,204 +111,245 @@ $(function() {
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;<span class="comment"> Keyboard modifier flags.</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="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; 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>
<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; 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; kModifierNumLock = 1U &lt;&lt; 4U, <span class="comment">///&lt; Num lock enabled</span></div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; kModifierScrollLock = 1U &lt;&lt; 5U, <span class="comment">///&lt; Scroll lock enabled</span></div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; kModifierCapsLock = 1U &lt;&lt; 6U, <span class="comment">///&lt; Caps lock enabled</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="comment"></span> </div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;<span class="comment"> All keys are identified by a Unicode code point in Widget::KeyboardEvent::key.</span></div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;<span class="comment"> This enumeration defines constants for special keys that do not have a standard</span></div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;<span class="comment"> code point, and some convenience constants for control characters.</span></div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;<span class="comment"> Note that all keys are handled in the same way, this enumeration is just for</span></div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;<span class="comment"> convenience when writing hard-coded key bindings.</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"> Keys that do not have a standard code point use values in the Private Use</span></div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;<span class="comment"> Area in the Basic Multilingual Plane (`U+E000` to `U+F8FF`).</span></div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;<span class="comment"> Applications must take care to not interpret these values beyond key detection,</span></div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;<span class="comment"> the mapping used here is arbitrary and specific to DPF.</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">enum</span> Key {</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; <span class="comment">// Convenience symbols for ASCII control characters</span></div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; kKeyBackspace = 0x08,</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; kKeyEscape = 0x1B,</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; kKeyDelete = 0x7F,</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">// Backwards compatibility with old DPF</span></div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; kCharBackspace DISTRHO_DEPRECATED_BY(<span class="stringliteral">&quot;kKeyBackspace&quot;</span>) = kKeyBackspace,</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; kCharEscape DISTRHO_DEPRECATED_BY(<span class="stringliteral">&quot;kKeyEscape&quot;</span>) = kKeyEscape,</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; kCharDelete DISTRHO_DEPRECATED_BY(<span class="stringliteral">&quot;kKeyDelete&quot;</span>) = kKeyDelete,</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">// Unicode Private Use Area</span></div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; kKeyF1 = 0xE000,</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; kKeyF2,</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; kKeyF3,</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; kKeyF4,</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; kKeyF5,</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; kKeyF6,</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; kKeyF7,</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; kKeyF8,</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; kKeyF9,</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; kKeyF10,</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; kKeyF11,</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; kKeyF12,</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; kKeyLeft,</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; kKeyUp,</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; kKeyRight,</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; kKeyDown,</div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; kKeyPageUp,</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; kKeyPageDown,</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; kKeyHome,</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; kKeyEnd,</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; kKeyInsert,</div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; kKeyShift,</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; kKeyShiftL = kKeyShift,</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; kKeyShiftR,</div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; kKeyControl,</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; kKeyControlL = kKeyControl,</div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; kKeyControlR,</div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; kKeyAlt,</div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; kKeyAltL = kKeyAlt,</div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; kKeyAltR,</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; kKeySuper,</div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; kKeySuperL = kKeySuper,</div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; kKeySuperR,</div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; kKeyMenu,</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; kKeyCapsLock,</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; kKeyScrollLock,</div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; kKeyNumLock,</div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; kKeyPrintScreen,</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; kKeyPause</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;<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"> Common flags for all events.</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">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; 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; 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 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"> 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"> 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="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"> Keyboard key codepoints.</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"> All keys are identified by a Unicode code point in Widget::KeyboardEvent::key.</span></div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;<span class="comment"> This enumeration defines constants for special keys that do not have a standard</span></div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;<span class="comment"> code point, and some convenience constants for control characters.</span></div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;<span class="comment"> Note that all keys are handled in the same way, this enumeration is just for</span></div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;<span class="comment"> convenience when writing hard-coded key bindings.</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="comment"> Keys that do not have a standard code point use values in the Private Use</span></div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;<span class="comment"> Area in the Basic Multilingual Plane (`U+E000` to `U+F8FF`).</span></div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;<span class="comment"> Applications must take care to not interpret these values beyond key detection,</span></div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;<span class="comment"> the mapping used here is arbitrary and specific to DPF.</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="keyword">enum</span> Key {</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <span class="comment">// Convenience symbols for ASCII control characters</span></div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; kKeyBackspace = 0x00000008U, <span class="comment">///&lt; Backspace</span></div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; kKeyTab = 0x00000009U, <span class="comment">///&lt; Tab</span></div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; kKeyEnter = 0x0000000DU, <span class="comment">///&lt; Enter</span></div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; kKeyEscape = 0x0000001BU, <span class="comment">///&lt; Escape</span></div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; kKeyDelete = 0x0000007FU, <span class="comment">///&lt; Delete</span></div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; kKeySpace = 0x00000020U, <span class="comment">///&lt; Space</span></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="comment">// Unicode Private Use Area</span></div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; kKeyF1 = 0x0000E000U, <span class="comment">///&lt; F1</span></div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; kKeyF2, <span class="comment">///&lt; F2</span></div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; kKeyF3, <span class="comment">///&lt; F3</span></div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; kKeyF4, <span class="comment">///&lt; F4</span></div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; kKeyF5, <span class="comment">///&lt; F5</span></div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; kKeyF6, <span class="comment">///&lt; F6</span></div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; kKeyF7, <span class="comment">///&lt; F7</span></div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; kKeyF8, <span class="comment">///&lt; F8</span></div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; kKeyF9, <span class="comment">///&lt; F9</span></div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; kKeyF10, <span class="comment">///&lt; F10</span></div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; kKeyF11, <span class="comment">///&lt; F11</span></div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; kKeyF12, <span class="comment">///&lt; F12</span></div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; kKeyPageUp = 0xE031, <span class="comment">///&lt; Page Up</span></div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; kKeyPageDown, <span class="comment">///&lt; Page Down</span></div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; kKeyEnd, <span class="comment">///&lt; End</span></div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; kKeyHome, <span class="comment">///&lt; Home</span></div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; kKeyLeft, <span class="comment">///&lt; Left</span></div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; kKeyUp, <span class="comment">///&lt; Up</span></div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; kKeyRight, <span class="comment">///&lt; Right</span></div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; kKeyDown, <span class="comment">///&lt; Down</span></div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; kKeyPrintScreen = 0xE041U, <span class="comment">///&lt; Print Screen</span></div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; kKeyInsert, <span class="comment">///&lt; Insert</span></div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; kKeyPause, <span class="comment">///&lt; Pause/Break</span></div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; kKeyMenu, <span class="comment">///&lt; Menu</span></div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; kKeyNumLock, <span class="comment">///&lt; Num Lock</span></div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; kKeyScrollLock, <span class="comment">///&lt; Scroll Lock</span></div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; kKeyCapsLock, <span class="comment">///&lt; Caps Lock</span></div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; kKeyShiftL = 0xE051U, <span class="comment">///&lt; Left Shift,</span></div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; kKeyShiftR, <span class="comment">///&lt; Right Shift</span></div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; kKeyControlL, <span class="comment">///&lt; Left Control</span></div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; kKeyControlR, <span class="comment">///&lt; Right Control</span></div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; kKeyAltL, <span class="comment">///&lt; Left Alt</span></div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; kKeyAltR, <span class="comment">///&lt; Right Alt / AltGr</span></div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; kKeySuperL, <span class="comment">///&lt; Left Super</span></div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; kKeySuperR, <span class="comment">///&lt; Right Super</span></div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; kKeyPad0 = 0xE060U, <span class="comment">///&lt; Keypad 0</span></div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; kKeyPad1, <span class="comment">///&lt; Keypad 1</span></div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; kKeyPad2, <span class="comment">///&lt; Keypad 2</span></div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; kKeyPad3, <span class="comment">///&lt; Keypad 3</span></div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; kKeyPad4, <span class="comment">///&lt; Keypad 4</span></div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; kKeyPad5, <span class="comment">///&lt; Keypad 5</span></div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; kKeyPad6, <span class="comment">///&lt; Keypad 6</span></div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; kKeyPad7, <span class="comment">///&lt; Keypad 7</span></div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; kKeyPad8, <span class="comment">///&lt; Keypad 8</span></div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; kKeyPad9, <span class="comment">///&lt; Keypad 9</span></div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; kKeyPadEnter, <span class="comment">///&lt; Keypad Enter</span></div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; kKeyPadPageUp = 0xE071U, <span class="comment">///&lt; Keypad Page Up</span></div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; kKeyPadPageDown, <span class="comment">///&lt; Keypad Page Down</span></div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; kKeyPadEnd, <span class="comment">///&lt; Keypad End</span></div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; kKeyPadHome, <span class="comment">///&lt; Keypad Home</span></div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; kKeyPadLeft, <span class="comment">///&lt; Keypad Left</span></div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; kKeyPadUp, <span class="comment">///&lt; Keypad Up</span></div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; kKeyPadRight, <span class="comment">///&lt; Keypad Right</span></div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; kKeyPadDown, <span class="comment">///&lt; Keypad Down</span></div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; kKeyPadClear = 0xE09DU, <span class="comment">///&lt; Keypad Clear/Begin</span></div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; kKeyPadInsert, <span class="comment">///&lt; Keypad Insert</span></div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; kKeyPadDelete, <span class="comment">///&lt; Keypad Delete</span></div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; kKeyPadEqual, <span class="comment">///&lt; Keypad Equal</span></div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; kKeyPadMultiply = 0xE0AAU, <span class="comment">///&lt; Keypad Multiply</span></div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; kKeyPadAdd, <span class="comment">///&lt; Keypad Add</span></div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; kKeyPadSeparator, <span class="comment">///&lt; Keypad Separator</span></div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; kKeyPadSubtract, <span class="comment">///&lt; Keypad Subtract</span></div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; kKeyPadDecimal, <span class="comment">///&lt; Keypad Decimal</span></div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; kKeyPadDivide, <span class="comment">///&lt; Keypad Divide</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; <span class="comment">// Backwards compatibility with old DPF</span></div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; kCharBackspace DISTRHO_DEPRECATED_BY(<span class="stringliteral">&quot;kKeyBackspace&quot;</span>) = kKeyBackspace,</div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; kCharEscape DISTRHO_DEPRECATED_BY(<span class="stringliteral">&quot;kKeyEscape&quot;</span>) = kKeyEscape,</div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; kCharDelete DISTRHO_DEPRECATED_BY(<span class="stringliteral">&quot;kKeyDelete&quot;</span>) = kKeyDelete,</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; kKeyShift DISTRHO_DEPRECATED_BY(<span class="stringliteral">&quot;kKeyShiftL&quot;</span>) = kKeyShiftL,</div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; kKeyControl DISTRHO_DEPRECATED_BY(<span class="stringliteral">&quot;kKeyControlL&quot;</span>) = kKeyControlL,</div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; kKeyAlt DISTRHO_DEPRECATED_BY(<span class="stringliteral">&quot;kKeyAltL&quot;</span>) = kKeyAltL,</div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; kKeySuper DISTRHO_DEPRECATED_BY(<span class="stringliteral">&quot;kKeySuperL&quot;</span>) = kKeySuperL,</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="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"> Common flags for all events.</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="keyword">enum</span> EventFlag {</div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; kFlagSendEvent = 1, <span class="comment">///&lt; Event is synthetic</span></div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; kFlagIsHint = 2, <span class="comment">///&lt; Event is a hint (not direct user input)</span></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="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"> Reason for a crossing event.</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="keyword">enum</span> CrossingMode {</div>
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; kCrossingNormal, <span class="comment">///&lt; Crossing due to pointer motion</span></div>
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; kCrossingGrab, <span class="comment">///&lt; Crossing due to a grab</span></div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; kCrossingUngrab, <span class="comment">///&lt; Crossing due to a grab release</span></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="comment"></span> </div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160;<span class="comment"> A mouse button.</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"> Mouse button numbers start from 1, and are ordered: primary, secondary, middle.</span></div>
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160;<span class="comment"> So, on a typical right-handed mouse, the button numbers are:</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"> 175</span>&#160;<span class="comment"> Left: 1</span></div>
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160;<span class="comment"> Right: 2</span></div>
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160;<span class="comment"> Middle (often a wheel): 3</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"> Higher button numbers are reported in the same order they are represented on the system.</span></div>
<div class="line"><a name="l00180"></a><span class="lineno"> 180</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="l00181"></a><span class="lineno"> 181</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="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"> Note that these numbers may differ from those used on the underlying</span></div>
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160;<span class="comment"> platform, since they are manipulated to provide a consistent portable API.</span></div>
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160;<span class="comment">*/</span></div>
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160;<span class="keyword">enum</span> MouseButton {</div>
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; kMouseButtonLeft = 1,</div>
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; kMouseButtonRight,</div>
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; kMouseButtonMiddle,</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="comment"></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"> A mouse cursor type.</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"> This is a portable subset of mouse cursors that exist on X11, MacOS, and Windows.</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;<span class="keyword">enum</span> MouseCursor {</div>
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; kMouseCursorArrow, <span class="comment">///&lt; Default pointing arrow</span></div>
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; kMouseCursorCaret, <span class="comment">///&lt; Caret (I-Beam) for text entry</span></div>
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; kMouseCursorCrosshair, <span class="comment">///&lt; Cross-hair</span></div>
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; kMouseCursorHand, <span class="comment">///&lt; Hand with a pointing finger</span></div>
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; kMouseCursorNotAllowed, <span class="comment">///&lt; Operation not allowed</span></div>
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; kMouseCursorLeftRight, <span class="comment">///&lt; Left/right arrow for horizontal resize</span></div>
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; kMouseCursorUpDown, <span class="comment">///&lt; Up/down arrow for vertical resize</span></div>
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; kMouseCursorUpLeftDownRight, <span class="comment">///&lt; Diagonal arrow for down/right resize</span></div>
<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; kMouseCursorUpRightDownLeft, <span class="comment">///&lt; Diagonal arrow for down/left resize</span></div>
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; kMouseCursorAllScroll, <span class="comment">///&lt; Omnidirectional &quot;arrow&quot; for scrolling</span></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">// Backwards compatibility with old DPF</span></div>
<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; kMouseCursorDiagonal DISTRHO_DEPRECATED_BY(<span class="stringliteral">&quot;kMouseCursorUpLeftDownRight&quot;</span>) = kMouseCursorUpLeftDownRight,</div>
<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; kMouseCursorAntiDiagonal DISTRHO_DEPRECATED_BY(<span class="stringliteral">&quot;kMouseCursorUpRightDownLeft&quot;</span>) = kMouseCursorUpRightDownLeft,</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">/**</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 class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160;<span class="comment"> Scroll direction.</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"> 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="l00218"></a><span class="lineno"> 218</span>&#160;<span class="comment"> The discrete directions are for devices like mouse wheels with constrained axes,</span></div>
<div class="line"><a name="l00219"></a><span class="lineno"> 219</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="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="keyword">enum</span> ScrollDirection {</div>
<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; kScrollUp, <span class="comment">///&lt; Scroll up</span></div>
<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; kScrollDown, <span class="comment">///&lt; Scroll down</span></div>
<div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; kScrollLeft, <span class="comment">///&lt; Scroll left</span></div>
<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; kScrollRight, <span class="comment">///&lt; Scroll right</span></div>
<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; kScrollSmooth, <span class="comment">///&lt; Smooth scroll in any direction</span></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">/**</span></div>
<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160;<span class="comment"> A clipboard data offer.</span></div>
<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160;<span class="comment"> @see Window::onClipboardDataOffer</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"><a class="line" href="structClipboardDataOffer.html"> 233</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="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"> The id of this data offer.</span></div>
<div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160;<span class="comment"> @note The value 0 is reserved for null/invalid.</span></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"><a class="line" href="structClipboardDataOffer.html#a573b30efdf1eee418f7388c9713dfddc"> 238</a></span>&#160; uint32_t <a class="code" href="structClipboardDataOffer.html#a573b30efdf1eee418f7388c9713dfddc">id</a>;</div>
<div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;<span class="comment"></span> </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"> The type of this data offer.</span></div>
<div class="line"><a name="l00242"></a><span class="lineno"> 242</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="l00243"></a><span class="lineno"> 243</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00244"></a><span class="lineno"><a class="line" href="structClipboardDataOffer.html#a23d607737b1fffbb003b885da5a5ca66"> 244</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="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;<span class="comment">// Base DGL classes</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"> 250</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160;<span class="comment"> Graphics context, definition depends on build type.</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"><a class="line" href="structGraphicsContext.html"> 253</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structGraphicsContext.html">GraphicsContext</a> {};</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"> Idle callback.</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"><a class="line" href="structIdleCallback.html"> 258</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structIdleCallback.html">IdleCallback</a></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">virtual</span> ~<a class="code" href="structIdleCallback.html">IdleCallback</a>() {}</div>
<div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> idleCallback() = 0;</div>
<div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160;};</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; </div>
<div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160;END_NAMESPACE_DGL</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="preprocessor">#ifndef DONT_SET_USING_DGL_NAMESPACE</span></div>
<div class="line"><a name="l00269"></a><span class="lineno"> 269</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="l00270"></a><span class="lineno"> 270</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="l00271"></a><span class="lineno"> 271</span>&#160; <span class="keyword">using namespace </span>DGL_NAMESPACE;</div>
<div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; </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; </div>
<div class="line"><a name="l00276"></a><span class="lineno"> 276</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:233</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:244</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:238</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:253</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:259</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>


+ 2
- 2
Cairo_8hpp_source.html View File

@@ -285,14 +285,14 @@ $(function() {
<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="aclassImageBaseSwitch_html"><div class="ttname"><a href="classImageBaseSwitch.html">ImageBaseSwitch</a></div><div class="ttdef"><b>Definition:</b> ImageBaseWidgets.hpp:224</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="aclassWidget_html"><div class="ttname"><a href="classWidget.html">Widget</a></div><div class="ttdef"><b>Definition:</b> Widget.hpp:56</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 class="ttc" id="astructGraphicsContext_html"><div class="ttname"><a href="structGraphicsContext.html">GraphicsContext</a></div><div class="ttdef"><b>Definition:</b> Base.hpp:253</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>


+ 75
- 43
Color_8hpp_source.html View File

@@ -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>
@@ -142,63 +142,95 @@ $(function() {
<div class="line"><a name="l00071"></a><span class="lineno"><a class="line" href="structColor.html#a3f163d59e5a313f742acdd2bbd47441f"> 71</a></span>&#160; <a class="code" href="structColor.html">Color</a> <a class="code" href="structColor.html#a3f163d59e5a313f742acdd2bbd47441f">withAlpha</a>(<span class="keywordtype">float</span> alpha) const 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="l00074"></a><span class="lineno"> 74</span>&#160;<span class="comment"> Create a new color based on this one but with subtracted numeric value on all elements.</span></div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;<span class="comment"> Value must be in [0..255] 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"><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="l00077"></a><span class="lineno"><a class="line" href="structColor.html#a9649cf7255a6241a7b08fda056875853"> 77</a></span>&#160; <a class="code" href="structColor.html">Color</a> <a class="code" href="structColor.html#a9649cf7255a6241a7b08fda056875853">minus</a>(<span class="keywordtype">int</span> value) const noexcept;</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"><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"><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"><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#a3f163d59e5a313f742acdd2bbd47441f">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#a3f163d59e5a313f742acdd2bbd47441f">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"><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="l00080"></a><span class="lineno"> 80</span>&#160;<span class="comment"> Create a new color based on this one but with subtracted floating-point value on all elements.</span></div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160;<span class="comment"> Value must be in [0..1] range.</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"><a class="line" href="structColor.html#abbd3f5d38f0b344179c7fd1aa6561fa3"> 83</a></span>&#160; <a class="code" href="structColor.html">Color</a> <a class="code" href="structColor.html#a9649cf7255a6241a7b08fda056875853">minus</a>(<span class="keywordtype">float</span> value) 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"> Create a new color based on this one but with added numeric value on all elements.</span></div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160;<span class="comment"> Value must be in [0..255] range.</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"><a class="line" href="structColor.html#ad3c9595604828b97c3cf1bfeb323cfbe"> 89</a></span>&#160; <a class="code" href="structColor.html">Color</a> <a class="code" href="structColor.html#ad3c9595604828b97c3cf1bfeb323cfbe">plus</a>(<span class="keywordtype">int</span> value) const noexcept;</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"> Create a new color based on this one but with added floating-point value on all elements.</span></div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160;<span class="comment"> Value must be in [0..1] range.</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"><a class="line" href="structColor.html#a919d9746e01fa6ca7083e17242b371d2"> 95</a></span>&#160; <a class="code" href="structColor.html">Color</a> <a class="code" href="structColor.html#ad3c9595604828b97c3cf1bfeb323cfbe">plus</a>(<span class="keywordtype">float</span> value) const noexcept;</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"> Create a new color based on this one but colors inverted.</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"><a class="line" href="structColor.html#a1cc575ce361080042b5072f91ca52893"> 100</a></span>&#160; <a class="code" href="structColor.html">Color</a> <a class="code" href="structColor.html#a1cc575ce361080042b5072f91ca52893">invert</a>() const noexcept;</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"> Create a color specified by hue, saturation and lightness.</span></div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;<span class="comment"> Values must in [0..1] range.</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"><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="l00106"></a><span class="lineno"><a class="line" href="structColor.html#a41820f7349e997489d53f98036e76a0c"> 106</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="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">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 </span><span class="comment">// DGL_COLOR_HPP_INCLUDED</span></div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</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="l00110"></a><span class="lineno"> 110</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="structColor.html#abdc66d9b8c6422a721f8d576e871f646"> 111</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="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"> /**</span></div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;<span class="comment"> Linearly interpolate this color against another.</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="structColor.html#a96283f5b9ad6f6465e40f69012aca00f"> 116</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="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"> Check if this color matches another.</span></div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;<span class="comment"> @note Comparison is done within 8-bit color space.</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="structColor.html#a16880d42b2d52ed23eb307ed2980a9a3"> 122</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#a3f163d59e5a313f742acdd2bbd47441f">withAlpha</a> = true) noexcept;</div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</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#a3f163d59e5a313f742acdd2bbd47441f">withAlpha</a> = true) noexcept;</div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</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="l00125"></a><span class="lineno"> 125</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="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"> 128</span>&#160;<span class="comment"> Fix color bounds if needed.</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"><a class="line" href="structColor.html#aad01f46af4cdb18b2bcbddd3f63d14d5"> 130</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="structColor.html#aad01f46af4cdb18b2bcbddd3f63d14d5">fixBounds</a>() 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"> Set this color for use in the next drawing operation for the provided context.</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="structColor.html#a9bd4efab0718f412babc62398875a80f"> 135</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="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"> /**</span></div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;<span class="comment"> @internal</span></div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;<span class="comment"> Needed for NanoVG compatibility.</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; <a class="code" href="structColor.html">Color</a>(const NVGcolor&amp;) noexcept;</div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; operator NVGcolor() const noexcept;</div>
<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; </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; </div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160;END_NAMESPACE_DGL</div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; </div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</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_a1cc575ce361080042b5072f91ca52893"><div class="ttname"><a href="structColor.html#a1cc575ce361080042b5072f91ca52893">Color::invert</a></div><div class="ttdeci">Color invert() const noexcept</div></div>
<div class="ttc" id="astructColor_html_a3f163d59e5a313f742acdd2bbd47441f"><div class="ttname"><a href="structColor.html#a3f163d59e5a313f742acdd2bbd47441f">Color::withAlpha</a></div><div class="ttdeci">Color withAlpha(float alpha) const 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="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_a9649cf7255a6241a7b08fda056875853"><div class="ttname"><a href="structColor.html#a9649cf7255a6241a7b08fda056875853">Color::minus</a></div><div class="ttdeci">Color minus(int value) const 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="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="astructColor_html_ad3c9595604828b97c3cf1bfeb323cfbe"><div class="ttname"><a href="structColor.html#ad3c9595604828b97c3cf1bfeb323cfbe">Color::plus</a></div><div class="ttdeci">Color plus(int value) const 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:253</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>


+ 1244
- 0
DistrhoDetails_8hpp_source.html
File diff suppressed because it is too large
View File


+ 298
- 269
DistrhoInfo_8hpp_source.html View File

@@ -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-2022 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-2024 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>
@@ -295,7 +295,7 @@ $(function() {
<div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160;<span class="keyword"> </span>{</div>
<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; <span class="comment">// we only have one parameter so we can skip checking the index</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; parameter.<a class="code" href="structParameter.html#a397fb977f0c6cbec31df4f141ca3f5b3">hints</a> = <a class="code" href="group__ParameterHints.html#ga6d39267b105c2d8dfc82a810c5e8a061">kParameterIsAutomatable</a>;</div>
<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; parameter.<a class="code" href="structParameter.html#a397fb977f0c6cbec31df4f141ca3f5b3">hints</a> = <a class="code" href="group__ParameterHints.html#gaf82d83a105dc418877ef91e84ac6efd3">kParameterIsAutomatable</a>;</div>
<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; parameter.<a class="code" href="structParameter.html#ae63c1fcfb20e320bada1f58c04ff18da">name</a> = <span class="stringliteral">&quot;Gain&quot;</span>;</div>
<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; parameter.<a class="code" href="structParameter.html#a3e546efd8dbd0d77351208b670719468">symbol</a> = <span class="stringliteral">&quot;gain&quot;</span>;</div>
<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; parameter.<a class="code" href="structParameter.html#a2d0c81e4fb8fad18d920ef6ecd4a64db">ranges</a>.<a class="code" href="structParameterRanges.html#a63c40988463a8ace9d0e9e55a00f3c7b">min</a> = 0.0f;</div>
@@ -405,7 +405,7 @@ $(function() {
<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="keywordtype">void</span> initParameter(uint32_t index, <a class="code" href="structParameter.html">Parameter</a>&amp; parameter)<span class="keyword"> override</span></div>
<div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160;<span class="keyword"> </span>{</div>
<div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160; parameter.<a class="code" href="structParameter.html#a397fb977f0c6cbec31df4f141ca3f5b3">hints</a> = <a class="code" href="group__ParameterHints.html#ga6d39267b105c2d8dfc82a810c5e8a061">kParameterIsAutomatable</a>;</div>
<div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160; parameter.<a class="code" href="structParameter.html#a397fb977f0c6cbec31df4f141ca3f5b3">hints</a> = <a class="code" href="group__ParameterHints.html#gaf82d83a105dc418877ef91e84ac6efd3">kParameterIsAutomatable</a>;</div>
<div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160; parameter.<a class="code" href="structParameter.html#a2d0c81e4fb8fad18d920ef6ecd4a64db">ranges</a>.<a class="code" href="structParameterRanges.html#a63c40988463a8ace9d0e9e55a00f3c7b">min</a> = 0.0f;</div>
<div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160; parameter.<a class="code" href="structParameter.html#a2d0c81e4fb8fad18d920ef6ecd4a64db">ranges</a>.<a class="code" href="structParameterRanges.html#a175c78c905c598df929a4450e4d2a2a0">max</a> = 2.0f;</div>
<div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; parameter.<a class="code" href="structParameter.html#a2d0c81e4fb8fad18d920ef6ecd4a64db">ranges</a>.<a class="code" href="structParameterRanges.html#aa0aba68115bcfff25c35b2da2f7aed4c">def</a> = 1.0f;</div>
@@ -739,278 +739,307 @@ $(function() {
<div class="line"><a name="l00668"></a><span class="lineno"><a class="line" href="group__PluginMacros.html#ga420a88022da249b9f38a6046998dbd7c"> 668</a></span>&#160;<span class="preprocessor">#define DISTRHO_UI_URI DISTRHO_PLUGIN_URI &quot;#UI&quot;</span></div>
<div class="line"><a name="l00669"></a><span class="lineno"> 669</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00670"></a><span class="lineno"> 670</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00671"></a><span class="lineno"> 671</span>&#160;<span class="comment"> Custom LV2 category for the plugin.@n</span></div>
<div class="line"><a name="l00672"></a><span class="lineno"> 672</span>&#160;<span class="comment"> This is a single string, and can be one of the following values:</span></div>
<div class="line"><a name="l00673"></a><span class="lineno"> 673</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00674"></a><span class="lineno"> 674</span>&#160;<span class="comment"> - lv2:AllpassPlugin</span></div>
<div class="line"><a name="l00675"></a><span class="lineno"> 675</span>&#160;<span class="comment"> - lv2:AmplifierPlugin</span></div>
<div class="line"><a name="l00676"></a><span class="lineno"> 676</span>&#160;<span class="comment"> - lv2:AnalyserPlugin</span></div>
<div class="line"><a name="l00677"></a><span class="lineno"> 677</span>&#160;<span class="comment"> - lv2:BandpassPlugin</span></div>
<div class="line"><a name="l00678"></a><span class="lineno"> 678</span>&#160;<span class="comment"> - lv2:ChorusPlugin</span></div>
<div class="line"><a name="l00679"></a><span class="lineno"> 679</span>&#160;<span class="comment"> - lv2:CombPlugin</span></div>
<div class="line"><a name="l00680"></a><span class="lineno"> 680</span>&#160;<span class="comment"> - lv2:CompressorPlugin</span></div>
<div class="line"><a name="l00681"></a><span class="lineno"> 681</span>&#160;<span class="comment"> - lv2:ConstantPlugin</span></div>
<div class="line"><a name="l00682"></a><span class="lineno"> 682</span>&#160;<span class="comment"> - lv2:ConverterPlugin</span></div>
<div class="line"><a name="l00683"></a><span class="lineno"> 683</span>&#160;<span class="comment"> - lv2:DelayPlugin</span></div>
<div class="line"><a name="l00684"></a><span class="lineno"> 684</span>&#160;<span class="comment"> - lv2:DistortionPlugin</span></div>
<div class="line"><a name="l00685"></a><span class="lineno"> 685</span>&#160;<span class="comment"> - lv2:DynamicsPlugin</span></div>
<div class="line"><a name="l00686"></a><span class="lineno"> 686</span>&#160;<span class="comment"> - lv2:EQPlugin</span></div>
<div class="line"><a name="l00687"></a><span class="lineno"> 687</span>&#160;<span class="comment"> - lv2:EnvelopePlugin</span></div>
<div class="line"><a name="l00688"></a><span class="lineno"> 688</span>&#160;<span class="comment"> - lv2:ExpanderPlugin</span></div>
<div class="line"><a name="l00689"></a><span class="lineno"> 689</span>&#160;<span class="comment"> - lv2:FilterPlugin</span></div>
<div class="line"><a name="l00690"></a><span class="lineno"> 690</span>&#160;<span class="comment"> - lv2:FlangerPlugin</span></div>
<div class="line"><a name="l00691"></a><span class="lineno"> 691</span>&#160;<span class="comment"> - lv2:FunctionPlugin</span></div>
<div class="line"><a name="l00692"></a><span class="lineno"> 692</span>&#160;<span class="comment"> - lv2:GatePlugin</span></div>
<div class="line"><a name="l00693"></a><span class="lineno"> 693</span>&#160;<span class="comment"> - lv2:GeneratorPlugin</span></div>
<div class="line"><a name="l00694"></a><span class="lineno"> 694</span>&#160;<span class="comment"> - lv2:HighpassPlugin</span></div>
<div class="line"><a name="l00695"></a><span class="lineno"> 695</span>&#160;<span class="comment"> - lv2:InstrumentPlugin</span></div>
<div class="line"><a name="l00696"></a><span class="lineno"> 696</span>&#160;<span class="comment"> - lv2:LimiterPlugin</span></div>
<div class="line"><a name="l00697"></a><span class="lineno"> 697</span>&#160;<span class="comment"> - lv2:LowpassPlugin</span></div>
<div class="line"><a name="l00698"></a><span class="lineno"> 698</span>&#160;<span class="comment"> - lv2:MIDIPlugin</span></div>
<div class="line"><a name="l00699"></a><span class="lineno"> 699</span>&#160;<span class="comment"> - lv2:MixerPlugin</span></div>
<div class="line"><a name="l00700"></a><span class="lineno"> 700</span>&#160;<span class="comment"> - lv2:ModulatorPlugin</span></div>
<div class="line"><a name="l00701"></a><span class="lineno"> 701</span>&#160;<span class="comment"> - lv2:MultiEQPlugin</span></div>
<div class="line"><a name="l00702"></a><span class="lineno"> 702</span>&#160;<span class="comment"> - lv2:OscillatorPlugin</span></div>
<div class="line"><a name="l00703"></a><span class="lineno"> 703</span>&#160;<span class="comment"> - lv2:ParaEQPlugin</span></div>
<div class="line"><a name="l00704"></a><span class="lineno"> 704</span>&#160;<span class="comment"> - lv2:PhaserPlugin</span></div>
<div class="line"><a name="l00705"></a><span class="lineno"> 705</span>&#160;<span class="comment"> - lv2:PitchPlugin</span></div>
<div class="line"><a name="l00706"></a><span class="lineno"> 706</span>&#160;<span class="comment"> - lv2:ReverbPlugin</span></div>
<div class="line"><a name="l00707"></a><span class="lineno"> 707</span>&#160;<span class="comment"> - lv2:SimulatorPlugin</span></div>
<div class="line"><a name="l00708"></a><span class="lineno"> 708</span>&#160;<span class="comment"> - lv2:SpatialPlugin</span></div>
<div class="line"><a name="l00709"></a><span class="lineno"> 709</span>&#160;<span class="comment"> - lv2:SpectralPlugin</span></div>
<div class="line"><a name="l00710"></a><span class="lineno"> 710</span>&#160;<span class="comment"> - lv2:UtilityPlugin</span></div>
<div class="line"><a name="l00711"></a><span class="lineno"> 711</span>&#160;<span class="comment"> - lv2:WaveshaperPlugin</span></div>
<div class="line"><a name="l00712"></a><span class="lineno"> 712</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00713"></a><span class="lineno"> 713</span>&#160;<span class="comment"> See http://lv2plug.in/ns/lv2core for more information.</span></div>
<div class="line"><a name="l00714"></a><span class="lineno"> 714</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00715"></a><span class="lineno"><a class="line" href="group__PluginMacros.html#ga97bd6556fb9fcfc181778edb4fceeeef"> 715</a></span>&#160;<span class="preprocessor">#define DISTRHO_PLUGIN_LV2_CATEGORY &quot;lv2:Plugin&quot;</span></div>
<div class="line"><a name="l00716"></a><span class="lineno"> 716</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00717"></a><span class="lineno"> 717</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00718"></a><span class="lineno"> 718</span>&#160;<span class="comment"> Custom VST3 categories for the plugin.@n</span></div>
<div class="line"><a name="l00719"></a><span class="lineno"> 719</span>&#160;<span class="comment"> This is a single concatenated string of categories, separated by a @c |.</span></div>
<div class="line"><a name="l00720"></a><span class="lineno"> 720</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00721"></a><span class="lineno"> 721</span>&#160;<span class="comment"> Each effect category can be one of the following values:</span></div>
<div class="line"><a name="l00722"></a><span class="lineno"> 722</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00723"></a><span class="lineno"> 723</span>&#160;<span class="comment"> - Fx</span></div>
<div class="line"><a name="l00724"></a><span class="lineno"> 724</span>&#160;<span class="comment"> - Fx|Ambisonics</span></div>
<div class="line"><a name="l00725"></a><span class="lineno"> 725</span>&#160;<span class="comment"> - Fx|Analyzer</span></div>
<div class="line"><a name="l00726"></a><span class="lineno"> 726</span>&#160;<span class="comment"> - Fx|Delay</span></div>
<div class="line"><a name="l00727"></a><span class="lineno"> 727</span>&#160;<span class="comment"> - Fx|Distortion</span></div>
<div class="line"><a name="l00728"></a><span class="lineno"> 728</span>&#160;<span class="comment"> - Fx|Dynamics</span></div>
<div class="line"><a name="l00729"></a><span class="lineno"> 729</span>&#160;<span class="comment"> - Fx|EQ</span></div>
<div class="line"><a name="l00730"></a><span class="lineno"> 730</span>&#160;<span class="comment"> - Fx|Filter</span></div>
<div class="line"><a name="l00731"></a><span class="lineno"> 731</span>&#160;<span class="comment"> - Fx|Instrument</span></div>
<div class="line"><a name="l00732"></a><span class="lineno"> 732</span>&#160;<span class="comment"> - Fx|Instrument|External</span></div>
<div class="line"><a name="l00733"></a><span class="lineno"> 733</span>&#160;<span class="comment"> - Fx|Spatial</span></div>
<div class="line"><a name="l00734"></a><span class="lineno"> 734</span>&#160;<span class="comment"> - Fx|Generator</span></div>
<div class="line"><a name="l00735"></a><span class="lineno"> 735</span>&#160;<span class="comment"> - Fx|Mastering</span></div>
<div class="line"><a name="l00736"></a><span class="lineno"> 736</span>&#160;<span class="comment"> - Fx|Modulation</span></div>
<div class="line"><a name="l00737"></a><span class="lineno"> 737</span>&#160;<span class="comment"> - Fx|Network</span></div>
<div class="line"><a name="l00738"></a><span class="lineno"> 738</span>&#160;<span class="comment"> - Fx|Pitch Shift</span></div>
<div class="line"><a name="l00739"></a><span class="lineno"> 739</span>&#160;<span class="comment"> - Fx|Restoration</span></div>
<div class="line"><a name="l00740"></a><span class="lineno"> 740</span>&#160;<span class="comment"> - Fx|Reverb</span></div>
<div class="line"><a name="l00741"></a><span class="lineno"> 741</span>&#160;<span class="comment"> - Fx|Surround</span></div>
<div class="line"><a name="l00742"></a><span class="lineno"> 742</span>&#160;<span class="comment"> - Fx|Tools</span></div>
<div class="line"><a name="l00671"></a><span class="lineno"> 671</span>&#160;<span class="comment"> The AudioUnit type for a plugin.@n</span></div>
<div class="line"><a name="l00672"></a><span class="lineno"> 672</span>&#160;<span class="comment"> This is a 4-character symbol, automatically set by DPF based on other plugin macros.</span></div>
<div class="line"><a name="l00673"></a><span class="lineno"> 673</span>&#160;<span class="comment"> See https://developer.apple.com/documentation/audiotoolbox/1584142-audio_unit_types for more information.</span></div>
<div class="line"><a name="l00674"></a><span class="lineno"> 674</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00675"></a><span class="lineno"><a class="line" href="group__PluginMacros.html#ga0cb49832109c90267e4e7f7272154d4d"> 675</a></span>&#160;<span class="preprocessor">#define DISTRHO_PLUGIN_AU_TYPE aufx</span></div>
<div class="line"><a name="l00676"></a><span class="lineno"> 676</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00677"></a><span class="lineno"> 677</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00678"></a><span class="lineno"> 678</span>&#160;<span class="comment"> A 4-character symbol that identifies a brand or manufacturer, with at least one non-lower case character.@n</span></div>
<div class="line"><a name="l00679"></a><span class="lineno"> 679</span>&#160;<span class="comment"> Plugins from the same brand should use the same symbol.</span></div>
<div class="line"><a name="l00680"></a><span class="lineno"> 680</span>&#160;<span class="comment"> @note This macro is required when building AU plugins, and used for VST3 if present</span></div>
<div class="line"><a name="l00681"></a><span class="lineno"> 681</span>&#160;<span class="comment"> @note Setting this macro will change the uid of a VST3 plugin.</span></div>
<div class="line"><a name="l00682"></a><span class="lineno"> 682</span>&#160;<span class="comment"> If you already released a DPF-based VST3 plugin make sure to also enable DISTRHO_PLUGIN_VST3_OLD_ID_COMPAT</span></div>
<div class="line"><a name="l00683"></a><span class="lineno"> 683</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00684"></a><span class="lineno"><a class="line" href="group__PluginMacros.html#ga9c9caf7e3376c9235c3529dbc612a964"> 684</a></span>&#160;<span class="preprocessor">#define DISTRHO_PLUGIN_BRAND_ID Dstr</span></div>
<div class="line"><a name="l00685"></a><span class="lineno"> 685</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00686"></a><span class="lineno"> 686</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00687"></a><span class="lineno"> 687</span>&#160;<span class="comment"> A 4-character symbol which identifies a plugin.@n</span></div>
<div class="line"><a name="l00688"></a><span class="lineno"> 688</span>&#160;<span class="comment"> It must be unique within at least a set of plugins from the brand.</span></div>
<div class="line"><a name="l00689"></a><span class="lineno"> 689</span>&#160;<span class="comment"> @note This macro is required when building AU plugins</span></div>
<div class="line"><a name="l00690"></a><span class="lineno"> 690</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00691"></a><span class="lineno"><a class="line" href="group__PluginMacros.html#ga096d7684289e65485311a427ad8772f3"> 691</a></span>&#160;<span class="preprocessor">#define DISTRHO_PLUGIN_UNIQUE_ID test</span></div>
<div class="line"><a name="l00692"></a><span class="lineno"> 692</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00693"></a><span class="lineno"> 693</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00694"></a><span class="lineno"> 694</span>&#160;<span class="comment"> Custom LV2 category for the plugin.@n</span></div>
<div class="line"><a name="l00695"></a><span class="lineno"> 695</span>&#160;<span class="comment"> This is a single string, and can be one of the following values:</span></div>
<div class="line"><a name="l00696"></a><span class="lineno"> 696</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00697"></a><span class="lineno"> 697</span>&#160;<span class="comment"> - lv2:AllpassPlugin</span></div>
<div class="line"><a name="l00698"></a><span class="lineno"> 698</span>&#160;<span class="comment"> - lv2:AmplifierPlugin</span></div>
<div class="line"><a name="l00699"></a><span class="lineno"> 699</span>&#160;<span class="comment"> - lv2:AnalyserPlugin</span></div>
<div class="line"><a name="l00700"></a><span class="lineno"> 700</span>&#160;<span class="comment"> - lv2:BandpassPlugin</span></div>
<div class="line"><a name="l00701"></a><span class="lineno"> 701</span>&#160;<span class="comment"> - lv2:ChorusPlugin</span></div>
<div class="line"><a name="l00702"></a><span class="lineno"> 702</span>&#160;<span class="comment"> - lv2:CombPlugin</span></div>
<div class="line"><a name="l00703"></a><span class="lineno"> 703</span>&#160;<span class="comment"> - lv2:CompressorPlugin</span></div>
<div class="line"><a name="l00704"></a><span class="lineno"> 704</span>&#160;<span class="comment"> - lv2:ConstantPlugin</span></div>
<div class="line"><a name="l00705"></a><span class="lineno"> 705</span>&#160;<span class="comment"> - lv2:ConverterPlugin</span></div>
<div class="line"><a name="l00706"></a><span class="lineno"> 706</span>&#160;<span class="comment"> - lv2:DelayPlugin</span></div>
<div class="line"><a name="l00707"></a><span class="lineno"> 707</span>&#160;<span class="comment"> - lv2:DistortionPlugin</span></div>
<div class="line"><a name="l00708"></a><span class="lineno"> 708</span>&#160;<span class="comment"> - lv2:DynamicsPlugin</span></div>
<div class="line"><a name="l00709"></a><span class="lineno"> 709</span>&#160;<span class="comment"> - lv2:EQPlugin</span></div>
<div class="line"><a name="l00710"></a><span class="lineno"> 710</span>&#160;<span class="comment"> - lv2:EnvelopePlugin</span></div>
<div class="line"><a name="l00711"></a><span class="lineno"> 711</span>&#160;<span class="comment"> - lv2:ExpanderPlugin</span></div>
<div class="line"><a name="l00712"></a><span class="lineno"> 712</span>&#160;<span class="comment"> - lv2:FilterPlugin</span></div>
<div class="line"><a name="l00713"></a><span class="lineno"> 713</span>&#160;<span class="comment"> - lv2:FlangerPlugin</span></div>
<div class="line"><a name="l00714"></a><span class="lineno"> 714</span>&#160;<span class="comment"> - lv2:FunctionPlugin</span></div>
<div class="line"><a name="l00715"></a><span class="lineno"> 715</span>&#160;<span class="comment"> - lv2:GatePlugin</span></div>
<div class="line"><a name="l00716"></a><span class="lineno"> 716</span>&#160;<span class="comment"> - lv2:GeneratorPlugin</span></div>
<div class="line"><a name="l00717"></a><span class="lineno"> 717</span>&#160;<span class="comment"> - lv2:HighpassPlugin</span></div>
<div class="line"><a name="l00718"></a><span class="lineno"> 718</span>&#160;<span class="comment"> - lv2:InstrumentPlugin</span></div>
<div class="line"><a name="l00719"></a><span class="lineno"> 719</span>&#160;<span class="comment"> - lv2:LimiterPlugin</span></div>
<div class="line"><a name="l00720"></a><span class="lineno"> 720</span>&#160;<span class="comment"> - lv2:LowpassPlugin</span></div>
<div class="line"><a name="l00721"></a><span class="lineno"> 721</span>&#160;<span class="comment"> - lv2:MIDIPlugin</span></div>
<div class="line"><a name="l00722"></a><span class="lineno"> 722</span>&#160;<span class="comment"> - lv2:MixerPlugin</span></div>
<div class="line"><a name="l00723"></a><span class="lineno"> 723</span>&#160;<span class="comment"> - lv2:ModulatorPlugin</span></div>
<div class="line"><a name="l00724"></a><span class="lineno"> 724</span>&#160;<span class="comment"> - lv2:MultiEQPlugin</span></div>
<div class="line"><a name="l00725"></a><span class="lineno"> 725</span>&#160;<span class="comment"> - lv2:OscillatorPlugin</span></div>
<div class="line"><a name="l00726"></a><span class="lineno"> 726</span>&#160;<span class="comment"> - lv2:ParaEQPlugin</span></div>
<div class="line"><a name="l00727"></a><span class="lineno"> 727</span>&#160;<span class="comment"> - lv2:PhaserPlugin</span></div>
<div class="line"><a name="l00728"></a><span class="lineno"> 728</span>&#160;<span class="comment"> - lv2:PitchPlugin</span></div>
<div class="line"><a name="l00729"></a><span class="lineno"> 729</span>&#160;<span class="comment"> - lv2:ReverbPlugin</span></div>
<div class="line"><a name="l00730"></a><span class="lineno"> 730</span>&#160;<span class="comment"> - lv2:SimulatorPlugin</span></div>
<div class="line"><a name="l00731"></a><span class="lineno"> 731</span>&#160;<span class="comment"> - lv2:SpatialPlugin</span></div>
<div class="line"><a name="l00732"></a><span class="lineno"> 732</span>&#160;<span class="comment"> - lv2:SpectralPlugin</span></div>
<div class="line"><a name="l00733"></a><span class="lineno"> 733</span>&#160;<span class="comment"> - lv2:UtilityPlugin</span></div>
<div class="line"><a name="l00734"></a><span class="lineno"> 734</span>&#160;<span class="comment"> - lv2:WaveshaperPlugin</span></div>
<div class="line"><a name="l00735"></a><span class="lineno"> 735</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00736"></a><span class="lineno"> 736</span>&#160;<span class="comment"> See http://lv2plug.in/ns/lv2core for more information.</span></div>
<div class="line"><a name="l00737"></a><span class="lineno"> 737</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00738"></a><span class="lineno"><a class="line" href="group__PluginMacros.html#ga97bd6556fb9fcfc181778edb4fceeeef"> 738</a></span>&#160;<span class="preprocessor">#define DISTRHO_PLUGIN_LV2_CATEGORY &quot;lv2:Plugin&quot;</span></div>
<div class="line"><a name="l00739"></a><span class="lineno"> 739</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00740"></a><span class="lineno"> 740</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00741"></a><span class="lineno"> 741</span>&#160;<span class="comment"> Custom VST3 categories for the plugin.@n</span></div>
<div class="line"><a name="l00742"></a><span class="lineno"> 742</span>&#160;<span class="comment"> This is a single concatenated string of categories, separated by a @c |.</span></div>
<div class="line"><a name="l00743"></a><span class="lineno"> 743</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00744"></a><span class="lineno"> 744</span>&#160;<span class="comment"> Each instrument category can be one of the following values:</span></div>
<div class="line"><a name="l00744"></a><span class="lineno"> 744</span>&#160;<span class="comment"> Each effect category can be one of the following values:</span></div>
<div class="line"><a name="l00745"></a><span class="lineno"> 745</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00746"></a><span class="lineno"> 746</span>&#160;<span class="comment"> - Instrument</span></div>
<div class="line"><a name="l00747"></a><span class="lineno"> 747</span>&#160;<span class="comment"> - Instrument|Drum</span></div>
<div class="line"><a name="l00748"></a><span class="lineno"> 748</span>&#160;<span class="comment"> - Instrument|External</span></div>
<div class="line"><a name="l00749"></a><span class="lineno"> 749</span>&#160;<span class="comment"> - Instrument|Piano</span></div>
<div class="line"><a name="l00750"></a><span class="lineno"> 750</span>&#160;<span class="comment"> - Instrument|Sampler</span></div>
<div class="line"><a name="l00751"></a><span class="lineno"> 751</span>&#160;<span class="comment"> - Instrument|Synth</span></div>
<div class="line"><a name="l00752"></a><span class="lineno"> 752</span>&#160;<span class="comment"> - Instrument|Synth|Sampler</span></div>
<div class="line"><a name="l00753"></a><span class="lineno"> 753</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00754"></a><span class="lineno"> 754</span>&#160;<span class="comment"> And extra categories possible for any plugin type:</span></div>
<div class="line"><a name="l00755"></a><span class="lineno"> 755</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00756"></a><span class="lineno"> 756</span>&#160;<span class="comment"> - Mono</span></div>
<div class="line"><a name="l00757"></a><span class="lineno"> 757</span>&#160;<span class="comment"> - Stereo</span></div>
<div class="line"><a name="l00758"></a><span class="lineno"> 758</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00759"></a><span class="lineno"><a class="line" href="group__PluginMacros.html#gab5bfd0f8045aa7eedd2ec6f5c9c2d17f"> 759</a></span>&#160;<span class="preprocessor">#define DISTRHO_PLUGIN_VST3_CATEGORIES &quot;Fx|Stereo&quot;</span></div>
<div class="line"><a name="l00760"></a><span class="lineno"> 760</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00761"></a><span class="lineno"> 761</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00762"></a><span class="lineno"> 762</span>&#160;<span class="comment"> Custom CLAP features for the plugin.@n</span></div>
<div class="line"><a name="l00763"></a><span class="lineno"> 763</span>&#160;<span class="comment"> This is a list of features defined as a string array body, without the terminating @c , or nullptr.</span></div>
<div class="line"><a name="l00764"></a><span class="lineno"> 764</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00765"></a><span class="lineno"> 765</span>&#160;<span class="comment"> A top-level category can be set as feature and be one of the following values:</span></div>
<div class="line"><a name="l00746"></a><span class="lineno"> 746</span>&#160;<span class="comment"> - Fx</span></div>
<div class="line"><a name="l00747"></a><span class="lineno"> 747</span>&#160;<span class="comment"> - Fx|Ambisonics</span></div>
<div class="line"><a name="l00748"></a><span class="lineno"> 748</span>&#160;<span class="comment"> - Fx|Analyzer</span></div>
<div class="line"><a name="l00749"></a><span class="lineno"> 749</span>&#160;<span class="comment"> - Fx|Delay</span></div>
<div class="line"><a name="l00750"></a><span class="lineno"> 750</span>&#160;<span class="comment"> - Fx|Distortion</span></div>
<div class="line"><a name="l00751"></a><span class="lineno"> 751</span>&#160;<span class="comment"> - Fx|Dynamics</span></div>
<div class="line"><a name="l00752"></a><span class="lineno"> 752</span>&#160;<span class="comment"> - Fx|EQ</span></div>
<div class="line"><a name="l00753"></a><span class="lineno"> 753</span>&#160;<span class="comment"> - Fx|Filter</span></div>
<div class="line"><a name="l00754"></a><span class="lineno"> 754</span>&#160;<span class="comment"> - Fx|Instrument</span></div>
<div class="line"><a name="l00755"></a><span class="lineno"> 755</span>&#160;<span class="comment"> - Fx|Instrument|External</span></div>
<div class="line"><a name="l00756"></a><span class="lineno"> 756</span>&#160;<span class="comment"> - Fx|Spatial</span></div>
<div class="line"><a name="l00757"></a><span class="lineno"> 757</span>&#160;<span class="comment"> - Fx|Generator</span></div>
<div class="line"><a name="l00758"></a><span class="lineno"> 758</span>&#160;<span class="comment"> - Fx|Mastering</span></div>
<div class="line"><a name="l00759"></a><span class="lineno"> 759</span>&#160;<span class="comment"> - Fx|Modulation</span></div>
<div class="line"><a name="l00760"></a><span class="lineno"> 760</span>&#160;<span class="comment"> - Fx|Network</span></div>
<div class="line"><a name="l00761"></a><span class="lineno"> 761</span>&#160;<span class="comment"> - Fx|Pitch Shift</span></div>
<div class="line"><a name="l00762"></a><span class="lineno"> 762</span>&#160;<span class="comment"> - Fx|Restoration</span></div>
<div class="line"><a name="l00763"></a><span class="lineno"> 763</span>&#160;<span class="comment"> - Fx|Reverb</span></div>
<div class="line"><a name="l00764"></a><span class="lineno"> 764</span>&#160;<span class="comment"> - Fx|Surround</span></div>
<div class="line"><a name="l00765"></a><span class="lineno"> 765</span>&#160;<span class="comment"> - Fx|Tools</span></div>
<div class="line"><a name="l00766"></a><span class="lineno"> 766</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00767"></a><span class="lineno"> 767</span>&#160;<span class="comment"> - instrument</span></div>
<div class="line"><a name="l00768"></a><span class="lineno"> 768</span>&#160;<span class="comment"> - audio-effect</span></div>
<div class="line"><a name="l00769"></a><span class="lineno"> 769</span>&#160;<span class="comment"> - note-effect</span></div>
<div class="line"><a name="l00770"></a><span class="lineno"> 770</span>&#160;<span class="comment"> - analyzer</span></div>
<div class="line"><a name="l00771"></a><span class="lineno"> 771</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00772"></a><span class="lineno"> 772</span>&#160;<span class="comment"> The following sub-categories can also be set:</span></div>
<div class="line"><a name="l00773"></a><span class="lineno"> 773</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00774"></a><span class="lineno"> 774</span>&#160;<span class="comment"> - synthesizer</span></div>
<div class="line"><a name="l00775"></a><span class="lineno"> 775</span>&#160;<span class="comment"> - sampler</span></div>
<div class="line"><a name="l00776"></a><span class="lineno"> 776</span>&#160;<span class="comment"> - drum</span></div>
<div class="line"><a name="l00777"></a><span class="lineno"> 777</span>&#160;<span class="comment"> - drum-machine</span></div>
<div class="line"><a name="l00767"></a><span class="lineno"> 767</span>&#160;<span class="comment"> Each instrument category can be one of the following values:</span></div>
<div class="line"><a name="l00768"></a><span class="lineno"> 768</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00769"></a><span class="lineno"> 769</span>&#160;<span class="comment"> - Instrument</span></div>
<div class="line"><a name="l00770"></a><span class="lineno"> 770</span>&#160;<span class="comment"> - Instrument|Drum</span></div>
<div class="line"><a name="l00771"></a><span class="lineno"> 771</span>&#160;<span class="comment"> - Instrument|External</span></div>
<div class="line"><a name="l00772"></a><span class="lineno"> 772</span>&#160;<span class="comment"> - Instrument|Piano</span></div>
<div class="line"><a name="l00773"></a><span class="lineno"> 773</span>&#160;<span class="comment"> - Instrument|Sampler</span></div>
<div class="line"><a name="l00774"></a><span class="lineno"> 774</span>&#160;<span class="comment"> - Instrument|Synth</span></div>
<div class="line"><a name="l00775"></a><span class="lineno"> 775</span>&#160;<span class="comment"> - Instrument|Synth|Sampler</span></div>
<div class="line"><a name="l00776"></a><span class="lineno"> 776</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00777"></a><span class="lineno"> 777</span>&#160;<span class="comment"> And extra categories possible for any plugin type:</span></div>
<div class="line"><a name="l00778"></a><span class="lineno"> 778</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00779"></a><span class="lineno"> 779</span>&#160;<span class="comment"> - filter</span></div>
<div class="line"><a name="l00780"></a><span class="lineno"> 780</span>&#160;<span class="comment"> - phaser</span></div>
<div class="line"><a name="l00781"></a><span class="lineno"> 781</span>&#160;<span class="comment"> - equalizer</span></div>
<div class="line"><a name="l00782"></a><span class="lineno"> 782</span>&#160;<span class="comment"> - de-esser</span></div>
<div class="line"><a name="l00783"></a><span class="lineno"> 783</span>&#160;<span class="comment"> - phase-vocoder</span></div>
<div class="line"><a name="l00784"></a><span class="lineno"> 784</span>&#160;<span class="comment"> - granular</span></div>
<div class="line"><a name="l00785"></a><span class="lineno"> 785</span>&#160;<span class="comment"> - frequency-shifter</span></div>
<div class="line"><a name="l00786"></a><span class="lineno"> 786</span>&#160;<span class="comment"> - pitch-shifter</span></div>
<div class="line"><a name="l00779"></a><span class="lineno"> 779</span>&#160;<span class="comment"> - Mono</span></div>
<div class="line"><a name="l00780"></a><span class="lineno"> 780</span>&#160;<span class="comment"> - Stereo</span></div>
<div class="line"><a name="l00781"></a><span class="lineno"> 781</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00782"></a><span class="lineno"><a class="line" href="group__PluginMacros.html#gab5bfd0f8045aa7eedd2ec6f5c9c2d17f"> 782</a></span>&#160;<span class="preprocessor">#define DISTRHO_PLUGIN_VST3_CATEGORIES &quot;Fx|Stereo&quot;</span></div>
<div class="line"><a name="l00783"></a><span class="lineno"> 783</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00784"></a><span class="lineno"> 784</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00785"></a><span class="lineno"> 785</span>&#160;<span class="comment"> Custom CLAP features for the plugin.@n</span></div>
<div class="line"><a name="l00786"></a><span class="lineno"> 786</span>&#160;<span class="comment"> This is a list of features defined as a string array body, without the terminating @c , or nullptr.</span></div>
<div class="line"><a name="l00787"></a><span class="lineno"> 787</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00788"></a><span class="lineno"> 788</span>&#160;<span class="comment"> - distortion</span></div>
<div class="line"><a name="l00789"></a><span class="lineno"> 789</span>&#160;<span class="comment"> - transient-shaper</span></div>
<div class="line"><a name="l00790"></a><span class="lineno"> 790</span>&#160;<span class="comment"> - compressor</span></div>
<div class="line"><a name="l00791"></a><span class="lineno"> 791</span>&#160;<span class="comment"> - limiter</span></div>
<div class="line"><a name="l00792"></a><span class="lineno"> 792</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00793"></a><span class="lineno"> 793</span>&#160;<span class="comment"> - flanger</span></div>
<div class="line"><a name="l00794"></a><span class="lineno"> 794</span>&#160;<span class="comment"> - chorus</span></div>
<div class="line"><a name="l00795"></a><span class="lineno"> 795</span>&#160;<span class="comment"> - delay</span></div>
<div class="line"><a name="l00796"></a><span class="lineno"> 796</span>&#160;<span class="comment"> - reverb</span></div>
<div class="line"><a name="l00797"></a><span class="lineno"> 797</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00798"></a><span class="lineno"> 798</span>&#160;<span class="comment"> - tremolo</span></div>
<div class="line"><a name="l00799"></a><span class="lineno"> 799</span>&#160;<span class="comment"> - glitch</span></div>
<div class="line"><a name="l00800"></a><span class="lineno"> 800</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00801"></a><span class="lineno"> 801</span>&#160;<span class="comment"> - utility</span></div>
<div class="line"><a name="l00802"></a><span class="lineno"> 802</span>&#160;<span class="comment"> - pitch-correction</span></div>
<div class="line"><a name="l00803"></a><span class="lineno"> 803</span>&#160;<span class="comment"> - restoration</span></div>
<div class="line"><a name="l00804"></a><span class="lineno"> 804</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00805"></a><span class="lineno"> 805</span>&#160;<span class="comment"> - multi-effects</span></div>
<div class="line"><a name="l00806"></a><span class="lineno"> 806</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00807"></a><span class="lineno"> 807</span>&#160;<span class="comment"> - mixing</span></div>
<div class="line"><a name="l00808"></a><span class="lineno"> 808</span>&#160;<span class="comment"> - mastering</span></div>
<div class="line"><a name="l00809"></a><span class="lineno"> 809</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00810"></a><span class="lineno"> 810</span>&#160;<span class="comment"> And finally the following audio capabilities can be set:</span></div>
<div class="line"><a name="l00811"></a><span class="lineno"> 811</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00812"></a><span class="lineno"> 812</span>&#160;<span class="comment"> - mono</span></div>
<div class="line"><a name="l00813"></a><span class="lineno"> 813</span>&#160;<span class="comment"> - stereo</span></div>
<div class="line"><a name="l00814"></a><span class="lineno"> 814</span>&#160;<span class="comment"> - surround</span></div>
<div class="line"><a name="l00815"></a><span class="lineno"> 815</span>&#160;<span class="comment"> - ambisonic</span></div>
<div class="line"><a name="l00816"></a><span class="lineno"> 816</span>&#160;<span class="comment">*/</span></div>
<div class="line"><a name="l00817"></a><span class="lineno"><a class="line" href="group__PluginMacros.html#gadf0fb4c49c6a9019a63bc52fbc2592f2"> 817</a></span>&#160;<span class="preprocessor">#define DISTRHO_PLUGIN_CLAP_FEATURES &quot;audio-effect&quot;</span>, &quot;stereo&quot;</div>
<div class="line"><a name="l00818"></a><span class="lineno"> 818</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00819"></a><span class="lineno"> 819</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00820"></a><span class="lineno"> 820</span>&#160;<span class="comment"> The plugin id when exporting in CLAP format, in reverse URI form.</span></div>
<div class="line"><a name="l00821"></a><span class="lineno"> 821</span>&#160;<span class="comment"> @note This macro is required when building CLAP plugins</span></div>
<div class="line"><a name="l00822"></a><span class="lineno"> 822</span>&#160;<span class="comment">*/</span></div>
<div class="line"><a name="l00823"></a><span class="lineno"><a class="line" href="group__PluginMacros.html#gaae12b710ad877c03b2a369e4a5e05140"> 823</a></span>&#160;<span class="preprocessor">#define DISTRHO_PLUGIN_CLAP_ID &quot;studio.kx.distrho.effect&quot;</span></div>
<div class="line"><a name="l00824"></a><span class="lineno"> 824</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00825"></a><span class="lineno"> 825</span>&#160;<span class="comment">/** @} */</span></div>
<div class="line"><a name="l00826"></a><span class="lineno"> 826</span>&#160; </div>
<div class="line"><a name="l00827"></a><span class="lineno"> 827</span>&#160;<span class="comment">/* ------------------------------------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00828"></a><span class="lineno"> 828</span>&#160;<span class="comment"> * Plugin Macros */</span></div>
<div class="line"><a name="l00788"></a><span class="lineno"> 788</span>&#160;<span class="comment"> A top-level category can be set as feature and be one of the following values:</span></div>
<div class="line"><a name="l00789"></a><span class="lineno"> 789</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00790"></a><span class="lineno"> 790</span>&#160;<span class="comment"> - instrument</span></div>
<div class="line"><a name="l00791"></a><span class="lineno"> 791</span>&#160;<span class="comment"> - audio-effect</span></div>
<div class="line"><a name="l00792"></a><span class="lineno"> 792</span>&#160;<span class="comment"> - note-effect</span></div>
<div class="line"><a name="l00793"></a><span class="lineno"> 793</span>&#160;<span class="comment"> - analyzer</span></div>
<div class="line"><a name="l00794"></a><span class="lineno"> 794</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00795"></a><span class="lineno"> 795</span>&#160;<span class="comment"> The following sub-categories can also be set:</span></div>
<div class="line"><a name="l00796"></a><span class="lineno"> 796</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00797"></a><span class="lineno"> 797</span>&#160;<span class="comment"> - synthesizer</span></div>
<div class="line"><a name="l00798"></a><span class="lineno"> 798</span>&#160;<span class="comment"> - sampler</span></div>
<div class="line"><a name="l00799"></a><span class="lineno"> 799</span>&#160;<span class="comment"> - drum</span></div>
<div class="line"><a name="l00800"></a><span class="lineno"> 800</span>&#160;<span class="comment"> - drum-machine</span></div>
<div class="line"><a name="l00801"></a><span class="lineno"> 801</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00802"></a><span class="lineno"> 802</span>&#160;<span class="comment"> - filter</span></div>
<div class="line"><a name="l00803"></a><span class="lineno"> 803</span>&#160;<span class="comment"> - phaser</span></div>
<div class="line"><a name="l00804"></a><span class="lineno"> 804</span>&#160;<span class="comment"> - equalizer</span></div>
<div class="line"><a name="l00805"></a><span class="lineno"> 805</span>&#160;<span class="comment"> - de-esser</span></div>
<div class="line"><a name="l00806"></a><span class="lineno"> 806</span>&#160;<span class="comment"> - phase-vocoder</span></div>
<div class="line"><a name="l00807"></a><span class="lineno"> 807</span>&#160;<span class="comment"> - granular</span></div>
<div class="line"><a name="l00808"></a><span class="lineno"> 808</span>&#160;<span class="comment"> - frequency-shifter</span></div>
<div class="line"><a name="l00809"></a><span class="lineno"> 809</span>&#160;<span class="comment"> - pitch-shifter</span></div>
<div class="line"><a name="l00810"></a><span class="lineno"> 810</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00811"></a><span class="lineno"> 811</span>&#160;<span class="comment"> - distortion</span></div>
<div class="line"><a name="l00812"></a><span class="lineno"> 812</span>&#160;<span class="comment"> - transient-shaper</span></div>
<div class="line"><a name="l00813"></a><span class="lineno"> 813</span>&#160;<span class="comment"> - compressor</span></div>
<div class="line"><a name="l00814"></a><span class="lineno"> 814</span>&#160;<span class="comment"> - limiter</span></div>
<div class="line"><a name="l00815"></a><span class="lineno"> 815</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00816"></a><span class="lineno"> 816</span>&#160;<span class="comment"> - flanger</span></div>
<div class="line"><a name="l00817"></a><span class="lineno"> 817</span>&#160;<span class="comment"> - chorus</span></div>
<div class="line"><a name="l00818"></a><span class="lineno"> 818</span>&#160;<span class="comment"> - delay</span></div>
<div class="line"><a name="l00819"></a><span class="lineno"> 819</span>&#160;<span class="comment"> - reverb</span></div>
<div class="line"><a name="l00820"></a><span class="lineno"> 820</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00821"></a><span class="lineno"> 821</span>&#160;<span class="comment"> - tremolo</span></div>
<div class="line"><a name="l00822"></a><span class="lineno"> 822</span>&#160;<span class="comment"> - glitch</span></div>
<div class="line"><a name="l00823"></a><span class="lineno"> 823</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00824"></a><span class="lineno"> 824</span>&#160;<span class="comment"> - utility</span></div>
<div class="line"><a name="l00825"></a><span class="lineno"> 825</span>&#160;<span class="comment"> - pitch-correction</span></div>
<div class="line"><a name="l00826"></a><span class="lineno"> 826</span>&#160;<span class="comment"> - restoration</span></div>
<div class="line"><a name="l00827"></a><span class="lineno"> 827</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00828"></a><span class="lineno"> 828</span>&#160;<span class="comment"> - multi-effects</span></div>
<div class="line"><a name="l00829"></a><span class="lineno"> 829</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00830"></a><span class="lineno"> 830</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00831"></a><span class="lineno"> 831</span>&#160;<span class="comment"> @defgroup ExtraPluginMacros Extra Plugin Macros</span></div>
<div class="line"><a name="l00830"></a><span class="lineno"> 830</span>&#160;<span class="comment"> - mixing</span></div>
<div class="line"><a name="l00831"></a><span class="lineno"> 831</span>&#160;<span class="comment"> - mastering</span></div>
<div class="line"><a name="l00832"></a><span class="lineno"> 832</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00833"></a><span class="lineno"> 833</span>&#160;<span class="comment"> C Macros to customize DPF behaviour.</span></div>
<div class="line"><a name="l00833"></a><span class="lineno"> 833</span>&#160;<span class="comment"> And finally the following audio capabilities can be set:</span></div>
<div class="line"><a name="l00834"></a><span class="lineno"> 834</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00835"></a><span class="lineno"> 835</span>&#160;<span class="comment"> These are macros that do not set plugin features or information, but instead change DPF internals.</span></div>
<div class="line"><a name="l00836"></a><span class="lineno"> 836</span>&#160;<span class="comment"> They are all optional.</span></div>
<div class="line"><a name="l00837"></a><span class="lineno"> 837</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00838"></a><span class="lineno"> 838</span>&#160;<span class="comment"> Unless stated otherwise, values are assumed to be a simple/empty define.</span></div>
<div class="line"><a name="l00839"></a><span class="lineno"> 839</span>&#160;<span class="comment"> @{</span></div>
<div class="line"><a name="l00840"></a><span class="lineno"> 840</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00835"></a><span class="lineno"> 835</span>&#160;<span class="comment"> - mono</span></div>
<div class="line"><a name="l00836"></a><span class="lineno"> 836</span>&#160;<span class="comment"> - stereo</span></div>
<div class="line"><a name="l00837"></a><span class="lineno"> 837</span>&#160;<span class="comment"> - surround</span></div>
<div class="line"><a name="l00838"></a><span class="lineno"> 838</span>&#160;<span class="comment"> - ambisonic</span></div>
<div class="line"><a name="l00839"></a><span class="lineno"> 839</span>&#160;<span class="comment">*/</span></div>
<div class="line"><a name="l00840"></a><span class="lineno"><a class="line" href="group__PluginMacros.html#gadf0fb4c49c6a9019a63bc52fbc2592f2"> 840</a></span>&#160;<span class="preprocessor">#define DISTRHO_PLUGIN_CLAP_FEATURES &quot;audio-effect&quot;</span>, &quot;stereo&quot;</div>
<div class="line"><a name="l00841"></a><span class="lineno"> 841</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00842"></a><span class="lineno"> 842</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00843"></a><span class="lineno"> 843</span>&#160;<span class="comment"> Whether to enable runtime plugin tests.@n</span></div>
<div class="line"><a name="l00844"></a><span class="lineno"> 844</span>&#160;<span class="comment"> This will check, during initialization of the plugin, if parameters, programs and states are setup properly.@n</span></div>
<div class="line"><a name="l00845"></a><span class="lineno"> 845</span>&#160;<span class="comment"> Useful to enable as part of CI, can safely be skipped.@n</span></div>
<div class="line"><a name="l00846"></a><span class="lineno"> 846</span>&#160;<span class="comment"> Under DPF makefiles this can be enabled by using `make DPF_RUNTIME_TESTING=true`.</span></div>
<div class="line"><a name="l00843"></a><span class="lineno"> 843</span>&#160;<span class="comment"> The plugin id when exporting in CLAP format, in reverse URI form.</span></div>
<div class="line"><a name="l00844"></a><span class="lineno"> 844</span>&#160;<span class="comment"> @note This macro is required when building CLAP plugins</span></div>
<div class="line"><a name="l00845"></a><span class="lineno"> 845</span>&#160;<span class="comment">*/</span></div>
<div class="line"><a name="l00846"></a><span class="lineno"><a class="line" href="group__PluginMacros.html#gaae12b710ad877c03b2a369e4a5e05140"> 846</a></span>&#160;<span class="preprocessor">#define DISTRHO_PLUGIN_CLAP_ID &quot;studio.kx.distrho.effect&quot;</span></div>
<div class="line"><a name="l00847"></a><span class="lineno"> 847</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00848"></a><span class="lineno"> 848</span>&#160;<span class="comment"> @note Some checks are only available with the GCC compiler,</span></div>
<div class="line"><a name="l00849"></a><span class="lineno"> 849</span>&#160;<span class="comment"> for detecting if a virtual function has been reimplemented.</span></div>
<div class="line"><a name="l00850"></a><span class="lineno"> 850</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00851"></a><span class="lineno"><a class="line" href="group__ExtraPluginMacros.html#ga692c508f53e1eb8747e261d2435490b7"> 851</a></span>&#160;<span class="preprocessor">#define DPF_RUNTIME_TESTING</span></div>
<div class="line"><a name="l00848"></a><span class="lineno"> 848</span>&#160;<span class="comment">/** @} */</span></div>
<div class="line"><a name="l00849"></a><span class="lineno"> 849</span>&#160; </div>
<div class="line"><a name="l00850"></a><span class="lineno"> 850</span>&#160;<span class="comment">/* ------------------------------------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00851"></a><span class="lineno"> 851</span>&#160;<span class="comment"> * Plugin Macros */</span></div>
<div class="line"><a name="l00852"></a><span class="lineno"> 852</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00853"></a><span class="lineno"> 853</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00854"></a><span class="lineno"> 854</span>&#160;<span class="comment"> Whether to show parameter outputs in the VST2 plugins.@n</span></div>
<div class="line"><a name="l00855"></a><span class="lineno"> 855</span>&#160;<span class="comment"> This is disabled (unset) by default, as the VST2 format has no notion of read-only parameters.</span></div>
<div class="line"><a name="l00856"></a><span class="lineno"> 856</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00857"></a><span class="lineno"><a class="line" href="group__ExtraPluginMacros.html#ga9e6df7bd76cecd30e3762a58e29cd011"> 857</a></span>&#160;<span class="preprocessor">#define DPF_VST_SHOW_PARAMETER_OUTPUTS</span></div>
<div class="line"><a name="l00858"></a><span class="lineno"> 858</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00859"></a><span class="lineno"> 859</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00860"></a><span class="lineno"> 860</span>&#160;<span class="comment"> Disable all file browser related code.@n</span></div>
<div class="line"><a name="l00861"></a><span class="lineno"> 861</span>&#160;<span class="comment"> Must be set as compiler macro when building DGL. (e.g. `CXXFLAGS=&quot;-DDGL_FILE_BROWSER_DISABLED&quot;`)</span></div>
<div class="line"><a name="l00862"></a><span class="lineno"> 862</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00863"></a><span class="lineno"><a class="line" href="group__ExtraPluginMacros.html#gabf2289230c19cc52d848bb174955f379"> 863</a></span>&#160;<span class="preprocessor">#define DGL_FILE_BROWSER_DISABLED</span></div>
<div class="line"><a name="l00854"></a><span class="lineno"> 854</span>&#160;<span class="comment"> @defgroup ExtraPluginMacros Extra Plugin Macros</span></div>
<div class="line"><a name="l00855"></a><span class="lineno"> 855</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00856"></a><span class="lineno"> 856</span>&#160;<span class="comment"> C Macros to customize DPF behaviour.</span></div>
<div class="line"><a name="l00857"></a><span class="lineno"> 857</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00858"></a><span class="lineno"> 858</span>&#160;<span class="comment"> These are macros that do not set plugin features or information, but instead change DPF internals.</span></div>
<div class="line"><a name="l00859"></a><span class="lineno"> 859</span>&#160;<span class="comment"> They are all optional.</span></div>
<div class="line"><a name="l00860"></a><span class="lineno"> 860</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00861"></a><span class="lineno"> 861</span>&#160;<span class="comment"> Unless stated otherwise, values are assumed to be a simple/empty define.</span></div>
<div class="line"><a name="l00862"></a><span class="lineno"> 862</span>&#160;<span class="comment"> @{</span></div>
<div class="line"><a name="l00863"></a><span class="lineno"> 863</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00864"></a><span class="lineno"> 864</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00865"></a><span class="lineno"> 865</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00866"></a><span class="lineno"> 866</span>&#160;<span class="comment"> Disable resource files, like internally used fonts.@n</span></div>
<div class="line"><a name="l00867"></a><span class="lineno"> 867</span>&#160;<span class="comment"> Must be set as compiler macro when building DGL. (e.g. `CXXFLAGS=&quot;-DDGL_NO_SHARED_RESOURCES&quot;`)</span></div>
<div class="line"><a name="l00868"></a><span class="lineno"> 868</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00869"></a><span class="lineno"><a class="line" href="group__ExtraPluginMacros.html#ga38bbd9136e90d6b4ecd77823fc2f29ab"> 869</a></span>&#160;<span class="preprocessor">#define DGL_NO_SHARED_RESOURCES</span></div>
<div class="line"><a name="l00866"></a><span class="lineno"> 866</span>&#160;<span class="comment"> Whether to enable runtime plugin tests.@n</span></div>
<div class="line"><a name="l00867"></a><span class="lineno"> 867</span>&#160;<span class="comment"> This will check, during initialization of the plugin, if parameters, programs and states are setup properly.@n</span></div>
<div class="line"><a name="l00868"></a><span class="lineno"> 868</span>&#160;<span class="comment"> Useful to enable as part of CI, can safely be skipped.@n</span></div>
<div class="line"><a name="l00869"></a><span class="lineno"> 869</span>&#160;<span class="comment"> Under DPF makefiles this can be enabled by using `make DPF_RUNTIME_TESTING=true`.</span></div>
<div class="line"><a name="l00870"></a><span class="lineno"> 870</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00871"></a><span class="lineno"> 871</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00872"></a><span class="lineno"> 872</span>&#160;<span class="comment"> Whether to use OpenGL3 instead of the default OpenGL2 compatility profile.</span></div>
<div class="line"><a name="l00873"></a><span class="lineno"> 873</span>&#160;<span class="comment"> Under DPF makefiles this can be enabled by using `make USE_OPENGL3=true` on the dgl build step.</span></div>
<div class="line"><a name="l00874"></a><span class="lineno"> 874</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00875"></a><span class="lineno"> 875</span>&#160;<span class="comment"> @note This is experimental and incomplete, contributions are welcome and appreciated.</span></div>
<div class="line"><a name="l00876"></a><span class="lineno"> 876</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00877"></a><span class="lineno"><a class="line" href="group__ExtraPluginMacros.html#ga01988e3c3664d33fac3b7958715b00fd"> 877</a></span>&#160;<span class="preprocessor">#define DGL_USE_OPENGL3</span></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;<span class="comment">/** @} */</span></div>
<div class="line"><a name="l00880"></a><span class="lineno"> 880</span>&#160; </div>
<div class="line"><a name="l00881"></a><span class="lineno"> 881</span>&#160;<span class="comment">/* ------------------------------------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00882"></a><span class="lineno"> 882</span>&#160;<span class="comment"> * Namespace Macros */</span></div>
<div class="line"><a name="l00883"></a><span class="lineno"> 883</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00884"></a><span class="lineno"> 884</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00885"></a><span class="lineno"> 885</span>&#160;<span class="comment"> @defgroup NamespaceMacros Namespace Macros</span></div>
<div class="line"><a name="l00886"></a><span class="lineno"> 886</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00887"></a><span class="lineno"> 887</span>&#160;<span class="comment"> C Macros to use and customize DPF namespaces.</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="comment"> These are macros that serve as helpers around C++ namespaces, and also as a way to set custom namespaces during a build.</span></div>
<div class="line"><a name="l00890"></a><span class="lineno"> 890</span>&#160;<span class="comment"> @{</span></div>
<div class="line"><a name="l00871"></a><span class="lineno"> 871</span>&#160;<span class="comment"> @note Some checks are only available with the GCC compiler,</span></div>
<div class="line"><a name="l00872"></a><span class="lineno"> 872</span>&#160;<span class="comment"> for detecting if a virtual function has been reimplemented.</span></div>
<div class="line"><a name="l00873"></a><span class="lineno"> 873</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00874"></a><span class="lineno"><a class="line" href="group__ExtraPluginMacros.html#ga692c508f53e1eb8747e261d2435490b7"> 874</a></span>&#160;<span class="preprocessor">#define DPF_RUNTIME_TESTING</span></div>
<div class="line"><a name="l00875"></a><span class="lineno"> 875</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00876"></a><span class="lineno"> 876</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00877"></a><span class="lineno"> 877</span>&#160;<span class="comment"> Whether to show parameter outputs in the VST2 plugins.@n</span></div>
<div class="line"><a name="l00878"></a><span class="lineno"> 878</span>&#160;<span class="comment"> This is disabled (unset) by default, as the VST2 format has no notion of read-only parameters.</span></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"><a class="line" href="group__ExtraPluginMacros.html#ga9e6df7bd76cecd30e3762a58e29cd011"> 880</a></span>&#160;<span class="preprocessor">#define DPF_VST_SHOW_PARAMETER_OUTPUTS</span></div>
<div class="line"><a name="l00881"></a><span class="lineno"> 881</span>&#160;<span class="comment"></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="comment"> Forcibly ignore DISTRHO_PLUGIN_BRAND_ID for VST3 plugins.@n</span></div>
<div class="line"><a name="l00884"></a><span class="lineno"> 884</span>&#160;<span class="comment"> This is required for DPF-based VST3 plugins that got released without setting DISTRHO_PLUGIN_BRAND_ID first.</span></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"><a class="line" href="group__ExtraPluginMacros.html#ga1942006206023a3943ce25a275de0179"> 886</a></span>&#160;<span class="preprocessor">#define DPF_VST3_DONT_USE_BRAND_ID</span></div>
<div class="line"><a name="l00887"></a><span class="lineno"> 887</span>&#160;<span class="comment"></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="comment"> Disable all file browser related code.@n</span></div>
<div class="line"><a name="l00890"></a><span class="lineno"> 890</span>&#160;<span class="comment"> Must be set as compiler macro when building DGL. (e.g. `CXXFLAGS=&quot;-DDGL_FILE_BROWSER_DISABLED&quot;`)</span></div>
<div class="line"><a name="l00891"></a><span class="lineno"> 891</span>&#160;<span class="comment"> */</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">/**</span></div>
<div class="line"><a name="l00894"></a><span class="lineno"> 894</span>&#160;<span class="comment"> Compiler macro that sets the C++ namespace for DPF plugins.@n</span></div>
<div class="line"><a name="l00895"></a><span class="lineno"> 895</span>&#160;<span class="comment"> If unset during build, it will use the name @b DISTRHO by default.</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="comment"> Unless you know exactly what you are doing, you do need to modify this value.@n</span></div>
<div class="line"><a name="l00898"></a><span class="lineno"> 898</span>&#160;<span class="comment"> The only probable useful case for customizing it is if you are building a big collection of very similar DPF-based plugins in your application.@n</span></div>
<div class="line"><a name="l00899"></a><span class="lineno"> 899</span>&#160;<span class="comment"> For example, having 2 different versions of the same plugin that should behave differently but still exist within the same binary.</span></div>
<div class="line"><a name="l00900"></a><span class="lineno"> 900</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00901"></a><span class="lineno"> 901</span>&#160;<span class="comment"> On macOS (where due to Objective-C restrictions all code that interacts with Cocoa needs to be in a flat namespace),</span></div>
<div class="line"><a name="l00902"></a><span class="lineno"> 902</span>&#160;<span class="comment"> DPF will automatically use the plugin name as prefix to flat namespace functions in order to avoid conflicts.</span></div>
<div class="line"><a name="l00892"></a><span class="lineno"><a class="line" href="group__ExtraPluginMacros.html#gabf2289230c19cc52d848bb174955f379"> 892</a></span>&#160;<span class="preprocessor">#define DGL_FILE_BROWSER_DISABLED</span></div>
<div class="line"><a name="l00893"></a><span class="lineno"> 893</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00894"></a><span class="lineno"> 894</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00895"></a><span class="lineno"> 895</span>&#160;<span class="comment"> Disable resource files, like internally used fonts.@n</span></div>
<div class="line"><a name="l00896"></a><span class="lineno"> 896</span>&#160;<span class="comment"> Must be set as compiler macro when building DGL. (e.g. `CXXFLAGS=&quot;-DDGL_NO_SHARED_RESOURCES&quot;`)</span></div>
<div class="line"><a name="l00897"></a><span class="lineno"> 897</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00898"></a><span class="lineno"><a class="line" href="group__ExtraPluginMacros.html#ga38bbd9136e90d6b4ecd77823fc2f29ab"> 898</a></span>&#160;<span class="preprocessor">#define DGL_NO_SHARED_RESOURCES</span></div>
<div class="line"><a name="l00899"></a><span class="lineno"> 899</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00900"></a><span class="lineno"> 900</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00901"></a><span class="lineno"> 901</span>&#160;<span class="comment"> Whether to use OpenGL3 instead of the default OpenGL2 compatility profile.</span></div>
<div class="line"><a name="l00902"></a><span class="lineno"> 902</span>&#160;<span class="comment"> Under DPF makefiles this can be enabled by using `make USE_OPENGL3=true` on the dgl build step.</span></div>
<div class="line"><a name="l00903"></a><span class="lineno"> 903</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00904"></a><span class="lineno"> 904</span>&#160;<span class="comment"> So, basically, it is DPF&#39;s job to make sure plugin binaries are 100% usable as-is.@n</span></div>
<div class="line"><a name="l00905"></a><span class="lineno"> 905</span>&#160;<span class="comment"> You typically do not need to care about this at all.</span></div>
<div class="line"><a name="l00906"></a><span class="lineno"> 906</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00907"></a><span class="lineno"><a class="line" href="group__NamespaceMacros.html#gad4d95edc702f6066ba2f41740f7e5393"> 907</a></span>&#160;<span class="preprocessor">#define DISTRHO_NAMESPACE DISTRHO</span></div>
<div class="line"><a name="l00908"></a><span class="lineno"> 908</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00909"></a><span class="lineno"> 909</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00910"></a><span class="lineno"> 910</span>&#160;<span class="comment"> Compiler macro that begins the C++ namespace for @b DISTRHO, as needed for (the DSP side of) plugins.@n</span></div>
<div class="line"><a name="l00911"></a><span class="lineno"> 911</span>&#160;<span class="comment"> All classes in DPF are within this namespace except for UI/graphics stuff.</span></div>
<div class="line"><a name="l00912"></a><span class="lineno"> 912</span>&#160;<span class="comment"> @see END_NAMESPACE_DISTRHO</span></div>
<div class="line"><a name="l00913"></a><span class="lineno"> 913</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00914"></a><span class="lineno"><a class="line" href="group__NamespaceMacros.html#gac4cb97c393d20c28ba19365d844341cd"> 914</a></span>&#160;<span class="preprocessor">#define START_NAMESPACE_DISTRHO namespace DISTRHO_NAMESPACE {</span></div>
<div class="line"><a name="l00904"></a><span class="lineno"> 904</span>&#160;<span class="comment"> @note This is experimental and incomplete, contributions are welcome and appreciated.</span></div>
<div class="line"><a name="l00905"></a><span class="lineno"> 905</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00906"></a><span class="lineno"><a class="line" href="group__ExtraPluginMacros.html#ga01988e3c3664d33fac3b7958715b00fd"> 906</a></span>&#160;<span class="preprocessor">#define DGL_USE_OPENGL3</span></div>
<div class="line"><a name="l00907"></a><span class="lineno"> 907</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00908"></a><span class="lineno"> 908</span>&#160;<span class="comment">/** @} */</span></div>
<div class="line"><a name="l00909"></a><span class="lineno"> 909</span>&#160; </div>
<div class="line"><a name="l00910"></a><span class="lineno"> 910</span>&#160;<span class="comment">/* ------------------------------------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00911"></a><span class="lineno"> 911</span>&#160;<span class="comment"> * Namespace Macros */</span></div>
<div class="line"><a name="l00912"></a><span class="lineno"> 912</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00913"></a><span class="lineno"> 913</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00914"></a><span class="lineno"> 914</span>&#160;<span class="comment"> @defgroup NamespaceMacros Namespace Macros</span></div>
<div class="line"><a name="l00915"></a><span class="lineno"> 915</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00916"></a><span class="lineno"> 916</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00917"></a><span class="lineno"> 917</span>&#160;<span class="comment"> Close the namespace previously started by @ref START_NAMESPACE_DISTRHO.@n</span></div>
<div class="line"><a name="l00918"></a><span class="lineno"> 918</span>&#160;<span class="comment"> This doesn&#39;t really need to be a macro, it is just prettier/more consistent that way.</span></div>
<div class="line"><a name="l00919"></a><span class="lineno"> 919</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00920"></a><span class="lineno"><a class="line" href="group__NamespaceMacros.html#ga3ff541a449593e069a29e92d21e38ef3"> 920</a></span>&#160;<span class="preprocessor">#define END_NAMESPACE_DISTRHO }</span></div>
<div class="line"><a name="l00916"></a><span class="lineno"> 916</span>&#160;<span class="comment"> C Macros to use and customize DPF namespaces.</span></div>
<div class="line"><a name="l00917"></a><span class="lineno"> 917</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00918"></a><span class="lineno"> 918</span>&#160;<span class="comment"> These are macros that serve as helpers around C++ namespaces, and also as a way to set custom namespaces during a build.</span></div>
<div class="line"><a name="l00919"></a><span class="lineno"> 919</span>&#160;<span class="comment"> @{</span></div>
<div class="line"><a name="l00920"></a><span class="lineno"> 920</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00921"></a><span class="lineno"> 921</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00922"></a><span class="lineno"> 922</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00923"></a><span class="lineno"> 923</span>&#160;<span class="comment"> Make the @b DISTRHO namespace available in the current function scope.@n</span></div>
<div class="line"><a name="l00924"></a><span class="lineno"> 924</span>&#160;<span class="comment"> This is not set by default in order to avoid conflicts with commonly used names such as &quot;Parameter&quot; and &quot;Plugin&quot;.</span></div>
<div class="line"><a name="l00925"></a><span class="lineno"> 925</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00926"></a><span class="lineno"><a class="line" href="group__NamespaceMacros.html#gadcd7e7d900fbae0fa1a71d6fbab4d59c"> 926</a></span>&#160;<span class="preprocessor">#define USE_NAMESPACE_DISTRHO using namespace DISTRHO_NAMESPACE;</span></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">/* TODO</span></div>
<div class="line"><a name="l00929"></a><span class="lineno"> 929</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00930"></a><span class="lineno"> 930</span>&#160;<span class="comment"> * DISTRHO_MACRO_AS_STRING_VALUE</span></div>
<div class="line"><a name="l00931"></a><span class="lineno"> 931</span>&#160;<span class="comment"> * DISTRHO_MACRO_AS_STRING</span></div>
<div class="line"><a name="l00932"></a><span class="lineno"> 932</span>&#160;<span class="comment"> * DISTRHO_PROPER_CPP11_SUPPORT</span></div>
<div class="line"><a name="l00933"></a><span class="lineno"> 933</span>&#160;<span class="comment"> * DONT_SET_USING_DISTRHO_NAMESPACE</span></div>
<div class="line"><a name="l00934"></a><span class="lineno"> 934</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00923"></a><span class="lineno"> 923</span>&#160;<span class="comment"> Compiler macro that sets the C++ namespace for DPF plugins.@n</span></div>
<div class="line"><a name="l00924"></a><span class="lineno"> 924</span>&#160;<span class="comment"> If unset during build, it will use the name @b DISTRHO by default.</span></div>
<div class="line"><a name="l00925"></a><span class="lineno"> 925</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00926"></a><span class="lineno"> 926</span>&#160;<span class="comment"> Unless you know exactly what you are doing, you do need to modify this value.@n</span></div>
<div class="line"><a name="l00927"></a><span class="lineno"> 927</span>&#160;<span class="comment"> The only probable useful case for customizing it is if you are building a big collection of very similar DPF-based plugins in your application.@n</span></div>
<div class="line"><a name="l00928"></a><span class="lineno"> 928</span>&#160;<span class="comment"> For example, having 2 different versions of the same plugin that should behave differently but still exist within the same binary.</span></div>
<div class="line"><a name="l00929"></a><span class="lineno"> 929</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00930"></a><span class="lineno"> 930</span>&#160;<span class="comment"> On macOS (where due to Objective-C restrictions all code that interacts with Cocoa needs to be in a flat namespace),</span></div>
<div class="line"><a name="l00931"></a><span class="lineno"> 931</span>&#160;<span class="comment"> DPF will automatically use the plugin name as prefix to flat namespace functions in order to avoid conflicts.</span></div>
<div class="line"><a name="l00932"></a><span class="lineno"> 932</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00933"></a><span class="lineno"> 933</span>&#160;<span class="comment"> So, basically, it is DPF&#39;s job to make sure plugin binaries are 100% usable as-is.@n</span></div>
<div class="line"><a name="l00934"></a><span class="lineno"> 934</span>&#160;<span class="comment"> You typically do not need to care about this at all.</span></div>
<div class="line"><a name="l00935"></a><span class="lineno"> 935</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00936"></a><span class="lineno"> 936</span>&#160; </div>
<div class="line"><a name="l00937"></a><span class="lineno"> 937</span>&#160;<span class="comment">// -----------------------------------------------------------------------------------------------------------</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;<a class="code" href="group__NamespaceMacros.html#ga3ff541a449593e069a29e92d21e38ef3">END_NAMESPACE_DISTRHO</a></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;<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:966</div></div>
<div class="line"><a name="l00936"></a><span class="lineno"><a class="line" href="group__NamespaceMacros.html#gad4d95edc702f6066ba2f41740f7e5393"> 936</a></span>&#160;<span class="preprocessor">#define DISTRHO_NAMESPACE DISTRHO</span></div>
<div class="line"><a name="l00937"></a><span class="lineno"> 937</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00938"></a><span class="lineno"> 938</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00939"></a><span class="lineno"> 939</span>&#160;<span class="comment"> Compiler macro that begins the C++ namespace for @b DISTRHO, as needed for (the DSP side of) plugins.@n</span></div>
<div class="line"><a name="l00940"></a><span class="lineno"> 940</span>&#160;<span class="comment"> All classes in DPF are within this namespace except for UI/graphics stuff.</span></div>
<div class="line"><a name="l00941"></a><span class="lineno"> 941</span>&#160;<span class="comment"> @see END_NAMESPACE_DISTRHO</span></div>
<div class="line"><a name="l00942"></a><span class="lineno"> 942</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00943"></a><span class="lineno"><a class="line" href="group__NamespaceMacros.html#gac4cb97c393d20c28ba19365d844341cd"> 943</a></span>&#160;<span class="preprocessor">#define START_NAMESPACE_DISTRHO namespace DISTRHO_NAMESPACE {</span></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;<span class="comment">/**</span></div>
<div class="line"><a name="l00946"></a><span class="lineno"> 946</span>&#160;<span class="comment"> Close the namespace previously started by @ref START_NAMESPACE_DISTRHO.@n</span></div>
<div class="line"><a name="l00947"></a><span class="lineno"> 947</span>&#160;<span class="comment"> This doesn&#39;t really need to be a macro, it is just prettier/more consistent that way.</span></div>
<div class="line"><a name="l00948"></a><span class="lineno"> 948</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00949"></a><span class="lineno"><a class="line" href="group__NamespaceMacros.html#ga3ff541a449593e069a29e92d21e38ef3"> 949</a></span>&#160;<span class="preprocessor">#define END_NAMESPACE_DISTRHO }</span></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;<span class="comment">/**</span></div>
<div class="line"><a name="l00952"></a><span class="lineno"> 952</span>&#160;<span class="comment"> Make the @b DISTRHO namespace available in the current function scope.@n</span></div>
<div class="line"><a name="l00953"></a><span class="lineno"> 953</span>&#160;<span class="comment"> This is not set by default in order to avoid conflicts with commonly used names such as &quot;Parameter&quot; and &quot;Plugin&quot;.</span></div>
<div class="line"><a name="l00954"></a><span class="lineno"> 954</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00955"></a><span class="lineno"><a class="line" href="group__NamespaceMacros.html#gadcd7e7d900fbae0fa1a71d6fbab4d59c"> 955</a></span>&#160;<span class="preprocessor">#define USE_NAMESPACE_DISTRHO using namespace DISTRHO_NAMESPACE;</span></div>
<div class="line"><a name="l00956"></a><span class="lineno"> 956</span>&#160; </div>
<div class="line"><a name="l00957"></a><span class="lineno"> 957</span>&#160;<span class="comment">/* TODO</span></div>
<div class="line"><a name="l00958"></a><span class="lineno"> 958</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00959"></a><span class="lineno"> 959</span>&#160;<span class="comment"> * DISTRHO_MACRO_AS_STRING_VALUE</span></div>
<div class="line"><a name="l00960"></a><span class="lineno"> 960</span>&#160;<span class="comment"> * DISTRHO_MACRO_AS_STRING</span></div>
<div class="line"><a name="l00961"></a><span class="lineno"> 961</span>&#160;<span class="comment"> * DISTRHO_PROPER_CPP11_SUPPORT</span></div>
<div class="line"><a name="l00962"></a><span class="lineno"> 962</span>&#160;<span class="comment"> * DONT_SET_USING_DISTRHO_NAMESPACE</span></div>
<div class="line"><a name="l00963"></a><span class="lineno"> 963</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00964"></a><span class="lineno"> 964</span>&#160;<span class="comment"> */</span></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="comment">// -----------------------------------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00967"></a><span class="lineno"> 967</span>&#160; </div>
<div class="line"><a name="l00968"></a><span class="lineno"> 968</span>&#160;<a class="code" href="group__NamespaceMacros.html#ga3ff541a449593e069a29e92d21e38ef3">END_NAMESPACE_DISTRHO</a></div>
<div class="line"><a name="l00969"></a><span class="lineno"> 969</span>&#160; </div>
<div class="line"><a name="l00970"></a><span class="lineno"> 970</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:61</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="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>
@@ -1018,24 +1047,24 @@ $(function() {
<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="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:77</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:35</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:78</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:920</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:914</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:926</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__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:72</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:90</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:949</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:943</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:955</div></div>
<div class="ttc" id="agroup__ParameterHints_html_gaf82d83a105dc418877ef91e84ac6efd3"><div class="ttname"><a href="group__ParameterHints.html#gaf82d83a105dc418877ef91e84ac6efd3">kParameterIsAutomatable</a></div><div class="ttdeci">static constexpr const uint32_t kParameterIsAutomatable</div><div class="ttdef"><b>Definition:</b> DistrhoDetails.hpp:96</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:581</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:547</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:593</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:552</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:574</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:559</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> DistrhoDetails.hpp:338</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> DistrhoDetails.hpp:333</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> DistrhoDetails.hpp:328</div></div>
<div class="ttc" id="astructParameter_html"><div class="ttname"><a href="structParameter.html">Parameter</a></div><div class="ttdef"><b>Definition:</b> DistrhoDetails.hpp:588</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> DistrhoDetails.hpp:634</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> DistrhoDetails.hpp:593</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> DistrhoDetails.hpp:615</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> DistrhoDetails.hpp:600</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>


+ 4
- 4
DistrhoPluginUtils_8hpp_source.html View File

@@ -284,8 +284,8 @@ $(function() {
<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 </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:920</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:914</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:949</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:943</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:500</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>
@@ -294,8 +294,8 @@ $(function() {
<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="astructMidiEvent_html"><div class="ttname"><a href="structMidiEvent.html">MidiEvent</a></div><div class="ttdef"><b>Definition:</b> DistrhoPlugin.hpp:774</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:783</div></div>
<div class="ttc" id="astructMidiEvent_html"><div class="ttname"><a href="structMidiEvent.html">MidiEvent</a></div><div class="ttdef"><b>Definition:</b> DistrhoDetails.hpp:891</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> DistrhoDetails.hpp:900</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>


+ 395
- 1379
DistrhoPlugin_8hpp_source.html
File diff suppressed because it is too large
View File


+ 2
- 2
DistrhoStandaloneUtils_8hpp_source.html View File

@@ -168,8 +168,8 @@ $(function() {
<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:920</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:914</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:949</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:943</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>


+ 394
- 393
DistrhoUI_8hpp_source.html View File

@@ -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-2022 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-2023 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>
@@ -88,395 +88,396 @@ $(function() {
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="preprocessor">#ifndef DISTRHO_UI_HPP_INCLUDED</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="preprocessor">#define DISTRHO_UI_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;extra/LeakDetector.hpp&quot;</span></div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="preprocessor">#include &quot;src/DistrhoPluginChecks.h&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">#ifdef DGL_CAIRO</span></div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="preprocessor"># include &quot;Cairo.hpp&quot;</span></div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="preprocessor">#ifdef DGL_OPENGL</span></div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="preprocessor"># include &quot;OpenGL.hpp&quot;</span></div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="preprocessor">#ifdef DGL_VULKAN</span></div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="preprocessor"># include &quot;Vulkan.hpp&quot;</span></div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="preprocessor">#endif</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"> 33</span>&#160;<span class="preprocessor">#if DISTRHO_PLUGIN_HAS_EXTERNAL_UI</span></div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="preprocessor"># include &quot;../dgl/Base.hpp&quot;</span></div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="preprocessor"># include &quot;extra/ExternalWindow.hpp&quot;</span></div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="keyword">typedef</span> DISTRHO_NAMESPACE::ExternalWindow UIWidget;</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="preprocessor">#elif DISTRHO_UI_USE_CUSTOM</span></div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;<span class="preprocessor"># include DISTRHO_UI_CUSTOM_INCLUDE_PATH</span></div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;<span class="keyword">typedef</span> <a class="code" href="group__PluginMacros.html#gaf6377f757b9796bd37f7be4e605ccd4a">DISTRHO_UI_CUSTOM_WIDGET_TYPE</a> UIWidget;</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;<span class="preprocessor">#elif DISTRHO_UI_USE_CAIRO</span></div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;<span class="preprocessor"># include &quot;../dgl/Cairo.hpp&quot;</span></div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;<span class="keyword">typedef</span> DGL_NAMESPACE::CairoTopLevelWidget UIWidget;</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;<span class="preprocessor">#elif DISTRHO_UI_USE_NANOVG</span></div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;<span class="preprocessor"># include &quot;../dgl/NanoVG.hpp&quot;</span></div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;<span class="keyword">typedef</span> DGL_NAMESPACE::NanoTopLevelWidget UIWidget;</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;<span class="preprocessor">#else</span></div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;<span class="preprocessor"># include &quot;../dgl/TopLevelWidget.hpp&quot;</span></div>
<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">#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;<span class="preprocessor">#if !DISTRHO_PLUGIN_HAS_EXTERNAL_UI</span></div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;<span class="preprocessor"># include &lt;vector&gt;</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; </div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;<a class="code" href="group__NamespaceMacros.html#gac4cb97c393d20c28ba19365d844341cd">START_NAMESPACE_DISTRHO</a></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">class </span>PluginWindow;</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"> * DPF UI */</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"> @addtogroup MainClasses</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">/**</span></div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;<span class="comment"> DPF UI class from where UI instances are created.</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"> @note You must call setSize during construction,</span></div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;<span class="comment"> @TODO Detailed information about this class.</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"><a class="line" href="classUI.html"> 76</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="l00077"></a><span class="lineno"> 77</span>&#160;{</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;<span class="keyword">public</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"> UI class constructor.</span></div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</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="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"> When @a automaticallyScale is set to true, DPF will automatically scale up the UI</span></div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;<span class="comment"> to fit the host/desktop scale factor.@n</span></div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160;<span class="comment"> It assumes aspect ratio is meant to be kept.</span></div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160;<span class="comment"> Manually call setGeometryConstraints instead if keeping UI aspect ratio is not required.</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"><a class="line" href="classUI.html#a844584caf362e72c0def15ff3477187f"> 88</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="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"> Destructor.</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"><a class="line" href="classUI.html#a9b9e41e6021cc07a25b50539e74daaae"> 93</a></span>&#160; <a class="code" href="classUI.html#a9b9e41e6021cc07a25b50539e74daaae">~UI</a>() <span class="keyword">override</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;<span class="comment"> * Host state */</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"> /**</span></div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</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="l00100"></a><span class="lineno"> 100</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="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"> 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="l00103"></a><span class="lineno"> 103</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="l00104"></a><span class="lineno"> 104</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="classUI.html#a8fe940d56a0c283095e28bbc5806af31"> 105</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="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"> Get the color used for UI background (i.e. window color) in RGBA format.</span></div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</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="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"> The following example code can be use to extract individual colors:</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"> const int red = (bgColor &gt;&gt; 24) &amp; 0xff;</span></div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;<span class="comment"> const int green = (bgColor &gt;&gt; 16) &amp; 0xff;</span></div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;<span class="comment"> const int blue = (bgColor &gt;&gt; 8) &amp; 0xff;</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"> */</span></div>
<div class="line"><a name="l00118"></a><span class="lineno"><a class="line" href="classUI.html#a3c47bc4cb3dcc558bbd05791d1cc83f5"> 118</a></span>&#160; uint <a class="code" href="classUI.html#a3c47bc4cb3dcc558bbd05791d1cc83f5">getBackgroundColor</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"> Get the color used for UI foreground (i.e. text color) in RGBA format.</span></div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</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="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"> The following example code can be use to extract individual colors:</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"> const int red = (fgColor &gt;&gt; 24) &amp; 0xff;</span></div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;<span class="comment"> const int green = (fgColor &gt;&gt; 16) &amp; 0xff;</span></div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160;<span class="comment"> const int blue = (fgColor &gt;&gt; 8) &amp; 0xff;</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"> */</span></div>
<div class="line"><a name="l00131"></a><span class="lineno"><a class="line" href="classUI.html#a607ea9f2978605808d8ef5dc3531fae7"> 131</a></span>&#160; uint <a class="code" href="classUI.html#a607ea9f2978605808d8ef5dc3531fae7">getForegroundColor</a>() const noexcept;</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"> Get the current sample rate used in plugin processing.</span></div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;<span class="comment"> @see sampleRateChanged(double)</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"><a class="line" href="classUI.html#a97d880182254652f94e7bed355370c07"> 137</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="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"> Get the bundle path where the UI resides.@n</span></div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</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="l00142"></a><span class="lineno"> 142</span>&#160;<span class="comment"> @see getBinaryFilename</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"><a class="line" href="classUI.html#a3359930fbeb2670230e617d430ecd67e"> 144</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="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"> editParameter.</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"> Touch/pressed-down event.</span></div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160;<span class="comment"> Lets the host know the user is tweaking a parameter.</span></div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;<span class="comment"> Required in some hosts to record automation.</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"><a class="line" href="classUI.html#a2efcd4f21af0470e91fb6a342d7667a0"> 153</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="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"> setParameterValue.</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"> Change a parameter value in the Plugin.</span></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"><a class="line" href="classUI.html#a973db6e8805f0aa9be3457685564ab8a"> 160</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="l00161"></a><span class="lineno"> 161</span>&#160; </div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160;<span class="preprocessor">#if DISTRHO_PLUGIN_WANT_STATE</span><span class="comment"></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="comment"> setState.</span></div>
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160;<span class="comment"> @TODO Document this.</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"><a class="line" href="classUI.html#abc94a38afa658849f3fdfd66cd8f5f51"> 167</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="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"> /**</span></div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</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="l00171"></a><span class="lineno"> 171</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="l00172"></a><span class="lineno"> 172</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="l00173"></a><span class="lineno"> 173</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="l00174"></a><span class="lineno"> 174</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160;<span class="comment"> @return Success if a file-browser was opened, otherwise false.</span></div>
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160;<span class="comment"> @note You cannot request more than one file at a time.</span></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"><a class="line" href="classUI.html#a53aebb0a0a4ee5d321503d2ba8d7a631"> 178</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="l00179"></a><span class="lineno"> 179</span>&#160;<span class="preprocessor">#endif</span></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="preprocessor">#if DISTRHO_PLUGIN_WANT_MIDI_INPUT</span><span class="comment"></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"> Send a single MIDI note from the UI to the plugin DSP side.@n</span></div>
<div class="line"><a name="l00184"></a><span class="lineno"> 184</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="l00185"></a><span class="lineno"> 185</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00186"></a><span class="lineno"><a class="line" href="classUI.html#a9d630b2b1696e01015d869a5b434eb6e"> 186</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="l00187"></a><span class="lineno"> 187</span>&#160;<span class="preprocessor">#endif</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;<span class="preprocessor">#if DISTRHO_UI_FILE_BROWSER</span><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"> Open a file browser dialog with this window as transient parent.@n</span></div>
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160;<span class="comment"> A few options can be specified to setup the dialog.</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"> If a path is selected, onFileSelected() will be called with the user chosen path.</span></div>
<div class="line"><a name="l00195"></a><span class="lineno"> 195</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="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"> This function does not block the event loop.</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"> @note This is exactly the same API as provided by the Window class,</span></div>
<div class="line"><a name="l00200"></a><span class="lineno"> 200</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="l00201"></a><span class="lineno"> 201</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00202"></a><span class="lineno"> 202</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="l00203"></a><span class="lineno"> 203</span>&#160;<span class="preprocessor">#endif</span></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="preprocessor">#if DISTRHO_PLUGIN_WANT_DIRECT_ACCESS</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"> * Direct DSP access - DO NOT USE THIS UNLESS STRICTLY NECESSARY!! */</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"> getPluginInstancePointer.</span></div>
<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160;<span class="comment"> @TODO Document this.</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="classUI.html#a0863a8f7ca7fc7e172e703c58518329f"> 213</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="l00214"></a><span class="lineno"> 214</span>&#160;<span class="preprocessor">#endif</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;<span class="preprocessor">#if DISTRHO_PLUGIN_HAS_EXTERNAL_UI</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"> * External UI helpers */</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"> /**</span></div>
<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160;<span class="comment"> Get the bundle path that will be used for the next UI.</span></div>
<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160;<span class="comment"> @note: This function is only valid during createUI(),</span></div>
<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160;<span class="comment"> it will return null when called from anywhere else.</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"><a class="line" href="classUI.html#ab157329c83a4660dd059508dc8d041f5"> 225</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="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"> /**</span></div>
<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160;<span class="comment"> Get the scale factor that will be used for the next UI.</span></div>
<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160;<span class="comment"> @note: This function is only valid during createUI(),</span></div>
<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160;<span class="comment"> it will return 1.0 when called from anywhere else.</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"><a class="line" href="classUI.html#aa7277c575b7d0a75475e5a7ae684dc0f"> 232</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="l00233"></a><span class="lineno"> 233</span>&#160; </div>
<div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160;<span class="preprocessor"># if DISTRHO_PLUGIN_HAS_EMBED_UI</span><span class="comment"></span></div>
<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00236"></a><span class="lineno"> 236</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="l00237"></a><span class="lineno"> 237</span>&#160;<span class="comment"> @note: This function is only valid during createUI(),</span></div>
<div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160;<span class="comment"> it will return 0 when called from anywhere else.</span></div>
<div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00240"></a><span class="lineno"><a class="line" href="classUI.html#a4630e30aec3f3e7dcfc353ef2807bf56"> 240</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="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;<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;<span class="keyword">protected</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"> * DSP/Plugin Callbacks */</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"> /**</span></div>
<div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160;<span class="comment"> A parameter has changed on the plugin side.@n</span></div>
<div class="line"><a name="l00250"></a><span class="lineno"> 250</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="l00251"></a><span class="lineno"> 251</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00252"></a><span class="lineno"><a class="line" href="classUI.html#ab3086d302a9685b25abf144ade3e88f6"> 252</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="l00253"></a><span class="lineno"> 253</span>&#160; </div>
<div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160;<span class="preprocessor">#if DISTRHO_PLUGIN_WANT_PROGRAMS</span><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"> A program has been loaded on the plugin side.@n</span></div>
<div class="line"><a name="l00257"></a><span class="lineno"> 257</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="l00258"></a><span class="lineno"> 258</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00259"></a><span class="lineno"><a class="line" href="classUI.html#a2f043dd1b2e179248a19918c5483cfae"> 259</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="l00260"></a><span class="lineno"> 260</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; </div>
<div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160;<span class="preprocessor">#if DISTRHO_PLUGIN_WANT_STATE</span><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"> A state has changed on the plugin side.@n</span></div>
<div class="line"><a name="l00265"></a><span class="lineno"> 265</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="l00266"></a><span class="lineno"> 266</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00267"></a><span class="lineno"><a class="line" href="classUI.html#a1bdc7e158d974e82f0535f1658d66575"> 267</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="l00268"></a><span class="lineno"> 268</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; </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"> * DSP/Plugin Callbacks (optional) */</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"> /**</span></div>
<div class="line"><a name="l00274"></a><span class="lineno"> 274</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="l00275"></a><span class="lineno"> 275</span>&#160;<span class="comment"> @see getSampleRate()</span></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"><a class="line" href="classUI.html#ac3e98726ca71f95a1e6c867706ebd9be"> 277</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="l00278"></a><span class="lineno"> 278</span>&#160; </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 Callbacks (optional) */</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"> /**</span></div>
<div class="line"><a name="l00283"></a><span class="lineno"> 283</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="l00284"></a><span class="lineno"> 284</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="l00285"></a><span class="lineno"> 285</span>&#160;<span class="comment"> There are no guarantees in terms of timing.</span></div>
<div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160;<span class="comment"> @see addIdleCallback(IdleCallback*, uint).</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"><a class="line" href="classUI.html#af8de639088f3b2d42c266a2d2d6719da"> 288</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="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"> /**</span></div>
<div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160;<span class="comment"> Window scale factor function, called when the scale factor changes.</span></div>
<div class="line"><a name="l00292"></a><span class="lineno"> 292</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="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"> The default implementation does nothing.</span></div>
<div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160;<span class="comment"> WARNING function needs a proper name</span></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"><a class="line" href="classUI.html#ad89b09ef4e8129d72ff3b3cb8716a96b"> 297</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="l00298"></a><span class="lineno"> 298</span>&#160; </div>
<div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160;<span class="preprocessor">#if !DISTRHO_PLUGIN_HAS_EXTERNAL_UI</span><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 the types available for the data in a clipboard.</span></div>
<div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160;<span class="comment"> Must only be called within the context of uiClipboardDataOffer.</span></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; std::vector&lt;DGL_NAMESPACE::ClipboardDataOffer&gt; getClipboardDataOfferTypes();</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"> /**</span></div>
<div class="line"><a name="l00307"></a><span class="lineno"> 307</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="l00308"></a><span class="lineno"> 308</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="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"> Reimplement and return a non-zero id to accept the clipboard data offer for a particular type.</span></div>
<div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160;<span class="comment"> UIs must ignore any type they do not recognize.</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"> The default implementation accepts the &quot;text/plain&quot; mimetype.</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="keyword">virtual</span> uint32_t uiClipboardDataOffer();</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"> Windows focus function, called when the window gains or loses the keyboard focus.</span></div>
<div class="line"><a name="l00319"></a><span class="lineno"> 319</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="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"> The default implementation does nothing.</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="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="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"> Window reshape function, called when the window is resized.</span></div>
<div class="line"><a name="l00327"></a><span class="lineno"> 327</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="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"> The plugin UI size will be set right after this function.</span></div>
<div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160;<span class="comment"> The default implementation sets up the drawing context where necessary.</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="comment"> You should almost never need to override this function.</span></div>
<div class="line"><a name="l00333"></a><span class="lineno"> 333</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="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="keyword">virtual</span> <span class="keywordtype">void</span> uiReshape(uint width, uint height);</div>
<div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160;<span class="preprocessor">#endif </span><span class="comment">// !DISTRHO_PLUGIN_HAS_EXTERNAL_UI</span></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">#if DISTRHO_UI_FILE_BROWSER</span><span class="comment"></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"> Window file selected function, called when a path is selected by the user, as triggered by openFileBrowser().</span></div>
<div class="line"><a name="l00341"></a><span class="lineno"> 341</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="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"> 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="l00344"></a><span class="lineno"> 344</span>&#160;<span class="comment"> The default implementation does nothing.</span></div>
<div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00346"></a><span class="lineno"> 346</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="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="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="l00349"></a><span class="lineno"> 349</span>&#160;<span class="preprocessor">#endif</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="comment">/* --------------------------------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160;<span class="comment"> * UI Resize Handling, internal */</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="preprocessor">#if DISTRHO_PLUGIN_HAS_EXTERNAL_UI</span><span class="comment"></span></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"> External Window resize function, called when the window is resized.</span></div>
<div class="line"><a name="l00357"></a><span class="lineno"> 357</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="l00358"></a><span class="lineno"> 358</span>&#160;<span class="comment"> @see ExternalWindow::sizeChanged(uint,uint)</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"><a class="line" href="classUI.html#a3d499674a620c1ce3b6e1dbded9f09c4"> 360</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="l00361"></a><span class="lineno"> 361</span>&#160;<span class="preprocessor">#else</span><span class="comment"></span></div>
<div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160;<span class="comment"> Widget resize function, called when the widget is resized.</span></div>
<div class="line"><a name="l00364"></a><span class="lineno"> 364</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="l00365"></a><span class="lineno"> 365</span>&#160;<span class="comment"> @see Widget::onResize(const ResizeEvent&amp;)</span></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="keywordtype">void</span> onResize(<span class="keyword">const</span> ResizeEvent&amp; ev) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160; </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; </div>
<div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160;<span class="keyword">private</span>:</div>
<div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160; <span class="keyword">struct </span>PrivateData;</div>
<div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; PrivateData* <span class="keyword">const</span> uiData;</div>
<div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; <span class="keyword">friend</span> <span class="keyword">class </span>PluginWindow;</div>
<div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160; <span class="keyword">friend</span> <span class="keyword">class </span>UIExporter;</div>
<div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160;<span class="preprocessor">#if !DISTRHO_PLUGIN_HAS_EXTERNAL_UI</span><span class="comment"></span></div>
<div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160;<span class="comment"> /** @internal */</span></div>
<div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160; <span class="keywordtype">void</span> requestSizeChange(uint width, uint height) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160;<span class="preprocessor">#endif</span></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_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(<a class="code" href="classUI.html">UI</a>)</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">/** @} */</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;<span class="comment">/* ------------------------------------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160;<span class="comment"> * Create UI, entry point */</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"> @addtogroup EntryPoints</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"> */</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">/**</span></div>
<div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160;<span class="comment"> createUI.</span></div>
<div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160;<span class="comment"> @TODO Document this.</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"><a class="line" href="group__EntryPoints.html#gaad0ced21537a067680729bee6a65d8c8"> 399</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="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">/** @} */</span></div>
<div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160; </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; </div>
<div class="line"><a name="l00405"></a><span class="lineno"> 405</span>&#160;<a class="code" href="group__NamespaceMacros.html#ga3ff541a449593e069a29e92d21e38ef3">END_NAMESPACE_DISTRHO</a></div>
<div class="line"><a name="l00406"></a><span class="lineno"> 406</span>&#160; </div>
<div class="line"><a name="l00407"></a><span class="lineno"> 407</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:77</div></div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="preprocessor">#include &quot;DistrhoDetails.hpp&quot;</span></div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="preprocessor">#include &quot;extra/LeakDetector.hpp&quot;</span></div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="preprocessor">#include &quot;src/DistrhoPluginChecks.h&quot;</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="preprocessor">#ifdef DGL_CAIRO</span></div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="preprocessor"># include &quot;Cairo.hpp&quot;</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;<span class="preprocessor">#ifdef DGL_OPENGL</span></div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="preprocessor"># include &quot;OpenGL.hpp&quot;</span></div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="preprocessor">#ifdef DGL_VULKAN</span></div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="preprocessor"># include &quot;Vulkan.hpp&quot;</span></div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="preprocessor">#endif</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="preprocessor">#if DISTRHO_PLUGIN_HAS_EXTERNAL_UI</span></div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="preprocessor"># include &quot;../dgl/Base.hpp&quot;</span></div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="preprocessor"># include &quot;extra/ExternalWindow.hpp&quot;</span></div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="keyword">typedef</span> DISTRHO_NAMESPACE::ExternalWindow UIWidget;</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;<span class="preprocessor">#elif DISTRHO_UI_USE_CUSTOM</span></div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;<span class="preprocessor"># include DISTRHO_UI_CUSTOM_INCLUDE_PATH</span></div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;<span class="keyword">typedef</span> <a class="code" href="group__PluginMacros.html#gaf6377f757b9796bd37f7be4e605ccd4a">DISTRHO_UI_CUSTOM_WIDGET_TYPE</a> UIWidget;</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;<span class="preprocessor">#elif DISTRHO_UI_USE_CAIRO</span></div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;<span class="preprocessor"># include &quot;../dgl/Cairo.hpp&quot;</span></div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;<span class="keyword">typedef</span> DGL_NAMESPACE::CairoTopLevelWidget UIWidget;</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;<span class="preprocessor">#elif DISTRHO_UI_USE_NANOVG</span></div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;<span class="preprocessor"># include &quot;../dgl/NanoVG.hpp&quot;</span></div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;<span class="keyword">typedef</span> DGL_NAMESPACE::NanoTopLevelWidget UIWidget;</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="preprocessor"># include &quot;../dgl/TopLevelWidget.hpp&quot;</span></div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;<span class="keyword">typedef</span> DGL_NAMESPACE::TopLevelWidget UIWidget;</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; </div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;<span class="preprocessor">#if DISTRHO_UI_FILE_BROWSER</span></div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;<span class="preprocessor"># include &quot;extra/FileBrowserDialog.hpp&quot;</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">#if !DISTRHO_PLUGIN_HAS_EXTERNAL_UI</span></div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;<span class="preprocessor"># include &lt;vector&gt;</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; </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="keyword">class </span>PluginWindow;</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;<span class="comment">/* ------------------------------------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;<span class="comment"> * DPF UI */</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"> @addtogroup MainClasses</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"></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"> DPF UI class from where UI instances are created.</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"> @note You must call setSize during construction,</span></div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;<span class="comment"> @TODO Detailed information about this class.</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"><a class="line" href="classUI.html"> 77</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="l00078"></a><span class="lineno"> 78</span>&#160;{</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;<span class="keyword">public</span>:<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"> UI class constructor.</span></div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</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="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"> When @a automaticallyScale is set to true, DPF will automatically scale up the UI</span></div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160;<span class="comment"> to fit the host/desktop scale factor.@n</span></div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160;<span class="comment"> It assumes aspect ratio is meant to be kept.</span></div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160;<span class="comment"> Manually call setGeometryConstraints instead if keeping UI aspect ratio is not required.</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"><a class="line" href="classUI.html#a844584caf362e72c0def15ff3477187f"> 89</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="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"> Destructor.</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="classUI.html#a9b9e41e6021cc07a25b50539e74daaae"> 94</a></span>&#160; <a class="code" href="classUI.html#a9b9e41e6021cc07a25b50539e74daaae">~UI</a>() <span class="keyword">override</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; <span class="comment">/* --------------------------------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160;<span class="comment"> * Host state */</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"> /**</span></div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</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="l00101"></a><span class="lineno"> 101</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="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"> 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="l00104"></a><span class="lineno"> 104</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="l00105"></a><span class="lineno"> 105</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00106"></a><span class="lineno"><a class="line" href="classUI.html#a8fe940d56a0c283095e28bbc5806af31"> 106</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="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"> Get the color used for UI background (i.e. window color) in RGBA format.</span></div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</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="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"> The following example code can be use to extract individual colors:</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"> const int red = (bgColor &gt;&gt; 24) &amp; 0xff;</span></div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;<span class="comment"> const int green = (bgColor &gt;&gt; 16) &amp; 0xff;</span></div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;<span class="comment"> const int blue = (bgColor &gt;&gt; 8) &amp; 0xff;</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"> */</span></div>
<div class="line"><a name="l00119"></a><span class="lineno"><a class="line" href="classUI.html#a3c47bc4cb3dcc558bbd05791d1cc83f5"> 119</a></span>&#160; uint <a class="code" href="classUI.html#a3c47bc4cb3dcc558bbd05791d1cc83f5">getBackgroundColor</a>() const noexcept;</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"> /**</span></div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</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="l00123"></a><span class="lineno"> 123</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="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"> The following example code can be use to extract individual colors:</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"> const int red = (fgColor &gt;&gt; 24) &amp; 0xff;</span></div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160;<span class="comment"> const int green = (fgColor &gt;&gt; 16) &amp; 0xff;</span></div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;<span class="comment"> const int blue = (fgColor &gt;&gt; 8) &amp; 0xff;</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"> */</span></div>
<div class="line"><a name="l00132"></a><span class="lineno"><a class="line" href="classUI.html#a607ea9f2978605808d8ef5dc3531fae7"> 132</a></span>&#160; uint <a class="code" href="classUI.html#a607ea9f2978605808d8ef5dc3531fae7">getForegroundColor</a>() const noexcept;</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"> Get the current sample rate used in plugin processing.</span></div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;<span class="comment"> @see sampleRateChanged(double)</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="classUI.html#a97d880182254652f94e7bed355370c07"> 138</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="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"> Get the bundle path where the UI resides.@n</span></div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</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="l00143"></a><span class="lineno"> 143</span>&#160;<span class="comment"> @see getBinaryFilename</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="classUI.html#a3359930fbeb2670230e617d430ecd67e"> 145</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="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"> editParameter.</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"> Touch/pressed-down event.</span></div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;<span class="comment"> Lets the host know the user is tweaking a parameter.</span></div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;<span class="comment"> Required in some hosts to record automation.</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="classUI.html#a2efcd4f21af0470e91fb6a342d7667a0"> 154</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="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"> setParameterValue.</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"> Change a parameter value in the Plugin.</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"><a class="line" href="classUI.html#a973db6e8805f0aa9be3457685564ab8a"> 161</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="l00162"></a><span class="lineno"> 162</span>&#160; </div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160;<span class="preprocessor">#if DISTRHO_PLUGIN_WANT_STATE</span><span class="comment"></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="comment"> setState.</span></div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160;<span class="comment"> @TODO Document this.</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"><a class="line" href="classUI.html#abc94a38afa658849f3fdfd66cd8f5f51"> 168</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="l00169"></a><span class="lineno"> 169</span>&#160;<span class="comment"></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"> 171</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="l00172"></a><span class="lineno"> 172</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="l00173"></a><span class="lineno"> 173</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="l00174"></a><span class="lineno"> 174</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="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"> @return Success if a file-browser was opened, otherwise false.</span></div>
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160;<span class="comment"> @note You cannot request more than one file at a time.</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"><a class="line" href="classUI.html#a53aebb0a0a4ee5d321503d2ba8d7a631"> 179</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="l00180"></a><span class="lineno"> 180</span>&#160;<span class="preprocessor">#endif</span></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="preprocessor">#if DISTRHO_PLUGIN_WANT_MIDI_INPUT</span><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"> Send a single MIDI note from the UI to the plugin DSP side.@n</span></div>
<div class="line"><a name="l00185"></a><span class="lineno"> 185</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="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="classUI.html#a9d630b2b1696e01015d869a5b434eb6e"> 187</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="l00188"></a><span class="lineno"> 188</span>&#160;<span class="preprocessor">#endif</span></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="preprocessor">#if DISTRHO_UI_FILE_BROWSER</span><span class="comment"></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"> 192</span>&#160;<span class="comment"> Open a file browser dialog with this window as transient parent.@n</span></div>
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160;<span class="comment"> A few options can be specified to setup the dialog.</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"> If a path is selected, onFileSelected() will be called with the user chosen path.</span></div>
<div class="line"><a name="l00196"></a><span class="lineno"> 196</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="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"> This function does not block the event loop.</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"> @note This is exactly the same API as provided by the Window class,</span></div>
<div class="line"><a name="l00201"></a><span class="lineno"> 201</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="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; <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="l00204"></a><span class="lineno"> 204</span>&#160;<span class="preprocessor">#endif</span></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="preprocessor">#if DISTRHO_PLUGIN_WANT_DIRECT_ACCESS</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"> * Direct DSP access - DO NOT USE THIS UNLESS STRICTLY NECESSARY!! */</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"> /**</span></div>
<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160;<span class="comment"> getPluginInstancePointer.</span></div>
<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160;<span class="comment"> @TODO Document this.</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"><a class="line" href="classUI.html#a0863a8f7ca7fc7e172e703c58518329f"> 214</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="l00215"></a><span class="lineno"> 215</span>&#160;<span class="preprocessor">#endif</span></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="preprocessor">#if DISTRHO_PLUGIN_HAS_EXTERNAL_UI</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"> * External UI helpers */</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"> Get the bundle path that will be used for the next UI.</span></div>
<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160;<span class="comment"> @note: This function is only valid during createUI(),</span></div>
<div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160;<span class="comment"> it will return null when called from anywhere else.</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"><a class="line" href="classUI.html#ab157329c83a4660dd059508dc8d041f5"> 226</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="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"> Get the scale factor that will be used for the next UI.</span></div>
<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160;<span class="comment"> @note: This function is only valid during createUI(),</span></div>
<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160;<span class="comment"> it will return 1.0 when called from anywhere else.</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"><a class="line" href="classUI.html#aa7277c575b7d0a75475e5a7ae684dc0f"> 233</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="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"># if DISTRHO_PLUGIN_HAS_EMBED_UI</span><span class="comment"></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;<span class="comment"> Get the Window Id that will be used for the next created window.</span></div>
<div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160;<span class="comment"> @note: This function is only valid during createUI(),</span></div>
<div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;<span class="comment"> it will return 0 when called from anywhere else.</span></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"><a class="line" href="classUI.html#a4630e30aec3f3e7dcfc353ef2807bf56"> 241</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="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;<span class="preprocessor">#endif</span></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;<span class="keyword">protected</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"> * DSP/Plugin Callbacks */</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"> 249</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160;<span class="comment"> A parameter has changed on the plugin side.@n</span></div>
<div class="line"><a name="l00251"></a><span class="lineno"> 251</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="l00252"></a><span class="lineno"> 252</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00253"></a><span class="lineno"><a class="line" href="classUI.html#ab3086d302a9685b25abf144ade3e88f6"> 253</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="l00254"></a><span class="lineno"> 254</span>&#160; </div>
<div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160;<span class="preprocessor">#if DISTRHO_PLUGIN_WANT_PROGRAMS</span><span class="comment"></span></div>
<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160;<span class="comment"> A program has been loaded on the plugin side.@n</span></div>
<div class="line"><a name="l00258"></a><span class="lineno"> 258</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="l00259"></a><span class="lineno"> 259</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00260"></a><span class="lineno"><a class="line" href="classUI.html#a2f043dd1b2e179248a19918c5483cfae"> 260</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="l00261"></a><span class="lineno"> 261</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; </div>
<div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160;<span class="preprocessor">#if DISTRHO_PLUGIN_WANT_STATE</span><span class="comment"></span></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"> A state has changed on the plugin side.@n</span></div>
<div class="line"><a name="l00266"></a><span class="lineno"> 266</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="l00267"></a><span class="lineno"> 267</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00268"></a><span class="lineno"><a class="line" href="classUI.html#a1bdc7e158d974e82f0535f1658d66575"> 268</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="l00269"></a><span class="lineno"> 269</span>&#160;<span class="preprocessor">#endif</span></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="comment">/* --------------------------------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160;<span class="comment"> * DSP/Plugin Callbacks (optional) */</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;<span class="comment"> /**</span></div>
<div class="line"><a name="l00275"></a><span class="lineno"> 275</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="l00276"></a><span class="lineno"> 276</span>&#160;<span class="comment"> @see getSampleRate()</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="classUI.html#ac3e98726ca71f95a1e6c867706ebd9be"> 278</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="l00279"></a><span class="lineno"> 279</span>&#160; </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"> * UI Callbacks (optional) */</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"> 283</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00284"></a><span class="lineno"> 284</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="l00285"></a><span class="lineno"> 285</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="l00286"></a><span class="lineno"> 286</span>&#160;<span class="comment"> There are no guarantees in terms of timing.</span></div>
<div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160;<span class="comment"> @see addIdleCallback(IdleCallback*, uint).</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="classUI.html#af8de639088f3b2d42c266a2d2d6719da"> 289</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="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"> Window scale factor function, called when the scale factor changes.</span></div>
<div class="line"><a name="l00293"></a><span class="lineno"> 293</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="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"> The default implementation does nothing.</span></div>
<div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160;<span class="comment"> WARNING function needs a proper name</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"><a class="line" href="classUI.html#ad89b09ef4e8129d72ff3b3cb8716a96b"> 298</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="l00299"></a><span class="lineno"> 299</span>&#160; </div>
<div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160;<span class="preprocessor">#if !DISTRHO_PLUGIN_HAS_EXTERNAL_UI</span><span class="comment"></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="comment"> Get the types available for the data in a clipboard.</span></div>
<div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160;<span class="comment"> Must only be called within the context of uiClipboardDataOffer.</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; std::vector&lt;DGL_NAMESPACE::ClipboardDataOffer&gt; getClipboardDataOfferTypes();</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 clipboard data offer function, called when clipboard has data present, possibly with several datatypes.</span></div>
<div class="line"><a name="l00309"></a><span class="lineno"> 309</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="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"> Reimplement and return a non-zero id to accept the clipboard data offer for a particular type.</span></div>
<div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160;<span class="comment"> UIs must ignore any type they do not recognize.</span></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"> The default implementation accepts the &quot;text/plain&quot; mimetype.</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="keyword">virtual</span> uint32_t uiClipboardDataOffer();</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"> /**</span></div>
<div class="line"><a name="l00319"></a><span class="lineno"> 319</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="l00320"></a><span class="lineno"> 320</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="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"> The default implementation does nothing.</span></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; <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="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"> /**</span></div>
<div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160;<span class="comment"> Window reshape function, called when the window is resized.</span></div>
<div class="line"><a name="l00328"></a><span class="lineno"> 328</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="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"> The plugin UI size will be set right after this function.</span></div>
<div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160;<span class="comment"> The default implementation sets up the drawing context where necessary.</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"> You should almost never need to override this function.</span></div>
<div class="line"><a name="l00334"></a><span class="lineno"> 334</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="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="keyword">virtual</span> <span class="keywordtype">void</span> uiReshape(uint width, uint height);</div>
<div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160;<span class="preprocessor">#endif </span><span class="comment">// !DISTRHO_PLUGIN_HAS_EXTERNAL_UI</span></div>
<div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160; </div>
<div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160;<span class="preprocessor">#if DISTRHO_UI_FILE_BROWSER</span><span class="comment"></span></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"> Window file selected function, called when a path is selected by the user, as triggered by openFileBrowser().</span></div>
<div class="line"><a name="l00342"></a><span class="lineno"> 342</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="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"> 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="l00345"></a><span class="lineno"> 345</span>&#160;<span class="comment"> The default implementation does nothing.</span></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"> If you need to use files as plugin state, please setup and use states with kStateIsFilenamePath instead.</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="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="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;<span class="comment"> * UI Resize Handling, internal */</span></div>
<div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160; </div>
<div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160;<span class="preprocessor">#if DISTRHO_PLUGIN_HAS_EXTERNAL_UI</span><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"> External Window resize function, called when the window is resized.</span></div>
<div class="line"><a name="l00358"></a><span class="lineno"> 358</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="l00359"></a><span class="lineno"> 359</span>&#160;<span class="comment"> @see ExternalWindow::sizeChanged(uint,uint)</span></div>
<div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00361"></a><span class="lineno"><a class="line" href="classUI.html#a3d499674a620c1ce3b6e1dbded9f09c4"> 361</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="l00362"></a><span class="lineno"> 362</span>&#160;<span class="preprocessor">#else</span><span class="comment"></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="comment"> Widget resize function, called when the widget is resized.</span></div>
<div class="line"><a name="l00365"></a><span class="lineno"> 365</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="l00366"></a><span class="lineno"> 366</span>&#160;<span class="comment"> @see Widget::onResize(const ResizeEvent&amp;)</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="keywordtype">void</span> onResize(<span class="keyword">const</span> ResizeEvent&amp; ev) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; </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; </div>
<div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160;<span class="keyword">private</span>:</div>
<div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; <span class="keyword">struct </span>PrivateData;</div>
<div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; PrivateData* <span class="keyword">const</span> uiData;</div>
<div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160; <span class="keyword">friend</span> <span class="keyword">class </span>PluginWindow;</div>
<div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160; <span class="keyword">friend</span> <span class="keyword">class </span>UIExporter;</div>
<div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160;<span class="preprocessor">#if !DISTRHO_PLUGIN_HAS_EXTERNAL_UI</span><span class="comment"></span></div>
<div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160;<span class="comment"> /** @internal */</span></div>
<div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160; <span class="keywordtype">void</span> requestSizeChange(uint width, uint height) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00381"></a><span class="lineno"> 381</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00382"></a><span class="lineno"> 382</span>&#160; </div>
<div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160; DISTRHO_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(<a class="code" href="classUI.html">UI</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="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; </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"> * Create UI, entry point */</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"> @addtogroup EntryPoints</span></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"></span> </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"> createUI.</span></div>
<div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160;<span class="comment"> @TODO Document this.</span></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"><a class="line" href="group__EntryPoints.html#gaad0ced21537a067680729bee6a65d8c8"> 400</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="l00401"></a><span class="lineno"> 401</span>&#160;<span class="comment"></span> </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; </div>
<div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160;<span class="comment">// -----------------------------------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00405"></a><span class="lineno"> 405</span>&#160; </div>
<div class="line"><a name="l00406"></a><span class="lineno"> 406</span>&#160;<a class="code" href="group__NamespaceMacros.html#ga3ff541a449593e069a29e92d21e38ef3">END_NAMESPACE_DISTRHO</a></div>
<div class="line"><a name="l00407"></a><span class="lineno"> 407</span>&#160; </div>
<div class="line"><a name="l00408"></a><span class="lineno"> 408</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:78</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_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>
@@ -499,10 +500,10 @@ $(function() {
<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_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:288</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:289</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="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:920</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:914</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:949</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:943</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:626</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 -->


+ 298
- 241
DistrhoUtils_8hpp_source.html View File

@@ -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-2024 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>
@@ -126,294 +126,351 @@ $(function() {
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;<span class="preprocessor"># define M_PI 3.14159265358979323846</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; </div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;<span class="preprocessor">#define DISTRHO_MACRO_AS_STRING_VALUE(MACRO) #MACRO</span></div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;<span class="preprocessor">#define DISTRHO_MACRO_AS_STRING(MACRO) DISTRHO_MACRO_AS_STRING_VALUE(MACRO)</span></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"> * misc functions */</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"> * misc functions */</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="comment">/**</span></div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;<span class="comment"> @defgroup MiscellaneousFunctions Miscellaneous functions</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"> @defgroup MiscellaneousFunctions Miscellaneous functions</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"> */</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">/**</span></div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;<span class="comment"> Return a 32-bit number from 4 8-bit numbers.@n</span></div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;<span class="comment"> The return type is a int64_t for better compatibility with plugin formats that use such numbers.</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="keyword">static</span> <span class="keyword">inline</span> constexpr</div>
<div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="group__MiscellaneousFunctions.html#ga6827e90feb9bdcb6f76175a245fbf12c"> 75</a></span>&#160;int64_t <a class="code" href="group__MiscellaneousFunctions.html#ga6827e90feb9bdcb6f76175a245fbf12c">d_cconst</a>(<span class="keyword">const</span> uint8_t a, <span class="keyword">const</span> uint8_t b, <span class="keyword">const</span> uint8_t c, <span class="keyword">const</span> uint8_t d) 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="keywordflow">return</span> (a &lt;&lt; 24) | (b &lt;&lt; 16) | (c &lt;&lt; 8) | (d &lt;&lt; 0);</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;<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"> Return an hexadecimal representation of a MAJ.MIN.MICRO version number.</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="keyword">static</span> <span class="keyword">inline</span> constexpr</div>
<div class="line"><a name="l00084"></a><span class="lineno"><a class="line" href="group__MiscellaneousFunctions.html#ga95d67ff74d46b2c80f15c7790a523154"> 84</a></span>&#160;uint32_t <a class="code" href="group__MiscellaneousFunctions.html#ga95d67ff74d46b2c80f15c7790a523154">d_version</a>(<span class="keyword">const</span> uint8_t major, <span class="keyword">const</span> uint8_t minor, <span class="keyword">const</span> uint8_t micro) noexcept</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="keywordflow">return</span> uint32_t(major &lt;&lt; 16) | uint32_t(minor &lt;&lt; 8) | (micro &lt;&lt; 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">/**</span></div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160;<span class="comment"> Dummy, no-op function.</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">static</span> <span class="keyword">inline</span></div>
<div class="line"><a name="l00093"></a><span class="lineno"><a class="line" href="group__MiscellaneousFunctions.html#ga208c5bc138b7d4d4e318b6174c9dbf6d"> 93</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="group__MiscellaneousFunctions.html#ga208c5bc138b7d4d4e318b6174c9dbf6d">d_pass</a>() 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"> Return a 32-bit number from 4 8-bit numbers.@n</span></div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;<span class="comment"> The return type is a int64_t for better compatibility with plugin formats that use such numbers.</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="keyword">static</span> <span class="keyword">inline</span> constexpr</div>
<div class="line"><a name="l00072"></a><span class="lineno"><a class="line" href="group__MiscellaneousFunctions.html#ga6827e90feb9bdcb6f76175a245fbf12c"> 72</a></span>&#160;int64_t <a class="code" href="group__MiscellaneousFunctions.html#ga6827e90feb9bdcb6f76175a245fbf12c">d_cconst</a>(<span class="keyword">const</span> uint8_t a, <span class="keyword">const</span> uint8_t b, <span class="keyword">const</span> uint8_t c, <span class="keyword">const</span> uint8_t d) 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="keywordflow">return</span> (a &lt;&lt; 24) | (b &lt;&lt; 16) | (c &lt;&lt; 8) | (d &lt;&lt; 0);</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;}</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"> Return a 32-bit number from 4 ASCII characters.</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="keyword">static</span> <span class="keyword">inline</span> constexpr</div>
<div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="group__MiscellaneousFunctions.html#gaa6e4fa8bdcebd0d15f4ead3bb923e3f3"> 81</a></span>&#160;uint32_t <a class="code" href="group__MiscellaneousFunctions.html#ga6827e90feb9bdcb6f76175a245fbf12c">d_cconst</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> str[4])</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; <span class="keywordflow">return</span> (str[0] &lt;&lt; 24) | (str[1] &lt;&lt; 16) | (str[2] &lt;&lt; 8) | str[3];</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="comment"></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"> Return an hexadecimal representation of a MAJ.MIN.MICRO version number.</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="keyword">static</span> <span class="keyword">inline</span> constexpr</div>
<div class="line"><a name="l00090"></a><span class="lineno"><a class="line" href="group__MiscellaneousFunctions.html#ga95d67ff74d46b2c80f15c7790a523154"> 90</a></span>&#160;uint32_t <a class="code" href="group__MiscellaneousFunctions.html#ga95d67ff74d46b2c80f15c7790a523154">d_version</a>(<span class="keyword">const</span> uint8_t major, <span class="keyword">const</span> uint8_t minor, <span class="keyword">const</span> uint8_t micro) noexcept</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="keywordflow">return</span> uint32_t(major &lt;&lt; 16) | uint32_t(minor &lt;&lt; 8) | (micro &lt;&lt; 0);</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">/** @} */</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"> * string print functions */</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">/**</span></div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;<span class="comment"> @defgroup StringPrintFunctions String print functions</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"> @{</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="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"> Dummy, no-op function.</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">static</span> <span class="keyword">inline</span></div>
<div class="line"><a name="l00099"></a><span class="lineno"><a class="line" href="group__MiscellaneousFunctions.html#ga208c5bc138b7d4d4e318b6174c9dbf6d"> 99</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="group__MiscellaneousFunctions.html#ga208c5bc138b7d4d4e318b6174c9dbf6d">d_pass</a>() noexcept {}</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">/** @} */</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="comment">/* --------------------------------------------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;<span class="comment"> * string print functions */</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">/**</span></div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;<span class="comment"> Print a string to stdout with newline (gray color).</span></div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;<span class="comment"> Does nothing if DEBUG is not defined.</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="preprocessor">#ifndef DEBUG</span></div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;<span class="preprocessor"># define d_debug(...)</span></div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;<span class="preprocessor">#else</span></div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span></div>
<div class="line"><a name="l00114"></a><span class="lineno"><a class="line" href="group__StringPrintFunctions.html#ga9b8ac0ef05538648cb37b3c383ac60d9"> 114</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="group__StringPrintFunctions.html#ga9b8ac0ef05538648cb37b3c383ac60d9">d_debug</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span> fmt, ...) noexcept</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="keywordflow">try</span> {</div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; va_list args;</div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; va_start(args, fmt);</div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; std::fprintf(stdout, <span class="stringliteral">&quot;\x1b[30;1m&quot;</span>);</div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; std::vfprintf(stdout, fmt, args);</div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; std::fprintf(stdout, <span class="stringliteral">&quot;\x1b[0m\n&quot;</span>);</div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; va_end(args);</div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; } <span class="keywordflow">catch</span> (...) {}</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="preprocessor">#endif</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"> 128</span>&#160;<span class="comment"> Print a string to stdout with newline.</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="keyword">static</span> <span class="keyword">inline</span></div>
<div class="line"><a name="l00131"></a><span class="lineno"><a class="line" href="group__StringPrintFunctions.html#ga78b9baaeb515112b1e5ec1182bab299b"> 131</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="group__StringPrintFunctions.html#ga78b9baaeb515112b1e5ec1182bab299b">d_stdout</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span> fmt, ...) noexcept</div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;{</div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <span class="keywordflow">try</span> {</div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; va_list args;</div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; va_start(args, fmt);</div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; std::vfprintf(stdout, fmt, args);</div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; std::fprintf(stdout, <span class="stringliteral">&quot;\n&quot;</span>);</div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; va_end(args);</div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; } <span class="keywordflow">catch</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;<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"> Print a string to stderr with newline.</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"> 145</span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span></div>
<div class="line"><a name="l00146"></a><span class="lineno"><a class="line" href="group__StringPrintFunctions.html#ga61feaac6d65661f631be4136041e7bce"> 146</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="group__StringPrintFunctions.html#ga61feaac6d65661f631be4136041e7bce">d_stderr</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span> fmt, ...) noexcept</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">try</span> {</div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; va_list args;</div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; va_start(args, fmt);</div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; std::vfprintf(stderr, fmt, args);</div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; std::fprintf(stderr, <span class="stringliteral">&quot;\n&quot;</span>);</div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; va_end(args);</div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; } <span class="keywordflow">catch</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="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"> Print a string to stderr with newline (red color).</span></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="keyword">static</span> <span class="keyword">inline</span></div>
<div class="line"><a name="l00161"></a><span class="lineno"><a class="line" href="group__StringPrintFunctions.html#ga9861b6a26e43554680f50623196dde7b"> 161</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="group__StringPrintFunctions.html#ga9861b6a26e43554680f50623196dde7b">d_stderr2</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span> fmt, ...) noexcept</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="keywordflow">try</span> {</div>
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; va_list args;</div>
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; va_start(args, fmt);</div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; std::fprintf(stderr, <span class="stringliteral">&quot;\x1b[31m&quot;</span>);</div>
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; std::vfprintf(stderr, fmt, args);</div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; std::fprintf(stderr, <span class="stringliteral">&quot;\x1b[0m\n&quot;</span>);</div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; va_end(args);</div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; } <span class="keywordflow">catch</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"> Print a safe assertion error message.</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="keyword">static</span> <span class="keyword">inline</span></div>
<div class="line"><a name="l00177"></a><span class="lineno"><a class="line" href="group__StringPrintFunctions.html#ga9473c264004ac48764062fd881a55cff"> 177</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="group__StringPrintFunctions.html#ga9473c264004ac48764062fd881a55cff">d_safe_assert</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span> assertion, <span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span> file, <span class="keyword">const</span> <span class="keywordtype">int</span> line) noexcept</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; <a class="code" href="group__StringPrintFunctions.html#ga9861b6a26e43554680f50623196dde7b">d_stderr2</a>(<span class="stringliteral">&quot;assertion failure: \&quot;%s\&quot; in file %s, line %i&quot;</span>, assertion, file, line);</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="comment"></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"> Print a safe assertion error message, with 1 extra signed integer value.</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="keyword">static</span> <span class="keyword">inline</span></div>
<div class="line"><a name="l00186"></a><span class="lineno"><a class="line" href="group__StringPrintFunctions.html#gac59f28efd3d30333551df9ca47c1fc0f"> 186</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="group__StringPrintFunctions.html#gac59f28efd3d30333551df9ca47c1fc0f">d_safe_assert_int</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span> assertion, <span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span> file,</div>
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; <span class="keyword">const</span> <span class="keywordtype">int</span> line, <span class="keyword">const</span> <span class="keywordtype">int</span> value) noexcept</div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;<span class="comment"> @defgroup StringPrintFunctions String print functions</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"> @{</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"></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"> Print a string to stdout with newline (gray color).</span></div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;<span class="comment"> Does nothing if DEBUG is not defined.</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="preprocessor">#ifndef DEBUG</span></div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;<span class="preprocessor"># define d_debug(...)</span></div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;<span class="preprocessor">#else</span></div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span></div>
<div class="line"><a name="l00120"></a><span class="lineno"><a class="line" href="group__StringPrintFunctions.html#ga9b8ac0ef05538648cb37b3c383ac60d9"> 120</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="group__StringPrintFunctions.html#ga9b8ac0ef05538648cb37b3c383ac60d9">d_debug</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span> fmt, ...) noexcept</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="keywordflow">try</span> {</div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; va_list args;</div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; va_start(args, fmt);</div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;<span class="preprocessor"> #ifdef DISTRHO_OS_MAC</span></div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; std::fprintf(stdout, <span class="stringliteral">&quot;\x1b[37;1m&quot;</span>);</div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;<span class="preprocessor"> #else</span></div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; std::fprintf(stdout, <span class="stringliteral">&quot;\x1b[30;1m&quot;</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; std::vfprintf(stdout, fmt, args);</div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; std::fprintf(stdout, <span class="stringliteral">&quot;\x1b[0m\n&quot;</span>);</div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; va_end(args);</div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; } <span class="keywordflow">catch</span> (...) {}</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="preprocessor">#endif</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">/**</span></div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;<span class="comment"> Print a string to stdout with newline.</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="keyword">static</span> <span class="keyword">inline</span></div>
<div class="line"><a name="l00141"></a><span class="lineno"><a class="line" href="group__StringPrintFunctions.html#ga78b9baaeb515112b1e5ec1182bab299b"> 141</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="group__StringPrintFunctions.html#ga78b9baaeb515112b1e5ec1182bab299b">d_stdout</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span> fmt, ...) noexcept</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="keywordflow">try</span> {</div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; va_list args;</div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; va_start(args, fmt);</div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; std::vfprintf(stdout, fmt, args);</div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; std::fprintf(stdout, <span class="stringliteral">&quot;\n&quot;</span>);</div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; va_end(args);</div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; } <span class="keywordflow">catch</span> (...) {}</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="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"> Print a string to stderr with newline.</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="keyword">static</span> <span class="keyword">inline</span></div>
<div class="line"><a name="l00156"></a><span class="lineno"><a class="line" href="group__StringPrintFunctions.html#ga61feaac6d65661f631be4136041e7bce"> 156</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="group__StringPrintFunctions.html#ga61feaac6d65661f631be4136041e7bce">d_stderr</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span> fmt, ...) noexcept</div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160;{</div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; <span class="keywordflow">try</span> {</div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; va_list args;</div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; va_start(args, fmt);</div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; std::vfprintf(stderr, fmt, args);</div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; std::fprintf(stderr, <span class="stringliteral">&quot;\n&quot;</span>);</div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; va_end(args);</div>
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; } <span class="keywordflow">catch</span> (...) {}</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="comment"></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"> Print a string to stderr with newline (red color).</span></div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span></div>
<div class="line"><a name="l00171"></a><span class="lineno"><a class="line" href="group__StringPrintFunctions.html#ga9861b6a26e43554680f50623196dde7b"> 171</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="group__StringPrintFunctions.html#ga9861b6a26e43554680f50623196dde7b">d_stderr2</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span> fmt, ...) noexcept</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="keywordflow">try</span> {</div>
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; va_list args;</div>
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; va_start(args, fmt);</div>
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; std::fprintf(stderr, <span class="stringliteral">&quot;\x1b[31m&quot;</span>);</div>
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; std::vfprintf(stderr, fmt, args);</div>
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; std::fprintf(stderr, <span class="stringliteral">&quot;\x1b[0m\n&quot;</span>);</div>
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; va_end(args);</div>
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; } <span class="keywordflow">catch</span> (...) {}</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;<span class="comment">/**</span></div>
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160;<span class="comment"> Print a safe assertion error message.</span></div>
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span></div>
<div class="line"><a name="l00187"></a><span class="lineno"><a class="line" href="group__StringPrintFunctions.html#ga9473c264004ac48764062fd881a55cff"> 187</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="group__StringPrintFunctions.html#ga9473c264004ac48764062fd881a55cff">d_safe_assert</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span> assertion, <span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span> file, <span class="keyword">const</span> <span class="keywordtype">int</span> line) noexcept</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; <a class="code" href="group__StringPrintFunctions.html#ga9861b6a26e43554680f50623196dde7b">d_stderr2</a>(<span class="stringliteral">&quot;assertion failure: \&quot;%s\&quot; in file %s, line %i, value %i&quot;</span>, assertion, file, line, value);</div>
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; <a class="code" href="group__StringPrintFunctions.html#ga9861b6a26e43554680f50623196dde7b">d_stderr2</a>(<span class="stringliteral">&quot;assertion failure: \&quot;%s\&quot; in file %s, line %i&quot;</span>, assertion, file, line);</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="comment"></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"> Print a safe assertion error message, with 1 extra unsigned integer value.</span></div>
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160;<span class="comment"> Print a safe assertion error message, with 1 extra signed integer value.</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="keyword">static</span> <span class="keyword">inline</span></div>
<div class="line"><a name="l00196"></a><span class="lineno"><a class="line" href="group__StringPrintFunctions.html#gaf7645d9dcbbd44b92b8b6d4625a8e95c"> 196</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="group__StringPrintFunctions.html#gaf7645d9dcbbd44b92b8b6d4625a8e95c">d_safe_assert_uint</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span> assertion, <span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span> file,</div>
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; <span class="keyword">const</span> <span class="keywordtype">int</span> line, <span class="keyword">const</span> uint value) noexcept</div>
<div class="line"><a name="l00196"></a><span class="lineno"><a class="line" href="group__StringPrintFunctions.html#gac59f28efd3d30333551df9ca47c1fc0f"> 196</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="group__StringPrintFunctions.html#gac59f28efd3d30333551df9ca47c1fc0f">d_safe_assert_int</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span> assertion, <span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span> file,</div>
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; <span class="keyword">const</span> <span class="keywordtype">int</span> line, <span class="keyword">const</span> <span class="keywordtype">int</span> value) noexcept</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; <a class="code" href="group__StringPrintFunctions.html#ga9861b6a26e43554680f50623196dde7b">d_stderr2</a>(<span class="stringliteral">&quot;assertion failure: \&quot;%s\&quot; in file %s, line %i, value %u&quot;</span>, assertion, file, line, value);</div>
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; <a class="code" href="group__StringPrintFunctions.html#ga9861b6a26e43554680f50623196dde7b">d_stderr2</a>(<span class="stringliteral">&quot;assertion failure: \&quot;%s\&quot; in file %s, line %i, value %i&quot;</span>, assertion, file, line, value);</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="comment"></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;<span class="comment"> Print a safe assertion error message, with 2 extra signed integer values.</span></div>
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160;<span class="comment"> Print a safe assertion error message, with 1 extra unsigned integer value.</span></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="keyword">static</span> <span class="keyword">inline</span></div>
<div class="line"><a name="l00206"></a><span class="lineno"><a class="line" href="group__StringPrintFunctions.html#ga9b31f29f7fde426a4a5bc9b1616aad28"> 206</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="group__StringPrintFunctions.html#ga9b31f29f7fde426a4a5bc9b1616aad28">d_safe_assert_int2</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span> assertion, <span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span> file,</div>
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; <span class="keyword">const</span> <span class="keywordtype">int</span> line, <span class="keyword">const</span> <span class="keywordtype">int</span> v1, <span class="keyword">const</span> <span class="keywordtype">int</span> v2) noexcept</div>
<div class="line"><a name="l00206"></a><span class="lineno"><a class="line" href="group__StringPrintFunctions.html#gaf7645d9dcbbd44b92b8b6d4625a8e95c"> 206</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="group__StringPrintFunctions.html#gaf7645d9dcbbd44b92b8b6d4625a8e95c">d_safe_assert_uint</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span> assertion, <span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span> file,</div>
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; <span class="keyword">const</span> <span class="keywordtype">int</span> line, <span class="keyword">const</span> uint value) noexcept</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; <a class="code" href="group__StringPrintFunctions.html#ga9861b6a26e43554680f50623196dde7b">d_stderr2</a>(<span class="stringliteral">&quot;assertion failure: \&quot;%s\&quot; in file %s, line %i, v1 %i, v2 %i&quot;</span>, assertion, file, line, v1, v2);</div>
<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; <a class="code" href="group__StringPrintFunctions.html#ga9861b6a26e43554680f50623196dde7b">d_stderr2</a>(<span class="stringliteral">&quot;assertion failure: \&quot;%s\&quot; in file %s, line %i, value %u&quot;</span>, assertion, file, line, value);</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="comment"></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"> 213</span>&#160;<span class="comment"> Print a safe assertion error message, with 2 extra unsigned integer values.</span></div>
<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160;<span class="comment"> Print a safe assertion error message, with 2 extra signed integer values.</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="keyword">static</span> <span class="keyword">inline</span></div>
<div class="line"><a name="l00216"></a><span class="lineno"><a class="line" href="group__StringPrintFunctions.html#gae62da5934fcf22b46324ddc2c44c3e58"> 216</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="group__StringPrintFunctions.html#gae62da5934fcf22b46324ddc2c44c3e58">d_safe_assert_uint2</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span> assertion, <span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span> file,</div>
<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; <span class="keyword">const</span> <span class="keywordtype">int</span> line, <span class="keyword">const</span> uint v1, <span class="keyword">const</span> uint v2) noexcept</div>
<div class="line"><a name="l00216"></a><span class="lineno"><a class="line" href="group__StringPrintFunctions.html#ga9b31f29f7fde426a4a5bc9b1616aad28"> 216</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="group__StringPrintFunctions.html#ga9b31f29f7fde426a4a5bc9b1616aad28">d_safe_assert_int2</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span> assertion, <span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span> file,</div>
<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; <span class="keyword">const</span> <span class="keywordtype">int</span> line, <span class="keyword">const</span> <span class="keywordtype">int</span> v1, <span class="keyword">const</span> <span class="keywordtype">int</span> v2) noexcept</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; <a class="code" href="group__StringPrintFunctions.html#ga9861b6a26e43554680f50623196dde7b">d_stderr2</a>(<span class="stringliteral">&quot;assertion failure: \&quot;%s\&quot; in file %s, line %i, v1 %u, v2 %u&quot;</span>, assertion, file, line, v1, v2);</div>
<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; <a class="code" href="group__StringPrintFunctions.html#ga9861b6a26e43554680f50623196dde7b">d_stderr2</a>(<span class="stringliteral">&quot;assertion failure: \&quot;%s\&quot; in file %s, line %i, v1 %i, v2 %i&quot;</span>, assertion, file, line, v1, v2);</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;<span class="comment">/**</span></div>
<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160;<span class="comment"> Print a safe assertion error message, with a custom error message.</span></div>
<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160;<span class="comment"> Print a safe assertion error message, with 2 extra unsigned integer values.</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="keyword">static</span> <span class="keyword">inline</span></div>
<div class="line"><a name="l00226"></a><span class="lineno"><a class="line" href="group__StringPrintFunctions.html#ga643ef1d86ed4c665ae482ea0ccb52b51"> 226</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="group__StringPrintFunctions.html#ga643ef1d86ed4c665ae482ea0ccb52b51">d_custom_safe_assert</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span> message, <span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span> assertion, <span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span> file,</div>
<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; <span class="keyword">const</span> <span class="keywordtype">int</span> line) noexcept</div>
<div class="line"><a name="l00226"></a><span class="lineno"><a class="line" href="group__StringPrintFunctions.html#gae62da5934fcf22b46324ddc2c44c3e58"> 226</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="group__StringPrintFunctions.html#gae62da5934fcf22b46324ddc2c44c3e58">d_safe_assert_uint2</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span> assertion, <span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span> file,</div>
<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; <span class="keyword">const</span> <span class="keywordtype">int</span> line, <span class="keyword">const</span> uint v1, <span class="keyword">const</span> uint v2) 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; <a class="code" href="group__StringPrintFunctions.html#ga9861b6a26e43554680f50623196dde7b">d_stderr2</a>(<span class="stringliteral">&quot;assertion failure: %s, condition \&quot;%s\&quot; in file %s, line %i&quot;</span>, message, assertion, file, line);</div>
<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; <a class="code" href="group__StringPrintFunctions.html#ga9861b6a26e43554680f50623196dde7b">d_stderr2</a>(<span class="stringliteral">&quot;assertion failure: \&quot;%s\&quot; in file %s, line %i, v1 %u, v2 %u&quot;</span>, assertion, file, line, v1, v2);</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="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"> Print a safe exception error message.</span></div>
<div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160;<span class="comment"> Print a safe assertion error message, with a custom error message.</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="keyword">static</span> <span class="keyword">inline</span></div>
<div class="line"><a name="l00236"></a><span class="lineno"><a class="line" href="group__StringPrintFunctions.html#ga98137b745947d74f613859780c81ba69"> 236</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="group__StringPrintFunctions.html#ga98137b745947d74f613859780c81ba69">d_safe_exception</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span> exception, <span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span> file, <span class="keyword">const</span> <span class="keywordtype">int</span> line) noexcept</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; <a class="code" href="group__StringPrintFunctions.html#ga9861b6a26e43554680f50623196dde7b">d_stderr2</a>(<span class="stringliteral">&quot;exception caught: \&quot;%s\&quot; in file %s, line %i&quot;</span>, exception, file, line);</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; </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"> * math functions */</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">/**</span></div>
<div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160;<span class="comment"> @defgroup MathFunctions Math related functions</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"> 249</span>&#160;<span class="comment"> @{</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="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"> Safely compare two floating point numbers.</span></div>
<div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160;<span class="comment"> Returns true if they match.</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="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt;</div>
<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span></div>
<div class="line"><a name="l00258"></a><span class="lineno"><a class="line" href="group__MathFunctions.html#gabcb7db6e30f7428a3caa0fdec12af17a"> 258</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="group__MathFunctions.html#gabcb7db6e30f7428a3caa0fdec12af17a">d_isEqual</a>(<span class="keyword">const</span> T&amp; v1, <span class="keyword">const</span> T&amp; v2)</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="keywordflow">return</span> std::abs(v1-v2) &lt; std::numeric_limits&lt;T&gt;::epsilon();</div>
<div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160;}</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"> Safely compare two floating point numbers.</span></div>
<div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160;<span class="comment"> Returns true if they don&#39;t match.</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="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt;</div>
<div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span></div>
<div class="line"><a name="l00269"></a><span class="lineno"><a class="line" href="group__MathFunctions.html#gaf99f3a8a1c9d97b07c0f225fad8a27b7"> 269</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="group__MathFunctions.html#gaf99f3a8a1c9d97b07c0f225fad8a27b7">d_isNotEqual</a>(<span class="keyword">const</span> T&amp; v1, <span class="keyword">const</span> T&amp; v2)</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="keywordflow">return</span> std::abs(v1-v2) &gt;= std::numeric_limits&lt;T&gt;::epsilon();</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">/**</span></div>
<div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160;<span class="comment"> Safely check if a floating point number is zero.</span></div>
<div class="line"><a name="l00236"></a><span class="lineno"><a class="line" href="group__StringPrintFunctions.html#ga643ef1d86ed4c665ae482ea0ccb52b51"> 236</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="group__StringPrintFunctions.html#ga643ef1d86ed4c665ae482ea0ccb52b51">d_custom_safe_assert</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span> message, <span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span> assertion, <span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span> file,</div>
<div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; <span class="keyword">const</span> <span class="keywordtype">int</span> line) 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; <a class="code" href="group__StringPrintFunctions.html#ga9861b6a26e43554680f50623196dde7b">d_stderr2</a>(<span class="stringliteral">&quot;assertion failure: %s, condition \&quot;%s\&quot; in file %s, line %i&quot;</span>, message, assertion, file, line);</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="comment"></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"> Print a safe exception error message.</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="keyword">static</span> <span class="keyword">inline</span></div>
<div class="line"><a name="l00246"></a><span class="lineno"><a class="line" href="group__StringPrintFunctions.html#ga98137b745947d74f613859780c81ba69"> 246</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="group__StringPrintFunctions.html#ga98137b745947d74f613859780c81ba69">d_safe_exception</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span> exception, <span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span> file, <span class="keyword">const</span> <span class="keywordtype">int</span> line) noexcept</div>
<div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160;{</div>
<div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; <a class="code" href="group__StringPrintFunctions.html#ga9861b6a26e43554680f50623196dde7b">d_stderr2</a>(<span class="stringliteral">&quot;exception caught: \&quot;%s\&quot; in file %s, line %i&quot;</span>, exception, file, line);</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;<span class="comment"></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; </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"> * math functions */</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">/**</span></div>
<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160;<span class="comment"> @defgroup MathFunctions Math related functions</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"> @{</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"></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"> Safely compare two floating point numbers.</span></div>
<div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160;<span class="comment"> Returns true if they match.</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">template</span>&lt;<span class="keyword">typename</span> T&gt;</div>
<div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span> constexpr</div>
<div class="line"><a name="l00268"></a><span class="lineno"><a class="line" href="group__MathFunctions.html#ga81d4bbe1b2730cfc30aec9b347ef9360"> 268</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="group__MathFunctions.html#ga81d4bbe1b2730cfc30aec9b347ef9360">d_isEqual</a>(<span class="keyword">const</span> T&amp; v1, <span class="keyword">const</span> T&amp; v2)</div>
<div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160;{</div>
<div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160; <span class="keywordflow">return</span> std::abs(v1-v2) &lt; std::numeric_limits&lt;T&gt;::epsilon();</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;<span class="comment"></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;<span class="comment"> Safely compare two floating point numbers.</span></div>
<div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160;<span class="comment"> Returns true if they don&#39;t match.</span></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="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt;</div>
<div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span></div>
<div class="line"><a name="l00279"></a><span class="lineno"><a class="line" href="group__MathFunctions.html#gae357f9031f7bcd8eccef3443081d3772"> 279</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="group__MathFunctions.html#gae357f9031f7bcd8eccef3443081d3772">d_isZero</a>(<span class="keyword">const</span> T&amp; value)</div>
<div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span> constexpr</div>
<div class="line"><a name="l00279"></a><span class="lineno"><a class="line" href="group__MathFunctions.html#ga3d70c97c300b9fb2792ba4fbb2fb501e"> 279</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="group__MathFunctions.html#ga3d70c97c300b9fb2792ba4fbb2fb501e">d_isNotEqual</a>(<span class="keyword">const</span> T&amp; v1, <span class="keyword">const</span> T&amp; v2)</div>
<div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160;{</div>
<div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160; <span class="keywordflow">return</span> std::abs(value) &lt; std::numeric_limits&lt;T&gt;::epsilon();</div>
<div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160; <span class="keywordflow">return</span> std::abs(v1-v2) &gt;= std::numeric_limits&lt;T&gt;::epsilon();</div>
<div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160;}</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"> Safely check if a floating point number is not zero.</span></div>
<div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160;<span class="comment"> Safely check if a floating point number is zero.</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"> 287</span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt;</div>
<div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span></div>
<div class="line"><a name="l00289"></a><span class="lineno"><a class="line" href="group__MathFunctions.html#gaa8753f357eea6f93c5fa4e538ce6ac47"> 289</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="group__MathFunctions.html#gaa8753f357eea6f93c5fa4e538ce6ac47">d_isNotZero</a>(<span class="keyword">const</span> T&amp; value)</div>
<div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span> constexpr</div>
<div class="line"><a name="l00289"></a><span class="lineno"><a class="line" href="group__MathFunctions.html#gaf5526b06989c47f21bdff3cd99af8353"> 289</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="group__MathFunctions.html#gaf5526b06989c47f21bdff3cd99af8353">d_isZero</a>(<span class="keyword">const</span> T&amp; value)</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="keywordflow">return</span> std::abs(value) &gt;= std::numeric_limits&lt;T&gt;::epsilon();</div>
<div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; <span class="keywordflow">return</span> std::abs(value) &lt; std::numeric_limits&lt;T&gt;::epsilon();</div>
<div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160;}</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"> Get next power of 2.</span></div>
<div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160;<span class="comment"> Safely check if a floating point number is not zero.</span></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="keyword">static</span> <span class="keyword">inline</span></div>
<div class="line"><a name="l00298"></a><span class="lineno"><a class="line" href="group__MathFunctions.html#gaded8dbdc7ff99c70e7361b3f1a32b584"> 298</a></span>&#160;uint32_t <a class="code" href="group__MathFunctions.html#gaded8dbdc7ff99c70e7361b3f1a32b584">d_nextPowerOf2</a>(uint32_t size) noexcept</div>
<div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160;{</div>
<div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160; DISTRHO_SAFE_ASSERT_RETURN(size &gt; 0, 0);</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; <span class="comment">// http://graphics.stanford.edu/~seander/bithacks.html#RoundUpPowerOf2</span></div>
<div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160; --size;</div>
<div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160; size |= size &gt;&gt; 1;</div>
<div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; size |= size &gt;&gt; 2;</div>
<div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160; size |= size &gt;&gt; 4;</div>
<div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160; size |= size &gt;&gt; 8;</div>
<div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160; size |= size &gt;&gt; 16;</div>
<div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; <span class="keywordflow">return</span> ++size;</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"></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; </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; </div>
<div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160;<span class="preprocessor">#ifndef DONT_SET_USING_DISTRHO_NAMESPACE</span></div>
<div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; <span class="comment">// If your code uses a lot of DISTRHO classes, then this will obviously save you</span></div>
<div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160; <span class="comment">// a lot of typing, but can be disabled by setting DONT_SET_USING_DISTRHO_NAMESPACE.</span></div>
<div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; <span class="keyword">namespace </span><a class="code" href="group__NamespaceMacros.html#gad4d95edc702f6066ba2f41740f7e5393">DISTRHO_NAMESPACE</a> {}</div>
<div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160; <span class="keyword">using namespace </span><a class="code" href="group__NamespaceMacros.html#gad4d95edc702f6066ba2f41740f7e5393">DISTRHO_NAMESPACE</a>;</div>
<div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160;<span class="preprocessor">#endif</span></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="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 </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__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_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:907</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 class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt;</div>
<div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span> constexpr</div>
<div class="line"><a name="l00299"></a><span class="lineno"><a class="line" href="group__MathFunctions.html#gad891a20280e4f41017e7247d6e5a1f13"> 299</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="group__MathFunctions.html#gad891a20280e4f41017e7247d6e5a1f13">d_isNotZero</a>(<span class="keyword">const</span> T&amp; value)</div>
<div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160;{</div>
<div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160; <span class="keywordflow">return</span> std::abs(value) &gt;= std::numeric_limits&lt;T&gt;::epsilon();</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">/**</span></div>
<div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160;<span class="comment"> Get next power of 2.</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="keyword">static</span> <span class="keyword">inline</span></div>
<div class="line"><a name="l00308"></a><span class="lineno"><a class="line" href="group__MathFunctions.html#gaded8dbdc7ff99c70e7361b3f1a32b584"> 308</a></span>&#160;uint32_t <a class="code" href="group__MathFunctions.html#gaded8dbdc7ff99c70e7361b3f1a32b584">d_nextPowerOf2</a>(uint32_t size) noexcept</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; DISTRHO_SAFE_ASSERT_RETURN(size &gt; 0, 0);</div>
<div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160; </div>
<div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; <span class="comment">// http://graphics.stanford.edu/~seander/bithacks.html#RoundUpPowerOf2</span></div>
<div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160; --size;</div>
<div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160; size |= size &gt;&gt; 1;</div>
<div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; size |= size &gt;&gt; 2;</div>
<div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; size |= size &gt;&gt; 4;</div>
<div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; size |= size &gt;&gt; 8;</div>
<div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160; size |= size &gt;&gt; 16;</div>
<div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; <span class="keywordflow">return</span> ++size;</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;<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"> Round a floating point number to an integer.</span></div>
<div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160;<span class="comment"> Fast operation for values known to be 0 or positive.</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="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt;</div>
<div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span> constexpr</div>
<div class="line"><a name="l00328"></a><span class="lineno"><a class="line" href="group__MathFunctions.html#ga3de0a572416cb38ca424094b595954ae"> 328</a></span>&#160;int32_t <a class="code" href="group__MathFunctions.html#ga3de0a572416cb38ca424094b595954ae">d_roundToIntPositive</a>(<span class="keyword">const</span> T&amp; value)</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="keywordflow">return</span> <span class="keyword">static_cast&lt;</span>int32_t<span class="keyword">&gt;</span>(value + <span class="keyword">static_cast&lt;</span>T<span class="keyword">&gt;</span>(0.5));</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;<span class="comment"></span> </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"> Round a floating point number to an unsigned integer.</span></div>
<div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160;<span class="comment"> Fast operation for values known to be 0 or positive.</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="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt;</div>
<div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span> constexpr</div>
<div class="line"><a name="l00339"></a><span class="lineno"><a class="line" href="group__MathFunctions.html#ga10abb07d21f97c5fbc0ec0b5fa0ab721"> 339</a></span>&#160;uint32_t <a class="code" href="group__MathFunctions.html#ga10abb07d21f97c5fbc0ec0b5fa0ab721">d_roundToUnsignedInt</a>(<span class="keyword">const</span> T&amp; value)</div>
<div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160;{</div>
<div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160; <span class="keywordflow">return</span> <span class="keyword">static_cast&lt;</span>uint32_t<span class="keyword">&gt;</span>(value + <span class="keyword">static_cast&lt;</span>T<span class="keyword">&gt;</span>(0.5));</div>
<div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160;}</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"> Round a floating point number to an integer.</span></div>
<div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160;<span class="comment"> Fast operation for values known to be 0 or negative.</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="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt;</div>
<div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span> constexpr</div>
<div class="line"><a name="l00350"></a><span class="lineno"><a class="line" href="group__MathFunctions.html#gadd62923031cb7d9e06d01957b3bcf3a6"> 350</a></span>&#160;int32_t <a class="code" href="group__MathFunctions.html#gadd62923031cb7d9e06d01957b3bcf3a6">d_roundToIntNegative</a>(<span class="keyword">const</span> T&amp; value)</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="keywordflow">return</span> <span class="keyword">static_cast&lt;</span>int32_t<span class="keyword">&gt;</span>(value - <span class="keyword">static_cast&lt;</span>T<span class="keyword">&gt;</span>(0.5));</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="comment"></span> </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"> Round a floating point number to integer.</span></div>
<div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt;</div>
<div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span> constexpr</div>
<div class="line"><a name="l00360"></a><span class="lineno"><a class="line" href="group__MathFunctions.html#ga981676558e521894c2ec4ca56b2ec8af"> 360</a></span>&#160;int32_t <a class="code" href="group__MathFunctions.html#ga981676558e521894c2ec4ca56b2ec8af">d_roundToInt</a>(<span class="keyword">const</span> T&amp; value)</div>
<div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160;{</div>
<div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160; <span class="keywordflow">return</span> value &gt;= 0 ? <span class="keyword">static_cast&lt;</span>int32_t<span class="keyword">&gt;</span>(value + <span class="keyword">static_cast&lt;</span>T<span class="keyword">&gt;</span>(0.5))</div>
<div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160; : <span class="keyword">static_cast&lt;</span>int32_t<span class="keyword">&gt;</span>(value - <span class="keyword">static_cast&lt;</span>T<span class="keyword">&gt;</span>(0.5));</div>
<div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160;}</div>
<div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160;<span class="comment"></span> </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; </div>
<div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160;<span class="comment">/* --------------------------------------------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160;<span class="comment"> * math functions */</span></div>
<div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; </div>
<div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160;<span class="preprocessor">#ifndef DONT_SET_USING_DISTRHO_NAMESPACE</span></div>
<div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160; <span class="comment">// If your code uses a lot of DISTRHO classes, then this will obviously save you</span></div>
<div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160; <span class="comment">// a lot of typing, but can be disabled by setting DONT_SET_USING_DISTRHO_NAMESPACE.</span></div>
<div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; <span class="keyword">namespace </span><a class="code" href="group__NamespaceMacros.html#gad4d95edc702f6066ba2f41740f7e5393">DISTRHO_NAMESPACE</a> {}</div>
<div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; <span class="keyword">using namespace </span><a class="code" href="group__NamespaceMacros.html#gad4d95edc702f6066ba2f41740f7e5393">DISTRHO_NAMESPACE</a>;</div>
<div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160; </div>
<div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160;<span class="preprocessor">#endif </span><span class="comment">// DISTRHO_UTILS_HPP_INCLUDED</span></div>
<div class="ttc" id="agroup__MathFunctions_html_ga10abb07d21f97c5fbc0ec0b5fa0ab721"><div class="ttname"><a href="group__MathFunctions.html#ga10abb07d21f97c5fbc0ec0b5fa0ab721">d_roundToUnsignedInt</a></div><div class="ttdeci">static constexpr uint32_t d_roundToUnsignedInt(const T &amp;value)</div><div class="ttdef"><b>Definition:</b> DistrhoUtils.hpp:339</div></div>
<div class="ttc" id="agroup__MathFunctions_html_ga3d70c97c300b9fb2792ba4fbb2fb501e"><div class="ttname"><a href="group__MathFunctions.html#ga3d70c97c300b9fb2792ba4fbb2fb501e">d_isNotEqual</a></div><div class="ttdeci">static constexpr bool d_isNotEqual(const T &amp;v1, const T &amp;v2)</div><div class="ttdef"><b>Definition:</b> DistrhoUtils.hpp:279</div></div>
<div class="ttc" id="agroup__MathFunctions_html_ga3de0a572416cb38ca424094b595954ae"><div class="ttname"><a href="group__MathFunctions.html#ga3de0a572416cb38ca424094b595954ae">d_roundToIntPositive</a></div><div class="ttdeci">static constexpr int32_t d_roundToIntPositive(const T &amp;value)</div><div class="ttdef"><b>Definition:</b> DistrhoUtils.hpp:328</div></div>
<div class="ttc" id="agroup__MathFunctions_html_ga81d4bbe1b2730cfc30aec9b347ef9360"><div class="ttname"><a href="group__MathFunctions.html#ga81d4bbe1b2730cfc30aec9b347ef9360">d_isEqual</a></div><div class="ttdeci">static constexpr bool d_isEqual(const T &amp;v1, const T &amp;v2)</div><div class="ttdef"><b>Definition:</b> DistrhoUtils.hpp:268</div></div>
<div class="ttc" id="agroup__MathFunctions_html_ga981676558e521894c2ec4ca56b2ec8af"><div class="ttname"><a href="group__MathFunctions.html#ga981676558e521894c2ec4ca56b2ec8af">d_roundToInt</a></div><div class="ttdeci">static constexpr int32_t d_roundToInt(const T &amp;value)</div><div class="ttdef"><b>Definition:</b> DistrhoUtils.hpp:360</div></div>
<div class="ttc" id="agroup__MathFunctions_html_gad891a20280e4f41017e7247d6e5a1f13"><div class="ttname"><a href="group__MathFunctions.html#gad891a20280e4f41017e7247d6e5a1f13">d_isNotZero</a></div><div class="ttdeci">static constexpr bool d_isNotZero(const T &amp;value)</div><div class="ttdef"><b>Definition:</b> DistrhoUtils.hpp:299</div></div>
<div class="ttc" id="agroup__MathFunctions_html_gadd62923031cb7d9e06d01957b3bcf3a6"><div class="ttname"><a href="group__MathFunctions.html#gadd62923031cb7d9e06d01957b3bcf3a6">d_roundToIntNegative</a></div><div class="ttdeci">static constexpr int32_t d_roundToIntNegative(const T &amp;value)</div><div class="ttdef"><b>Definition:</b> DistrhoUtils.hpp:350</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:308</div></div>
<div class="ttc" id="agroup__MathFunctions_html_gaf5526b06989c47f21bdff3cd99af8353"><div class="ttname"><a href="group__MathFunctions.html#gaf5526b06989c47f21bdff3cd99af8353">d_isZero</a></div><div class="ttdeci">static constexpr bool d_isZero(const T &amp;value)</div><div class="ttdef"><b>Definition:</b> DistrhoUtils.hpp:289</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:99</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:72</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:90</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:936</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:156</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:236</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:141</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:187</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:246</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:171</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:216</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:120</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:196</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:226</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:206</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>


+ 4
- 4
EventHandlers_8hpp_source.html View File

@@ -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-2022 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-2024 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>
@@ -227,7 +227,7 @@ $(function() {
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; <span class="keywordtype">bool</span> scrollEvent(const <a class="code" href="classWidget.html">Widget</a>::ScrollEvent&amp; ev);</div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; </div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;protected:</div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; <a class="code" href="structState.html">State</a> getState() const noexcept;</div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; <a class="code" href="structState.html">State</a> getState() const noexcept;</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;private:</div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; struct PrivateData;</div>
@@ -257,7 +257,7 @@ $(function() {
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; <span class="keyword">struct </span>PrivateData;</div>
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; PrivateData* <span class="keyword">const</span> pData;</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; DISTRHO_LEAK_DETECTOR(<a class="code" href="classSliderEventHandler.html">SliderEventHandler</a>)</div>
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; DISTRHO_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(<a class="code" href="classSliderEventHandler.html">SliderEventHandler</a>)</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; </div>
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160;<span class="comment">// --------------------------------------------------------------------------------------------------------------------</span></div>
@@ -274,7 +274,7 @@ $(function() {
<div class="ttc" id="aclassSliderEventHandler_html"><div class="ttname"><a href="classSliderEventHandler.html">SliderEventHandler</a></div><div class="ttdef"><b>Definition:</b> EventHandlers.hpp:180</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:56</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:727</div></div>
<div class="ttc" id="astructState_html"><div class="ttname"><a href="structState.html">State</a></div><div class="ttdef"><b>Definition:</b> DistrhoDetails.hpp:823</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>


+ 6
- 6
ExternalWindow_8hpp_source.html View File

@@ -678,12 +678,12 @@ $(function() {
<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:77</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:920</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:914</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 class="ttc" id="aclassString_html"><div class="ttname"><a href="classString.html">String</a></div><div class="ttdef"><b>Definition:</b> String.hpp:35</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:78</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:949</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:943</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:156</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:141</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>


+ 90
- 85
FileBrowserDialogImpl_8hpp_source.html View File

@@ -113,96 +113,101 @@ $(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"> /** 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="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"> /** Class name of the matching Application instance that controls this dialog */</span></div>
<div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="structFileBrowserOptions.html#a5cd131b31f02ceff8b9ac5db6b40fc3a"> 47</a></span>&#160; <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="structFileBrowserOptions.html#a5cd131b31f02ceff8b9ac5db6b40fc3a">className</a>;</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; </div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <span class="comment">// TODO file filter</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"> File browser button state.</span></div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;<span class="comment"> This allows to customize the behaviour of the file browse dialog buttons.</span></div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;<span class="comment"> Note these are merely hints, not all systems support them.</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"><a class="line" href="structFileBrowserOptions.html#ac435c15f821601fa0a10fbd4707b5ab9"> 56</a></span>&#160; <span class="keyword">enum</span> <a class="code" href="structFileBrowserOptions.html#ac435c15f821601fa0a10fbd4707b5ab9">ButtonState</a> {</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; kButtonInvisible,</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; kButtonVisibleUnchecked,</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; kButtonVisibleChecked,</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"> /**</span></div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;<span class="comment"> File browser buttons.</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"><a class="line" href="structFileBrowserOptions_1_1Buttons.html"> 65</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="l00066"></a><span class="lineno"> 66</span>&#160;<span class="comment"> /** Whether to list all files vs only those with matching file extension */</span></div>
<div class="line"><a name="l00067"></a><span class="lineno"><a class="line" href="structFileBrowserOptions_1_1Buttons.html#ac8174fbcf8d85ef5abece32114c234d5"> 67</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="l00068"></a><span class="lineno"> 68</span>&#160;<span class="comment"> /** Whether to show hidden files */</span></div>
<div class="line"><a name="l00069"></a><span class="lineno"><a class="line" href="structFileBrowserOptions_1_1Buttons.html#a43b25f4cece01eb8dd8d89a10e921dfc"> 69</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="l00070"></a><span class="lineno"> 70</span>&#160;<span class="comment"> /** Whether to show list of places (bookmarks) */</span></div>
<div class="line"><a name="l00071"></a><span class="lineno"><a class="line" href="structFileBrowserOptions_1_1Buttons.html#ac2df440c203fb3b1a3be012283427d5b"> 71</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="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"> /** Constructor for default values */</span></div>
<div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="structFileBrowserOptions_1_1Buttons.html#ac63aae50a8d713ac6de337cc8739c870"> 74</a></span>&#160; <a class="code" href="structFileBrowserOptions_1_1Buttons.html#ac63aae50a8d713ac6de337cc8739c870">Buttons</a>()</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; : <a class="code" href="structFileBrowserOptions_1_1Buttons.html#ac8174fbcf8d85ef5abece32114c234d5">listAllFiles</a>(kButtonVisibleChecked),</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; <a class="code" href="structFileBrowserOptions_1_1Buttons.html#a43b25f4cece01eb8dd8d89a10e921dfc">showHidden</a>(kButtonVisibleUnchecked),</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <a class="code" href="structFileBrowserOptions_1_1Buttons.html#ac2df440c203fb3b1a3be012283427d5b">showPlaces</a>(kButtonVisibleChecked) {}</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; } buttons;</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"> /** Constructor for default values */</span></div>
<div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="structFileBrowserOptions.html#afaad52af434db54ecc629ff68b194273"> 81</a></span>&#160; <a class="code" href="structFileBrowserOptions.html#afaad52af434db54ecc629ff68b194273">FileBrowserOptions</a>()</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; : <a class="code" href="structFileBrowserOptions.html#a923166f4f4477b4491d3f47e05cfbdfe">saving</a>(false),</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <a class="code" href="structFileBrowserOptions.html#acc05b9a39052fc84e4d50a62229091d8">defaultName</a>(nullptr),</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <a class="code" href="structFileBrowserOptions.html#a921fe62f9783fee2c01ddbaa0851e8b4">startDir</a>(nullptr),</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <a class="code" href="structFileBrowserOptions.html#a16d59d24e75eec2c6f9f3aebfe5464e7">title</a>(nullptr),</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; <a class="code" href="structFileBrowserOptions.html#a5cd131b31f02ceff8b9ac5db6b40fc3a">className</a>(nullptr),</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; buttons() {}</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"> Create a new file browser dialog.</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"> @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="l00096"></a><span class="lineno"> 96</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="l00097"></a><span class="lineno"> 97</span>&#160;<span class="comment"> @p scaleFactor: Scale factor to use (only used on X11)</span></div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160;<span class="comment"> @p options: Extra options, optional</span></div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160;<span class="comment"> By default the file browser dialog will work as &quot;open file&quot; in the current working directory.</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;<a class="code" href="structFileBrowserData.html">FileBrowserHandle</a> fileBrowserCreate(<span class="keywordtype">bool</span> isEmbed,</div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; uintptr_t windowId,</div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; <span class="keywordtype">double</span> scaleFactor,</div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</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="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"> Idle the file browser dialog handle.@n</span></div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;<span class="comment"> Returns true if dialog was closed (with or without a file selection),</span></div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160;<span class="comment"> in which case this idle function must not be called anymore for this handle.</span></div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</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="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">bool</span> fileBrowserIdle(<span class="keyword">const</span> <a class="code" href="structFileBrowserData.html">FileBrowserHandle</a> handle);</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"> Close and free the file browser dialog, handle must not be used afterwards.</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="keywordtype">void</span> fileBrowserClose(<span class="keyword">const</span> <a class="code" href="structFileBrowserData.html">FileBrowserHandle</a> handle);</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 path chosen by the user or null.@n</span></div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;<span class="comment"> Should only be called after fileBrowserIdle returns true.</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="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="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="ttc" id="astructFileBrowserData_html"><div class="ttname"><a href="structFileBrowserData.html">FileBrowserData</a></div><div class="ttdef"><b>Definition:</b> FileBrowserDialogImpl.cpp:190</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:65</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:69</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:71</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:74</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:67</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_a5cd131b31f02ceff8b9ac5db6b40fc3a"><div class="ttname"><a href="structFileBrowserOptions.html#a5cd131b31f02ceff8b9ac5db6b40fc3a">FileBrowserOptions::className</a></div><div class="ttdeci">const char * className</div><div class="ttdef"><b>Definition:</b> FileBrowserDialogImpl.hpp:47</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_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:56</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 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:81</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>


+ 1
- 1
Geometry_8hpp_source.html View File

@@ -929,7 +929,7 @@ $(function() {
<div class="ttc" id="aclassSize_html_ada0c1f75029742b2514ede5466993776"><div class="ttname"><a href="classSize.html#ada0c1f75029742b2514ede5466993776">Size::Size</a></div><div class="ttdeci">Size() noexcept</div></div>
<div class="ttc" id="aclassTriangle_html"><div class="ttname"><a href="classTriangle.html">Triangle</a></div><div class="ttdef"><b>Definition:</b> Geometry.hpp:526</div></div>
<div class="ttc" id="aclassTriangle_html_ad3ae4f80efb4b18f4f8b8a25543aa10c"><div class="ttname"><a href="classTriangle.html#ad3ae4f80efb4b18f4f8b8a25543aa10c">Triangle::Triangle</a></div><div class="ttdeci">Triangle() 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:212</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:253</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>


+ 66
- 65
ImageBaseWidgets_8hpp_source.html View File

@@ -263,69 +263,70 @@ $(function() {
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; <span class="keywordtype">void</span> setEndPos(const <a class="code" href="classPoint.html">Point</a>&lt;<span class="keywordtype">int</span>&gt;&amp; endPos) noexcept;</div>
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; <span class="keywordtype">void</span> setEndPos(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y) noexcept;</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="keywordtype">void</span> setInverted(<span class="keywordtype">bool</span> inverted) noexcept;</div>
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; <span class="keywordtype">void</span> setRange(<span class="keywordtype">float</span> min, <span class="keywordtype">float</span> max) noexcept;</div>
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; <span class="keywordtype">void</span> setStep(<span class="keywordtype">float</span> step) noexcept;</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="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"><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>
<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; PrivateData* const pData;</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="comment">// these should not be used</span></div>
<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSubWidget.html#abcd0a00a4c3cdc402aea56044df26cc3">setAbsoluteX</a>(<span class="keywordtype">int</span>) const noexcept {}</div>
<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSubWidget.html#a3c674e3c46206ac29a562c0f02dcf82c">setAbsoluteY</a>(<span class="keywordtype">int</span>) <span class="keyword">const</span> noexcept {}</div>
<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSubWidget.html#a0e7a4dd27eee8a3a1b7bf12d9f21769f">setAbsolutePos</a>(<span class="keywordtype">int</span>, <span class="keywordtype">int</span>) <span class="keyword">const</span> noexcept {}</div>
<div class="line"><a name="l00214"></a><span class="lineno"> 214</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;) <span class="keyword">const</span> noexcept {}</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; DISTRHO_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(<a class="code" href="classImageBaseSlider.html">ImageBaseSlider</a>)</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="comment">// --------------------------------------------------------------------------------------------------------------------</span></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="keyword">template</span> &lt;<span class="keyword">class</span> ImageType&gt;</div>
<div class="line"><a name="l00222"></a><span class="lineno"><a class="line" href="classImageBaseSwitch.html"> 222</a></span>&#160;<span class="keyword">class </span><a class="code" href="classImageBaseSwitch.html">ImageBaseSwitch</a> : <span class="keyword">public</span> <a class="code" href="classSubWidget.html">SubWidget</a></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="keyword">public</span>:</div>
<div class="line"><a name="l00225"></a><span class="lineno"><a class="line" href="classImageBaseSwitch_1_1Callback.html"> 225</a></span>&#160; <span class="keyword">class </span><a class="code" href="classImageBaseSwitch_1_1Callback.html">Callback</a></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="keyword">public</span>:</div>
<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; <span class="keyword">virtual</span> ~<a class="code" href="classImageBaseSwitch_1_1Callback.html">Callback</a>() {}</div>
<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> imageSwitchClicked(<a class="code" href="classImageBaseSwitch.html">ImageBaseSwitch</a>* imageSwitch, <span class="keywordtype">bool</span> down) = 0;</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="keyword">explicit</span> <a class="code" href="classImageBaseSwitch.html">ImageBaseSwitch</a>(<a class="code" href="classWidget.html">Widget</a>* parentWidget, <span class="keyword">const</span> ImageType&amp; imageNormal, <span class="keyword">const</span> ImageType&amp; imageDown) noexcept;</div>
<div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; <span class="keyword">explicit</span> <a class="code" href="classImageBaseSwitch.html">ImageBaseSwitch</a>(<span class="keyword">const</span> <a class="code" href="classImageBaseSwitch.html">ImageBaseSwitch</a>&amp; imageSwitch) noexcept;</div>
<div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; <a class="code" href="classImageBaseSwitch.html">ImageBaseSwitch</a>&amp; operator=(<span class="keyword">const</span> <a class="code" href="classImageBaseSwitch.html">ImageBaseSwitch</a>&amp; imageSwitch) noexcept;</div>
<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; ~<a class="code" href="classImageBaseSwitch.html">ImageBaseSwitch</a>() <span class="keyword">override</span>;</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="keywordtype">bool</span> isDown() const noexcept;</div>
<div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; <span class="keywordtype">void</span> setDown(<span class="keywordtype">bool</span> down) 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="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"><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>
<div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; PrivateData* const pData;</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; DISTRHO_LEAK_DETECTOR(<a class="code" href="classImageBaseSwitch.html">ImageBaseSwitch</a>)</div>
<div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160;};</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="comment">// --------------------------------------------------------------------------------------------------------------------</span></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;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 </span><span class="comment">// DGL_IMAGE_BASE_WIDGETS_HPP_INCLUDED</span></div>
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; <span class="keywordtype">void</span> setCheckable(<span class="keywordtype">bool</span> checkable) noexcept;</div>
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; <span class="keywordtype">void</span> setInverted(<span class="keywordtype">bool</span> inverted) noexcept;</div>
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; <span class="keywordtype">void</span> setRange(<span class="keywordtype">float</span> min, <span class="keywordtype">float</span> max) noexcept;</div>
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; <span class="keywordtype">void</span> setStep(<span class="keywordtype">float</span> step) noexcept;</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="keywordtype">void</span> setCallback(<a class="code" href="classImageBaseSlider_1_1Callback.html">Callback</a>* callback) noexcept;</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;protected:</div>
<div class="line"><a name="l00203"></a><span class="lineno"><a class="line" href="classImageBaseSlider.html#ad51cf7404dd7791eaa83126f346ae6c5"> 203</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classImageBaseKnob.html#a9a4d1a1ff6fe7e51be7491148c20d1c5">onDisplay</a>() override;</div>
<div class="line"><a name="l00204"></a><span class="lineno"><a class="line" href="classImageBaseSlider.html#af1caea46d10b3decd14ad795e0a58a9d"> 204</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="l00205"></a><span class="lineno"><a class="line" href="classImageBaseSlider.html#a2b50b9c33b7f0685c6d3037afe65ebae"> 205</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="l00206"></a><span class="lineno"> 206</span>&#160; </div>
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160;private:</div>
<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; struct PrivateData;</div>
<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; PrivateData* const pData;</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="comment">// these should not be used</span></div>
<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSubWidget.html#abcd0a00a4c3cdc402aea56044df26cc3">setAbsoluteX</a>(<span class="keywordtype">int</span>) const noexcept {}</div>
<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSubWidget.html#a3c674e3c46206ac29a562c0f02dcf82c">setAbsoluteY</a>(<span class="keywordtype">int</span>) <span class="keyword">const</span> noexcept {}</div>
<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSubWidget.html#a0e7a4dd27eee8a3a1b7bf12d9f21769f">setAbsolutePos</a>(<span class="keywordtype">int</span>, <span class="keywordtype">int</span>) <span class="keyword">const</span> noexcept {}</div>
<div class="line"><a name="l00215"></a><span class="lineno"> 215</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;) <span class="keyword">const</span> noexcept {}</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; DISTRHO_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(<a class="code" href="classImageBaseSlider.html">ImageBaseSlider</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; </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; </div>
<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">class</span> ImageType&gt;</div>
<div class="line"><a name="l00223"></a><span class="lineno"><a class="line" href="classImageBaseSwitch.html"> 223</a></span>&#160;<span class="keyword">class </span><a class="code" href="classImageBaseSwitch.html">ImageBaseSwitch</a> : <span class="keyword">public</span> <a class="code" href="classSubWidget.html">SubWidget</a></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="keyword">public</span>:</div>
<div class="line"><a name="l00226"></a><span class="lineno"><a class="line" href="classImageBaseSwitch_1_1Callback.html"> 226</a></span>&#160; <span class="keyword">class </span><a class="code" href="classImageBaseSwitch_1_1Callback.html">Callback</a></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="keyword">public</span>:</div>
<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; <span class="keyword">virtual</span> ~<a class="code" href="classImageBaseSwitch_1_1Callback.html">Callback</a>() {}</div>
<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> imageSwitchClicked(<a class="code" href="classImageBaseSwitch.html">ImageBaseSwitch</a>* imageSwitch, <span class="keywordtype">bool</span> down) = 0;</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; </div>
<div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; <span class="keyword">explicit</span> <a class="code" href="classImageBaseSwitch.html">ImageBaseSwitch</a>(<a class="code" href="classWidget.html">Widget</a>* parentWidget, <span class="keyword">const</span> ImageType&amp; imageNormal, <span class="keyword">const</span> ImageType&amp; imageDown) noexcept;</div>
<div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; <span class="keyword">explicit</span> <a class="code" href="classImageBaseSwitch.html">ImageBaseSwitch</a>(<span class="keyword">const</span> <a class="code" href="classImageBaseSwitch.html">ImageBaseSwitch</a>&amp; imageSwitch) noexcept;</div>
<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; <a class="code" href="classImageBaseSwitch.html">ImageBaseSwitch</a>&amp; operator=(<span class="keyword">const</span> <a class="code" href="classImageBaseSwitch.html">ImageBaseSwitch</a>&amp; imageSwitch) noexcept;</div>
<div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; ~<a class="code" href="classImageBaseSwitch.html">ImageBaseSwitch</a>() <span class="keyword">override</span>;</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="keywordtype">bool</span> isDown() const noexcept;</div>
<div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; <span class="keywordtype">void</span> setDown(<span class="keywordtype">bool</span> down) 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; <span class="keywordtype">void</span> setCallback(<a class="code" href="classImageBaseSwitch_1_1Callback.html">Callback</a>* callback) noexcept;</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;protected:</div>
<div class="line"><a name="l00244"></a><span class="lineno"><a class="line" href="classImageBaseSwitch.html#aee9ad32db22d06c98b37d4b62904f92b"> 244</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classImageBaseKnob.html#a9a4d1a1ff6fe7e51be7491148c20d1c5">onDisplay</a>() override;</div>
<div class="line"><a name="l00245"></a><span class="lineno"><a class="line" href="classImageBaseSwitch.html#a6912be0532a24c33e6dac851779fc8f0"> 245</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="l00246"></a><span class="lineno"> 246</span>&#160; </div>
<div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160;private:</div>
<div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; struct PrivateData;</div>
<div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; PrivateData* const pData;</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; DISTRHO_LEAK_DETECTOR(<a class="code" href="classImageBaseSwitch.html">ImageBaseSwitch</a>)</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; </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; </div>
<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160;END_NAMESPACE_DGL</div>
<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; </div>
<div class="line"><a name="l00258"></a><span class="lineno"> 258</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>
@@ -347,8 +348,8 @@ $(function() {
<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="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:227</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:224</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>


+ 1
- 1
ImageBase_8hpp_source.html View File

@@ -243,7 +243,7 @@ $(function() {
<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 class="ttc" id="astructGraphicsContext_html"><div class="ttname"><a href="structGraphicsContext.html">GraphicsContext</a></div><div class="ttdef"><b>Definition:</b> Base.hpp:253</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>


+ 1
- 1
ImageWidgets_8hpp_source.html View File

@@ -114,7 +114,7 @@ $(function() {
<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="aclassImageBaseSwitch_html"><div class="ttname"><a href="classImageBaseSwitch.html">ImageBaseSwitch</a></div><div class="ttdef"><b>Definition:</b> ImageBaseWidgets.hpp:224</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>


+ 5
- 5
LeakDetector_8hpp_source.html View File

@@ -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-2016 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-2023 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>
@@ -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><span class="comment"></span></div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;<span class="preprocessor">#if defined(DPF_DEBUG) &amp;&amp; !defined(NDEBUG)</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>
@@ -237,9 +237,9 @@ $(function() {
<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:920</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:914</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__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:949</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:943</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:171</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>


+ 2
- 2
LibraryUtils_8hpp_source.html View File

@@ -205,8 +205,8 @@ $(function() {
<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 </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:920</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:914</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:949</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:943</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>


+ 367
- 338
Mutex_8hpp_source.html View File

@@ -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>
@@ -98,354 +98,383 @@ $(function() {
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="preprocessor"># include &lt;windows.h&gt;</span></div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="preprocessor">#endif</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">#include &lt;pthread.h&gt;</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="keyword">class </span><a class="code" href="classSignal.html">Signal</a>;</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="comment">// -----------------------------------------------------------------------</span></div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="comment">// Mutex class</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"><a class="line" href="classMutex.html"> 39</a></span>&#160;<span class="keyword">class </span><a class="code" href="classMutex.html">Mutex</a></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="keyword">public</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"> * 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; <a class="code" href="classMutex.html">Mutex</a>(<span class="keyword">const</span> <span class="keywordtype">bool</span> inheritPriority = <span class="keyword">true</span>) noexcept</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; : fMutex()</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; pthread_mutexattr_t attr;</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; pthread_mutexattr_init(&amp;attr);</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; pthread_mutexattr_setprotocol(&amp;attr, inheritPriority ? PTHREAD_PRIO_INHERIT : PTHREAD_PRIO_NONE);</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; pthread_mutexattr_settype(&amp;attr, PTHREAD_MUTEX_NORMAL);</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; pthread_mutex_init(&amp;fMutex, &amp;attr);</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; pthread_mutexattr_destroy(&amp;attr);</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; </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"> * Destructor.</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; ~<a class="code" href="classMutex.html">Mutex</a>() noexcept</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; pthread_mutex_destroy(&amp;fMutex);</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"> * Lock the mutex.</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="keywordtype">bool</span> lock() <span class="keyword">const</span> noexcept</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">return</span> (pthread_mutex_lock(&amp;fMutex) == 0);</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"> * Try to lock the mutex.</span></div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;<span class="comment"> * Returns true if successful.</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">bool</span> tryLock() <span class="keyword">const</span> noexcept</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="keywordflow">return</span> (pthread_mutex_trylock(&amp;fMutex) == 0);</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; </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"> * Unlock the mutex.</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="keywordtype">void</span> unlock() <span class="keyword">const</span> noexcept</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; pthread_mutex_unlock(&amp;fMutex);</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; </div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;<span class="keyword">private</span>:</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <span class="keyword">mutable</span> pthread_mutex_t fMutex;</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; DISTRHO_DECLARE_NON_COPYABLE(<a class="code" href="classMutex.html">Mutex</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; </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">// RecursiveMutex class</span></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"><a class="line" href="classRecursiveMutex.html"> 98</a></span>&#160;<span class="keyword">class </span><a class="code" href="classRecursiveMutex.html">RecursiveMutex</a></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="keyword">public</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"> * Constructor.</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; <a class="code" href="classRecursiveMutex.html">RecursiveMutex</a>() noexcept</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;<span class="preprocessor">#ifdef DISTRHO_OS_WINDOWS</span></div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; : fSection()</div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;<span class="preprocessor">#else</span></div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; : fMutex()</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; {</div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;<span class="preprocessor">#ifdef DISTRHO_OS_WINDOWS</span></div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; InitializeCriticalSection(&amp;fSection);</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;<span class="preprocessor">#else</span></div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; pthread_mutexattr_t attr;</div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; pthread_mutexattr_init(&amp;attr);</div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; pthread_mutexattr_setprotocol(&amp;attr, PTHREAD_PRIO_INHERIT);</div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; pthread_mutexattr_settype(&amp;attr, PTHREAD_MUTEX_RECURSIVE);</div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; pthread_mutex_init(&amp;fMutex, &amp;attr);</div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; pthread_mutexattr_destroy(&amp;attr);</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; </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"> * Destructor.</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; ~<a class="code" href="classRecursiveMutex.html">RecursiveMutex</a>() noexcept</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="preprocessor">#ifdef DISTRHO_OS_WINDOWS</span></div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; DeleteCriticalSection(&amp;fSection);</div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;<span class="preprocessor">#else</span></div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; pthread_mutex_destroy(&amp;fMutex);</div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;<span class="preprocessor">#endif</span></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; </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"> * Lock the mutex.</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">bool</span> lock() <span class="keyword">const</span> noexcept</div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; {</div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160;<span class="preprocessor">#ifdef DISTRHO_OS_WINDOWS</span></div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; EnterCriticalSection(&amp;fSection);</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">#else</span></div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <span class="keywordflow">return</span> (pthread_mutex_lock(&amp;fMutex) == 0);</div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160;<span class="preprocessor">#endif</span></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="comment">/*</span></div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160;<span class="comment"> * Try to lock the mutex.</span></div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160;<span class="comment"> * Returns true if successful.</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">bool</span> tryLock() <span class="keyword">const</span> noexcept</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="preprocessor">#ifdef DISTRHO_OS_WINDOWS</span></div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; <span class="keywordflow">return</span> (TryEnterCriticalSection(&amp;fSection) != FALSE);</div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;<span class="preprocessor">#else</span></div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; <span class="keywordflow">return</span> (pthread_mutex_trylock(&amp;fMutex) == 0);</div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;<span class="preprocessor">#endif</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"> * Unlock the mutex.</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">void</span> unlock() <span class="keyword">const</span> 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="preprocessor">#ifdef DISTRHO_OS_WINDOWS</span></div>
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; LeaveCriticalSection(&amp;fSection);</div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160;<span class="preprocessor">#else</span></div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; pthread_mutex_unlock(&amp;fMutex);</div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160;<span class="preprocessor">#endif</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; </div>
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160;<span class="keyword">private</span>:</div>
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160;<span class="preprocessor">#ifdef DISTRHO_OS_WINDOWS</span></div>
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; <span class="keyword">mutable</span> CRITICAL_SECTION fSection;</div>
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160;<span class="preprocessor">#else</span></div>
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; <span class="keyword">mutable</span> pthread_mutex_t fMutex;</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; DISTRHO_DECLARE_NON_COPYABLE(<a class="code" href="classRecursiveMutex.html">RecursiveMutex</a>)</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; </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">// Signal class</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"><a class="line" href="classSignal.html"> 186</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSignal.html">Signal</a></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="keyword">public</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"> * Constructor.</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"> 192</span>&#160; <a class="code" href="classSignal.html">Signal</a>() noexcept</div>
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; : fCondition(),</div>
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; fMutex(),</div>
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; fTriggered(<span class="keyword">false</span>)</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; pthread_condattr_t cattr;</div>
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; pthread_condattr_init(&amp;cattr);</div>
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; pthread_condattr_setpshared(&amp;cattr, PTHREAD_PROCESS_PRIVATE);</div>
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; pthread_cond_init(&amp;fCondition, &amp;cattr);</div>
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; pthread_condattr_destroy(&amp;cattr);</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; pthread_mutexattr_t mattr;</div>
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; pthread_mutexattr_init(&amp;mattr);</div>
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; pthread_mutexattr_setprotocol(&amp;mattr, PTHREAD_PRIO_INHERIT);</div>
<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; pthread_mutexattr_settype(&amp;mattr, PTHREAD_MUTEX_NORMAL);</div>
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; pthread_mutex_init(&amp;fMutex, &amp;mattr);</div>
<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; pthread_mutexattr_destroy(&amp;mattr);</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; </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"> * Destructor.</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="classSignal.html">Signal</a>() noexcept</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; pthread_cond_destroy(&amp;fCondition);</div>
<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; pthread_mutex_destroy(&amp;fMutex);</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; </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"> * Wait for a signal.</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="keywordtype">void</span> wait() noexcept</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="comment">// FIXME make Mutex stop relying on pthread</span></div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="preprocessor">#ifdef _MSC_VER</span></div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="preprocessor">#define DISTRHO_OS_WINDOWS__TODO</span></div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="preprocessor">#pragma NOTE(DPF Mutex implementation is TODO on MSVC)</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">#include &lt;pthread.h&gt;</span></div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="preprocessor">#endif</span></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;<a class="code" href="group__NamespaceMacros.html#gac4cb97c393d20c28ba19365d844341cd">START_NAMESPACE_DISTRHO</a></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">class </span><a class="code" href="classSignal.html">Signal</a>;</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; </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">// Mutex class</span></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"><a class="line" href="classMutex.html"> 45</a></span>&#160;<span class="keyword">class </span><a class="code" href="classMutex.html">Mutex</a></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="keyword">public</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.</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; <a class="code" href="classMutex.html">Mutex</a>(<span class="keyword">const</span> <span class="keywordtype">bool</span> inheritPriority = <span class="keyword">true</span>) noexcept</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;<span class="preprocessor"> #ifdef DISTRHO_OS_WINDOWS__TODO</span></div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;<span class="preprocessor"> #else</span></div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; : fMutex()</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <span class="preprocessor">#endif</span></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="preprocessor"> #ifdef DISTRHO_OS_WINDOWS__TODO</span></div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;<span class="preprocessor"> #else</span></div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; pthread_mutexattr_t attr;</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; pthread_mutexattr_init(&amp;attr);</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; pthread_mutexattr_setprotocol(&amp;attr, inheritPriority ? PTHREAD_PRIO_INHERIT : PTHREAD_PRIO_NONE);</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; pthread_mutexattr_settype(&amp;attr, PTHREAD_MUTEX_NORMAL);</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; pthread_mutex_init(&amp;fMutex, &amp;attr);</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; pthread_mutexattr_destroy(&amp;attr);</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;<span class="preprocessor"> #endif</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; </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"> * Destructor.</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="classMutex.html">Mutex</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="preprocessor"> #ifdef DISTRHO_OS_WINDOWS__TODO</span></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; pthread_mutex_destroy(&amp;fMutex);</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; }</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; <span class="comment">/*</span></div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;<span class="comment"> * Lock the mutex.</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="keywordtype">bool</span> lock() <span class="keyword">const</span> noexcept</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="preprocessor"> #ifdef DISTRHO_OS_WINDOWS__TODO</span></div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160;<span class="preprocessor"> #else</span></div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; <span class="keywordflow">return</span> (pthread_mutex_lock(&amp;fMutex) == 0);</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; </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"> * Try to lock the mutex.</span></div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160;<span class="comment"> * Returns true if successful.</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="keywordtype">bool</span> tryLock() <span class="keyword">const</span> noexcept</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;<span class="preprocessor"> #ifdef DISTRHO_OS_WINDOWS__TODO</span></div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160;<span class="preprocessor"> #else</span></div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; <span class="keywordflow">return</span> (pthread_mutex_trylock(&amp;fMutex) == 0);</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; </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"> * Unlock the mutex.</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="keywordtype">void</span> unlock() <span class="keyword">const</span> noexcept</div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; {</div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;<span class="preprocessor"> #ifdef DISTRHO_OS_WINDOWS__TODO</span></div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;<span class="preprocessor"> #else</span></div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; pthread_mutex_unlock(&amp;fMutex);</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;<span class="preprocessor"> #endif</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; </div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;<span class="keyword">private</span>:</div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;<span class="preprocessor"> #ifdef DISTRHO_OS_WINDOWS__TODO</span></div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;<span class="preprocessor"> #else</span></div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <span class="keyword">mutable</span> pthread_mutex_t fMutex;</div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;<span class="preprocessor"> #endif</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; DISTRHO_DECLARE_NON_COPYABLE(<a class="code" href="classMutex.html">Mutex</a>)</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; </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">// RecursiveMutex class</span></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"><a class="line" href="classRecursiveMutex.html"> 125</a></span>&#160;<span class="keyword">class </span><a class="code" href="classRecursiveMutex.html">RecursiveMutex</a></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">public</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"> * Constructor.</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; <a class="code" href="classRecursiveMutex.html">RecursiveMutex</a>() noexcept</div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;<span class="preprocessor"> #ifdef DISTRHO_OS_WINDOWS</span></div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; : fSection()</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; : fMutex()</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; {</div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;<span class="preprocessor"> #ifdef DISTRHO_OS_WINDOWS</span></div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; InitializeCriticalSection(&amp;fSection);</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; pthread_mutexattr_t attr;</div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; pthread_mutexattr_init(&amp;attr);</div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; pthread_mutexattr_setprotocol(&amp;attr, PTHREAD_PRIO_INHERIT);</div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; pthread_mutexattr_settype(&amp;attr, PTHREAD_MUTEX_RECURSIVE);</div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; pthread_mutex_init(&amp;fMutex, &amp;attr);</div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; pthread_mutexattr_destroy(&amp;attr);</div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160;<span class="preprocessor"> #endif</span></div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; }</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="comment">/*</span></div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;<span class="comment"> * Destructor.</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; ~<a class="code" href="classRecursiveMutex.html">RecursiveMutex</a>() noexcept</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"> #ifdef DISTRHO_OS_WINDOWS</span></div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; DeleteCriticalSection(&amp;fSection);</div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160;<span class="preprocessor"> #else</span></div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; pthread_mutex_destroy(&amp;fMutex);</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;<span class="comment"> * Lock the mutex.</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="keywordtype">bool</span> lock() <span class="keyword">const</span> noexcept</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="preprocessor"> #ifdef DISTRHO_OS_WINDOWS</span></div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; EnterCriticalSection(&amp;fSection);</div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160;<span class="preprocessor"> #else</span></div>
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; <span class="keywordflow">return</span> (pthread_mutex_lock(&amp;fMutex) == 0);</div>
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160;<span class="preprocessor"> #endif</span></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; </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"> * Try to lock the mutex.</span></div>
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160;<span class="comment"> * Returns true if successful.</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="keywordtype">bool</span> tryLock() <span class="keyword">const</span> noexcept</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="preprocessor"> #ifdef DISTRHO_OS_WINDOWS</span></div>
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; <span class="keywordflow">return</span> (TryEnterCriticalSection(&amp;fSection) != FALSE);</div>
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160;<span class="preprocessor"> #else</span></div>
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; <span class="keywordflow">return</span> (pthread_mutex_trylock(&amp;fMutex) == 0);</div>
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160;<span class="preprocessor"> #endif</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; </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"> * Unlock the mutex.</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="keywordtype">void</span> unlock() <span class="keyword">const</span> noexcept</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"> #ifdef DISTRHO_OS_WINDOWS</span></div>
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; LeaveCriticalSection(&amp;fSection);</div>
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160;<span class="preprocessor"> #else</span></div>
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; pthread_mutex_unlock(&amp;fMutex);</div>
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160;<span class="preprocessor"> #endif</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; </div>
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160;<span class="keyword">private</span>:</div>
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160;<span class="preprocessor"> #ifdef DISTRHO_OS_WINDOWS</span></div>
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; <span class="keyword">mutable</span> CRITICAL_SECTION fSection;</div>
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160;<span class="preprocessor"> #else</span></div>
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; <span class="keyword">mutable</span> pthread_mutex_t fMutex;</div>
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160;<span class="preprocessor"> #endif</span></div>
<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; </div>
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; DISTRHO_DECLARE_NON_COPYABLE(<a class="code" href="classRecursiveMutex.html">RecursiveMutex</a>)</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="preprocessor">#ifndef _MSC_VER</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">// Signal class</span></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"><a class="line" href="classSignal.html"> 214</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSignal.html">Signal</a></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;<span class="keyword">public</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"> * Constructor.</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; <a class="code" href="classSignal.html">Signal</a>() noexcept</div>
<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; : fCondition(),</div>
<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; fMutex(),</div>
<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; fTriggered(<span class="keyword">false</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; pthread_mutex_lock(&amp;fMutex);</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">while</span> (! fTriggered)</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">try</span> {</div>
<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; pthread_cond_wait(&amp;fCondition, &amp;fMutex);</div>
<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; } DISTRHO_SAFE_EXCEPTION(<span class="stringliteral">&quot;pthread_cond_wait&quot;</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; </div>
<div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; fTriggered = <span class="keyword">false</span>;</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; pthread_mutex_unlock(&amp;fMutex);</div>
<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; pthread_condattr_t cattr;</div>
<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; pthread_condattr_init(&amp;cattr);</div>
<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; pthread_condattr_setpshared(&amp;cattr, PTHREAD_PROCESS_PRIVATE);</div>
<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; pthread_cond_init(&amp;fCondition, &amp;cattr);</div>
<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; pthread_condattr_destroy(&amp;cattr);</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; pthread_mutexattr_t mattr;</div>
<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; pthread_mutexattr_init(&amp;mattr);</div>
<div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; pthread_mutexattr_setprotocol(&amp;mattr, PTHREAD_PRIO_INHERIT);</div>
<div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; pthread_mutexattr_settype(&amp;mattr, PTHREAD_MUTEX_NORMAL);</div>
<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; pthread_mutex_init(&amp;fMutex, &amp;mattr);</div>
<div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; pthread_mutexattr_destroy(&amp;mattr);</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; </div>
<div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; <span class="comment">/*</span></div>
<div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160;<span class="comment"> * Wake up all waiting threads.</span></div>
<div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160;<span class="comment"> * Destructor.</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="keywordtype">void</span> signal() noexcept</div>
<div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; ~<a class="code" href="classSignal.html">Signal</a>() noexcept</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; pthread_mutex_lock(&amp;fMutex);</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; <span class="keywordflow">if</span> (! fTriggered)</div>
<div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; {</div>
<div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; fTriggered = <span class="keyword">true</span>;</div>
<div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; pthread_cond_broadcast(&amp;fCondition);</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; </div>
<div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; pthread_mutex_unlock(&amp;fMutex);</div>
<div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; }</div>
<div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; pthread_cond_destroy(&amp;fCondition);</div>
<div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; pthread_mutex_destroy(&amp;fMutex);</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; </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"> 249</span>&#160;<span class="comment"> * Wait for a signal.</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="keywordtype">void</span> wait() noexcept</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; pthread_mutex_lock(&amp;fMutex);</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="keyword">private</span>:</div>
<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; pthread_cond_t fCondition;</div>
<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; pthread_mutex_t fMutex;</div>
<div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; <span class="keyword">volatile</span> <span class="keywordtype">bool</span> fTriggered;</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; DISTRHO_PREVENT_HEAP_ALLOCATION</div>
<div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; DISTRHO_DECLARE_NON_COPYABLE(<a class="code" href="classSignal.html">Signal</a>)</div>
<div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160;};</div>
<div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; <span class="keywordflow">while</span> (! fTriggered)</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="keywordflow">try</span> {</div>
<div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; pthread_cond_wait(&amp;fCondition, &amp;fMutex);</div>
<div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; } DISTRHO_SAFE_EXCEPTION(<span class="stringliteral">&quot;pthread_cond_wait&quot;</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; </div>
<div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; fTriggered = <span class="keyword">false</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">// Helper class to lock&amp;unlock a mutex during a function scope.</span></div>
<div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; pthread_mutex_unlock(&amp;fMutex);</div>
<div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160; }</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="keyword">template</span> &lt;<span class="keyword">class</span> Mutex&gt;</div>
<div class="line"><a name="l00268"></a><span class="lineno"><a class="line" href="classScopeLocker.html"> 268</a></span>&#160;<span class="keyword">class </span><a class="code" href="classScopeLocker.html">ScopeLocker</a></div>
<div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160;{</div>
<div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; <a class="code" href="classScopeLocker.html">ScopeLocker</a>(<span class="keyword">const</span> <a class="code" href="classMutex.html">Mutex</a>&amp; mutex) noexcept</div>
<div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; : fMutex(mutex)</div>
<div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; {</div>
<div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; fMutex.lock();</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; ~<a class="code" href="classScopeLocker.html">ScopeLocker</a>() noexcept</div>
<div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; {</div>
<div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; fMutex.unlock();</div>
<div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160; }</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="keyword">private</span>:</div>
<div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; <span class="keyword">const</span> <a class="code" href="classMutex.html">Mutex</a>&amp; fMutex;</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; DISTRHO_PREVENT_HEAP_ALLOCATION</div>
<div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160; DISTRHO_DECLARE_NON_COPYABLE(<a class="code" href="classScopeLocker.html">ScopeLocker</a>)</div>
<div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160;};</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;<span class="comment">// -----------------------------------------------------------------------</span></div>
<div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160;<span class="comment">// Helper class to try-lock&amp;unlock a mutex during a function scope.</span></div>
<div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; </div>
<div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">class</span> Mutex&gt;</div>
<div class="line"><a name="l00293"></a><span class="lineno"><a class="line" href="classScopeTryLocker.html"> 293</a></span>&#160;<span class="keyword">class </span><a class="code" href="classScopeTryLocker.html">ScopeTryLocker</a></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="keyword">public</span>:</div>
<div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160; <a class="code" href="classScopeTryLocker.html">ScopeTryLocker</a>(<span class="keyword">const</span> <a class="code" href="classMutex.html">Mutex</a>&amp; mutex) noexcept</div>
<div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; : fMutex(mutex),</div>
<div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160; fLocked(mutex.tryLock()) {}</div>
<div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160; </div>
<div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160; <a class="code" href="classScopeTryLocker.html">ScopeTryLocker</a>(<span class="keyword">const</span> <a class="code" href="classMutex.html">Mutex</a>&amp; mutex, <span class="keyword">const</span> <span class="keywordtype">bool</span> forceLock) noexcept</div>
<div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160; : fMutex(mutex),</div>
<div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160; fLocked(forceLock ? mutex.lock() : mutex.tryLock()) {}</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; ~<a class="code" href="classScopeTryLocker.html">ScopeTryLocker</a>() noexcept</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; <span class="keywordflow">if</span> (fLocked)</div>
<div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160; fMutex.unlock();</div>
<div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160; }</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="keywordtype">bool</span> wasLocked() <span class="keyword">const</span> noexcept</div>
<div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160; {</div>
<div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; <span class="keywordflow">return</span> fLocked;</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; </div>
<div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; <span class="keywordtype">bool</span> wasNotLocked() <span class="keyword">const</span> noexcept</div>
<div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; {</div>
<div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; <span class="keywordflow">return</span> !fLocked;</div>
<div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160; }</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="keyword">private</span>:</div>
<div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160; <span class="keyword">const</span> <a class="code" href="classMutex.html">Mutex</a>&amp; fMutex;</div>
<div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160; <span class="keyword">const</span> <span class="keywordtype">bool</span> fLocked;</div>
<div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160; </div>
<div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160; DISTRHO_PREVENT_HEAP_ALLOCATION</div>
<div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160; DISTRHO_DECLARE_NON_COPYABLE(<a class="code" href="classScopeTryLocker.html">ScopeTryLocker</a>)</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; </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">// Helper class to unlock&amp;lock a mutex during a function scope.</span></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;<span class="keyword">template</span> &lt;<span class="keyword">class</span> Mutex&gt;</div>
<div class="line"><a name="l00332"></a><span class="lineno"><a class="line" href="classScopeUnlocker.html"> 332</a></span>&#160;<span class="keyword">class </span><a class="code" href="classScopeUnlocker.html">ScopeUnlocker</a></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="keyword">public</span>:</div>
<div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160; <a class="code" href="classScopeUnlocker.html">ScopeUnlocker</a>(<span class="keyword">const</span> <a class="code" href="classMutex.html">Mutex</a>&amp; mutex) noexcept</div>
<div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160; : fMutex(mutex)</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; fMutex.unlock();</div>
<div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160; }</div>
<div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; </div>
<div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160; ~<a class="code" href="classScopeUnlocker.html">ScopeUnlocker</a>() noexcept</div>
<div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160; {</div>
<div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; fMutex.lock();</div>
<div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; }</div>
<div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160; </div>
<div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160;<span class="keyword">private</span>:</div>
<div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160; <span class="keyword">const</span> <a class="code" href="classMutex.html">Mutex</a>&amp; fMutex;</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"> * Wake up all waiting threads.</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="keywordtype">void</span> signal() noexcept</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; pthread_mutex_lock(&amp;fMutex);</div>
<div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; </div>
<div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; <span class="keywordflow">if</span> (! fTriggered)</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; fTriggered = <span class="keyword">true</span>;</div>
<div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160; pthread_cond_broadcast(&amp;fCondition);</div>
<div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; }</div>
<div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; </div>
<div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160; pthread_mutex_unlock(&amp;fMutex);</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; </div>
<div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160;<span class="keyword">private</span>:</div>
<div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; pthread_cond_t fCondition;</div>
<div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; pthread_mutex_t fMutex;</div>
<div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160; <span class="keyword">volatile</span> <span class="keywordtype">bool</span> fTriggered;</div>
<div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160; </div>
<div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160; DISTRHO_PREVENT_HEAP_ALLOCATION</div>
<div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; DISTRHO_DECLARE_NON_COPYABLE(<a class="code" href="classSignal.html">Signal</a>)</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">#endif </span><span class="comment">// _MSC_VER</span></div>
<div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; </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">// Helper class to lock&amp;unlock a mutex during a function scope.</span></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="keyword">template</span> &lt;<span class="keyword">class</span> Mutex&gt;</div>
<div class="line"><a name="l00297"></a><span class="lineno"><a class="line" href="classScopeLocker.html"> 297</a></span>&#160;<span class="keyword">class </span><a class="code" href="classScopeLocker.html">ScopeLocker</a></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="keyword">public</span>:</div>
<div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160; <a class="code" href="classScopeLocker.html">ScopeLocker</a>(<span class="keyword">const</span> <a class="code" href="classMutex.html">Mutex</a>&amp; mutex) noexcept</div>
<div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160; : fMutex(mutex)</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; fMutex.lock();</div>
<div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160; }</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; ~<a class="code" href="classScopeLocker.html">ScopeLocker</a>() 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; fMutex.unlock();</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; </div>
<div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160;<span class="keyword">private</span>:</div>
<div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; <span class="keyword">const</span> <a class="code" href="classMutex.html">Mutex</a>&amp; fMutex;</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; DISTRHO_PREVENT_HEAP_ALLOCATION</div>
<div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; DISTRHO_DECLARE_NON_COPYABLE(<a class="code" href="classScopeLocker.html">ScopeLocker</a>)</div>
<div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160;};</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">// Helper class to try-lock&amp;unlock a mutex during a function scope.</span></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;<span class="keyword">template</span> &lt;<span class="keyword">class</span> Mutex&gt;</div>
<div class="line"><a name="l00322"></a><span class="lineno"><a class="line" href="classScopeTryLocker.html"> 322</a></span>&#160;<span class="keyword">class </span><a class="code" href="classScopeTryLocker.html">ScopeTryLocker</a></div>
<div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160;{</div>
<div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160; <a class="code" href="classScopeTryLocker.html">ScopeTryLocker</a>(<span class="keyword">const</span> <a class="code" href="classMutex.html">Mutex</a>&amp; mutex) noexcept</div>
<div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160; : fMutex(mutex),</div>
<div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160; fLocked(mutex.tryLock()) {}</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; <a class="code" href="classScopeTryLocker.html">ScopeTryLocker</a>(<span class="keyword">const</span> <a class="code" href="classMutex.html">Mutex</a>&amp; mutex, <span class="keyword">const</span> <span class="keywordtype">bool</span> forceLock) noexcept</div>
<div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160; : fMutex(mutex),</div>
<div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160; fLocked(forceLock ? mutex.lock() : mutex.tryLock()) {}</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; ~<a class="code" href="classScopeTryLocker.html">ScopeTryLocker</a>() noexcept</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="keywordflow">if</span> (fLocked)</div>
<div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160; fMutex.unlock();</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; </div>
<div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160; <span class="keywordtype">bool</span> wasLocked() <span class="keyword">const</span> noexcept</div>
<div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; {</div>
<div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160; <span class="keywordflow">return</span> fLocked;</div>
<div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160; }</div>
<div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; </div>
<div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; <span class="keywordtype">bool</span> wasNotLocked() <span class="keyword">const</span> noexcept</div>
<div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160; {</div>
<div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160; <span class="keywordflow">return</span> !fLocked;</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; </div>
<div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160; DISTRHO_PREVENT_HEAP_ALLOCATION</div>
<div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160; DISTRHO_DECLARE_NON_COPYABLE(<a class="code" href="classScopeUnlocker.html">ScopeUnlocker</a>)</div>
<div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160;};</div>
<div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160;<span class="keyword">private</span>:</div>
<div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160; <span class="keyword">const</span> <a class="code" href="classMutex.html">Mutex</a>&amp; fMutex;</div>
<div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160; <span class="keyword">const</span> <span class="keywordtype">bool</span> fLocked;</div>
<div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160; </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">// Define types</span></div>
<div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160; </div>
<div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160;<span class="keyword">typedef</span> <a class="code" href="classScopeLocker.html">ScopeLocker&lt;Mutex&gt;</a> <a class="code" href="classScopeLocker.html">MutexLocker</a>;</div>
<div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160;<span class="keyword">typedef</span> <a class="code" href="classScopeLocker.html">ScopeLocker&lt;RecursiveMutex&gt;</a> <a class="code" href="classScopeLocker.html">RecursiveMutexLocker</a>;</div>
<div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160; </div>
<div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160;<span class="keyword">typedef</span> <a class="code" href="classScopeTryLocker.html">ScopeTryLocker&lt;Mutex&gt;</a> <a class="code" href="classScopeTryLocker.html">MutexTryLocker</a>;</div>
<div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160;<span class="keyword">typedef</span> <a class="code" href="classScopeTryLocker.html">ScopeTryLocker&lt;RecursiveMutex&gt;</a> <a class="code" href="classScopeTryLocker.html">RecursiveMutexTryLocker</a>;</div>
<div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160; </div>
<div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160;<span class="keyword">typedef</span> <a class="code" href="classScopeUnlocker.html">ScopeUnlocker&lt;Mutex&gt;</a> <a class="code" href="classScopeUnlocker.html">MutexUnlocker</a>;</div>
<div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160;<span class="keyword">typedef</span> <a class="code" href="classScopeUnlocker.html">ScopeUnlocker&lt;RecursiveMutex&gt;</a> <a class="code" href="classScopeUnlocker.html">RecursiveMutexUnlocker</a>;</div>
<div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160; </div>
<div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160;<span class="comment">// -----------------------------------------------------------------------</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;<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 </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:920</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:914</div></div>
<div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160; DISTRHO_PREVENT_HEAP_ALLOCATION</div>
<div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160; DISTRHO_DECLARE_NON_COPYABLE(<a class="code" href="classScopeTryLocker.html">ScopeTryLocker</a>)</div>
<div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160;};</div>
<div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160; </div>
<div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160;<span class="comment">// -----------------------------------------------------------------------</span></div>
<div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160;<span class="comment">// Helper class to unlock&amp;lock a mutex during a function scope.</span></div>
<div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160; </div>
<div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">class</span> Mutex&gt;</div>
<div class="line"><a name="l00361"></a><span class="lineno"><a class="line" href="classScopeUnlocker.html"> 361</a></span>&#160;<span class="keyword">class </span><a class="code" href="classScopeUnlocker.html">ScopeUnlocker</a></div>
<div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160;{</div>
<div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160; <a class="code" href="classScopeUnlocker.html">ScopeUnlocker</a>(<span class="keyword">const</span> <a class="code" href="classMutex.html">Mutex</a>&amp; mutex) noexcept</div>
<div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160; : fMutex(mutex)</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; fMutex.unlock();</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; </div>
<div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; ~<a class="code" href="classScopeUnlocker.html">ScopeUnlocker</a>() noexcept</div>
<div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; {</div>
<div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160; fMutex.lock();</div>
<div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160; }</div>
<div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; </div>
<div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160;<span class="keyword">private</span>:</div>
<div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160; <span class="keyword">const</span> <a class="code" href="classMutex.html">Mutex</a>&amp; fMutex;</div>
<div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160; </div>
<div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160; DISTRHO_PREVENT_HEAP_ALLOCATION</div>
<div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160; DISTRHO_DECLARE_NON_COPYABLE(<a class="code" href="classScopeUnlocker.html">ScopeUnlocker</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; </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">// Define types</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="keyword">typedef</span> <a class="code" href="classScopeLocker.html">ScopeLocker&lt;Mutex&gt;</a> <a class="code" href="classScopeLocker.html">MutexLocker</a>;</div>
<div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160;<span class="keyword">typedef</span> <a class="code" href="classScopeLocker.html">ScopeLocker&lt;RecursiveMutex&gt;</a> <a class="code" href="classScopeLocker.html">RecursiveMutexLocker</a>;</div>
<div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160; </div>
<div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160;<span class="keyword">typedef</span> <a class="code" href="classScopeTryLocker.html">ScopeTryLocker&lt;Mutex&gt;</a> <a class="code" href="classScopeTryLocker.html">MutexTryLocker</a>;</div>
<div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160;<span class="keyword">typedef</span> <a class="code" href="classScopeTryLocker.html">ScopeTryLocker&lt;RecursiveMutex&gt;</a> <a class="code" href="classScopeTryLocker.html">RecursiveMutexTryLocker</a>;</div>
<div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160; </div>
<div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160;<span class="keyword">typedef</span> <a class="code" href="classScopeUnlocker.html">ScopeUnlocker&lt;Mutex&gt;</a> <a class="code" href="classScopeUnlocker.html">MutexUnlocker</a>;</div>
<div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160;<span class="keyword">typedef</span> <a class="code" href="classScopeUnlocker.html">ScopeUnlocker&lt;RecursiveMutex&gt;</a> <a class="code" href="classScopeUnlocker.html">RecursiveMutexUnlocker</a>;</div>
<div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160; </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; </div>
<div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160;<a class="code" href="group__NamespaceMacros.html#ga3ff541a449593e069a29e92d21e38ef3">END_NAMESPACE_DISTRHO</a></div>
<div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160; </div>
<div class="line"><a name="l00398"></a><span class="lineno"> 398</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:46</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:126</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:298</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:323</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:362</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:215</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:949</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:943</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>


+ 69
- 85
OpenGL-include_8hpp_source.html View File

@@ -93,94 +93,78 @@ $(function() {
<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="l00025"></a><span class="lineno"> 25</span>&#160;<span class="preprocessor">#undef DGL_WINGDIAPI_DEFINED</span></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="preprocessor">#ifdef DISTRHO_OS_WINDOWS</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">#ifndef WINAPI</span></div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="preprocessor"># define WINAPI __stdcall</span></div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="preprocessor">#endif</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"> 33</span>&#160;<span class="preprocessor">#ifndef APIENTRY</span></div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="preprocessor"># define APIENTRY WINAPI</span></div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="preprocessor">#endif </span><span class="comment">// APIENTRY</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;<span class="comment">/* We need WINGDIAPI defined */</span></div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;<span class="preprocessor">#ifndef WINGDIAPI</span></div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;<span class="preprocessor"># if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__POCC__)</span></div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;<span class="preprocessor"># define WINGDIAPI __declspec(dllimport)</span></div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;<span class="preprocessor"># elif defined(__LCC__)</span></div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;<span class="preprocessor"># define WINGDIAPI __stdcall</span></div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;<span class="preprocessor"># else</span></div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;<span class="preprocessor"># define WINGDIAPI extern</span></div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;<span class="preprocessor"># endif</span></div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;<span class="preprocessor"># define DGL_WINGDIAPI_DEFINED</span></div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;<span class="preprocessor">#endif </span><span class="comment">// WINGDIAPI</span></div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; </div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;<span class="preprocessor">#endif </span><span class="comment">// DISTRHO_OS_WINDOWS</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="comment">// --------------------------------------------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;<span class="comment">// OpenGL includes</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="preprocessor">#ifdef DISTRHO_OS_MAC</span></div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;<span class="preprocessor"># ifdef DGL_USE_OPENGL3</span></div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;<span class="preprocessor"># include &lt;OpenGL/gl3.h&gt;</span></div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;<span class="preprocessor"># include &lt;OpenGL/gl3ext.h&gt;</span></div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;<span class="preprocessor"># else</span></div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;<span class="preprocessor"># include &lt;OpenGL/gl.h&gt;</span></div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;<span class="preprocessor"># endif</span></div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;<span class="preprocessor">#else</span></div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;<span class="preprocessor"># ifndef DISTRHO_OS_WINDOWS</span></div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;<span class="preprocessor"># define GL_GLEXT_PROTOTYPES</span></div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;<span class="preprocessor"># endif</span></div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;<span class="preprocessor"># ifndef __GLEW_H__</span></div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;<span class="preprocessor"># include &lt;GL/gl.h&gt;</span></div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;<span class="preprocessor"># include &lt;GL/glext.h&gt;</span></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;<span class="preprocessor">#endif</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="comment">// --------------------------------------------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;<span class="comment">// Missing OpenGL defines</span></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="preprocessor">#if defined(GL_BGR_EXT) &amp;&amp; !defined(GL_BGR)</span></div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;<span class="preprocessor"># define GL_BGR GL_BGR_EXT</span></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; </div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;<span class="preprocessor">#if defined(GL_BGRA_EXT) &amp;&amp; !defined(GL_BGRA)</span></div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;<span class="preprocessor"># define GL_BGRA GL_BGRA_EXT</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="l00082"></a><span class="lineno"> 82</span>&#160;<span class="preprocessor">#ifndef GL_CLAMP_TO_BORDER</span></div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160;<span class="preprocessor"># define GL_CLAMP_TO_BORDER 0x812D</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">// Fix OpenGL includes for Windows, based on glfw code (part 2)</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 class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;<span class="preprocessor">#ifdef DGL_WINGDIAPI_DEFINED</span></div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160;<span class="preprocessor"># undef WINGDIAPI</span></div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160;<span class="preprocessor"># undef DGL_WINGDIAPI_DEFINED</span></div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160;<span class="preprocessor">#endif</span></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; </div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160;<span class="preprocessor">#endif</span></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>


+ 20
- 19
OpenGL_8hpp_source.html View File

@@ -273,28 +273,29 @@ $(function() {
<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="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; <span class="keywordtype">bool</span> setupCalled;</div>
<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; <span class="keywordtype">bool</span> textureInit;</div>
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; GLuint textureId;</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="comment">// -----------------------------------------------------------------------</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;<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="l00213"></a><span class="lineno"> 213</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="l00214"></a><span class="lineno"> 214</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="l00215"></a><span class="lineno"> 215</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="l00216"></a><span class="lineno"> 216</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="l00217"></a><span class="lineno"> 217</span>&#160; </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; </div>
<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160;END_NAMESPACE_DGL</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;<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="aclassImageBaseSwitch_html"><div class="ttname"><a href="classImageBaseSwitch.html">ImageBaseSwitch</a></div><div class="ttdef"><b>Definition:</b> ImageBaseWidgets.hpp:224</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>
@@ -309,7 +310,7 @@ $(function() {
<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="astructGraphicsContext_html"><div class="ttname"><a href="structGraphicsContext.html">GraphicsContext</a></div><div class="ttdef"><b>Definition:</b> Base.hpp:253</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 -->


+ 610
- 588
RingBuffer_8hpp_source.html
File diff suppressed because it is too large
View File


+ 4
- 4
Runner_8hpp_source.html View File

@@ -185,7 +185,7 @@ $(function() {
<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="l00117"></a><span class="lineno"> 117</span>&#160;<span class="comment"> * Start the runner.</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>
@@ -321,10 +321,10 @@ $(function() {
<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="aclassString_html"><div class="ttname"><a href="classString.html">String</a></div><div class="ttdef"><b>Definition:</b> String.hpp:35</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:920</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:914</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:949</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:943</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>


+ 193
- 0
ScopedDenormalDisable_8hpp_source.html View File

@@ -0,0 +1,193 @@
<!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/ScopedDenormalDisable.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">ScopedDenormalDisable.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-2023 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_SCOPED_DENORMAL_DISABLE_HPP_INCLUDED</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="preprocessor">#define DISTRHO_SCOPED_DENORMAL_DISABLE_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">#ifdef __SSE2_MATH__</span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="preprocessor"># include &lt;xmmintrin.h&gt;</span></div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="preprocessor">#endif</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;<a class="code" href="group__NamespaceMacros.html#gac4cb97c393d20c28ba19365d844341cd">START_NAMESPACE_DISTRHO</a></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="comment">// --------------------------------------------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="comment">// ScopedDenormalDisable class definition</span></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"> ScopedDenormalDisable is a handy class for disabling denormal numbers during a function scope.</span></div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="comment"> Denormal numbers can happen in IIR or other types of filters, they are often very slow.</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"> Use this class with care! Messing up with the global state is bound to make some hosts unhappy.</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"><a class="line" href="classScopedDenormalDisable.html"> 37</a></span>&#160;<span class="keyword">class </span><a class="code" href="classScopedDenormalDisable.html">ScopedDenormalDisable</a> {</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;<span class="keyword">public</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"> * Current cpu flags will saved, then denormals-as-zero and flush-to-zero set on top.</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="keyword">inline</span> <a class="code" href="classScopedDenormalDisable.html">ScopedDenormalDisable</a>() noexcept;</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="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="l00047"></a><span class="lineno"> 47</span>&#160;<span class="comment"> * CPU flags will be restored to the value obtained in the constructor.</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="keyword">inline</span> ~<a class="code" href="classScopedDenormalDisable.html">ScopedDenormalDisable</a>() noexcept</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; setFlags(oldflags);</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; </div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;<span class="keyword">private</span>:</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;<span class="preprocessor"> #if defined(__SSE2_MATH__)</span></div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <span class="keyword">typedef</span> uint cpuflags_t;</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;<span class="preprocessor"> #elif defined(__aarch64__)</span></div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <span class="keyword">typedef</span> uint64_t cpuflags_t;</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;<span class="preprocessor"> #elif defined(__arm__) &amp;&amp; !defined(__SOFTFP__)</span></div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <span class="keyword">typedef</span> uint32_t cpuflags_t;</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;<span class="preprocessor"> #else</span></div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <span class="keyword">typedef</span> <span class="keywordtype">char</span> cpuflags_t;</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;<span class="preprocessor"> #endif</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="comment">// retrieved on constructor, reset to it on destructor</span></div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; cpuflags_t oldflags;</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; </div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; <span class="comment">// helper function to set cpu flags</span></div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <span class="keyword">inline</span> <span class="keywordtype">void</span> setFlags(cpuflags_t flags) noexcept;</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; DISTRHO_DECLARE_NON_COPYABLE(<a class="code" href="classScopedDenormalDisable.html">ScopedDenormalDisable</a>)</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; DISTRHO_PREVENT_HEAP_ALLOCATION</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; </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">// ScopedDenormalDisable class implementation</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="keyword">inline</span> ScopedDenormalDisable::ScopedDenormalDisable() noexcept</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; : oldflags(0)</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;<span class="preprocessor"> #if defined(__SSE2_MATH__)</span></div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; oldflags = _mm_getcsr();</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; setFlags(oldflags | 0x8040);</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;<span class="preprocessor"> #elif defined(__aarch64__)</span></div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; __asm__ __volatile__(<span class="stringliteral">&quot;mrs %0, fpcr&quot;</span> : <span class="stringliteral">&quot;=r&quot;</span> (oldflags));</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; setFlags(oldflags | 0x1000000);</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; __asm__ __volatile__(<span class="stringliteral">&quot;isb&quot;</span>);</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160;<span class="preprocessor"> #elif defined(__arm__) &amp;&amp; !defined(__SOFTFP__)</span></div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; __asm__ __volatile__(<span class="stringliteral">&quot;vmrs %0, fpscr&quot;</span> : <span class="stringliteral">&quot;=r&quot;</span> (oldflags));</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; setFlags(oldflags | 0x1000000);</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; </div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160;<span class="keyword">inline</span> <span class="keywordtype">void</span> ScopedDenormalDisable::setFlags(<span class="keyword">const</span> cpuflags_t flags) noexcept</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;<span class="preprocessor"> #if defined(__SSE2_MATH__)</span></div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; _mm_setcsr(flags);</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160;<span class="preprocessor"> #elif defined(__aarch64__)</span></div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; __asm__ __volatile__(<span class="stringliteral">&quot;msr fpcr, %0&quot;</span> :: <span class="stringliteral">&quot;r&quot;</span> (flags));</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160;<span class="preprocessor"> #elif defined(__arm__) &amp;&amp; !defined(__SOFTFP__)</span></div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; __asm__ __volatile__(<span class="stringliteral">&quot;vmsr fpscr, %0&quot;</span> :: <span class="stringliteral">&quot;r&quot;</span> (flags));</div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160;<span class="preprocessor"> #else</span></div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; <span class="comment">// unused</span></div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; (void)flags;</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;<span class="preprocessor"> #endif</span></div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;}</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">// --------------------------------------------------------------------------------------------------------------------</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;<a class="code" href="group__NamespaceMacros.html#ga3ff541a449593e069a29e92d21e38ef3">END_NAMESPACE_DISTRHO</a></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><span class="comment">// DISTRHO_SCOPED_DENORMAL_DISABLE_HPP_INCLUDED</span></div>
<div class="ttc" id="aclassScopedDenormalDisable_html"><div class="ttname"><a href="classScopedDenormalDisable.html">ScopedDenormalDisable</a></div><div class="ttdef"><b>Definition:</b> ScopedDenormalDisable.hpp:37</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:949</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:943</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated 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>

+ 2
- 2
ScopedPointer_8hpp_source.html View File

@@ -333,8 +333,8 @@ $(function() {
<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:920</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:914</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:949</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:943</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>


+ 2
- 2
ScopedSafeLocale_8hpp_source.html View File

@@ -206,8 +206,8 @@ $(function() {
<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 </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:920</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:914</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:949</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:943</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>


+ 51
- 40
StandaloneWindow_8hpp_source.html View File

@@ -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>
@@ -125,49 +125,59 @@ $(function() {
<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;<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"> Overloaded functions to ensure they apply to the Window class.</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="classStandaloneWindow.html#a645f7c56f44d9a8a72e81595b28650e2"> 59</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classStandaloneWindow.html#a645f7c56f44d9a8a72e81595b28650e2">isVisible</a>() const noexcept { <span class="keywordflow">return</span> <a class="code" href="classWindow.html#a6be53a737e7dfcc74167962437e93b8f">Window::isVisible</a>(); }</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <span class="keywordtype">void</span> setVisible(<span class="keywordtype">bool</span> yesNo) { <a class="code" href="classWindow.html#a118e0356bb6fcf081955f2bd97686036">Window::setVisible</a>(yesNo); }</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <span class="keywordtype">void</span> hide() { <a class="code" href="classWindow.html#a4626829d3cb9d01285f739d2bbc69b74">Window::hide</a>(); }</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <span class="keywordtype">void</span> show() { <a class="code" href="classWindow.html#a8f986e19a11c4c97ed8e6ad3d0e648b7">Window::show</a>(); }</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; uint getWidth() const noexcept { <span class="keywordflow">return</span> <a class="code" href="classWindow.html#ab19430997dd1b3d7bf9bd3640d73b007">Window::getWidth</a>(); }</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; uint getHeight() const noexcept { <span class="keywordflow">return</span> <a class="code" href="classWindow.html#a5d53bcba43455f8f77cfcbac61ec6c8e">Window::getHeight</a>(); }</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <span class="keyword">const</span> <a class="code" href="classSize.html">Size&lt;uint&gt;</a> getSize() const noexcept { <span class="keywordflow">return</span> <a class="code" href="classWindow.html#acd158570648b07967a4af011d6223eea">Window::getSize</a>(); }</div>
<div class="line"><a name="l00066"></a><span class="lineno"><a class="line" href="classStandaloneWindow.html#aa1475d362245c793b516a232deab70ff"> 66</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classStandaloneWindow.html#aa1475d362245c793b516a232deab70ff">repaint</a>() noexcept { <a class="code" href="classWindow.html#a729ab39a1ac99d81b289e08a42582ade">Window::repaint</a>(); }</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <span class="keywordtype">void</span> setWidth(uint width) { <a class="code" href="classWindow.html#acfc9a6f22176e204009acbb387d3861c">Window::setWidth</a>(width); }</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; <span class="keywordtype">void</span> setHeight(uint height) { <a class="code" href="classWindow.html#a13f314cfd5c9048ec8ea0b88b611f54d">Window::setHeight</a>(height); }</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <span class="keywordtype">void</span> setSize(uint width, uint height) { <a class="code" href="classWindow.html#a89bd0c91920029ddcb21b8975e8b47d9">Window::setSize</a>(width, height); }</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <span class="keywordtype">void</span> setSize(<span class="keyword">const</span> <a class="code" href="classSize.html">Size&lt;uint&gt;</a>&amp; size) { <a class="code" href="classWindow.html#a89bd0c91920029ddcb21b8975e8b47d9">Window::setSize</a>(size); }</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</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="l00072"></a><span class="lineno"> 72</span>&#160; { <span class="keywordflow">return</span> <a class="code" href="classWindow.html#ad17a7f53a62673982f4861cdc27fd54e">Window::addIdleCallback</a>(callback, timerFrequencyInMs); }</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <span class="keywordtype">bool</span> removeIdleCallback(<a class="code" href="structIdleCallback.html">IdleCallback</a>* callback) { <span class="keywordflow">return</span> <a class="code" href="classWindow.html#a5c5c4f53c53cb081b39a40d5ce9afd65">Window::removeIdleCallback</a>(callback); }</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <a class="code" href="classApplication.html">Application</a>&amp; getApp() const noexcept { <span class="keywordflow">return</span> <a class="code" href="classWindow.html#a92600b2e0715646b80474fccbcadf336">Window::getApp</a>(); }</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <span class="keyword">const</span> <a class="code" href="structGraphicsContext.html">GraphicsContext</a>&amp; getGraphicsContext() const noexcept { <span class="keywordflow">return</span> <a class="code" href="classWindow.html#aa73a74df08f29d576e18cf1d61ea9897">Window::getGraphicsContext</a>(); }</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; <span class="keywordtype">double</span> getScaleFactor() const noexcept { <span class="keywordflow">return</span> <a class="code" href="classWindow.html#a77774c8ce4b01113fcd525079f9b8787">Window::getScaleFactor</a>(); }</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <span class="keywordtype">void</span> setGeometryConstraints(uint minimumWidth, uint minimumHeight,</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <span class="keywordtype">bool</span> keepAspectRatio = <span class="keyword">false</span>, <span class="keywordtype">bool</span> automaticallyScale = <span class="keyword">false</span>)</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; { <a class="code" href="classWindow.html#aa3824e300206b15241df8c8c78785d73">Window::setGeometryConstraints</a>(minimumWidth, minimumHeight, keepAspectRatio, automaticallyScale); }</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;<span class="keyword">private</span>:</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; ScopedGraphicsContext sgc;</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; DISTRHO_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(<a class="code" href="classStandaloneWindow.html">StandaloneWindow</a>)</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="comment">// -----------------------------------------------------------------------</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;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 </span><span class="comment">// DGL_STANDALONE_WINDOW_HPP_INCLUDED</span></div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;<span class="comment"> Get a graphics context back again.</span></div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;<span class="comment"> Called when a valid graphics context is needed outside the constructor.</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="classStandaloneWindow.html#ad5848f401a4b91a2d4d5c8c420b4f72e"> 60</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classStandaloneWindow.html#ad5848f401a4b91a2d4d5c8c420b4f72e">reinit</a>()</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; sgc.<a class="code" href="structWindow_1_1ScopedGraphicsContext.html#afe259111bbf09fcf95995b0e447de221">reinit</a>();</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"> /**</span></div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;<span class="comment"> Overloaded functions to ensure they apply to the Window class.</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"><a class="line" href="classStandaloneWindow.html#a645f7c56f44d9a8a72e81595b28650e2"> 68</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classStandaloneWindow.html#a645f7c56f44d9a8a72e81595b28650e2">isVisible</a>() const noexcept { <span class="keywordflow">return</span> <a class="code" href="classWindow.html#a6be53a737e7dfcc74167962437e93b8f">Window::isVisible</a>(); }</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <span class="keywordtype">void</span> setVisible(<span class="keywordtype">bool</span> yesNo) { <a class="code" href="classWindow.html#a118e0356bb6fcf081955f2bd97686036">Window::setVisible</a>(yesNo); }</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <span class="keywordtype">void</span> hide() { <a class="code" href="classWindow.html#a4626829d3cb9d01285f739d2bbc69b74">Window::hide</a>(); }</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <span class="keywordtype">void</span> show() { <a class="code" href="classWindow.html#a8f986e19a11c4c97ed8e6ad3d0e648b7">Window::show</a>(); }</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; uint getWidth() const noexcept { <span class="keywordflow">return</span> <a class="code" href="classWindow.html#ab19430997dd1b3d7bf9bd3640d73b007">Window::getWidth</a>(); }</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; uint getHeight() const noexcept { <span class="keywordflow">return</span> <a class="code" href="classWindow.html#a5d53bcba43455f8f77cfcbac61ec6c8e">Window::getHeight</a>(); }</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <span class="keyword">const</span> <a class="code" href="classSize.html">Size&lt;uint&gt;</a> getSize() const noexcept { <span class="keywordflow">return</span> <a class="code" href="classWindow.html#acd158570648b07967a4af011d6223eea">Window::getSize</a>(); }</div>
<div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="classStandaloneWindow.html#aa1475d362245c793b516a232deab70ff"> 75</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classStandaloneWindow.html#aa1475d362245c793b516a232deab70ff">repaint</a>() noexcept { <a class="code" href="classWindow.html#a729ab39a1ac99d81b289e08a42582ade">Window::repaint</a>(); }</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; <span class="keywordtype">void</span> setWidth(uint width) { <a class="code" href="classWindow.html#acfc9a6f22176e204009acbb387d3861c">Window::setWidth</a>(width); }</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <span class="keywordtype">void</span> setHeight(uint height) { <a class="code" href="classWindow.html#a13f314cfd5c9048ec8ea0b88b611f54d">Window::setHeight</a>(height); }</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <span class="keywordtype">void</span> setSize(uint width, uint height) { <a class="code" href="classWindow.html#a89bd0c91920029ddcb21b8975e8b47d9">Window::setSize</a>(width, height); }</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <span class="keywordtype">void</span> setSize(<span class="keyword">const</span> <a class="code" href="classSize.html">Size&lt;uint&gt;</a>&amp; size) { <a class="code" href="classWindow.html#a89bd0c91920029ddcb21b8975e8b47d9">Window::setSize</a>(size); }</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</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="l00081"></a><span class="lineno"> 81</span>&#160; { <span class="keywordflow">return</span> <a class="code" href="classWindow.html#ad17a7f53a62673982f4861cdc27fd54e">Window::addIdleCallback</a>(callback, timerFrequencyInMs); }</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; <span class="keywordtype">bool</span> removeIdleCallback(<a class="code" href="structIdleCallback.html">IdleCallback</a>* callback) { <span class="keywordflow">return</span> <a class="code" href="classWindow.html#a5c5c4f53c53cb081b39a40d5ce9afd65">Window::removeIdleCallback</a>(callback); }</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <a class="code" href="classApplication.html">Application</a>&amp; getApp() const noexcept { <span class="keywordflow">return</span> <a class="code" href="classWindow.html#a92600b2e0715646b80474fccbcadf336">Window::getApp</a>(); }</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <span class="keyword">const</span> <a class="code" href="structGraphicsContext.html">GraphicsContext</a>&amp; getGraphicsContext() const noexcept { <span class="keywordflow">return</span> <a class="code" href="classWindow.html#aa73a74df08f29d576e18cf1d61ea9897">Window::getGraphicsContext</a>(); }</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <span class="keywordtype">double</span> getScaleFactor() const noexcept { <span class="keywordflow">return</span> <a class="code" href="classWindow.html#a77774c8ce4b01113fcd525079f9b8787">Window::getScaleFactor</a>(); }</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; <span class="keywordtype">void</span> setGeometryConstraints(uint minimumWidth, uint minimumHeight,</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; <span class="keywordtype">bool</span> keepAspectRatio = <span class="keyword">false</span>, <span class="keywordtype">bool</span> automaticallyScale = <span class="keyword">false</span>)</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; { <a class="code" href="classWindow.html#aa3824e300206b15241df8c8c78785d73">Window::setGeometryConstraints</a>(minimumWidth, minimumHeight, keepAspectRatio, automaticallyScale); }</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="keyword">private</span>:</div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; ScopedGraphicsContext sgc;</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; DISTRHO_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(<a class="code" href="classStandaloneWindow.html">StandaloneWindow</a>)</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; </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; </div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160;END_NAMESPACE_DGL</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">#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="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_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:68</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="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:75</div></div>
<div class="ttc" id="aclassStandaloneWindow_html_ad5848f401a4b91a2d4d5c8c420b4f72e"><div class="ttname"><a href="classStandaloneWindow.html#ad5848f401a4b91a2d4d5c8c420b4f72e">StandaloneWindow::reinit</a></div><div class="ttdeci">void reinit()</div><div class="ttdef"><b>Definition:</b> StandaloneWindow.hpp:60</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>
@@ -187,9 +197,10 @@ $(function() {
<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_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="astructGraphicsContext_html"><div class="ttname"><a href="structGraphicsContext.html">GraphicsContext</a></div><div class="ttdef"><b>Definition:</b> Base.hpp:253</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:259</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="astructWindow_1_1ScopedGraphicsContext_html_afe259111bbf09fcf95995b0e447de221"><div class="ttname"><a href="structWindow_1_1ScopedGraphicsContext.html#afe259111bbf09fcf95995b0e447de221">Window::ScopedGraphicsContext::reinit</a></div><div class="ttdeci">void reinit()</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>


+ 947
- 933
String_8hpp_source.html
File diff suppressed because it is too large
View File


+ 255
- 249
Thread_8hpp_source.html View File

@@ -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>
@@ -115,11 +115,11 @@ $(function() {
<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="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="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="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>
@@ -145,11 +145,11 @@ $(function() {
<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="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="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="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>
@@ -173,249 +173,255 @@ $(function() {
<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="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="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> (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">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="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">// 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="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="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; </div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <span class="keywordflow">if</span> (withRealtimePriority)</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 __MOD_DEVICES__</span></div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; <span class="keywordtype">int</span> rtprio;</div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span> srtprio = std::getenv(<span class="stringliteral">&quot;MOD_PLUGIN_THREAD_PRIORITY&quot;</span>);</div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <span class="keywordflow">if</span> (srtprio != <span class="keyword">nullptr</span> &amp;&amp; (rtprio = std::atoi(srtprio)) &gt; 0)</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; sched_param.sched_priority = rtprio - 1;</div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;<span class="preprocessor"> #endif</span></div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; sched_param.sched_priority = 80;</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;<span class="preprocessor"> #ifndef DISTRHO_OS_HAIKU</span></div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <span class="keywordflow">if</span> (pthread_attr_setscope(&amp;attr, PTHREAD_SCOPE_SYSTEM) == 0 &amp;&amp;</div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; pthread_attr_setinheritsched(&amp;attr, PTHREAD_EXPLICIT_SCHED) == 0 &amp;&amp;</div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; #ifndef DISTRHO_OS_WINDOWS</div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; (pthread_attr_setschedpolicy(&amp;attr, SCHED_FIFO) == 0 ||</div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; pthread_attr_setschedpolicy(&amp;attr, SCHED_RR) == 0) &amp;&amp;</div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; #endif</div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; pthread_attr_setschedparam(&amp;attr, &amp;sched_param) == 0)</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; <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="l00128"></a><span class="lineno"> 128</span>&#160; }</div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;<span class="preprocessor"> #endif</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; <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="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; pthread_attr_init(&amp;attr);</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; }</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="keyword">const</span> <a class="code" href="classScopeLocker.html">MutexLocker</a> ml(fLock);</div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; </div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; fShouldExit = <span class="keyword">false</span>;</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; <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="l00143"></a><span class="lineno"> 143</span>&#160; pthread_attr_destroy(&amp;attr);</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; <span class="keywordflow">if</span> (withRealtimePriority &amp;&amp; !ok)</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; <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="l00148"></a><span class="lineno"> 148</span>&#160; pthread_attr_init(&amp;attr);</div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; ok = pthread_create(&amp;handle, &amp;attr, _entryPoint, <span class="keyword">this</span>) == 0;</div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; pthread_attr_destroy(&amp;attr);</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; </div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; DISTRHO_SAFE_ASSERT_RETURN(ok, <span class="keyword">false</span>);</div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;<span class="preprocessor"> #ifdef PTW32_DLLPORT</span></div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; DISTRHO_SAFE_ASSERT_RETURN(handle.p != <span class="keyword">nullptr</span>, <span class="keyword">false</span>);</div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;<span class="preprocessor"> #else</span></div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; DISTRHO_SAFE_ASSERT_RETURN(handle != 0, <span class="keyword">false</span>);</div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;<span class="preprocessor"> #endif</span></div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; pthread_detach(handle);</div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; _copyFrom(handle);</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">// wait for thread to start</span></div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; fSignal.wait();</div>
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</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; </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"> * Stop the thread.</span></div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160;<span class="comment"> * In the &#39;timeOutMilliseconds&#39;:</span></div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160;<span class="comment"> * = 0 -&gt; no wait</span></div>
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160;<span class="comment"> * &gt; 0 -&gt; wait timeout value</span></div>
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160;<span class="comment"> * &lt; 0 -&gt; wait forever</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="keywordtype">bool</span> stopThread(<span class="keyword">const</span> <span class="keywordtype">int</span> timeOutMilliseconds) noexcept</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="keyword">const</span> <a class="code" href="classScopeLocker.html">MutexLocker</a> ml(fLock);</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="keywordflow">if</span> (isThreadRunning())</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; signalThreadShouldExit();</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="keywordflow">if</span> (timeOutMilliseconds != 0)</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="comment">// Wait for the thread to stop</span></div>
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; <span class="keywordtype">int</span> timeOutCheck = (timeOutMilliseconds == 1 || timeOutMilliseconds == -1) ? timeOutMilliseconds : timeOutMilliseconds/2;</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="keywordflow">for</span> (; isThreadRunning();)</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; d_msleep(2);</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> (timeOutCheck &lt; 0)</div>
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; <span class="keywordflow">continue</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="keywordflow">if</span> (timeOutCheck &gt; 0)</div>
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; timeOutCheck -= 1;</div>
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; <span class="keywordflow">break</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; }</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="keywordflow">if</span> (isThreadRunning())</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="comment">// should never happen!</span></div>
<div class="line"><a name="l00204"></a><span class="lineno"> 204</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="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">// copy thread id so we can clear our one</span></div>
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; pthread_t threadId;</div>
<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; _copyTo(threadId);</div>
<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; _init();</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; pthread_detach(threadId);</div>
<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</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; }</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; <span class="keywordflow">return</span> <span class="keyword">true</span>;</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="comment">/*</span></div>
<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160;<span class="comment"> * Tell the thread to stop as soon as possible.</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="keywordtype">void</span> signalThreadShouldExit() noexcept</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; fShouldExit = <span class="keyword">true</span>;</div>
<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; }</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; </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"> * Returns the name of the thread.</span></div>
<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160;<span class="comment"> * This is the name that gets set in the constructor.</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="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="l00234"></a><span class="lineno"> 234</span>&#160; {</div>
<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; <span class="keywordflow">return</span> fName;</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="comment">/*</span></div>
<div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;<span class="comment"> * Returns the Id/handle of the thread.</span></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; pthread_t getThreadId() <span class="keyword">const</span> noexcept</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="keywordflow">return</span> fHandle;</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; </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"> * Changes the name of the caller thread.</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"> 249</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="l00250"></a><span class="lineno"> 250</span>&#160; {</div>
<div class="line"><a name="l00251"></a><span class="lineno"> 251</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="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"> #ifdef DISTRHO_OS_LINUX</span></div>
<div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; prctl(PR_SET_NAME, name, 0, 0, 0);</div>
<div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160;<span class="preprocessor"> #endif</span></div>
<div class="line"><a name="l00256"></a><span class="lineno"> 256</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="l00257"></a><span class="lineno"> 257</span>&#160; pthread_setname_np(pthread_self(), name);</div>
<div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160;<span class="preprocessor"> #endif</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; </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; </div>
<div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160;<span class="keyword">private</span>:</div>
<div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; <a class="code" href="classMutex.html">Mutex</a> fLock; <span class="comment">// Thread lock</span></div>
<div class="line"><a name="l00265"></a><span class="lineno"> 265</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="l00266"></a><span class="lineno"> 266</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="l00267"></a><span class="lineno"> 267</span>&#160; <span class="keyword">volatile</span> pthread_t fHandle; <span class="comment">// Handle for this thread</span></div>
<div class="line"><a name="l00268"></a><span class="lineno"> 268</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="l00269"></a><span class="lineno"> 269</span>&#160; </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"> * Init pthread type.</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="keywordtype">void</span> _init() noexcept</div>
<div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; {</div>
<div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160;<span class="preprocessor"> #ifdef PTW32_DLLPORT</span></div>
<div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; fHandle.p = <span class="keyword">nullptr</span>;</div>
<div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160; fHandle.x = 0;</div>
<div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160;<span class="preprocessor"> #else</span></div>
<div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; fHandle = 0;</div>
<div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160;<span class="preprocessor"> #endif</span></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; </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"> * Copy our pthread type from another var.</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> _copyFrom(<span class="keyword">const</span> pthread_t&amp; handle) noexcept</div>
<div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160; {</div>
<div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160;<span class="preprocessor"> #ifdef PTW32_DLLPORT</span></div>
<div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; fHandle.p = handle.p;</div>
<div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160; fHandle.x = handle.x;</div>
<div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160;<span class="preprocessor"> #else</span></div>
<div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; fHandle = handle;</div>
<div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160;<span class="preprocessor"> #endif</span></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;<span class="comment"> * Copy our pthread type to another var.</span></div>
<div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00299"></a><span class="lineno"> 299</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="l00300"></a><span class="lineno"> 300</span>&#160; {</div>
<div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160;<span class="preprocessor"> #ifdef PTW32_DLLPORT</span></div>
<div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160; handle.p = fHandle.p;</div>
<div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160; handle.x = fHandle.x;</div>
<div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160;<span class="preprocessor"> #else</span></div>
<div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; handle = fHandle;</div>
<div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160;<span class="preprocessor"> #endif</span></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; </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"> * Thread entry point.</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="keywordtype">void</span> _runEntryPoint() noexcept</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="keywordflow">if</span> (fName.isNotEmpty())</div>
<div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; setCurrentThreadName(fName);</div>
<div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; </div>
<div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; <span class="comment">// report ready</span></div>
<div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160; fSignal.signal();</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="keywordflow">try</span> {</div>
<div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160; run();</div>
<div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160; } <span class="keywordflow">catch</span>(...) {}</div>
<div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160; </div>
<div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160; <span class="comment">// done</span></div>
<div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160; _init();</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; </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"> * Thread entry point.</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="keyword">static</span> <span class="keywordtype">void</span>* _entryPoint(<span class="keywordtype">void</span>* userData) noexcept</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="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="l00334"></a><span class="lineno"> 334</span>&#160; <span class="keywordflow">return</span> <span class="keyword">nullptr</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; </div>
<div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160; DISTRHO_DECLARE_NON_COPYABLE(<a class="code" href="classThread.html">Thread</a>)</div>
<div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160;};</div>
<div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160; </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; </div>
<div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160;<a class="code" href="group__NamespaceMacros.html#ga3ff541a449593e069a29e92d21e38ef3">END_NAMESPACE_DISTRHO</a></div>
<div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; </div>
<div class="line"><a name="l00344"></a><span class="lineno"> 344</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:46</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:298</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:215</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:35</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:920</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:914</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_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__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:949</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:943</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:141</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:171</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>


+ 4
- 4
TopLevelWidget_8hpp_source.html View File

@@ -232,12 +232,12 @@ $(function() {
<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:77</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:78</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:56</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:920</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:914</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="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:949</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:943</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:259</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: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: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:184</div></div>


+ 287
- 0
ValueSmoother_8hpp_source.html View File

@@ -0,0 +1,287 @@
<!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/ValueSmoother.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">ValueSmoother.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) 2021 Jean Pierre Cimalando &lt;jp-dev@inbox.ru&gt;</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> * Copyright (C) 2021-2023 Filipe Coelho &lt;falktx@falktx.com&gt;</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</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="l00007"></a><span class="lineno"> 7</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="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> * permission notice appear in all copies.</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</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="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> * TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</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="l00013"></a><span class="lineno"> 13</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="l00014"></a><span class="lineno"> 14</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="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment"> * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.</span></div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160; </div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="preprocessor">#ifndef DISTRHO_VALUE_SMOOTHER_HPP_INCLUDED</span></div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="preprocessor">#define DISTRHO_VALUE_SMOOTHER_HPP_INCLUDED</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="preprocessor">#include &quot;../DistrhoUtils.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;<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; </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">/**</span></div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="comment"> * @brief An exponential smoother for control values</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"> * This continually smooths a value towards a defined target,</span></div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="comment"> * using a low-pass filter of the 1st order, which creates an exponential curve.</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"> * The length of the curve is defined by a T60 constant,</span></div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="comment"> * which is the time it takes for a 1-to-0 smoothing to fall to -60dB.</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"> 36</span>&#160;<span class="comment"> * Note that this smoother has asymptotical behavior,</span></div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="comment"> * and it must not be assumed that the final target is ever reached.</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"><a class="line" href="classExponentialValueSmoother.html"> 39</a></span>&#160;<span class="keyword">class </span><a class="code" href="classExponentialValueSmoother.html">ExponentialValueSmoother</a> {</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; <span class="keywordtype">float</span> coef;</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; <span class="keywordtype">float</span> target;</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; <span class="keywordtype">float</span> mem;</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; <span class="keywordtype">float</span> tau;</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; <span class="keywordtype">float</span> sampleRate;</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="keyword">public</span>:</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; <a class="code" href="classExponentialValueSmoother.html">ExponentialValueSmoother</a>()</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; : coef(0.f),</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; target(0.f),</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; mem(0.f),</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; tau(0.f),</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; sampleRate(0.f) {}</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="keywordtype">void</span> setSampleRate(<span class="keyword">const</span> <span class="keywordtype">float</span> newSampleRate) noexcept</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; {</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="group__MathFunctions.html#ga3d70c97c300b9fb2792ba4fbb2fb501e">d_isNotEqual</a>(sampleRate, newSampleRate))</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; sampleRate = newSampleRate;</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; updateCoef();</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; }</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; <span class="keywordtype">void</span> setTimeConstant(<span class="keyword">const</span> <span class="keywordtype">float</span> newT60) noexcept</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">const</span> <span class="keywordtype">float</span> newTau = newT60 * (float)(1.0 / 6.91);</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">if</span> (<a class="code" href="group__MathFunctions.html#ga3d70c97c300b9fb2792ba4fbb2fb501e">d_isNotEqual</a>(tau, newTau))</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; tau = newTau;</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; updateCoef();</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; }</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="keywordtype">float</span> getCurrentValue() <span class="keyword">const</span> noexcept</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; {</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; <span class="keywordflow">return</span> mem;</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; </div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <span class="keywordtype">float</span> getTargetValue() <span class="keyword">const</span> noexcept</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; <span class="keywordflow">return</span> target;</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="keywordtype">void</span> setTargetValue(<span class="keyword">const</span> <span class="keywordtype">float</span> newTarget) noexcept</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; target = newTarget;</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; </div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; <span class="keywordtype">void</span> clearToTargetValue() noexcept</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; mem = target;</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; </div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <span class="keyword">inline</span> <span class="keywordtype">float</span> peek() <span class="keyword">const</span> noexcept</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; <span class="keywordflow">return</span> mem * coef + target * (1.f - coef);</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; </div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; <span class="keyword">inline</span> <span class="keywordtype">float</span> next() noexcept</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="keywordflow">return</span> (mem = mem * coef + target * (1.f - coef));</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; </div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;<span class="keyword">private</span>:</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; <span class="keywordtype">void</span> updateCoef() noexcept</div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; {</div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; coef = std::exp(-1.f / (tau * sampleRate));</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;};</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; </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">/**</span></div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;<span class="comment"> * @brief A linear smoother for control values</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"> * This continually smooths a value towards a defined target, using linear segments.</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"> * The duration of the smoothing segment is defined by the given time constant.</span></div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;<span class="comment"> * Every time the target changes, a new segment restarts for the whole duration of the time constant.</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"> * Note that this smoother, unlike an exponential smoother, eventually should converge to its target value.</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"><a class="line" href="classLinearValueSmoother.html"> 123</a></span>&#160;<span class="keyword">class </span><a class="code" href="classLinearValueSmoother.html">LinearValueSmoother</a> {</div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <span class="keywordtype">float</span> step;</div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <span class="keywordtype">float</span> target;</div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; <span class="keywordtype">float</span> mem;</div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <span class="keywordtype">float</span> tau;</div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <span class="keywordtype">float</span> sampleRate;</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="keyword">public</span>:</div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; <a class="code" href="classLinearValueSmoother.html">LinearValueSmoother</a>()</div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; : step(0.f),</div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; target(0.f),</div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; mem(0.f),</div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; tau(0.f),</div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; sampleRate(0.f) {}</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="keywordtype">void</span> setSampleRate(<span class="keyword">const</span> <span class="keywordtype">float</span> newSampleRate) noexcept</div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; {</div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="group__MathFunctions.html#ga3d70c97c300b9fb2792ba4fbb2fb501e">d_isNotEqual</a>(sampleRate, newSampleRate))</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; sampleRate = newSampleRate;</div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; updateStep();</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; </div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; <span class="keywordtype">void</span> setTimeConstant(<span class="keyword">const</span> <span class="keywordtype">float</span> newTau) noexcept</div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; {</div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="group__MathFunctions.html#ga3d70c97c300b9fb2792ba4fbb2fb501e">d_isNotEqual</a>(tau, newTau))</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; tau = newTau;</div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; updateStep();</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; }</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="keywordtype">float</span> getCurrentValue() <span class="keyword">const</span> noexcept</div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; {</div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; <span class="keywordflow">return</span> mem;</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="keywordtype">float</span> getTargetValue() <span class="keyword">const</span> noexcept</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="keywordflow">return</span> target;</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; </div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; <span class="keywordtype">void</span> setTargetValue(<span class="keyword">const</span> <span class="keywordtype">float</span> newTarget) noexcept</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> (<a class="code" href="group__MathFunctions.html#ga3d70c97c300b9fb2792ba4fbb2fb501e">d_isNotEqual</a>(target, newTarget))</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; target = newTarget;</div>
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; updateStep();</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; </div>
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; <span class="keywordtype">void</span> clearToTargetValue() noexcept</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; mem = target;</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; </div>
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; <span class="keyword">inline</span> <span class="keywordtype">float</span> peek() <span class="keyword">const</span> noexcept</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="keyword">const</span> <span class="keywordtype">float</span> dy = target - mem;</div>
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; <span class="keywordflow">return</span> mem + std::copysign(std::fmin(std::abs(dy), std::abs(step)), dy);</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; </div>
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; <span class="keyword">inline</span> <span class="keywordtype">float</span> next() noexcept</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="keyword">const</span> <span class="keywordtype">float</span> y0 = mem;</div>
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; <span class="keyword">const</span> <span class="keywordtype">float</span> dy = target - y0;</div>
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; <span class="keywordflow">return</span> (mem = y0 + std::copysign(std::fmin(std::abs(dy), std::abs(step)), dy));</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; </div>
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160;<span class="keyword">private</span>:</div>
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; <span class="keywordtype">void</span> updateStep() noexcept</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; step = (target - mem) / (tau * sampleRate);</div>
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; }</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; </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; </div>
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160;<a class="code" href="group__NamespaceMacros.html#ga3ff541a449593e069a29e92d21e38ef3">END_NAMESPACE_DISTRHO</a></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">#endif </span><span class="comment">// DISTRHO_VALUE_SMOOTHER_HPP_INCLUDED</span></div>
<div class="ttc" id="aclassExponentialValueSmoother_html"><div class="ttname"><a href="classExponentialValueSmoother.html">ExponentialValueSmoother</a></div><div class="ttdoc">An exponential smoother for control values.</div><div class="ttdef"><b>Definition:</b> ValueSmoother.hpp:39</div></div>
<div class="ttc" id="aclassLinearValueSmoother_html"><div class="ttname"><a href="classLinearValueSmoother.html">LinearValueSmoother</a></div><div class="ttdoc">A linear smoother for control values.</div><div class="ttdef"><b>Definition:</b> ValueSmoother.hpp:123</div></div>
<div class="ttc" id="agroup__MathFunctions_html_ga3d70c97c300b9fb2792ba4fbb2fb501e"><div class="ttname"><a href="group__MathFunctions.html#ga3d70c97c300b9fb2792ba4fbb2fb501e">d_isNotEqual</a></div><div class="ttdeci">static constexpr bool d_isNotEqual(const T &amp;v1, const T &amp;v2)</div><div class="ttdef"><b>Definition:</b> DistrhoUtils.hpp:279</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:949</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:943</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated 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>

+ 1
- 1
Vulkan_8hpp_source.html View File

@@ -184,7 +184,7 @@ $(function() {
<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="astructGraphicsContext_html"><div class="ttname"><a href="structGraphicsContext.html">GraphicsContext</a></div><div class="ttdef"><b>Definition:</b> Base.hpp:253</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 -->


+ 34
- 29
Widget_8hpp_source.html View File

@@ -519,34 +519,39 @@ $(function() {
<div class="line"><a name="l00448"></a><span class="lineno"> 448</span>&#160;<span class="comment"> A function called when a special key is pressed or released.</span></div>
<div class="line"><a name="l00449"></a><span class="lineno"> 449</span>&#160;<span class="comment"> DEPRECATED use onKeyboard or onCharacterInput</span></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;<span class="preprocessor">#if defined(__clang__)</span></div>
<div class="line"><a name="l00452"></a><span class="lineno"> 452</span>&#160;<span class="preprocessor"># pragma clang diagnostic push</span></div>
<div class="line"><a name="l00453"></a><span class="lineno"> 453</span>&#160;<span class="preprocessor"># pragma clang diagnostic ignored &quot;-Wdeprecated-declarations&quot;</span></div>
<div class="line"><a name="l00454"></a><span class="lineno"> 454</span>&#160;<span class="preprocessor">#elif defined(__GNUC__) &amp;&amp; (__GNUC__ * 100 + __GNUC_MINOR__) &gt;= 460</span></div>
<div class="line"><a name="l00455"></a><span class="lineno"> 455</span>&#160;<span class="preprocessor"># pragma GCC diagnostic push</span></div>
<div class="line"><a name="l00456"></a><span class="lineno"> 456</span>&#160;<span class="preprocessor"># pragma GCC diagnostic ignored &quot;-Wdeprecated-declarations&quot;</span></div>
<div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00458"></a><span class="lineno"><a class="line" href="classWidget.html#a3b42652fcb2f95c6f86bdd43a1727507"> 458</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="l00459"></a><span class="lineno"> 459</span>&#160;<span class="preprocessor">#if defined(__clang__)</span></div>
<div class="line"><a name="l00460"></a><span class="lineno"> 460</span>&#160;<span class="preprocessor"># pragma clang diagnostic pop</span></div>
<div class="line"><a name="l00461"></a><span class="lineno"> 461</span>&#160;<span class="preprocessor">#elif defined(__GNUC__) &amp;&amp; (__GNUC__ * 100 + __GNUC_MINOR__) &gt;= 460</span></div>
<div class="line"><a name="l00462"></a><span class="lineno"> 462</span>&#160;<span class="preprocessor"># pragma GCC diagnostic pop</span></div>
<div class="line"><a name="l00463"></a><span class="lineno"> 463</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00464"></a><span class="lineno"> 464</span>&#160; </div>
<div class="line"><a name="l00465"></a><span class="lineno"> 465</span>&#160;<span class="keyword">private</span>:</div>
<div class="line"><a name="l00466"></a><span class="lineno"> 466</span>&#160; <span class="keyword">struct </span>PrivateData;</div>
<div class="line"><a name="l00467"></a><span class="lineno"> 467</span>&#160; PrivateData* <span class="keyword">const</span> pData;</div>
<div class="line"><a name="l00468"></a><span class="lineno"> 468</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="l00469"></a><span class="lineno"> 469</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="l00470"></a><span class="lineno"> 470</span>&#160; </div>
<div class="line"><a name="l00471"></a><span class="lineno"> 471</span>&#160; DISTRHO_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(<a class="code" href="classWidget.html">Widget</a>)</div>
<div class="line"><a name="l00472"></a><span class="lineno"> 472</span>&#160;};</div>
<div class="line"><a name="l00473"></a><span class="lineno"> 473</span>&#160; </div>
<div class="line"><a name="l00474"></a><span class="lineno"> 474</span>&#160;<span class="comment">// --------------------------------------------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00451"></a><span class="lineno"> 451</span>&#160;<span class="preprocessor"> #if defined(_MSC_VER)</span></div>
<div class="line"><a name="l00452"></a><span class="lineno"> 452</span>&#160;<span class="preprocessor"> #pragma warning(push)</span></div>
<div class="line"><a name="l00453"></a><span class="lineno"> 453</span>&#160;<span class="preprocessor"> #pragma warning(disable:4996)</span></div>
<div class="line"><a name="l00454"></a><span class="lineno"> 454</span>&#160;<span class="preprocessor"> #elif defined(__clang__)</span></div>
<div class="line"><a name="l00455"></a><span class="lineno"> 455</span>&#160;<span class="preprocessor"> #pragma clang diagnostic push</span></div>
<div class="line"><a name="l00456"></a><span class="lineno"> 456</span>&#160;<span class="preprocessor"> #pragma clang diagnostic ignored &quot;-Wdeprecated-declarations&quot;</span></div>
<div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160;<span class="preprocessor"> #elif defined(__GNUC__) &amp;&amp; (__GNUC__ * 100 + __GNUC_MINOR__) &gt;= 460</span></div>
<div class="line"><a name="l00458"></a><span class="lineno"> 458</span>&#160;<span class="preprocessor"> #pragma GCC diagnostic push</span></div>
<div class="line"><a name="l00459"></a><span class="lineno"> 459</span>&#160;<span class="preprocessor"> #pragma GCC diagnostic ignored &quot;-Wdeprecated-declarations&quot;</span></div>
<div class="line"><a name="l00460"></a><span class="lineno"> 460</span>&#160;<span class="preprocessor"> #endif</span></div>
<div class="line"><a name="l00461"></a><span class="lineno"><a class="line" href="classWidget.html#a3b42652fcb2f95c6f86bdd43a1727507"> 461</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="l00462"></a><span class="lineno"> 462</span>&#160;<span class="preprocessor"> #if defined(_MSC_VER)</span></div>
<div class="line"><a name="l00463"></a><span class="lineno"> 463</span>&#160;<span class="preprocessor"> #pragma warning(pop)</span></div>
<div class="line"><a name="l00464"></a><span class="lineno"> 464</span>&#160;<span class="preprocessor"> #elif defined(__clang__)</span></div>
<div class="line"><a name="l00465"></a><span class="lineno"> 465</span>&#160;<span class="preprocessor"> #pragma clang diagnostic pop</span></div>
<div class="line"><a name="l00466"></a><span class="lineno"> 466</span>&#160;<span class="preprocessor"> #elif defined(__GNUC__) &amp;&amp; (__GNUC__ * 100 + __GNUC_MINOR__) &gt;= 460</span></div>
<div class="line"><a name="l00467"></a><span class="lineno"> 467</span>&#160;<span class="preprocessor"> #pragma GCC diagnostic pop</span></div>
<div class="line"><a name="l00468"></a><span class="lineno"> 468</span>&#160;<span class="preprocessor"> #endif</span></div>
<div class="line"><a name="l00469"></a><span class="lineno"> 469</span>&#160; </div>
<div class="line"><a name="l00470"></a><span class="lineno"> 470</span>&#160;<span class="keyword">private</span>:</div>
<div class="line"><a name="l00471"></a><span class="lineno"> 471</span>&#160; <span class="keyword">struct </span>PrivateData;</div>
<div class="line"><a name="l00472"></a><span class="lineno"> 472</span>&#160; PrivateData* <span class="keyword">const</span> pData;</div>
<div class="line"><a name="l00473"></a><span class="lineno"> 473</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="l00474"></a><span class="lineno"> 474</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="l00475"></a><span class="lineno"> 475</span>&#160; </div>
<div class="line"><a name="l00476"></a><span class="lineno"> 476</span>&#160;END_NAMESPACE_DGL</div>
<div class="line"><a name="l00477"></a><span class="lineno"> 477</span>&#160; </div>
<div class="line"><a name="l00478"></a><span class="lineno"> 478</span>&#160;<span class="preprocessor">#endif </span><span class="comment">// DGL_WIDGET_HPP_INCLUDED</span></div>
<div class="line"><a name="l00476"></a><span class="lineno"> 476</span>&#160; DISTRHO_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(<a class="code" href="classWidget.html">Widget</a>)</div>
<div class="line"><a name="l00477"></a><span class="lineno"> 477</span>&#160;};</div>
<div class="line"><a name="l00478"></a><span class="lineno"> 478</span>&#160; </div>
<div class="line"><a name="l00479"></a><span class="lineno"> 479</span>&#160;<span class="comment">// --------------------------------------------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00480"></a><span class="lineno"> 480</span>&#160; </div>
<div class="line"><a name="l00481"></a><span class="lineno"> 481</span>&#160;END_NAMESPACE_DGL</div>
<div class="line"><a name="l00482"></a><span class="lineno"> 482</span>&#160; </div>
<div class="line"><a name="l00483"></a><span class="lineno"> 483</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>
@@ -560,7 +565,7 @@ $(function() {
<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="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:458</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:461</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="aclassWidget_html_a5381d5583ba6e55fe9fed87df95d9605"><div class="ttname"><a href="classWidget.html#a5381d5583ba6e55fe9fed87df95d9605">Widget::getChildren</a></div><div class="ttdeci">std::list&lt; SubWidget * &gt; getChildren() const noexcept</div></div>
@@ -583,7 +588,7 @@ $(function() {
<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="astructGraphicsContext_html"><div class="ttname"><a href="structGraphicsContext.html">GraphicsContext</a></div><div class="ttdef"><b>Definition:</b> Base.hpp:253</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:62</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:71</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:64</div></div>


+ 448
- 442
Window_8hpp_source.html View File

@@ -175,454 +175,459 @@ $(function() {
<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"> /** Early context clearing, useful for standalone windows not created by you. */</span></div>
<div class="line"><a name="l00106"></a><span class="lineno"><a class="line" href="structWindow_1_1ScopedGraphicsContext.html#a4647e1da0c4477f021f668459fb3221f"> 106</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="structWindow_1_1ScopedGraphicsContext.html#a4647e1da0c4477f021f668459fb3221f">done</a>();</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; DISTRHO_DECLARE_NON_COPYABLE(<a class="code" href="structWindow_1_1ScopedGraphicsContext.html">ScopedGraphicsContext</a>)</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; DISTRHO_PREVENT_HEAP_ALLOCATION</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"> /** Get a valid context back again. */</span></div>
<div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="structWindow_1_1ScopedGraphicsContext.html#afe259111bbf09fcf95995b0e447de221"> 109</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="structWindow_1_1ScopedGraphicsContext.html#afe259111bbf09fcf95995b0e447de221">reinit</a>();</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; </div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <span class="keyword">private</span>:</div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <a class="code" href="classWindow.html">Window</a>&amp; window;</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; Window::PrivateData* ppData;</div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; <span class="keywordtype">bool</span> active;</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"> /**</span></div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;<span class="comment"> Constructor for a regular, standalone window.</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="classWindow.html#a2f6257937261fcb3e627752dfb248d47"> 120</a></span>&#160; <span class="keyword">explicit</span> <a class="code" href="classWindow.html#a2f6257937261fcb3e627752dfb248d47">Window</a>(<a class="code" href="classApplication.html">Application</a>&amp; app);</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"> Constructor for a modal window, by having another window as its transient parent.</span></div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;<span class="comment"> The Application instance must be the same between the 2 windows.</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="classWindow.html#a647ec84da28005ecf0501825af77adec"> 126</a></span>&#160; <span class="keyword">explicit</span> <a class="code" href="classWindow.html#a647ec84da28005ecf0501825af77adec">Window</a>(<a class="code" href="classApplication.html">Application</a>&amp; app, <a class="code" href="classWindow.html">Window</a>&amp; transientParentWindow);</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="comment"> /**</span></div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;<span class="comment"> Constructor for an embed Window without known size,</span></div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;<span class="comment"> typically used in modules or plugins that run inside another host.</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="classWindow.html#a2cd48e2c2d816439cf38faf5c7a9736f"> 132</a></span>&#160; <span class="keyword">explicit</span> <a class="code" href="classWindow.html#a2cd48e2c2d816439cf38faf5c7a9736f">Window</a>(<a class="code" href="classApplication.html">Application</a>&amp; app,</div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; uintptr_t parentWindowHandle,</div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; <span class="keywordtype">double</span> scaleFactor,</div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <span class="keywordtype">bool</span> resizable);</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"> /**</span></div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;<span class="comment"> Constructor for an embed Window with known size,</span></div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;<span class="comment"> typically used in modules or plugins that run inside another host.</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="classWindow.html#ada557b4543c122a0de22c876c55504ae"> 141</a></span>&#160; <span class="keyword">explicit</span> <a class="code" href="classWindow.html#ada557b4543c122a0de22c876c55504ae">Window</a>(<a class="code" href="classApplication.html">Application</a>&amp; app,</div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; uintptr_t parentWindowHandle,</div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; uint width,</div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; uint height,</div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; <span class="keywordtype">double</span> scaleFactor,</div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; <span class="keywordtype">bool</span> resizable);</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"> /**</span></div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160;<span class="comment"> Destructor.</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"><a class="line" href="classWindow.html#a62b4a97b3c2e492f1d9a46092011e2d9"> 151</a></span>&#160; <span class="keyword">virtual</span> <a class="code" href="classWindow.html#a62b4a97b3c2e492f1d9a46092011e2d9">~Window</a>();</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"> /**</span></div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;<span class="comment"> Whether this Window is embed into another (usually not DGL-controlled) Window.</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"><a class="line" href="classWindow.html#afb840ed25c1fe17bed66d80adfc420ab"> 156</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classWindow.html#afb840ed25c1fe17bed66d80adfc420ab">isEmbed</a>() const noexcept;</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"> /**</span></div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160;<span class="comment"> Check if this window is visible / mapped.</span></div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160;<span class="comment"> Invisible windows do not receive events except resize.</span></div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;<span class="comment"> @see setVisible(bool)</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"><a class="line" href="classWindow.html#a6be53a737e7dfcc74167962437e93b8f"> 163</a></span>&#160; <span class="keywordtype">bool</span> isVisible() const noexcept;</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"> /**</span></div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160;<span class="comment"> Set window visible (or not) according to @a visible.</span></div>
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160;<span class="comment"> Only valid for standalones, embed windows are always visible.</span></div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160;<span class="comment"> @see isVisible(), hide(), show()</span></div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00170"></a><span class="lineno"><a class="line" href="classWindow.html#a118e0356bb6fcf081955f2bd97686036"> 170</a></span>&#160; <span class="keywordtype">void</span> setVisible(<span class="keywordtype">bool</span> visible);</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"> /**</span></div>
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160;<span class="comment"> Show window.</span></div>
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160;<span class="comment"> This is the same as calling setVisible(true).</span></div>
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160;<span class="comment"> @see isVisible(), setVisible(bool)</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"><a class="line" href="classWindow.html#a8f986e19a11c4c97ed8e6ad3d0e648b7"> 177</a></span>&#160; <span class="keywordtype">void</span> show();</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"> Hide window.</span></div>
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160;<span class="comment"> This is the same as calling setVisible(false).</span></div>
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160;<span class="comment"> @see isVisible(), setVisible(bool)</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"><a class="line" href="classWindow.html#a4626829d3cb9d01285f739d2bbc69b74"> 184</a></span>&#160; <span class="keywordtype">void</span> hide();</div>
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160;<span class="comment"></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;<span class="comment"> Hide window and notify application of a window close event.</span></div>
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160;<span class="comment"> The application event-loop will stop when all windows have been closed.</span></div>
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160;<span class="comment"> For standalone windows only, has no effect if window is embed.</span></div>
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160;<span class="comment"> @see isEmbed()</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"> 192</span>&#160;<span class="comment"> @note It is possible to hide the window while not stopping the event-loop.</span></div>
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160;<span class="comment"> A closed window is always hidden, but the reverse is not always true.</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"><a class="line" href="classWindow.html#a35055c04498121d39741bfcd5082705b"> 195</a></span>&#160; <span class="keywordtype">void</span> close();</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"> Check if this window is resizable (by the user or window manager).</span></div>
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160;<span class="comment"> @see setResizable</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"><a class="line" href="classWindow.html#a1b888a7e6a5562968a253b915ccb7825"> 201</a></span>&#160; <span class="keywordtype">bool</span> isResizable() const noexcept;</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;<span class="comment"> /**</span></div>
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160;<span class="comment"> Set window as resizable (by the user or window manager).</span></div>
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160;<span class="comment"> It is always possible to resize a window programmatically, which is not the same as the user being allowed to it.</span></div>
<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160;<span class="comment"> @note This function does nothing for plugins, where the resizable state is set via macro.</span></div>
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160;<span class="comment"> @see DISTRHO_UI_USER_RESIZABLE</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"><a class="line" href="classWindow.html#a10f6ff4b0f3e714298a4ac612edcdd7e"> 209</a></span>&#160; <span class="keywordtype">void</span> setResizable(<span class="keywordtype">bool</span> resizable);</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"> Get X offset, typically 0.</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"><a class="line" href="classWindow.html#a200f3e517effa7973e1c42c72ca55f9f"> 214</a></span>&#160; <span class="keywordtype">int</span> getOffsetX() const noexcept;</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"> Get Y offset, typically 0.</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"><a class="line" href="classWindow.html#a948304155a8403b92db8feeae1a76f46"> 219</a></span>&#160; <span class="keywordtype">int</span> getOffsetY() const noexcept;</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"> Get offset.</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"><a class="line" href="classWindow.html#a58f66fcfd4c902954594e99d4bfa0b6a"> 224</a></span>&#160; <a class="code" href="classPoint.html">Point</a>&lt;<span class="keywordtype">int</span>&gt; getOffset() const 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"> Set X offset.</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="classWindow.html#a486cf7a5f89c39e1cac3a01633f170db"> 229</a></span>&#160; <span class="keywordtype">void</span> setOffsetX(<span class="keywordtype">int</span> x);</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="comment"> /**</span></div>
<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160;<span class="comment"> Set Y offset.</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="classWindow.html#ac570a2c8f35ea4962c8f23c8435cdbfc"> 234</a></span>&#160; <span class="keywordtype">void</span> setOffsetY(<span class="keywordtype">int</span> y);</div>
<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160;<span class="comment"></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;<span class="comment"> Set offset using @a x and @a y values.</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"><a class="line" href="classWindow.html#a5d79613d3223395806d7d09ad65d5c4d"> 239</a></span>&#160; <span class="keywordtype">void</span> setOffset(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y);</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"> Set offset.</span></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"><a class="line" href="classWindow.html#ae02f210d981b2ac5efd6207864789758"> 244</a></span>&#160; <span class="keywordtype">void</span> setOffset(const <a class="code" href="classPoint.html">Point</a>&lt;<span class="keywordtype">int</span>&gt;&amp; offset);</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"> /**</span></div>
<div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160;<span class="comment"> Get width.</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="classWindow.html#ab19430997dd1b3d7bf9bd3640d73b007"> 249</a></span>&#160; uint getWidth() const noexcept;</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"> /**</span></div>
<div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160;<span class="comment"> Get height.</span></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"><a class="line" href="classWindow.html#a5d53bcba43455f8f77cfcbac61ec6c8e"> 254</a></span>&#160; uint getHeight() const noexcept;</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"> /**</span></div>
<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160;<span class="comment"> Get size.</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"><a class="line" href="classWindow.html#acd158570648b07967a4af011d6223eea"> 259</a></span>&#160; <a class="code" href="classSize.html">Size</a>&lt;uint&gt; getSize() const noexcept;</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"> /**</span></div>
<div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160;<span class="comment"> Set width.</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="classWindow.html#acfc9a6f22176e204009acbb387d3861c"> 264</a></span>&#160; <span class="keywordtype">void</span> setWidth(uint width);</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"> Set height.</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"><a class="line" href="classWindow.html#a13f314cfd5c9048ec8ea0b88b611f54d"> 269</a></span>&#160; <span class="keywordtype">void</span> setHeight(uint height);</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"> /**</span></div>
<div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160;<span class="comment"> Set size using @a width and @a height values.</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="classWindow.html#a89bd0c91920029ddcb21b8975e8b47d9"> 274</a></span>&#160; <span class="keywordtype">void</span> setSize(uint width, uint height);</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="comment"> /**</span></div>
<div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160;<span class="comment"> Set size.</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"><a class="line" href="classWindow.html#a9408b98401ce2fab132c196283248d1a"> 279</a></span>&#160; <span class="keywordtype">void</span> setSize(const <a class="code" href="classSize.html">Size</a>&lt;uint&gt;&amp; size);</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"> Get the title of the window previously set with setTitle().</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"><a class="line" href="classWindow.html#af437e6afd9104708f30ab769d9afce7a"> 284</a></span>&#160; const <span class="keywordtype">char</span>* getTitle() const noexcept;</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"> /**</span></div>
<div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160;<span class="comment"> Set the title of the window, typically displayed in the title bar or in window switchers.</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"> This only makes sense for non-embedded windows.</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"><a class="line" href="classWindow.html#ab2f1b80c5dfcafd2cbdf6b85b756fdbd"> 291</a></span>&#160; <span class="keywordtype">void</span> setTitle(const <span class="keywordtype">char</span>* title);</div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; DISTRHO_DECLARE_NON_COPYABLE(<a class="code" href="structWindow_1_1ScopedGraphicsContext.html">ScopedGraphicsContext</a>)</div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; DISTRHO_PREVENT_HEAP_ALLOCATION</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; <span class="keyword">private</span>:</div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; <a class="code" href="classWindow.html">Window</a>&amp; window;</div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; Window::PrivateData* <span class="keyword">const</span> ppData;</div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; <span class="keywordtype">bool</span> active;</div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <span class="keywordtype">bool</span> reenter;</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="comment"></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"> 122</span>&#160;<span class="comment"> Constructor for a regular, standalone window.</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"><a class="line" href="classWindow.html#a2f6257937261fcb3e627752dfb248d47"> 124</a></span>&#160; <span class="keyword">explicit</span> <a class="code" href="classWindow.html#a2f6257937261fcb3e627752dfb248d47">Window</a>(<a class="code" href="classApplication.html">Application</a>&amp; app);</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"> /**</span></div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;<span class="comment"> Constructor for a modal window, by having another window as its transient parent.</span></div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160;<span class="comment"> The Application instance must be the same between the 2 windows.</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"><a class="line" href="classWindow.html#a647ec84da28005ecf0501825af77adec"> 130</a></span>&#160; <span class="keyword">explicit</span> <a class="code" href="classWindow.html#a647ec84da28005ecf0501825af77adec">Window</a>(<a class="code" href="classApplication.html">Application</a>&amp; app, <a class="code" href="classWindow.html">Window</a>&amp; transientParentWindow);</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"> Constructor for an embed Window without known size,</span></div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;<span class="comment"> typically used in modules or plugins that run inside another host.</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"><a class="line" href="classWindow.html#a2cd48e2c2d816439cf38faf5c7a9736f"> 136</a></span>&#160; <span class="keyword">explicit</span> <a class="code" href="classWindow.html#a2cd48e2c2d816439cf38faf5c7a9736f">Window</a>(<a class="code" href="classApplication.html">Application</a>&amp; app,</div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; uintptr_t parentWindowHandle,</div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; <span class="keywordtype">double</span> scaleFactor,</div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; <span class="keywordtype">bool</span> resizable);</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 an embed Window with known size,</span></div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;<span class="comment"> typically used in modules or plugins that run inside another host.</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="classWindow.html#ada557b4543c122a0de22c876c55504ae"> 145</a></span>&#160; <span class="keyword">explicit</span> <a class="code" href="classWindow.html#ada557b4543c122a0de22c876c55504ae">Window</a>(<a class="code" href="classApplication.html">Application</a>&amp; app,</div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; uintptr_t parentWindowHandle,</div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; uint width,</div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; uint height,</div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; <span class="keywordtype">double</span> scaleFactor,</div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; <span class="keywordtype">bool</span> resizable);</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"> Destructor.</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"><a class="line" href="classWindow.html#a62b4a97b3c2e492f1d9a46092011e2d9"> 155</a></span>&#160; <span class="keyword">virtual</span> <a class="code" href="classWindow.html#a62b4a97b3c2e492f1d9a46092011e2d9">~Window</a>();</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"> /**</span></div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;<span class="comment"> Whether this Window is embed into another (usually not DGL-controlled) Window.</span></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"><a class="line" href="classWindow.html#afb840ed25c1fe17bed66d80adfc420ab"> 160</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classWindow.html#afb840ed25c1fe17bed66d80adfc420ab">isEmbed</a>() const noexcept;</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"> /**</span></div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160;<span class="comment"> Check if this window is visible / mapped.</span></div>
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160;<span class="comment"> Invisible windows do not receive events except resize.</span></div>
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160;<span class="comment"> @see setVisible(bool)</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"><a class="line" href="classWindow.html#a6be53a737e7dfcc74167962437e93b8f"> 167</a></span>&#160; <span class="keywordtype">bool</span> isVisible() const noexcept;</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"> /**</span></div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160;<span class="comment"> Set window visible (or not) according to @a visible.</span></div>
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160;<span class="comment"> Only valid for standalones, embed windows are always visible.</span></div>
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160;<span class="comment"> @see isVisible(), hide(), show()</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"><a class="line" href="classWindow.html#a118e0356bb6fcf081955f2bd97686036"> 174</a></span>&#160; <span class="keywordtype">void</span> setVisible(<span class="keywordtype">bool</span> visible);</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"> Show window.</span></div>
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160;<span class="comment"> This is the same as calling setVisible(true).</span></div>
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160;<span class="comment"> @see isVisible(), setVisible(bool)</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"><a class="line" href="classWindow.html#a8f986e19a11c4c97ed8e6ad3d0e648b7"> 181</a></span>&#160; <span class="keywordtype">void</span> show();</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"> Hide window.</span></div>
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160;<span class="comment"> This is the same as calling setVisible(false).</span></div>
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160;<span class="comment"> @see isVisible(), setVisible(bool)</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"><a class="line" href="classWindow.html#a4626829d3cb9d01285f739d2bbc69b74"> 188</a></span>&#160; <span class="keywordtype">void</span> hide();</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"> Hide window and notify application of a window close event.</span></div>
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160;<span class="comment"> The application event-loop will stop when all windows have been closed.</span></div>
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160;<span class="comment"> For standalone windows only, has no effect if window is embed.</span></div>
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160;<span class="comment"> @see isEmbed()</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"> @note It is possible to hide the window while not stopping the event-loop.</span></div>
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160;<span class="comment"> A closed window is always hidden, but the reverse is not always true.</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"><a class="line" href="classWindow.html#a35055c04498121d39741bfcd5082705b"> 199</a></span>&#160; <span class="keywordtype">void</span> close();</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"> /**</span></div>
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160;<span class="comment"> Check if this window is resizable (by the user or window manager).</span></div>
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160;<span class="comment"> @see setResizable</span></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"><a class="line" href="classWindow.html#a1b888a7e6a5562968a253b915ccb7825"> 205</a></span>&#160; <span class="keywordtype">bool</span> isResizable() const noexcept;</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"> /**</span></div>
<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160;<span class="comment"> Set window as resizable (by the user or window manager).</span></div>
<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160;<span class="comment"> It is always possible to resize a window programmatically, which is not the same as the user being allowed to it.</span></div>
<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160;<span class="comment"> @note This function does nothing for plugins, where the resizable state is set via macro.</span></div>
<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160;<span class="comment"> @see DISTRHO_UI_USER_RESIZABLE</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="classWindow.html#a10f6ff4b0f3e714298a4ac612edcdd7e"> 213</a></span>&#160; <span class="keywordtype">void</span> setResizable(<span class="keywordtype">bool</span> resizable);</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"> /**</span></div>
<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160;<span class="comment"> Get X offset, typically 0.</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"><a class="line" href="classWindow.html#a200f3e517effa7973e1c42c72ca55f9f"> 218</a></span>&#160; <span class="keywordtype">int</span> getOffsetX() const noexcept;</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"> /**</span></div>
<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160;<span class="comment"> Get Y offset, typically 0.</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"><a class="line" href="classWindow.html#a948304155a8403b92db8feeae1a76f46"> 223</a></span>&#160; <span class="keywordtype">int</span> getOffsetY() const noexcept;</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"> Get offset.</span></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"><a class="line" href="classWindow.html#a58f66fcfd4c902954594e99d4bfa0b6a"> 228</a></span>&#160; <a class="code" href="classPoint.html">Point</a>&lt;<span class="keywordtype">int</span>&gt; getOffset() const noexcept;</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"> /**</span></div>
<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160;<span class="comment"> Set X offset.</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"><a class="line" href="classWindow.html#a486cf7a5f89c39e1cac3a01633f170db"> 233</a></span>&#160; <span class="keywordtype">void</span> setOffsetX(<span class="keywordtype">int</span> x);</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"> /**</span></div>
<div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160;<span class="comment"> Set Y offset.</span></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"><a class="line" href="classWindow.html#ac570a2c8f35ea4962c8f23c8435cdbfc"> 238</a></span>&#160; <span class="keywordtype">void</span> setOffsetY(<span class="keywordtype">int</span> y);</div>
<div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;<span class="comment"></span> </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"> Set offset using @a x and @a y values.</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"><a class="line" href="classWindow.html#a5d79613d3223395806d7d09ad65d5c4d"> 243</a></span>&#160; <span class="keywordtype">void</span> setOffset(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y);</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"> Set offset.</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"><a class="line" href="classWindow.html#ae02f210d981b2ac5efd6207864789758"> 248</a></span>&#160; <span class="keywordtype">void</span> setOffset(const <a class="code" href="classPoint.html">Point</a>&lt;<span class="keywordtype">int</span>&gt;&amp; offset);</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"> 250</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160;<span class="comment"> Get width.</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"><a class="line" href="classWindow.html#ab19430997dd1b3d7bf9bd3640d73b007"> 253</a></span>&#160; uint getWidth() const noexcept;</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"> Get height.</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"><a class="line" href="classWindow.html#a5d53bcba43455f8f77cfcbac61ec6c8e"> 258</a></span>&#160; uint getHeight() const noexcept;</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;<span class="comment"> /**</span></div>
<div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160;<span class="comment"> Get size.</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"><a class="line" href="classWindow.html#acd158570648b07967a4af011d6223eea"> 263</a></span>&#160; <a class="code" href="classSize.html">Size</a>&lt;uint&gt; getSize() const noexcept;</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"> /**</span></div>
<div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160;<span class="comment"> Set width.</span></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"><a class="line" href="classWindow.html#acfc9a6f22176e204009acbb387d3861c"> 268</a></span>&#160; <span class="keywordtype">void</span> setWidth(uint width);</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"> Set height.</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"><a class="line" href="classWindow.html#a13f314cfd5c9048ec8ea0b88b611f54d"> 273</a></span>&#160; <span class="keywordtype">void</span> setHeight(uint height);</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"> /**</span></div>
<div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160;<span class="comment"> Set size using @a width and @a height values.</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="classWindow.html#a89bd0c91920029ddcb21b8975e8b47d9"> 278</a></span>&#160; <span class="keywordtype">void</span> setSize(uint width, uint height);</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 size.</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="classWindow.html#a9408b98401ce2fab132c196283248d1a"> 283</a></span>&#160; <span class="keywordtype">void</span> setSize(const <a class="code" href="classSize.html">Size</a>&lt;uint&gt;&amp; size);</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"> Get the title of the window previously set with setTitle().</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"><a class="line" href="classWindow.html#af437e6afd9104708f30ab769d9afce7a"> 288</a></span>&#160; const <span class="keywordtype">char</span>* getTitle() const noexcept;</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"> /**</span></div>
<div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160;<span class="comment"> Set the title of the window, typically displayed in the title bar or in window switchers.</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"> /**</span></div>
<div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160;<span class="comment"> Check if key repeat events are ignored.</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"><a class="line" href="classWindow.html#ab5cbe1298a28a1860319198a4c843183"> 296</a></span>&#160; <span class="keywordtype">bool</span> isIgnoringKeyRepeat() const noexcept;</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"> /**</span></div>
<div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160;<span class="comment"> Set to ignore (or not) key repeat events according to @a ignore.</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"><a class="line" href="classWindow.html#a36a04e5f5ecc6ee5228f9da6df43e865"> 301</a></span>&#160; <span class="keywordtype">void</span> setIgnoringKeyRepeat(<span class="keywordtype">bool</span> ignore) noexcept;</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"> /**</span></div>
<div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160;<span class="comment"> Get the clipboard contents.</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"> This gets the system clipboard contents,</span></div>
<div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160;<span class="comment"> which may have been set with setClipboard() or copied from another application.</span></div>
<div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160;<span class="comment"> Returns the clipboard contents, or null.</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"> @note By default only &quot;text/plain&quot; mimetype is supported and returned.</span></div>
<div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160;<span class="comment"> Override onClipboardDataOffer for supporting other types.</span></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"><a class="line" href="classWindow.html#ac8244e75f9fdb4fe886b226959f568f9"> 314</a></span>&#160; const <span class="keywordtype">void</span>* getClipboard(<span class="keywordtype">size_t</span>&amp; dataSize);</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"> /**</span></div>
<div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160;<span class="comment"> Set the clipboard contents.</span></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"> This sets the system clipboard contents,</span></div>
<div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160;<span class="comment"> which can be retrieved with getClipboard() or pasted into other applications.</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"> If using a string, the use of a null terminator is required (and must be part of dataSize).@n</span></div>
<div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160;<span class="comment"> The MIME type of the data &quot;text/plain&quot; is assumed if null is used.</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="classWindow.html#a88bf8d28d58fbe390359bd220137311e"> 325</a></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="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 the mouse cursor.</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="comment"> This changes the system cursor that is displayed when the pointer is inside the window.</span></div>
<div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160;<span class="comment"> May fail if setting the cursor is not supported on this system,</span></div>
<div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160;<span class="comment"> for example if compiled on X11 without Xcursor support.</span></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"><a class="line" href="classWindow.html#aabcbd667b0c4dd4665d13beb940fa700"> 334</a></span>&#160; <span class="keywordtype">bool</span> setCursor(MouseCursor cursor);</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"> /**</span></div>
<div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160;<span class="comment"> Add a callback function to be triggered on every idle cycle or on a specific timer frequency.</span></div>
<div class="line"><a name="l00338"></a><span class="lineno"> 338</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="l00339"></a><span class="lineno"> 339</span>&#160;<span class="comment"> This can be used to perform some action at a regular interval with relatively low frequency.</span></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"> If providing a timer frequency, there are a few things to note:</span></div>
<div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160;<span class="comment"> 1. There is a platform-specific limit to the number of supported timers, and overhead associated with each,</span></div>
<div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160;<span class="comment"> so you should create only a few timers and perform several tasks in one if necessary.</span></div>
<div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160;<span class="comment"> 2. This timer frequency is not guaranteed to have a resolution better than 10ms</span></div>
<div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160;<span class="comment"> (the maximum timer resolution on Windows) and may be rounded up if it is too short.</span></div>
<div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160;<span class="comment"> On X11 and MacOS, a resolution of about 1ms can usually be relied on.</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="classWindow.html#ad17a7f53a62673982f4861cdc27fd54e"> 348</a></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="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"> Remove an idle callback previously added via addIdleCallback().</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"><a class="line" href="classWindow.html#a5c5c4f53c53cb081b39a40d5ce9afd65"> 353</a></span>&#160; <span class="keywordtype">bool</span> removeIdleCallback(<a class="code" href="structIdleCallback.html">IdleCallback</a>* callback);</div>
<div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160;<span class="comment"></span> </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"> Get the application associated with this window.</span></div>
<div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00358"></a><span class="lineno"><a class="line" href="classWindow.html#a92600b2e0715646b80474fccbcadf336"> 358</a></span>&#160; <a class="code" href="classApplication.html">Application</a>&amp; getApp() const noexcept;</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"> /**</span></div>
<div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160;<span class="comment"> Get the graphics context associated with this window.</span></div>
<div class="line"><a name="l00362"></a><span class="lineno"> 362</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="l00363"></a><span class="lineno"> 363</span>&#160;<span class="comment"> for example GraphicsContext.</span></div>
<div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160;<span class="comment"> @see CairoSubWidget, CairoTopLevelWidget</span></div>
<div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00366"></a><span class="lineno"><a class="line" href="classWindow.html#aa73a74df08f29d576e18cf1d61ea9897"> 366</a></span>&#160; const <a class="code" href="structGraphicsContext.html">GraphicsContext</a>&amp; getGraphicsContext() const noexcept;</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"> /**</span></div>
<div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160;<span class="comment"> Get the &quot;native&quot; window handle.</span></div>
<div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160;<span class="comment"> Returned value depends on the platform:</span></div>
<div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160;<span class="comment"> - HaikuOS: This is a pointer to a `BView`.</span></div>
<div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160;<span class="comment"> - MacOS: This is a pointer to an `NSView*`.</span></div>
<div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160;<span class="comment"> - Windows: This is a `HWND`.</span></div>
<div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160;<span class="comment"> - Everything else: This is an [X11] `Window`.</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"><a class="line" href="classWindow.html#a01a9277a2e19766947f9a99b43147bfd"> 376</a></span>&#160; uintptr_t getNativeWindowHandle() const noexcept;</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"> /**</span></div>
<div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160;<span class="comment"> Get the scale factor requested for this window.</span></div>
<div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160;<span class="comment"> This is purely informational, and up to developers to choose what to do with it.</span></div>
<div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160;<span class="comment"> This only makes sense for non-embedded windows.</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="classWindow.html#ab2f1b80c5dfcafd2cbdf6b85b756fdbd"> 295</a></span>&#160; <span class="keywordtype">void</span> setTitle(const <span class="keywordtype">char</span>* title);</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"> Check if key repeat events are ignored.</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="classWindow.html#ab5cbe1298a28a1860319198a4c843183"> 300</a></span>&#160; <span class="keywordtype">bool</span> isIgnoringKeyRepeat() 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"> Set to ignore (or not) key repeat events according to @a ignore.</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="classWindow.html#a36a04e5f5ecc6ee5228f9da6df43e865"> 305</a></span>&#160; <span class="keywordtype">void</span> setIgnoringKeyRepeat(<span class="keywordtype">bool</span> ignore) 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 the clipboard contents.</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"> This gets the system clipboard contents,</span></div>
<div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160;<span class="comment"> which may have been set with setClipboard() or copied from another application.</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"> Returns the clipboard contents, or null.</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"> @note By default only &quot;text/plain&quot; mimetype is supported and returned.</span></div>
<div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160;<span class="comment"> Override onClipboardDataOffer for supporting other types.</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"><a class="line" href="classWindow.html#ac8244e75f9fdb4fe886b226959f568f9"> 318</a></span>&#160; const <span class="keywordtype">void</span>* getClipboard(<span class="keywordtype">size_t</span>&amp; dataSize);</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 the clipboard contents.</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"> This sets the system clipboard contents,</span></div>
<div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160;<span class="comment"> which can be retrieved with getClipboard() or pasted into other applications.</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"> If using a string, the use of a null terminator is required (and must be part of dataSize).@n</span></div>
<div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160;<span class="comment"> The MIME type of the data &quot;text/plain&quot; is assumed if null is used.</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"><a class="line" href="classWindow.html#a88bf8d28d58fbe390359bd220137311e"> 329</a></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="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"> /**</span></div>
<div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160;<span class="comment"> Set the mouse cursor.</span></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"> This changes the system cursor that is displayed when the pointer is inside the window.</span></div>
<div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160;<span class="comment"> May fail if setting the cursor is not supported on this system,</span></div>
<div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160;<span class="comment"> for example if compiled on X11 without Xcursor support.</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"><a class="line" href="classWindow.html#aabcbd667b0c4dd4665d13beb940fa700"> 338</a></span>&#160; <span class="keywordtype">bool</span> setCursor(MouseCursor cursor);</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"> /**</span></div>
<div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160;<span class="comment"> Add a callback function to be triggered on every idle cycle or on a specific timer frequency.</span></div>
<div class="line"><a name="l00342"></a><span class="lineno"> 342</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="l00343"></a><span class="lineno"> 343</span>&#160;<span class="comment"> This can be used to perform some action at a regular interval with relatively low frequency.</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"> If providing a timer frequency, there are a few things to note:</span></div>
<div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160;<span class="comment"> 1. There is a platform-specific limit to the number of supported timers, and overhead associated with each,</span></div>
<div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160;<span class="comment"> so you should create only a few timers and perform several tasks in one if necessary.</span></div>
<div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160;<span class="comment"> 2. This timer frequency is not guaranteed to have a resolution better than 10ms</span></div>
<div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160;<span class="comment"> (the maximum timer resolution on Windows) and may be rounded up if it is too short.</span></div>
<div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160;<span class="comment"> On X11 and MacOS, a resolution of about 1ms can usually be relied on.</span></div>
<div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00352"></a><span class="lineno"><a class="line" href="classWindow.html#ad17a7f53a62673982f4861cdc27fd54e"> 352</a></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="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"> /**</span></div>
<div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160;<span class="comment"> Remove an idle callback previously added via addIdleCallback().</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="classWindow.html#a5c5c4f53c53cb081b39a40d5ce9afd65"> 357</a></span>&#160; <span class="keywordtype">bool</span> removeIdleCallback(<a class="code" href="structIdleCallback.html">IdleCallback</a>* callback);</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 application associated with this window.</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="classWindow.html#a92600b2e0715646b80474fccbcadf336"> 362</a></span>&#160; <a class="code" href="classApplication.html">Application</a>&amp; getApp() 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 the graphics context associated with this window.</span></div>
<div class="line"><a name="l00366"></a><span class="lineno"> 366</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="l00367"></a><span class="lineno"> 367</span>&#160;<span class="comment"> for example GraphicsContext.</span></div>
<div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160;<span class="comment"> @see CairoSubWidget, CairoTopLevelWidget</span></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"><a class="line" href="classWindow.html#aa73a74df08f29d576e18cf1d61ea9897"> 370</a></span>&#160; const <a class="code" href="structGraphicsContext.html">GraphicsContext</a>&amp; getGraphicsContext() const noexcept;</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"> Get the &quot;native&quot; window handle.</span></div>
<div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160;<span class="comment"> Returned value depends on the platform:</span></div>
<div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160;<span class="comment"> - HaikuOS: This is a pointer to a `BView`.</span></div>
<div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160;<span class="comment"> - MacOS: This is a pointer to an `NSView*`.</span></div>
<div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160;<span class="comment"> - Windows: This is a `HWND`.</span></div>
<div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160;<span class="comment"> - Everything else: This is an [X11] `Window`.</span></div>
<div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00380"></a><span class="lineno"><a class="line" href="classWindow.html#a01a9277a2e19766947f9a99b43147bfd"> 380</a></span>&#160; uintptr_t getNativeWindowHandle() const noexcept;</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"> If you do not want to deal with this yourself,</span></div>
<div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160;<span class="comment"> consider using setGeometryConstraints() where you can specify to automatically scale the window contents.</span></div>
<div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160;<span class="comment"> @see setGeometryConstraints</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="classWindow.html#a77774c8ce4b01113fcd525079f9b8787"> 386</a></span>&#160; <span class="keywordtype">double</span> getScaleFactor() const noexcept;</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"> Grab the keyboard input focus.</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"><a class="line" href="classWindow.html#a03985e4ca2c9b4fcf572b5029e8c0115"> 391</a></span>&#160; <span class="keywordtype">void</span> focus();</div>
<div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160; </div>
<div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160;<span class="preprocessor">#ifndef DGL_FILE_BROWSER_DISABLED</span><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"> Open a file browser dialog with this window as transient parent.</span></div>
<div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160;<span class="comment"> A few options can be specified to setup the dialog.</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"> If a path is selected, onFileSelected() will be called with the user chosen path.</span></div>
<div class="line"><a name="l00399"></a><span class="lineno"> 399</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="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"> This function does not block the event loop.</span></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"><a class="line" href="classWindow.html#a56ed4c181deb56c7fcec2b2cfe7295bd"> 403</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classWindow.html#a56ed4c181deb56c7fcec2b2cfe7295bd">openFileBrowser</a>(<span class="keyword">const</span> DGL_NAMESPACE::FileBrowserOptions&amp; options = <a class="code" href="structFileBrowserOptions.html">FileBrowserOptions</a>());</div>
<div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160;<span class="preprocessor">#endif</span></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"> Request repaint of this window, for the entire area.</span></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"><a class="line" href="classWindow.html#a729ab39a1ac99d81b289e08a42582ade"> 409</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classWindow.html#a729ab39a1ac99d81b289e08a42582ade">repaint</a>() noexcept;</div>
<div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160;<span class="comment"></span> </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"> Request partial repaint of this window, with bounds according to @a rect.</span></div>
<div class="line"><a name="l00413"></a><span class="lineno"> 413</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00414"></a><span class="lineno"><a class="line" href="classWindow.html#a33f9518b6f3209cd8201106260c9e42c"> 414</a></span>&#160; <span class="keywordtype">void</span> repaint(const <a class="code" href="classRectangle.html">Rectangle</a>&lt;uint&gt;&amp; rect) noexcept;</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"> /**</span></div>
<div class="line"><a name="l00417"></a><span class="lineno"> 417</span>&#160;<span class="comment"> Render this window&#39;s content into a picture file, specified by @a filename.</span></div>
<div class="line"><a name="l00418"></a><span class="lineno"> 418</span>&#160;<span class="comment"> Window must be visible and on screen.</span></div>
<div class="line"><a name="l00419"></a><span class="lineno"> 419</span>&#160;<span class="comment"> Written picture format is PPM.</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="classWindow.html#abc7044d06bab27a7dadf06b9f42b2c95"> 421</a></span>&#160; <span class="keywordtype">void</span> renderToPicture(const <span class="keywordtype">char</span>* filename);</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"> Run this window as a modal, blocking input events from the parent.</span></div>
<div class="line"><a name="l00425"></a><span class="lineno"> 425</span>&#160;<span class="comment"> Only valid for windows that have been created with another window as parent (as passed in the constructor).</span></div>
<div class="line"><a name="l00426"></a><span class="lineno"> 426</span>&#160;<span class="comment"> Can optionally block-wait, but such option is only available if the application is running as standalone.</span></div>
<div class="line"><a name="l00427"></a><span class="lineno"> 427</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00428"></a><span class="lineno"><a class="line" href="classWindow.html#a00108f3d1c5831d02b0c67cd4f226e4d"> 428</a></span>&#160; <span class="keywordtype">void</span> runAsModal(<span class="keywordtype">bool</span> blockWait = false);</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="comment"> /**</span></div>
<div class="line"><a name="l00431"></a><span class="lineno"> 431</span>&#160;<span class="comment"> Get the geometry constraints set for the Window.</span></div>
<div class="line"><a name="l00432"></a><span class="lineno"> 432</span>&#160;<span class="comment"> @see setGeometryConstraints</span></div>
<div class="line"><a name="l00433"></a><span class="lineno"> 433</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00434"></a><span class="lineno"><a class="line" href="classWindow.html#a540fbc63288c019f420123644acc6a11"> 434</a></span>&#160; <a class="code" href="classSize.html">Size</a>&lt;uint&gt; getGeometryConstraints(<span class="keywordtype">bool</span>&amp; keepAspectRatio);</div>
<div class="line"><a name="l00435"></a><span class="lineno"> 435</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00436"></a><span class="lineno"> 436</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00437"></a><span class="lineno"> 437</span>&#160;<span class="comment"> Set geometry constraints for the Window when resized by the user, and optionally scale contents automatically.</span></div>
<div class="line"><a name="l00438"></a><span class="lineno"> 438</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00439"></a><span class="lineno"><a class="line" href="classWindow.html#aa3824e300206b15241df8c8c78785d73"> 439</a></span>&#160; <span class="keywordtype">void</span> setGeometryConstraints(uint minimumWidth,</div>
<div class="line"><a name="l00440"></a><span class="lineno"> 440</span>&#160; uint minimumHeight,</div>
<div class="line"><a name="l00441"></a><span class="lineno"> 441</span>&#160; <span class="keywordtype">bool</span> keepAspectRatio = false,</div>
<div class="line"><a name="l00442"></a><span class="lineno"> 442</span>&#160; <span class="keywordtype">bool</span> automaticallyScale = false,</div>
<div class="line"><a name="l00443"></a><span class="lineno"> 443</span>&#160; <span class="keywordtype">bool</span> resizeNowIfAutoScaling = true);</div>
<div class="line"><a name="l00444"></a><span class="lineno"> 444</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00445"></a><span class="lineno"> 445</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00446"></a><span class="lineno"> 446</span>&#160;<span class="comment"> Set the transient parent of the window.</span></div>
<div class="line"><a name="l00447"></a><span class="lineno"> 447</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00448"></a><span class="lineno"> 448</span>&#160;<span class="comment"> Set this for transient children like dialogs, to have them properly associated with their parent window.</span></div>
<div class="line"><a name="l00449"></a><span class="lineno"> 449</span>&#160;<span class="comment"> This should be not be called for embed windows, or after making the window visible.</span></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"><a class="line" href="classWindow.html#ab3fd6ca05bdbd2df01665192cde2ff34"> 451</a></span>&#160; <span class="keywordtype">void</span> setTransientParent(uintptr_t transientParentWindowHandle);</div>
<div class="line"><a name="l00452"></a><span class="lineno"> 452</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00453"></a><span class="lineno"> 453</span>&#160;<span class="comment"> /** DEPRECATED Use isIgnoringKeyRepeat(). */</span></div>
<div class="line"><a name="l00454"></a><span class="lineno"> 454</span>&#160; DISTRHO_DEPRECATED_BY(&quot;isIgnoringKeyRepeat()&quot;)</div>
<div class="line"><a name="l00455"></a><span class="lineno"><a class="line" href="classWindow.html#a0e1895a4e93ee0d7c34a9b10953c968e"> 455</a></span>&#160; inline <span class="keywordtype">bool</span> getIgnoringKeyRepeat() const noexcept { <span class="keywordflow">return</span> isIgnoringKeyRepeat(); }</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"> Get the scale factor requested for this window.</span></div>
<div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160;<span class="comment"> This is purely informational, and up to developers to choose what to do with it.</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"> 386</span>&#160;<span class="comment"> If you do not want to deal with this yourself,</span></div>
<div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160;<span class="comment"> consider using setGeometryConstraints() where you can specify to automatically scale the window contents.</span></div>
<div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160;<span class="comment"> @see setGeometryConstraints</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"><a class="line" href="classWindow.html#a77774c8ce4b01113fcd525079f9b8787"> 390</a></span>&#160; <span class="keywordtype">double</span> getScaleFactor() const noexcept;</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"> Grab the keyboard input focus.</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"><a class="line" href="classWindow.html#a03985e4ca2c9b4fcf572b5029e8c0115"> 395</a></span>&#160; <span class="keywordtype">void</span> focus();</div>
<div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160; </div>
<div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160;<span class="preprocessor">#ifndef DGL_FILE_BROWSER_DISABLED</span><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;<span class="comment"> Open a file browser dialog with this window as transient parent.</span></div>
<div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160;<span class="comment"> A few options can be specified to setup the dialog.</span></div>
<div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00402"></a><span class="lineno"> 402</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="l00403"></a><span class="lineno"> 403</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="l00404"></a><span class="lineno"> 404</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00405"></a><span class="lineno"> 405</span>&#160;<span class="comment"> This function does not block the event loop.</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"><a class="line" href="classWindow.html#a56ed4c181deb56c7fcec2b2cfe7295bd"> 407</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classWindow.html#a56ed4c181deb56c7fcec2b2cfe7295bd">openFileBrowser</a>(<span class="keyword">const</span> DGL_NAMESPACE::FileBrowserOptions&amp; options = <a class="code" href="structFileBrowserOptions.html">FileBrowserOptions</a>());</div>
<div class="line"><a name="l00408"></a><span class="lineno"> 408</span>&#160;<span class="preprocessor">#endif</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"> /**</span></div>
<div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160;<span class="comment"> Request repaint of this window, for the entire area.</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"><a class="line" href="classWindow.html#a729ab39a1ac99d81b289e08a42582ade"> 413</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classWindow.html#a729ab39a1ac99d81b289e08a42582ade">repaint</a>() noexcept;</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"> Request partial repaint of this window, with bounds according to @a rect.</span></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"><a class="line" href="classWindow.html#a33f9518b6f3209cd8201106260c9e42c"> 418</a></span>&#160; <span class="keywordtype">void</span> repaint(const <a class="code" href="classRectangle.html">Rectangle</a>&lt;uint&gt;&amp; rect) noexcept;</div>
<div class="line"><a name="l00419"></a><span class="lineno"> 419</span>&#160;<span class="comment"></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"> 421</span>&#160;<span class="comment"> Render this window&#39;s content into a picture file, specified by @a filename.</span></div>
<div class="line"><a name="l00422"></a><span class="lineno"> 422</span>&#160;<span class="comment"> Window must be visible and on screen.</span></div>
<div class="line"><a name="l00423"></a><span class="lineno"> 423</span>&#160;<span class="comment"> Written picture format is PPM.</span></div>
<div class="line"><a name="l00424"></a><span class="lineno"> 424</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00425"></a><span class="lineno"><a class="line" href="classWindow.html#abc7044d06bab27a7dadf06b9f42b2c95"> 425</a></span>&#160; <span class="keywordtype">void</span> renderToPicture(const <span class="keywordtype">char</span>* filename);</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"> /**</span></div>
<div class="line"><a name="l00428"></a><span class="lineno"> 428</span>&#160;<span class="comment"> Run this window as a modal, blocking input events from the parent.</span></div>
<div class="line"><a name="l00429"></a><span class="lineno"> 429</span>&#160;<span class="comment"> Only valid for windows that have been created with another window as parent (as passed in the constructor).</span></div>
<div class="line"><a name="l00430"></a><span class="lineno"> 430</span>&#160;<span class="comment"> Can optionally block-wait, but such option is only available if the application is running as standalone.</span></div>
<div class="line"><a name="l00431"></a><span class="lineno"> 431</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00432"></a><span class="lineno"><a class="line" href="classWindow.html#a00108f3d1c5831d02b0c67cd4f226e4d"> 432</a></span>&#160; <span class="keywordtype">void</span> runAsModal(<span class="keywordtype">bool</span> blockWait = false);</div>
<div class="line"><a name="l00433"></a><span class="lineno"> 433</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00434"></a><span class="lineno"> 434</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00435"></a><span class="lineno"> 435</span>&#160;<span class="comment"> Get the geometry constraints set for the Window.</span></div>
<div class="line"><a name="l00436"></a><span class="lineno"> 436</span>&#160;<span class="comment"> @see setGeometryConstraints</span></div>
<div class="line"><a name="l00437"></a><span class="lineno"> 437</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00438"></a><span class="lineno"><a class="line" href="classWindow.html#a540fbc63288c019f420123644acc6a11"> 438</a></span>&#160; <a class="code" href="classSize.html">Size</a>&lt;uint&gt; getGeometryConstraints(<span class="keywordtype">bool</span>&amp; keepAspectRatio);</div>
<div class="line"><a name="l00439"></a><span class="lineno"> 439</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00440"></a><span class="lineno"> 440</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00441"></a><span class="lineno"> 441</span>&#160;<span class="comment"> Set geometry constraints for the Window when resized by the user, and optionally scale contents automatically.</span></div>
<div class="line"><a name="l00442"></a><span class="lineno"> 442</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00443"></a><span class="lineno"><a class="line" href="classWindow.html#aa3824e300206b15241df8c8c78785d73"> 443</a></span>&#160; <span class="keywordtype">void</span> setGeometryConstraints(uint minimumWidth,</div>
<div class="line"><a name="l00444"></a><span class="lineno"> 444</span>&#160; uint minimumHeight,</div>
<div class="line"><a name="l00445"></a><span class="lineno"> 445</span>&#160; <span class="keywordtype">bool</span> keepAspectRatio = false,</div>
<div class="line"><a name="l00446"></a><span class="lineno"> 446</span>&#160; <span class="keywordtype">bool</span> automaticallyScale = false,</div>
<div class="line"><a name="l00447"></a><span class="lineno"> 447</span>&#160; <span class="keywordtype">bool</span> resizeNowIfAutoScaling = true);</div>
<div class="line"><a name="l00448"></a><span class="lineno"> 448</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00449"></a><span class="lineno"> 449</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00450"></a><span class="lineno"> 450</span>&#160;<span class="comment"> Set the transient parent of the window.</span></div>
<div class="line"><a name="l00451"></a><span class="lineno"> 451</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00452"></a><span class="lineno"> 452</span>&#160;<span class="comment"> Set this for transient children like dialogs, to have them properly associated with their parent window.</span></div>
<div class="line"><a name="l00453"></a><span class="lineno"> 453</span>&#160;<span class="comment"> This should be not be called for embed windows, or after making the window visible.</span></div>
<div class="line"><a name="l00454"></a><span class="lineno"> 454</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00455"></a><span class="lineno"><a class="line" href="classWindow.html#ab3fd6ca05bdbd2df01665192cde2ff34"> 455</a></span>&#160; <span class="keywordtype">void</span> setTransientParent(uintptr_t transientParentWindowHandle);</div>
<div class="line"><a name="l00456"></a><span class="lineno"> 456</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160;<span class="comment"> /** DEPRECATED Use getScaleFactor(). */</span></div>
<div class="line"><a name="l00458"></a><span class="lineno"> 458</span>&#160; DISTRHO_DEPRECATED_BY(<span class="stringliteral">&quot;getScaleFactor()&quot;</span>)</div>
<div class="line"><a name="l00459"></a><span class="lineno"><a class="line" href="classWindow.html#a9b94fea3236d1d49e3fbd53a8d9cc70b"> 459</a></span>&#160; inline <span class="keywordtype">double</span> getScaling() const noexcept { <span class="keywordflow">return</span> getScaleFactor(); }</div>
<div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160;<span class="comment"> /** DEPRECATED Use isIgnoringKeyRepeat(). */</span></div>
<div class="line"><a name="l00458"></a><span class="lineno"> 458</span>&#160; DISTRHO_DEPRECATED_BY(&quot;isIgnoringKeyRepeat()&quot;)</div>
<div class="line"><a name="l00459"></a><span class="lineno"><a class="line" href="classWindow.html#a0e1895a4e93ee0d7c34a9b10953c968e"> 459</a></span>&#160; inline <span class="keywordtype">bool</span> getIgnoringKeyRepeat() const noexcept { <span class="keywordflow">return</span> isIgnoringKeyRepeat(); }</div>
<div class="line"><a name="l00460"></a><span class="lineno"> 460</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00461"></a><span class="lineno"> 461</span>&#160;<span class="comment"> /** DEPRECATED Use runAsModal(bool). */</span></div>
<div class="line"><a name="l00462"></a><span class="lineno"> 462</span>&#160; DISTRHO_DEPRECATED_BY(<span class="stringliteral">&quot;runAsModal(bool)&quot;</span>)</div>
<div class="line"><a name="l00463"></a><span class="lineno"><a class="line" href="classWindow.html#addce529703b96ff6742428c8bd8c4cba"> 463</a></span>&#160; inline <span class="keywordtype">void</span> exec(<span class="keywordtype">bool</span> blockWait = false) { runAsModal(blockWait); }</div>
<div class="line"><a name="l00464"></a><span class="lineno"> 464</span>&#160; </div>
<div class="line"><a name="l00465"></a><span class="lineno"> 465</span>&#160;<span class="keyword">protected</span>:<span class="comment"></span></div>
<div class="line"><a name="l00466"></a><span class="lineno"> 466</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00467"></a><span class="lineno"> 467</span>&#160;<span class="comment"> Get the types available for the data in a clipboard.</span></div>
<div class="line"><a name="l00468"></a><span class="lineno"> 468</span>&#160;<span class="comment"> Must only be called within the context of onClipboardDataOffer.</span></div>
<div class="line"><a name="l00469"></a><span class="lineno"> 469</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00470"></a><span class="lineno"><a class="line" href="classWindow.html#a6071a51d8fd2c150bcfc240ba43f7b2b"> 470</a></span>&#160; std::vector&lt;ClipboardDataOffer&gt; <a class="code" href="classWindow.html#a6071a51d8fd2c150bcfc240ba43f7b2b">getClipboardDataOfferTypes</a>();</div>
<div class="line"><a name="l00471"></a><span class="lineno"> 471</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00472"></a><span class="lineno"> 472</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00473"></a><span class="lineno"> 473</span>&#160;<span class="comment"> A function called when clipboard has data present, possibly with several datatypes.</span></div>
<div class="line"><a name="l00474"></a><span class="lineno"> 474</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="l00461"></a><span class="lineno"> 461</span>&#160;<span class="comment"> /** DEPRECATED Use getScaleFactor(). */</span></div>
<div class="line"><a name="l00462"></a><span class="lineno"> 462</span>&#160; DISTRHO_DEPRECATED_BY(<span class="stringliteral">&quot;getScaleFactor()&quot;</span>)</div>
<div class="line"><a name="l00463"></a><span class="lineno"><a class="line" href="classWindow.html#a9b94fea3236d1d49e3fbd53a8d9cc70b"> 463</a></span>&#160; inline <span class="keywordtype">double</span> getScaling() const noexcept { <span class="keywordflow">return</span> getScaleFactor(); }</div>
<div class="line"><a name="l00464"></a><span class="lineno"> 464</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00465"></a><span class="lineno"> 465</span>&#160;<span class="comment"> /** DEPRECATED Use runAsModal(bool). */</span></div>
<div class="line"><a name="l00466"></a><span class="lineno"> 466</span>&#160; DISTRHO_DEPRECATED_BY(<span class="stringliteral">&quot;runAsModal(bool)&quot;</span>)</div>
<div class="line"><a name="l00467"></a><span class="lineno"><a class="line" href="classWindow.html#addce529703b96ff6742428c8bd8c4cba"> 467</a></span>&#160; inline <span class="keywordtype">void</span> exec(<span class="keywordtype">bool</span> blockWait = false) { runAsModal(blockWait); }</div>
<div class="line"><a name="l00468"></a><span class="lineno"> 468</span>&#160; </div>
<div class="line"><a name="l00469"></a><span class="lineno"> 469</span>&#160;<span class="keyword">protected</span>:<span class="comment"></span></div>
<div class="line"><a name="l00470"></a><span class="lineno"> 470</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00471"></a><span class="lineno"> 471</span>&#160;<span class="comment"> Get the types available for the data in a clipboard.</span></div>
<div class="line"><a name="l00472"></a><span class="lineno"> 472</span>&#160;<span class="comment"> Must only be called within the context of onClipboardDataOffer.</span></div>
<div class="line"><a name="l00473"></a><span class="lineno"> 473</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00474"></a><span class="lineno"><a class="line" href="classWindow.html#a6071a51d8fd2c150bcfc240ba43f7b2b"> 474</a></span>&#160; std::vector&lt;ClipboardDataOffer&gt; <a class="code" href="classWindow.html#a6071a51d8fd2c150bcfc240ba43f7b2b">getClipboardDataOfferTypes</a>();</div>
<div class="line"><a name="l00475"></a><span class="lineno"> 475</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00476"></a><span class="lineno"> 476</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="l00477"></a><span class="lineno"> 477</span>&#160;<span class="comment"> Applications must ignore any type they do not recognize.</span></div>
<div class="line"><a name="l00478"></a><span class="lineno"> 478</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00479"></a><span class="lineno"> 479</span>&#160;<span class="comment"> The default implementation accepts the &quot;text/plain&quot; mimetype.</span></div>
<div class="line"><a name="l00480"></a><span class="lineno"> 480</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00481"></a><span class="lineno"><a class="line" href="classWindow.html#a0d6c68dee413b400e599f715f2e3b5e7"> 481</a></span>&#160; <span class="keyword">virtual</span> uint32_t <a class="code" href="classWindow.html#a0d6c68dee413b400e599f715f2e3b5e7">onClipboardDataOffer</a>();</div>
<div class="line"><a name="l00476"></a><span class="lineno"> 476</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00477"></a><span class="lineno"> 477</span>&#160;<span class="comment"> A function called when clipboard has data present, possibly with several datatypes.</span></div>
<div class="line"><a name="l00478"></a><span class="lineno"> 478</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="l00479"></a><span class="lineno"> 479</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00480"></a><span class="lineno"> 480</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="l00481"></a><span class="lineno"> 481</span>&#160;<span class="comment"> Applications must ignore any type they do not recognize.</span></div>
<div class="line"><a name="l00482"></a><span class="lineno"> 482</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00483"></a><span class="lineno"> 483</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00484"></a><span class="lineno"> 484</span>&#160;<span class="comment"> A function called when the window is attempted to be closed.</span></div>
<div class="line"><a name="l00485"></a><span class="lineno"> 485</span>&#160;<span class="comment"> Returning true closes the window, which is the default behaviour.</span></div>
<div class="line"><a name="l00486"></a><span class="lineno"> 486</span>&#160;<span class="comment"> Override this method and return false to prevent the window from being closed by the user.</span></div>
<div class="line"><a name="l00487"></a><span class="lineno"> 487</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00488"></a><span class="lineno"> 488</span>&#160;<span class="comment"> This method is not used for embed windows, and not even made available in DISTRHO_NAMESPACE::UI.</span></div>
<div class="line"><a name="l00489"></a><span class="lineno"> 489</span>&#160;<span class="comment"> For embed windows, closing is handled by the host/parent process and we have no control over it.</span></div>
<div class="line"><a name="l00490"></a><span class="lineno"> 490</span>&#160;<span class="comment"> As such, a close action on embed windows will always succeed and cannot be cancelled.</span></div>
<div class="line"><a name="l00483"></a><span class="lineno"> 483</span>&#160;<span class="comment"> The default implementation accepts the &quot;text/plain&quot; mimetype.</span></div>
<div class="line"><a name="l00484"></a><span class="lineno"> 484</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00485"></a><span class="lineno"><a class="line" href="classWindow.html#a0d6c68dee413b400e599f715f2e3b5e7"> 485</a></span>&#160; <span class="keyword">virtual</span> uint32_t <a class="code" href="classWindow.html#a0d6c68dee413b400e599f715f2e3b5e7">onClipboardDataOffer</a>();</div>
<div class="line"><a name="l00486"></a><span class="lineno"> 486</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00487"></a><span class="lineno"> 487</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00488"></a><span class="lineno"> 488</span>&#160;<span class="comment"> A function called when the window is attempted to be closed.</span></div>
<div class="line"><a name="l00489"></a><span class="lineno"> 489</span>&#160;<span class="comment"> Returning true closes the window, which is the default behaviour.</span></div>
<div class="line"><a name="l00490"></a><span class="lineno"> 490</span>&#160;<span class="comment"> Override this method and return false to prevent the window from being closed by the user.</span></div>
<div class="line"><a name="l00491"></a><span class="lineno"> 491</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00492"></a><span class="lineno"> 492</span>&#160;<span class="comment"> NOTE: This currently does not work under macOS.</span></div>
<div class="line"><a name="l00493"></a><span class="lineno"> 493</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00494"></a><span class="lineno"><a class="line" href="classWindow.html#a979cfd2bc52650f07b789217d6c6f570"> 494</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classWindow.html#a979cfd2bc52650f07b789217d6c6f570">onClose</a>();</div>
<div class="line"><a name="l00492"></a><span class="lineno"> 492</span>&#160;<span class="comment"> This method is not used for embed windows, and not even made available in DISTRHO_NAMESPACE::UI.</span></div>
<div class="line"><a name="l00493"></a><span class="lineno"> 493</span>&#160;<span class="comment"> For embed windows, closing is handled by the host/parent process and we have no control over it.</span></div>
<div class="line"><a name="l00494"></a><span class="lineno"> 494</span>&#160;<span class="comment"> As such, a close action on embed windows will always succeed and cannot be cancelled.</span></div>
<div class="line"><a name="l00495"></a><span class="lineno"> 495</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00496"></a><span class="lineno"> 496</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00497"></a><span class="lineno"> 497</span>&#160;<span class="comment"> A function called when the window gains or loses the keyboard focus.</span></div>
<div class="line"><a name="l00498"></a><span class="lineno"> 498</span>&#160;<span class="comment"> The default implementation does nothing.</span></div>
<div class="line"><a name="l00499"></a><span class="lineno"> 499</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00500"></a><span class="lineno"><a class="line" href="classWindow.html#a754415613248bd3b5068d76c4cfe3704"> 500</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classWindow.html#a754415613248bd3b5068d76c4cfe3704">onFocus</a>(<span class="keywordtype">bool</span> focus, CrossingMode mode);</div>
<div class="line"><a name="l00501"></a><span class="lineno"> 501</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00502"></a><span class="lineno"> 502</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00503"></a><span class="lineno"> 503</span>&#160;<span class="comment"> A function called when the window is resized.</span></div>
<div class="line"><a name="l00504"></a><span class="lineno"> 504</span>&#160;<span class="comment"> If there is a top-level widget associated with this window, its size will be set right after this function.</span></div>
<div class="line"><a name="l00505"></a><span class="lineno"> 505</span>&#160;<span class="comment"> The default implementation sets up drawing context where necessary.</span></div>
<div class="line"><a name="l00506"></a><span class="lineno"> 506</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00507"></a><span class="lineno"><a class="line" href="classWindow.html#a04207502372d42d0d17604b104c1d8d6"> 507</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classWindow.html#a04207502372d42d0d17604b104c1d8d6">onReshape</a>(uint width, uint height);</div>
<div class="line"><a name="l00508"></a><span class="lineno"> 508</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00509"></a><span class="lineno"> 509</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00510"></a><span class="lineno"> 510</span>&#160;<span class="comment"> A function called when scale factor requested for this window changes.</span></div>
<div class="line"><a name="l00511"></a><span class="lineno"> 511</span>&#160;<span class="comment"> The default implementation does nothing.</span></div>
<div class="line"><a name="l00512"></a><span class="lineno"> 512</span>&#160;<span class="comment"> WARNING function needs a proper name</span></div>
<div class="line"><a name="l00513"></a><span class="lineno"> 513</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00514"></a><span class="lineno"><a class="line" href="classWindow.html#a306742ddc21c7c41f59b41e5761a38c7"> 514</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classWindow.html#a306742ddc21c7c41f59b41e5761a38c7">onScaleFactorChanged</a>(<span class="keywordtype">double</span> scaleFactor);</div>
<div class="line"><a name="l00515"></a><span class="lineno"> 515</span>&#160; </div>
<div class="line"><a name="l00516"></a><span class="lineno"> 516</span>&#160;<span class="preprocessor">#ifndef DGL_FILE_BROWSER_DISABLED</span><span class="comment"></span></div>
<div class="line"><a name="l00517"></a><span class="lineno"> 517</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00518"></a><span class="lineno"> 518</span>&#160;<span class="comment"> A function called when a path is selected by the user, as triggered by openFileBrowser().</span></div>
<div class="line"><a name="l00519"></a><span class="lineno"> 519</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="l00520"></a><span class="lineno"> 520</span>&#160;<span class="comment"> The default implementation does nothing.</span></div>
<div class="line"><a name="l00521"></a><span class="lineno"> 521</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00522"></a><span class="lineno"><a class="line" href="classWindow.html#a887287be0807b58aa701139c802939a3"> 522</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classWindow.html#a887287be0807b58aa701139c802939a3">onFileSelected</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* filename);</div>
<div class="line"><a name="l00523"></a><span class="lineno"> 523</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00524"></a><span class="lineno"> 524</span>&#160;<span class="comment"> /** DEPRECATED Use onFileSelected(). */</span></div>
<div class="line"><a name="l00525"></a><span class="lineno"> 525</span>&#160; DISTRHO_DEPRECATED_BY(<span class="stringliteral">&quot;onFileSelected(const char*)&quot;</span>)</div>
<div class="line"><a name="l00526"></a><span class="lineno"><a class="line" href="classWindow.html#a6ec017881675f860ae746dad6c021b63"> 526</a></span>&#160; inline virtual <span class="keywordtype">void</span> fileBrowserSelected(const <span class="keywordtype">char</span>* filename) { <span class="keywordflow">return</span> onFileSelected(filename); }</div>
<div class="line"><a name="l00527"></a><span class="lineno"> 527</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00528"></a><span class="lineno"> 528</span>&#160; </div>
<div class="line"><a name="l00529"></a><span class="lineno"> 529</span>&#160;<span class="keyword">private</span>:</div>
<div class="line"><a name="l00530"></a><span class="lineno"> 530</span>&#160; PrivateData* <span class="keyword">const</span> pData;</div>
<div class="line"><a name="l00531"></a><span class="lineno"> 531</span>&#160; <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classApplication.html">Application</a>;</div>
<div class="line"><a name="l00532"></a><span class="lineno"> 532</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="l00533"></a><span class="lineno"> 533</span>&#160;<span class="preprocessor"> #ifdef DISTRHO_NAMESPACE</span></div>
<div class="line"><a name="l00534"></a><span class="lineno"> 534</span>&#160; <span class="keyword">friend</span> <span class="keyword">class </span>DISTRHO_NAMESPACE::PluginWindow;</div>
<div class="line"><a name="l00535"></a><span class="lineno"> 535</span>&#160;<span class="preprocessor"> #endif</span></div>
<div class="line"><a name="l00536"></a><span class="lineno"> 536</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00537"></a><span class="lineno"> 537</span>&#160;<span class="comment"> /** @internal */</span></div>
<div class="line"><a name="l00538"></a><span class="lineno"> 538</span>&#160; <span class="keyword">explicit</span> <a class="code" href="classWindow.html">Window</a>(<a class="code" href="classApplication.html">Application</a>&amp; app,</div>
<div class="line"><a name="l00539"></a><span class="lineno"> 539</span>&#160; uintptr_t parentWindowHandle,</div>
<div class="line"><a name="l00540"></a><span class="lineno"> 540</span>&#160; uint width,</div>
<div class="line"><a name="l00541"></a><span class="lineno"> 541</span>&#160; uint height,</div>
<div class="line"><a name="l00542"></a><span class="lineno"> 542</span>&#160; <span class="keywordtype">double</span> scaleFactor,</div>
<div class="line"><a name="l00543"></a><span class="lineno"> 543</span>&#160; <span class="keywordtype">bool</span> resizable,</div>
<div class="line"><a name="l00544"></a><span class="lineno"> 544</span>&#160; <span class="keywordtype">bool</span> usesSizeRequest,</div>
<div class="line"><a name="l00545"></a><span class="lineno"> 545</span>&#160; <span class="keywordtype">bool</span> doPostInit);</div>
<div class="line"><a name="l00546"></a><span class="lineno"> 546</span>&#160; </div>
<div class="line"><a name="l00547"></a><span class="lineno"> 547</span>&#160; DISTRHO_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(<a class="code" href="classWindow.html">Window</a>)</div>
<div class="line"><a name="l00548"></a><span class="lineno"> 548</span>&#160;};</div>
<div class="line"><a name="l00549"></a><span class="lineno"> 549</span>&#160; </div>
<div class="line"><a name="l00550"></a><span class="lineno"> 550</span>&#160;<span class="comment">// -----------------------------------------------------------------------</span></div>
<div class="line"><a name="l00496"></a><span class="lineno"> 496</span>&#160;<span class="comment"> NOTE: This currently does not work under macOS.</span></div>
<div class="line"><a name="l00497"></a><span class="lineno"> 497</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00498"></a><span class="lineno"><a class="line" href="classWindow.html#a979cfd2bc52650f07b789217d6c6f570"> 498</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classWindow.html#a979cfd2bc52650f07b789217d6c6f570">onClose</a>();</div>
<div class="line"><a name="l00499"></a><span class="lineno"> 499</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00500"></a><span class="lineno"> 500</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00501"></a><span class="lineno"> 501</span>&#160;<span class="comment"> A function called when the window gains or loses the keyboard focus.</span></div>
<div class="line"><a name="l00502"></a><span class="lineno"> 502</span>&#160;<span class="comment"> The default implementation does nothing.</span></div>
<div class="line"><a name="l00503"></a><span class="lineno"> 503</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00504"></a><span class="lineno"><a class="line" href="classWindow.html#a754415613248bd3b5068d76c4cfe3704"> 504</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classWindow.html#a754415613248bd3b5068d76c4cfe3704">onFocus</a>(<span class="keywordtype">bool</span> focus, CrossingMode mode);</div>
<div class="line"><a name="l00505"></a><span class="lineno"> 505</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00506"></a><span class="lineno"> 506</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00507"></a><span class="lineno"> 507</span>&#160;<span class="comment"> A function called when the window is resized.</span></div>
<div class="line"><a name="l00508"></a><span class="lineno"> 508</span>&#160;<span class="comment"> If there is a top-level widget associated with this window, its size will be set right after this function.</span></div>
<div class="line"><a name="l00509"></a><span class="lineno"> 509</span>&#160;<span class="comment"> The default implementation sets up drawing context where necessary.</span></div>
<div class="line"><a name="l00510"></a><span class="lineno"> 510</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00511"></a><span class="lineno"><a class="line" href="classWindow.html#a04207502372d42d0d17604b104c1d8d6"> 511</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classWindow.html#a04207502372d42d0d17604b104c1d8d6">onReshape</a>(uint width, uint height);</div>
<div class="line"><a name="l00512"></a><span class="lineno"> 512</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00513"></a><span class="lineno"> 513</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00514"></a><span class="lineno"> 514</span>&#160;<span class="comment"> A function called when scale factor requested for this window changes.</span></div>
<div class="line"><a name="l00515"></a><span class="lineno"> 515</span>&#160;<span class="comment"> The default implementation does nothing.</span></div>
<div class="line"><a name="l00516"></a><span class="lineno"> 516</span>&#160;<span class="comment"> WARNING function needs a proper name</span></div>
<div class="line"><a name="l00517"></a><span class="lineno"> 517</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00518"></a><span class="lineno"><a class="line" href="classWindow.html#a306742ddc21c7c41f59b41e5761a38c7"> 518</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classWindow.html#a306742ddc21c7c41f59b41e5761a38c7">onScaleFactorChanged</a>(<span class="keywordtype">double</span> scaleFactor);</div>
<div class="line"><a name="l00519"></a><span class="lineno"> 519</span>&#160; </div>
<div class="line"><a name="l00520"></a><span class="lineno"> 520</span>&#160;<span class="preprocessor">#ifndef DGL_FILE_BROWSER_DISABLED</span><span class="comment"></span></div>
<div class="line"><a name="l00521"></a><span class="lineno"> 521</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00522"></a><span class="lineno"> 522</span>&#160;<span class="comment"> A function called when a path is selected by the user, as triggered by openFileBrowser().</span></div>
<div class="line"><a name="l00523"></a><span class="lineno"> 523</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="l00524"></a><span class="lineno"> 524</span>&#160;<span class="comment"> The default implementation does nothing.</span></div>
<div class="line"><a name="l00525"></a><span class="lineno"> 525</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00526"></a><span class="lineno"><a class="line" href="classWindow.html#a887287be0807b58aa701139c802939a3"> 526</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classWindow.html#a887287be0807b58aa701139c802939a3">onFileSelected</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* filename);</div>
<div class="line"><a name="l00527"></a><span class="lineno"> 527</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00528"></a><span class="lineno"> 528</span>&#160;<span class="comment"> /** DEPRECATED Use onFileSelected(). */</span></div>
<div class="line"><a name="l00529"></a><span class="lineno"> 529</span>&#160; DISTRHO_DEPRECATED_BY(<span class="stringliteral">&quot;onFileSelected(const char*)&quot;</span>)</div>
<div class="line"><a name="l00530"></a><span class="lineno"><a class="line" href="classWindow.html#a6ec017881675f860ae746dad6c021b63"> 530</a></span>&#160; inline virtual <span class="keywordtype">void</span> fileBrowserSelected(const <span class="keywordtype">char</span>* filename) { <span class="keywordflow">return</span> onFileSelected(filename); }</div>
<div class="line"><a name="l00531"></a><span class="lineno"> 531</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00532"></a><span class="lineno"> 532</span>&#160; </div>
<div class="line"><a name="l00533"></a><span class="lineno"> 533</span>&#160;<span class="keyword">private</span>:</div>
<div class="line"><a name="l00534"></a><span class="lineno"> 534</span>&#160; PrivateData* <span class="keyword">const</span> pData;</div>
<div class="line"><a name="l00535"></a><span class="lineno"> 535</span>&#160; <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classApplication.html">Application</a>;</div>
<div class="line"><a name="l00536"></a><span class="lineno"> 536</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="l00537"></a><span class="lineno"> 537</span>&#160;<span class="preprocessor"> #ifdef DISTRHO_NAMESPACE</span></div>
<div class="line"><a name="l00538"></a><span class="lineno"> 538</span>&#160; <span class="keyword">friend</span> <span class="keyword">class </span>DISTRHO_NAMESPACE::PluginWindow;</div>
<div class="line"><a name="l00539"></a><span class="lineno"> 539</span>&#160;<span class="preprocessor"> #endif</span></div>
<div class="line"><a name="l00540"></a><span class="lineno"> 540</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00541"></a><span class="lineno"> 541</span>&#160;<span class="comment"> /** @internal */</span></div>
<div class="line"><a name="l00542"></a><span class="lineno"> 542</span>&#160; <span class="keyword">explicit</span> <a class="code" href="classWindow.html">Window</a>(<a class="code" href="classApplication.html">Application</a>&amp; app,</div>
<div class="line"><a name="l00543"></a><span class="lineno"> 543</span>&#160; uintptr_t parentWindowHandle,</div>
<div class="line"><a name="l00544"></a><span class="lineno"> 544</span>&#160; uint width,</div>
<div class="line"><a name="l00545"></a><span class="lineno"> 545</span>&#160; uint height,</div>
<div class="line"><a name="l00546"></a><span class="lineno"> 546</span>&#160; <span class="keywordtype">double</span> scaleFactor,</div>
<div class="line"><a name="l00547"></a><span class="lineno"> 547</span>&#160; <span class="keywordtype">bool</span> resizable,</div>
<div class="line"><a name="l00548"></a><span class="lineno"> 548</span>&#160; <span class="keywordtype">bool</span> usesScheduledRepaints,</div>
<div class="line"><a name="l00549"></a><span class="lineno"> 549</span>&#160; <span class="keywordtype">bool</span> usesSizeRequest,</div>
<div class="line"><a name="l00550"></a><span class="lineno"> 550</span>&#160; <span class="keywordtype">bool</span> doPostInit);</div>
<div class="line"><a name="l00551"></a><span class="lineno"> 551</span>&#160; </div>
<div class="line"><a name="l00552"></a><span class="lineno"> 552</span>&#160;END_NAMESPACE_DGL</div>
<div class="line"><a name="l00553"></a><span class="lineno"> 553</span>&#160; </div>
<div class="line"><a name="l00554"></a><span class="lineno"> 554</span>&#160;<span class="preprocessor">#endif </span><span class="comment">// DGL_WINDOW_HPP_INCLUDED</span></div>
<div class="line"><a name="l00552"></a><span class="lineno"> 552</span>&#160; DISTRHO_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(<a class="code" href="classWindow.html">Window</a>)</div>
<div class="line"><a name="l00553"></a><span class="lineno"> 553</span>&#160;};</div>
<div class="line"><a name="l00554"></a><span class="lineno"> 554</span>&#160; </div>
<div class="line"><a name="l00555"></a><span class="lineno"> 555</span>&#160;<span class="comment">// -----------------------------------------------------------------------</span></div>
<div class="line"><a name="l00556"></a><span class="lineno"> 556</span>&#160; </div>
<div class="line"><a name="l00557"></a><span class="lineno"> 557</span>&#160;END_NAMESPACE_DGL</div>
<div class="line"><a name="l00558"></a><span class="lineno"> 558</span>&#160; </div>
<div class="line"><a name="l00559"></a><span class="lineno"> 559</span>&#160;<span class="preprocessor">#endif </span><span class="comment">// DGL_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="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>
@@ -644,16 +649,17 @@ $(function() {
<div class="ttc" id="aclassWindow_html_a979cfd2bc52650f07b789217d6c6f570"><div class="ttname"><a href="classWindow.html#a979cfd2bc52650f07b789217d6c6f570">Window::onClose</a></div><div class="ttdeci">virtual bool onClose()</div></div>
<div class="ttc" id="aclassWindow_html_ada557b4543c122a0de22c876c55504ae"><div class="ttname"><a href="classWindow.html#ada557b4543c122a0de22c876c55504ae">Window::Window</a></div><div class="ttdeci">Window(Application &amp;app, uintptr_t parentWindowHandle, uint width, uint height, double scaleFactor, bool resizable)</div></div>
<div class="ttc" id="aclassWindow_html_afb840ed25c1fe17bed66d80adfc420ab"><div class="ttname"><a href="classWindow.html#afb840ed25c1fe17bed66d80adfc420ab">Window::isEmbed</a></div><div class="ttdeci">bool isEmbed() 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:920</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:914</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:949</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:943</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="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="astructGraphicsContext_html"><div class="ttname"><a href="structGraphicsContext.html">GraphicsContext</a></div><div class="ttdef"><b>Definition:</b> Base.hpp:253</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:259</div></div>
<div class="ttc" id="astructWindow_1_1ScopedGraphicsContext_html"><div class="ttname"><a href="structWindow_1_1ScopedGraphicsContext.html">Window::ScopedGraphicsContext</a></div><div class="ttdef"><b>Definition:</b> Window.hpp:95</div></div>
<div class="ttc" id="astructWindow_1_1ScopedGraphicsContext_html_a05761155e7d7de67f5a593968f581607"><div class="ttname"><a href="structWindow_1_1ScopedGraphicsContext.html#a05761155e7d7de67f5a593968f581607">Window::ScopedGraphicsContext::ScopedGraphicsContext</a></div><div class="ttdeci">ScopedGraphicsContext(Window &amp;window)</div></div>
<div class="ttc" id="astructWindow_1_1ScopedGraphicsContext_html_a18fa5edc2ecfeafcc0849094ab49996e"><div class="ttname"><a href="structWindow_1_1ScopedGraphicsContext.html#a18fa5edc2ecfeafcc0849094ab49996e">Window::ScopedGraphicsContext::~ScopedGraphicsContext</a></div><div class="ttdeci">~ScopedGraphicsContext()</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="astructWindow_1_1ScopedGraphicsContext_html_a4ac64bc28d2fdd1dba5a65ae5dfab5ff"><div class="ttname"><a href="structWindow_1_1ScopedGraphicsContext.html#a4ac64bc28d2fdd1dba5a65ae5dfab5ff">Window::ScopedGraphicsContext::ScopedGraphicsContext</a></div><div class="ttdeci">ScopedGraphicsContext(Window &amp;window, Window &amp;transientParentWindow)</div></div>
<div class="ttc" id="astructWindow_1_1ScopedGraphicsContext_html_afe259111bbf09fcf95995b0e447de221"><div class="ttname"><a href="structWindow_1_1ScopedGraphicsContext.html#afe259111bbf09fcf95995b0e447de221">Window::ScopedGraphicsContext::reinit</a></div><div class="ttdeci">void reinit()</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>


+ 84
- 81
annotated.html View File

@@ -79,87 +79,90 @@ $(function() {
<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="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="structHorizontallyStackedVerticalLayout.html" target="_self">HorizontallyStackedVerticalLayout</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="structHugeStackBuffer.html" target="_self">HugeStackBuffer</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="structIdleCallback.html" target="_self">IdleCallback</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="classImageBase.html" target="_self">ImageBase</a></td><td class="desc"></td></tr>
<tr id="row_21_"><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_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="classImageBaseButton.html" target="_self">ImageBaseButton</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="classImageBaseButton_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="classImageBaseKnob.html" target="_self">ImageBaseKnob</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="classImageBaseKnob_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="classImageBaseSlider.html" target="_self">ImageBaseSlider</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="classImageBaseSlider_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: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="classImageBaseSwitch.html" target="_self">ImageBaseSwitch</a></td><td class="desc"></td></tr>
<tr id="row_25_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_26_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_26_" class="arrow" onclick="toggleFolder('26_')">&#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_26_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_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="structLayout.html" target="_self">Layout</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="classLeakedObjectDetector.html" target="_self">LeakedObjectDetector</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="classLine.html" target="_self">Line</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="structMidiEvent.html" target="_self">MidiEvent</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="classMutex.html" target="_self">Mutex</a></td><td class="desc"></td></tr>
<tr id="row_32_"><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_33_" 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_34_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_34_" class="arrow" onclick="toggleFolder('34_')">&#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_34_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_34_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_34_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_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="structOpenGLGraphicsContext.html" target="_self">OpenGLGraphicsContext</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="classOpenGLImage.html" target="_self">OpenGLImage</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="structParameter.html" target="_self">Parameter</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="structParameterEnumerationValue.html" target="_self">ParameterEnumerationValue</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="structParameterEnumerationValues.html" target="_self">ParameterEnumerationValues</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="structParameterRanges.html" target="_self">ParameterRanges</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="classPlugin.html" target="_self">Plugin</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="classPoint.html" target="_self">Point</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="structPortGroup.html" target="_self">PortGroup</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="classRectangle.html" target="_self">Rectangle</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="classRecursiveMutex.html" target="_self">RecursiveMutex</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="classRingBufferControl.html" target="_self">RingBufferControl</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="classRunner.html" target="_self">Runner</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="classScopedPointer.html" target="_self">ScopedPointer</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="classScopedSafeLocale.html" target="_self">ScopedSafeLocale</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="classScopeLocker.html" target="_self">ScopeLocker</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="classScopeTryLocker.html" target="_self">ScopeTryLocker</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="classScopeUnlocker.html" target="_self">ScopeUnlocker</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="classSignal.html" target="_self">Signal</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="classSize.html" target="_self">Size</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="classSliderEventHandler.html" target="_self">SliderEventHandler</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="structSmallStackBuffer.html" target="_self">SmallStackBuffer</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="classSmallStackRingBuffer.html" target="_self">SmallStackRingBuffer</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="classStandaloneWindow.html" target="_self">StandaloneWindow</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="structState.html" target="_self">State</a></td><td class="desc"></td></tr>
<tr id="row_60_" 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="classString.html" target="_self">String</a></td><td class="desc"></td></tr>
<tr id="row_61_"><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_62_" 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="structSubWidgetWithSizeHint.html" target="_self">SubWidgetWithSizeHint</a></td><td class="desc"></td></tr>
<tr id="row_63_"><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_64_" class="even"><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="structTimePosition.html" target="_self">TimePosition</a></td><td class="desc"></td></tr>
<tr id="row_64_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_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="classTopLevelWidget.html" target="_self">TopLevelWidget</a></td><td class="desc"></td></tr>
<tr id="row_66_"><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_67_" 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_68_"><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="structVerticallyStackedHorizontalLayout.html" target="_self">VerticallyStackedHorizontalLayout</a></td><td class="desc"></td></tr>
<tr id="row_69_" 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="structVulkanGraphicsContext.html" target="_self">VulkanGraphicsContext</a></td><td class="desc"></td></tr>
<tr id="row_70_"><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_71_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_71_" class="arrow" onclick="toggleFolder('71_')">&#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_71_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="structWidget_1_1BaseEvent.html" target="_self">BaseEvent</a></td><td class="desc"></td></tr>
<tr id="row_71_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="structWidget_1_1CharacterInputEvent.html" target="_self">CharacterInputEvent</a></td><td class="desc"></td></tr>
<tr id="row_71_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="structWidget_1_1KeyboardEvent.html" target="_self">KeyboardEvent</a></td><td class="desc"></td></tr>
<tr id="row_71_3_" 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_1MotionEvent.html" target="_self">MotionEvent</a></td><td class="desc"></td></tr>
<tr id="row_71_4_"><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_71_5_" 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_1PositionChangedEvent.html" target="_self">PositionChangedEvent</a></td><td class="desc"></td></tr>
<tr id="row_71_6_"><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_71_7_" 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_1ScrollEvent.html" target="_self">ScrollEvent</a></td><td class="desc"></td></tr>
<tr id="row_72_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_72_" class="arrow" onclick="toggleFolder('72_')">&#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_72_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="structWindow_1_1ScopedGraphicsContext.html" target="_self">ScopedGraphicsContext</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="classExponentialValueSmoother.html" target="_self">ExponentialValueSmoother</a></td><td class="desc">An exponential smoother for control values </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="classExternalWindow.html" target="_self">ExternalWindow</a></td><td class="desc"></td></tr>
<tr id="row_13_" 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_14_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_14_" class="arrow" onclick="toggleFolder('14_')">&#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_14_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_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="structGraphicsContext.html" target="_self">GraphicsContext</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="structHeapBuffer.html" target="_self">HeapBuffer</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="classHeapRingBuffer.html" target="_self">HeapRingBuffer</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="structHorizontallyStackedVerticalLayout.html" target="_self">HorizontallyStackedVerticalLayout</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="structHugeStackBuffer.html" target="_self">HugeStackBuffer</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="structIdleCallback.html" target="_self">IdleCallback</a></td><td class="desc"></td></tr>
<tr id="row_21_"><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_22_" 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_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="classImageBaseButton.html" target="_self">ImageBaseButton</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="classImageBaseButton_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="classImageBaseKnob.html" target="_self">ImageBaseKnob</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="classImageBaseKnob_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="classImageBaseSlider.html" target="_self">ImageBaseSlider</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="classImageBaseSlider_1_1Callback.html" target="_self">Callback</a></td><td class="desc"></td></tr>
<tr id="row_26_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_26_" class="arrow" onclick="toggleFolder('26_')">&#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_26_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_27_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_27_" class="arrow" onclick="toggleFolder('27_')">&#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_27_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_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="structLayout.html" target="_self">Layout</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="classLeakedObjectDetector.html" target="_self">LeakedObjectDetector</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="classLine.html" target="_self">Line</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="classLinearValueSmoother.html" target="_self">LinearValueSmoother</a></td><td class="desc">A linear smoother for control values </td></tr>
<tr id="row_32_"><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_33_" 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_34_"><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_35_" 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_36_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_36_" class="arrow" onclick="toggleFolder('36_')">&#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_36_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_36_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_36_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_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="structOpenGLGraphicsContext.html" target="_self">OpenGLGraphicsContext</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="classOpenGLImage.html" target="_self">OpenGLImage</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="structParameter.html" target="_self">Parameter</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="structParameterEnumerationValue.html" target="_self">ParameterEnumerationValue</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="structParameterEnumerationValues.html" target="_self">ParameterEnumerationValues</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="structParameterRanges.html" target="_self">ParameterRanges</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="classPlugin.html" target="_self">Plugin</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="classPoint.html" target="_self">Point</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="structPortGroup.html" target="_self">PortGroup</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="classRectangle.html" target="_self">Rectangle</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="classRecursiveMutex.html" target="_self">RecursiveMutex</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="classRingBufferControl.html" target="_self">RingBufferControl</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="classRunner.html" target="_self">Runner</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="classScopedDenormalDisable.html" target="_self">ScopedDenormalDisable</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="classScopedPointer.html" target="_self">ScopedPointer</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="classScopedSafeLocale.html" target="_self">ScopedSafeLocale</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="classScopeLocker.html" target="_self">ScopeLocker</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="classScopeTryLocker.html" target="_self">ScopeTryLocker</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="classScopeUnlocker.html" target="_self">ScopeUnlocker</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="classSignal.html" target="_self">Signal</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="classSize.html" target="_self">Size</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="classSliderEventHandler.html" target="_self">SliderEventHandler</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="structSmallStackBuffer.html" target="_self">SmallStackBuffer</a></td><td class="desc"></td></tr>
<tr id="row_60_" 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_61_"><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_62_" 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_63_"><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_64_" 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_65_"><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="structSubWidgetWithSizeHint.html" target="_self">SubWidgetWithSizeHint</a></td><td class="desc"></td></tr>
<tr id="row_66_" 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="classThread.html" target="_self">Thread</a></td><td class="desc"></td></tr>
<tr id="row_67_"><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="structTimePosition.html" target="_self">TimePosition</a></td><td class="desc"></td></tr>
<tr id="row_67_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="structTimePosition_1_1BarBeatTick.html" target="_self">BarBeatTick</a></td><td class="desc"></td></tr>
<tr id="row_68_"><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_69_" 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="classTriangle.html" target="_self">Triangle</a></td><td class="desc"></td></tr>
<tr id="row_70_"><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_71_" 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="structVerticallyStackedHorizontalLayout.html" target="_self">VerticallyStackedHorizontalLayout</a></td><td class="desc"></td></tr>
<tr id="row_72_"><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_73_" 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_74_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_74_" class="arrow" onclick="toggleFolder('74_')">&#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_74_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_74_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_74_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_74_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_74_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_74_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_74_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_74_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_75_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_75_" class="arrow" onclick="toggleFolder('75_')">&#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_75_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 -->


+ 86
- 0
classExponentialValueSmoother-members.html View File

@@ -0,0 +1,86 @@
<!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: Member List</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><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">ExponentialValueSmoother Member List</div> </div>
</div><!--header-->
<div class="contents">

<p>This is the complete list of members for <a class="el" href="classExponentialValueSmoother.html">ExponentialValueSmoother</a>, including all inherited members.</p>
<table class="directory">
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>clearToTargetValue</b>() noexcept (defined in <a class="el" href="classExponentialValueSmoother.html">ExponentialValueSmoother</a>)</td><td class="entry"><a class="el" href="classExponentialValueSmoother.html">ExponentialValueSmoother</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>ExponentialValueSmoother</b>() (defined in <a class="el" href="classExponentialValueSmoother.html">ExponentialValueSmoother</a>)</td><td class="entry"><a class="el" href="classExponentialValueSmoother.html">ExponentialValueSmoother</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>getCurrentValue</b>() const noexcept (defined in <a class="el" href="classExponentialValueSmoother.html">ExponentialValueSmoother</a>)</td><td class="entry"><a class="el" href="classExponentialValueSmoother.html">ExponentialValueSmoother</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>getTargetValue</b>() const noexcept (defined in <a class="el" href="classExponentialValueSmoother.html">ExponentialValueSmoother</a>)</td><td class="entry"><a class="el" href="classExponentialValueSmoother.html">ExponentialValueSmoother</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>next</b>() noexcept (defined in <a class="el" href="classExponentialValueSmoother.html">ExponentialValueSmoother</a>)</td><td class="entry"><a class="el" href="classExponentialValueSmoother.html">ExponentialValueSmoother</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>peek</b>() const noexcept (defined in <a class="el" href="classExponentialValueSmoother.html">ExponentialValueSmoother</a>)</td><td class="entry"><a class="el" href="classExponentialValueSmoother.html">ExponentialValueSmoother</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>setSampleRate</b>(const float newSampleRate) noexcept (defined in <a class="el" href="classExponentialValueSmoother.html">ExponentialValueSmoother</a>)</td><td class="entry"><a class="el" href="classExponentialValueSmoother.html">ExponentialValueSmoother</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>setTargetValue</b>(const float newTarget) noexcept (defined in <a class="el" href="classExponentialValueSmoother.html">ExponentialValueSmoother</a>)</td><td class="entry"><a class="el" href="classExponentialValueSmoother.html">ExponentialValueSmoother</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>setTimeConstant</b>(const float newT60) noexcept (defined in <a class="el" href="classExponentialValueSmoother.html">ExponentialValueSmoother</a>)</td><td class="entry"><a class="el" href="classExponentialValueSmoother.html">ExponentialValueSmoother</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 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
- 0
classExponentialValueSmoother.html View File

@@ -0,0 +1,118 @@
<!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: ExponentialValueSmoother Class Reference</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><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classExponentialValueSmoother-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">ExponentialValueSmoother Class Reference</div> </div>
</div><!--header-->
<div class="contents">

<p>An exponential smoother for control values.
<a href="classExponentialValueSmoother.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="ValueSmoother_8hpp_source.html">ValueSmoother.hpp</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a9ae64506c940fe015b762e7e9c5d3443"><td class="memItemLeft" align="right" valign="top"><a id="a9ae64506c940fe015b762e7e9c5d3443"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>setSampleRate</b> (const float newSampleRate) noexcept</td></tr>
<tr class="separator:a9ae64506c940fe015b762e7e9c5d3443"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3db6214303d589e6a19ffd2134470253"><td class="memItemLeft" align="right" valign="top"><a id="a3db6214303d589e6a19ffd2134470253"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>setTimeConstant</b> (const float newT60) noexcept</td></tr>
<tr class="separator:a3db6214303d589e6a19ffd2134470253"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abfaf559936978af48b3a538faf4b3016"><td class="memItemLeft" align="right" valign="top"><a id="abfaf559936978af48b3a538faf4b3016"></a>
float&#160;</td><td class="memItemRight" valign="bottom"><b>getCurrentValue</b> () const noexcept</td></tr>
<tr class="separator:abfaf559936978af48b3a538faf4b3016"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af1d0fbca4ae0b8c589efae47b3f776b3"><td class="memItemLeft" align="right" valign="top"><a id="af1d0fbca4ae0b8c589efae47b3f776b3"></a>
float&#160;</td><td class="memItemRight" valign="bottom"><b>getTargetValue</b> () const noexcept</td></tr>
<tr class="separator:af1d0fbca4ae0b8c589efae47b3f776b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a38279bf1df97da4a26d93120aeb033a2"><td class="memItemLeft" align="right" valign="top"><a id="a38279bf1df97da4a26d93120aeb033a2"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>setTargetValue</b> (const float newTarget) noexcept</td></tr>
<tr class="separator:a38279bf1df97da4a26d93120aeb033a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad9b30093ba2e6d4f00425d43d732f4b8"><td class="memItemLeft" align="right" valign="top"><a id="ad9b30093ba2e6d4f00425d43d732f4b8"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>clearToTargetValue</b> () noexcept</td></tr>
<tr class="separator:ad9b30093ba2e6d4f00425d43d732f4b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab33761a1597c829062a34b77a0d361ec"><td class="memItemLeft" align="right" valign="top"><a id="ab33761a1597c829062a34b77a0d361ec"></a>
float&#160;</td><td class="memItemRight" valign="bottom"><b>peek</b> () const noexcept</td></tr>
<tr class="separator:ab33761a1597c829062a34b77a0d361ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5c5069770feb43d730771d3d77d20a07"><td class="memItemLeft" align="right" valign="top"><a id="a5c5069770feb43d730771d3d77d20a07"></a>
float&#160;</td><td class="memItemRight" valign="bottom"><b>next</b> () noexcept</td></tr>
<tr class="separator:a5c5069770feb43d730771d3d77d20a07"><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>An exponential smoother for control values. </p>
<p>This continually smooths a value towards a defined target, using a low-pass filter of the 1st order, which creates an exponential curve.</p>
<p>The length of the curve is defined by a T60 constant, which is the time it takes for a 1-to-0 smoothing to fall to -60dB.</p>
<p>Note that this smoother has asymptotical behavior, and it must not be assumed that the final target is ever reached. </p>
</div><hr/>The documentation for this class was generated from the following file:<ul>
<li>distrho/extra/<a class="el" href="ValueSmoother_8hpp_source.html">ValueSmoother.hpp</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated 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>

+ 3
- 1
classHeapRingBuffer-members.html View File

@@ -73,7 +73,9 @@ $(function() {
<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"><td class="entry"><b>flush</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 bgcolor="#f0f0f0" class="even"><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"><td class="entry"><b>getSize</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>


+ 6
- 0
classHeapRingBuffer.html View File

@@ -100,6 +100,9 @@ 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:a904c3d96f7c501357bde107392307746 inherit pub_methods_classRingBufferControl"><td class="memItemLeft" align="right" valign="top"><a id="a904c3d96f7c501357bde107392307746"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>getSize</b> () const noexcept</td></tr>
<tr class="separator:a904c3d96f7c501357bde107392307746 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>
@@ -109,6 +112,9 @@ uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>getWritableDataSi
<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>
<tr class="memitem:a84cf5dece61cf5d0a3050eb4d757f072 inherit pub_methods_classRingBufferControl"><td class="memItemLeft" align="right" valign="top"><a id="a84cf5dece61cf5d0a3050eb4d757f072"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>flush</b> () noexcept</td></tr>
<tr class="separator:a84cf5dece61cf5d0a3050eb4d757f072 inherit pub_methods_classRingBufferControl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7861a13bc22c3a692490002e11cfa001 inherit pub_methods_classRingBufferControl"><td class="memItemLeft" align="right" valign="top"><a id="a7861a13bc22c3a692490002e11cfa001"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>readBool</b> () noexcept</td></tr>
<tr class="separator:a7861a13bc22c3a692490002e11cfa001 inherit pub_methods_classRingBufferControl"><td class="memSeparator" colspan="2">&#160;</td></tr>


+ 41
- 40
classImageBaseAboutWindow-members.html View File

@@ -120,46 +120,47 @@ $(function() {
<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#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>
<tr><td class="entry"><a class="el" href="classWindow.html#a33f9518b6f3209cd8201106260c9e42c">Window::repaint</a>(const Rectangle&lt; uint &gt; &amp;rect) 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="classTopLevelWidget.html#a4a9b2d040ba36825fd95f966bb4d9e36">TopLevelWidget::repaint</a>(const Rectangle&lt; uint &gt; &amp;rect) noexcept</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#a00108f3d1c5831d02b0c67cd4f226e4d">runAsModal</a>(bool blockWait=false)</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#a88bf8d28d58fbe390359bd220137311e">Window::setClipboard</a>(const char *mimeType, const void *data, size_t dataSize)</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>setClipboard</b>(const char *mimeType, const void *data, size_t 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 class="even"><td class="entry"><a class="el" href="classWindow.html#aabcbd667b0c4dd4665d13beb940fa700">Window::setCursor</a>(MouseCursor cursor)</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>setCursor</b>(MouseCursor cursor) (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 bgcolor="#f0f0f0" class="even"><td class="entry"><b>setGeometryConstraints</b>(uint minimumWidth, uint minimumHeight, bool keepAspectRatio=false, bool automaticallyScale=false) (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#aa3824e300206b15241df8c8c78785d73">Window::setGeometryConstraints</a>(uint minimumWidth, uint minimumHeight, bool keepAspectRatio=false, bool automaticallyScale=false, bool resizeNowIfAutoScaling=true)</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>setGeometryConstraints</b>(uint minimumWidth, uint minimumHeight, bool keepAspectRatio=false, bool automaticallyScale=false, bool resizeNowIfAutoScaling=true) (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 bgcolor="#f0f0f0"><td class="entry"><b>setHeight</b>(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 class="even"><td class="entry"><a class="el" href="classWidget.html#abfba3652559de84ba1ae9ccbd3d35e31">setId</a>(uint id) 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#a36a04e5f5ecc6ee5228f9da6df43e865">setIgnoringKeyRepeat</a>(bool ignore) 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="classImageBaseAboutWindow.html#a10cf37217ddc3a045970461473e79bdc">setImage</a>(const ImageType &amp;image)</td><td class="entry"><a class="el" href="classImageBaseAboutWindow.html">ImageBaseAboutWindow&lt; ImageType &gt;</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classWidget.html#a6303d0445f21a2a95148780b0a0afed6">setName</a>(const char *name) 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#a5d79613d3223395806d7d09ad65d5c4d">setOffset</a>(int x, int y)</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#ae02f210d981b2ac5efd6207864789758">setOffset</a>(const Point&lt; int &gt; &amp;offset)</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#a486cf7a5f89c39e1cac3a01633f170db">setOffsetX</a>(int x)</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#ac570a2c8f35ea4962c8f23c8435cdbfc">setOffsetY</a>(int y)</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#a10f6ff4b0f3e714298a4ac612edcdd7e">setResizable</a>(bool resizable)</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>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" class="even"><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><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 class="even"><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"><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#af60daa3513ca7f7d05575ab3feaee268">~TopLevelWidget</a>() override</td><td class="entry"><a class="el" href="classTopLevelWidget.html">TopLevelWidget</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>
<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 class="even"><td class="entry"><a class="el" href="classStandaloneWindow.html#ad5848f401a4b91a2d4d5c8c420b4f72e">reinit</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>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 class="even"><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><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>
<tr class="even"><td class="entry"><a class="el" href="classWindow.html#a33f9518b6f3209cd8201106260c9e42c">Window::repaint</a>(const Rectangle&lt; uint &gt; &amp;rect) 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="classTopLevelWidget.html#a4a9b2d040ba36825fd95f966bb4d9e36">TopLevelWidget::repaint</a>(const Rectangle&lt; uint &gt; &amp;rect) noexcept</td><td class="entry"><a class="el" href="classTopLevelWidget.html">TopLevelWidget</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classWindow.html#a00108f3d1c5831d02b0c67cd4f226e4d">runAsModal</a>(bool blockWait=false)</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#a88bf8d28d58fbe390359bd220137311e">Window::setClipboard</a>(const char *mimeType, const void *data, size_t 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>setClipboard</b>(const char *mimeType, const void *data, size_t 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#aabcbd667b0c4dd4665d13beb940fa700">Window::setCursor</a>(MouseCursor cursor)</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>setCursor</b>(MouseCursor cursor) (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 bgcolor="#f0f0f0"><td class="entry"><b>setGeometryConstraints</b>(uint minimumWidth, uint minimumHeight, bool keepAspectRatio=false, bool automaticallyScale=false) (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#aa3824e300206b15241df8c8c78785d73">Window::setGeometryConstraints</a>(uint minimumWidth, uint minimumHeight, bool keepAspectRatio=false, bool automaticallyScale=false, bool resizeNowIfAutoScaling=true)</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>setGeometryConstraints</b>(uint minimumWidth, uint minimumHeight, bool keepAspectRatio=false, bool automaticallyScale=false, bool resizeNowIfAutoScaling=true) (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 bgcolor="#f0f0f0" class="even"><td class="entry"><b>setHeight</b>(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><td class="entry"><a class="el" href="classWidget.html#abfba3652559de84ba1ae9ccbd3d35e31">setId</a>(uint id) 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#a36a04e5f5ecc6ee5228f9da6df43e865">setIgnoringKeyRepeat</a>(bool ignore) 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="classImageBaseAboutWindow.html#a10cf37217ddc3a045970461473e79bdc">setImage</a>(const ImageType &amp;image)</td><td class="entry"><a class="el" href="classImageBaseAboutWindow.html">ImageBaseAboutWindow&lt; ImageType &gt;</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classWidget.html#a6303d0445f21a2a95148780b0a0afed6">setName</a>(const char *name) 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#a5d79613d3223395806d7d09ad65d5c4d">setOffset</a>(int x, int y)</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#ae02f210d981b2ac5efd6207864789758">setOffset</a>(const Point&lt; int &gt; &amp;offset)</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#a486cf7a5f89c39e1cac3a01633f170db">setOffsetX</a>(int x)</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#ac570a2c8f35ea4962c8f23c8435cdbfc">setOffsetY</a>(int y)</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#a10f6ff4b0f3e714298a4ac612edcdd7e">setResizable</a>(bool resizable)</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>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><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>


+ 2
- 0
classImageBaseAboutWindow.html View File

@@ -99,6 +99,8 @@ Public Member Functions</h2></td></tr>
<tr class="separator:a86e7db3cd8830628b37d0608df40963c inherit pub_methods_classStandaloneWindow"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3b13bbbe8b8c431806ab50d2ea3410ad inherit pub_methods_classStandaloneWindow"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classStandaloneWindow.html#a3b13bbbe8b8c431806ab50d2ea3410ad">done</a> ()</td></tr>
<tr class="separator:a3b13bbbe8b8c431806ab50d2ea3410ad inherit pub_methods_classStandaloneWindow"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad5848f401a4b91a2d4d5c8c420b4f72e inherit pub_methods_classStandaloneWindow"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classStandaloneWindow.html#ad5848f401a4b91a2d4d5c8c420b4f72e">reinit</a> ()</td></tr>
<tr class="separator:ad5848f401a4b91a2d4d5c8c420b4f72e inherit pub_methods_classStandaloneWindow"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a645f7c56f44d9a8a72e81595b28650e2 inherit pub_methods_classStandaloneWindow"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classStandaloneWindow.html#a645f7c56f44d9a8a72e81595b28650e2">isVisible</a> () const noexcept</td></tr>
<tr class="separator:a645f7c56f44d9a8a72e81595b28650e2 inherit pub_methods_classStandaloneWindow"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aed1c4bcb15863e45ee9a9a1d879684de inherit pub_methods_classStandaloneWindow"><td class="memItemLeft" align="right" valign="top"><a id="aed1c4bcb15863e45ee9a9a1d879684de"></a>


+ 29
- 28
classImageBaseSlider-members.html View File

@@ -108,34 +108,35 @@ $(function() {
<tr><td class="entry"><a class="el" href="classSubWidget.html#abcd0a00a4c3cdc402aea56044df26cc3">SubWidget::setAbsoluteX</a>(int x) noexcept</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="classSubWidget.html#a3c674e3c46206ac29a562c0f02dcf82c">SubWidget::setAbsoluteY</a>(int y) noexcept</td><td class="entry"><a class="el" href="classSubWidget.html">SubWidget</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>setCallback</b>(Callback *callback) noexcept (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 bgcolor="#f0f0f0" class="even"><td class="entry"><b>setDefault</b>(float def) noexcept (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 bgcolor="#f0f0f0"><td class="entry"><b>setEndPos</b>(const Point&lt; int &gt; &amp;endPos) noexcept (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 bgcolor="#f0f0f0" class="even"><td class="entry"><b>setEndPos</b>(int x, int y) noexcept (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><td class="entry"><a class="el" href="classWidget.html#ac6d2e6cbb2ff96f3645493d804af07f7">setHeight</a>(uint height) 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="classWidget.html#abfba3652559de84ba1ae9ccbd3d35e31">setId</a>(uint id) 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>setInverted</b>(bool inverted) noexcept (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#a9594d89a623dd7e63cbdb8139e9e4a38">setMargin</a>(int x, int y) noexcept</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="classSubWidget.html#a77f510ea6d0864d296b02b085cc05f2b">setMargin</a>(const Point&lt; int &gt; &amp;offset) noexcept</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#a6303d0445f21a2a95148780b0a0afed6">setName</a>(const char *name) 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="classSubWidget.html#a926884690b66c762f7bdb1196c58522b">setNeedsFullViewportDrawing</a>(bool needsFullViewportForDrawing=true)</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="classSubWidget.html#a5cd703976adf24decbb66dd3dbc1db8b">setNeedsViewportScaling</a>(bool needsViewportScaling=true, double autoScaleFactor=0.0)</td><td class="entry"><a class="el" href="classSubWidget.html">SubWidget</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>setRange</b>(float min, float max) noexcept (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="classWidget.html#ab4d9e0156e455db3ff23730f82544daa">setSize</a>(uint width, uint height) 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="classWidget.html#afce784b204902c0f11e9ed02bc692362">setSize</a>(const Size&lt; uint &gt; &amp;size) 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="classSubWidget.html#adb38f61c0205d7832ddfd090f7f60f2a">setSkipDrawing</a>(bool skipDrawing=true)</td><td class="entry"><a class="el" href="classSubWidget.html">SubWidget</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>setStartPos</b>(const Point&lt; int &gt; &amp;startPos) noexcept (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 bgcolor="#f0f0f0" class="even"><td class="entry"><b>setStartPos</b>(int x, int y) noexcept (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 bgcolor="#f0f0f0"><td class="entry"><b>setStep</b>(float step) noexcept (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 bgcolor="#f0f0f0" class="even"><td class="entry"><b>setValue</b>(float value, bool sendCallback=false) noexcept (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><td class="entry"><a class="el" href="classWidget.html#a66088a03691f9c643ff335fa826576ba">setVisible</a>(bool visible)</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="classWidget.html#aed80a9cbc4a13c01641f35dd3d8688ea">setWidth</a>(uint width) 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="classWidget.html#a25ff178539e226b5f30ef0335d060f2b">show</a>()</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="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><td class="entry"><a class="el" href="classSubWidget.html#a87d35cdd41511d75fb12bc18a2d9facc">toBottom</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#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#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>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>setCheckable</b>(bool checkable) noexcept (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 bgcolor="#f0f0f0"><td class="entry"><b>setDefault</b>(float def) noexcept (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 bgcolor="#f0f0f0" class="even"><td class="entry"><b>setEndPos</b>(const Point&lt; int &gt; &amp;endPos) noexcept (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 bgcolor="#f0f0f0"><td class="entry"><b>setEndPos</b>(int x, int y) noexcept (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="classWidget.html#ac6d2e6cbb2ff96f3645493d804af07f7">setHeight</a>(uint height) 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="classWidget.html#abfba3652559de84ba1ae9ccbd3d35e31">setId</a>(uint id) 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>setInverted</b>(bool inverted) noexcept (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><td class="entry"><a class="el" href="classSubWidget.html#a9594d89a623dd7e63cbdb8139e9e4a38">setMargin</a>(int x, int y) noexcept</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="classSubWidget.html#a77f510ea6d0864d296b02b085cc05f2b">setMargin</a>(const Point&lt; int &gt; &amp;offset) noexcept</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#a6303d0445f21a2a95148780b0a0afed6">setName</a>(const char *name) 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="classSubWidget.html#a926884690b66c762f7bdb1196c58522b">setNeedsFullViewportDrawing</a>(bool needsFullViewportForDrawing=true)</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="classSubWidget.html#a5cd703976adf24decbb66dd3dbc1db8b">setNeedsViewportScaling</a>(bool needsViewportScaling=true, double autoScaleFactor=0.0)</td><td class="entry"><a class="el" href="classSubWidget.html">SubWidget</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>setRange</b>(float min, float max) noexcept (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><td class="entry"><a class="el" href="classWidget.html#ab4d9e0156e455db3ff23730f82544daa">setSize</a>(uint width, uint height) 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="classWidget.html#afce784b204902c0f11e9ed02bc692362">setSize</a>(const Size&lt; uint &gt; &amp;size) 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="classSubWidget.html#adb38f61c0205d7832ddfd090f7f60f2a">setSkipDrawing</a>(bool skipDrawing=true)</td><td class="entry"><a class="el" href="classSubWidget.html">SubWidget</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>setStartPos</b>(const Point&lt; int &gt; &amp;startPos) noexcept (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 bgcolor="#f0f0f0"><td class="entry"><b>setStartPos</b>(int x, int y) noexcept (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 bgcolor="#f0f0f0" class="even"><td class="entry"><b>setStep</b>(float step) noexcept (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 bgcolor="#f0f0f0"><td class="entry"><b>setValue</b>(float value, bool sendCallback=false) noexcept (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="classWidget.html#a66088a03691f9c643ff335fa826576ba">setVisible</a>(bool visible)</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="classWidget.html#aed80a9cbc4a13c01641f35dd3d8688ea">setWidth</a>(uint width) 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="classWidget.html#a25ff178539e226b5f30ef0335d060f2b">show</a>()</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="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#a87d35cdd41511d75fb12bc18a2d9facc">toBottom</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#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" class="even"><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><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>


+ 3
- 0
classImageBaseSlider.html View File

@@ -112,6 +112,9 @@ void&#160;</td><td class="memItemRight" valign="bottom"><b>setEndPos</b> (const
<tr class="memitem:a40cc7bc36e2c0edb852c60ffa8054bc8"><td class="memItemLeft" align="right" valign="top"><a id="a40cc7bc36e2c0edb852c60ffa8054bc8"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>setEndPos</b> (int x, int y) noexcept</td></tr>
<tr class="separator:a40cc7bc36e2c0edb852c60ffa8054bc8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3a287ef36cc8f869cabc5951c5eed333"><td class="memItemLeft" align="right" valign="top"><a id="a3a287ef36cc8f869cabc5951c5eed333"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>setCheckable</b> (bool checkable) noexcept</td></tr>
<tr class="separator:a3a287ef36cc8f869cabc5951c5eed333"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad90ad9c79f81550c3b9040c231ce3db1"><td class="memItemLeft" align="right" valign="top"><a id="ad90ad9c79f81550c3b9040c231ce3db1"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>setInverted</b> (bool inverted) noexcept</td></tr>
<tr class="separator:ad90ad9c79f81550c3b9040c231ce3db1"><td class="memSeparator" colspan="2">&#160;</td></tr>


+ 86
- 0
classLinearValueSmoother-members.html View File

@@ -0,0 +1,86 @@
<!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: Member List</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><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">LinearValueSmoother Member List</div> </div>
</div><!--header-->
<div class="contents">

<p>This is the complete list of members for <a class="el" href="classLinearValueSmoother.html">LinearValueSmoother</a>, including all inherited members.</p>
<table class="directory">
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>clearToTargetValue</b>() noexcept (defined in <a class="el" href="classLinearValueSmoother.html">LinearValueSmoother</a>)</td><td class="entry"><a class="el" href="classLinearValueSmoother.html">LinearValueSmoother</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>getCurrentValue</b>() const noexcept (defined in <a class="el" href="classLinearValueSmoother.html">LinearValueSmoother</a>)</td><td class="entry"><a class="el" href="classLinearValueSmoother.html">LinearValueSmoother</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>getTargetValue</b>() const noexcept (defined in <a class="el" href="classLinearValueSmoother.html">LinearValueSmoother</a>)</td><td class="entry"><a class="el" href="classLinearValueSmoother.html">LinearValueSmoother</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>LinearValueSmoother</b>() (defined in <a class="el" href="classLinearValueSmoother.html">LinearValueSmoother</a>)</td><td class="entry"><a class="el" href="classLinearValueSmoother.html">LinearValueSmoother</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>next</b>() noexcept (defined in <a class="el" href="classLinearValueSmoother.html">LinearValueSmoother</a>)</td><td class="entry"><a class="el" href="classLinearValueSmoother.html">LinearValueSmoother</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>peek</b>() const noexcept (defined in <a class="el" href="classLinearValueSmoother.html">LinearValueSmoother</a>)</td><td class="entry"><a class="el" href="classLinearValueSmoother.html">LinearValueSmoother</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>setSampleRate</b>(const float newSampleRate) noexcept (defined in <a class="el" href="classLinearValueSmoother.html">LinearValueSmoother</a>)</td><td class="entry"><a class="el" href="classLinearValueSmoother.html">LinearValueSmoother</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>setTargetValue</b>(const float newTarget) noexcept (defined in <a class="el" href="classLinearValueSmoother.html">LinearValueSmoother</a>)</td><td class="entry"><a class="el" href="classLinearValueSmoother.html">LinearValueSmoother</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>setTimeConstant</b>(const float newTau) noexcept (defined in <a class="el" href="classLinearValueSmoother.html">LinearValueSmoother</a>)</td><td class="entry"><a class="el" href="classLinearValueSmoother.html">LinearValueSmoother</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 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
- 0
classLinearValueSmoother.html View File

@@ -0,0 +1,118 @@
<!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: LinearValueSmoother Class Reference</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><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classLinearValueSmoother-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">LinearValueSmoother Class Reference</div> </div>
</div><!--header-->
<div class="contents">

<p>A linear smoother for control values.
<a href="classLinearValueSmoother.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="ValueSmoother_8hpp_source.html">ValueSmoother.hpp</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:acc3619c5547893428cecb709cdbf713e"><td class="memItemLeft" align="right" valign="top"><a id="acc3619c5547893428cecb709cdbf713e"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>setSampleRate</b> (const float newSampleRate) noexcept</td></tr>
<tr class="separator:acc3619c5547893428cecb709cdbf713e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab7abd3cde53953209dc6233cb24020ae"><td class="memItemLeft" align="right" valign="top"><a id="ab7abd3cde53953209dc6233cb24020ae"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>setTimeConstant</b> (const float newTau) noexcept</td></tr>
<tr class="separator:ab7abd3cde53953209dc6233cb24020ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a599056e7a8ec77dffe8329ae9353d105"><td class="memItemLeft" align="right" valign="top"><a id="a599056e7a8ec77dffe8329ae9353d105"></a>
float&#160;</td><td class="memItemRight" valign="bottom"><b>getCurrentValue</b> () const noexcept</td></tr>
<tr class="separator:a599056e7a8ec77dffe8329ae9353d105"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a88796d5813a53f369f4252264cbea896"><td class="memItemLeft" align="right" valign="top"><a id="a88796d5813a53f369f4252264cbea896"></a>
float&#160;</td><td class="memItemRight" valign="bottom"><b>getTargetValue</b> () const noexcept</td></tr>
<tr class="separator:a88796d5813a53f369f4252264cbea896"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abcc1dcba5cbce58d77149083a7285963"><td class="memItemLeft" align="right" valign="top"><a id="abcc1dcba5cbce58d77149083a7285963"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>setTargetValue</b> (const float newTarget) noexcept</td></tr>
<tr class="separator:abcc1dcba5cbce58d77149083a7285963"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a135e5fd99f26ab3ae0962fd00fb65b50"><td class="memItemLeft" align="right" valign="top"><a id="a135e5fd99f26ab3ae0962fd00fb65b50"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>clearToTargetValue</b> () noexcept</td></tr>
<tr class="separator:a135e5fd99f26ab3ae0962fd00fb65b50"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad2be483d43ec42c1906adfcc77ba3903"><td class="memItemLeft" align="right" valign="top"><a id="ad2be483d43ec42c1906adfcc77ba3903"></a>
float&#160;</td><td class="memItemRight" valign="bottom"><b>peek</b> () const noexcept</td></tr>
<tr class="separator:ad2be483d43ec42c1906adfcc77ba3903"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a24f44ec350f22cbd47003340c3425ae6"><td class="memItemLeft" align="right" valign="top"><a id="a24f44ec350f22cbd47003340c3425ae6"></a>
float&#160;</td><td class="memItemRight" valign="bottom"><b>next</b> () noexcept</td></tr>
<tr class="separator:a24f44ec350f22cbd47003340c3425ae6"><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>A linear smoother for control values. </p>
<p>This continually smooths a value towards a defined target, using linear segments.</p>
<p>The duration of the smoothing segment is defined by the given time constant. Every time the target changes, a new segment restarts for the whole duration of the time constant.</p>
<p>Note that this smoother, unlike an exponential smoother, eventually should converge to its target value. </p>
</div><hr/>The documentation for this class was generated from the following file:<ul>
<li>distrho/extra/<a class="el" href="ValueSmoother_8hpp_source.html">ValueSmoother.hpp</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated 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>

+ 16
- 15
classPlugin-members.html View File

@@ -92,21 +92,22 @@ $(function() {
<tr><td class="entry"><a class="el" href="classPlugin.html#a54d66af3111541b7c118f9749ef0231b">initProgramName</a>(uint32_t index, String &amp;programName)=0</td><td class="entry"><a class="el" href="classPlugin.html">Plugin</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">pure virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classPlugin.html#ad4ab623187f905c250a42284704eb840">initState</a>(uint32_t index, State &amp;state)</td><td class="entry"><a class="el" href="classPlugin.html">Plugin</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>initState</b>(uint32_t, String &amp;, String &amp;) (defined in <a class="el" href="classPlugin.html">Plugin</a>)</td><td class="entry"><a class="el" href="classPlugin.html">Plugin</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classPlugin.html#ab2c6b7bc2e0cdcd589cf9d03be831042">isDummyInstance</a>() const noexcept</td><td class="entry"><a class="el" href="classPlugin.html">Plugin</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classPlugin.html#a8d07561f935bf9918e8b395e6eaabfa0">isSelfTestInstance</a>() const noexcept</td><td class="entry"><a class="el" href="classPlugin.html">Plugin</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>isStateFile</b>(uint32_t) (defined in <a class="el" href="classPlugin.html">Plugin</a>)</td><td class="entry"><a class="el" href="classPlugin.html">Plugin</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="classPlugin.html#a44eb1bfcc3a3e5949ad053fc9ce55ce8">loadProgram</a>(uint32_t index)</td><td class="entry"><a class="el" href="classPlugin.html">Plugin</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="classPlugin.html#acb5a3632da5a5c4110172a3a78e1fd32">Plugin</a>(uint32_t parameterCount, uint32_t programCount, uint32_t stateCount)</td><td class="entry"><a class="el" href="classPlugin.html">Plugin</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>PluginExporter</b> (defined in <a class="el" href="classPlugin.html">Plugin</a>)</td><td class="entry"><a class="el" href="classPlugin.html">Plugin</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classPlugin.html#ae65d8603022c09d1ce2ee5cf568de70f">requestParameterValueChange</a>(uint32_t index, float value) noexcept</td><td class="entry"><a class="el" href="classPlugin.html">Plugin</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classPlugin.html#a0a969c78f8455ac6ba65fa42e8c498f6">run</a>(const float **inputs, float **outputs, uint32_t frames, const MidiEvent *midiEvents, uint32_t midiEventCount)=0</td><td class="entry"><a class="el" href="classPlugin.html">Plugin</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">pure virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classPlugin.html#a2fcbfa1893f44e661d0d8cd53391dadc">sampleRateChanged</a>(double newSampleRate)</td><td class="entry"><a class="el" href="classPlugin.html">Plugin</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="classPlugin.html#a2a70c4ec55d74d9bc26862975d8df8a7">setLatency</a>(uint32_t frames) noexcept</td><td class="entry"><a class="el" href="classPlugin.html">Plugin</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classPlugin.html#a7e9e26ceafc7603ef6163483a9dc39be">setParameterValue</a>(uint32_t index, float value)</td><td class="entry"><a class="el" href="classPlugin.html">Plugin</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="classPlugin.html#afcbb504b824bacea622de9bac09b2331">setState</a>(const char *key, const char *value)</td><td class="entry"><a class="el" href="classPlugin.html">Plugin</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="classPlugin.html#aa85c50c732d9083f57b72d6b4cd7c5ae">updateStateValue</a>(const char *key, const char *value) noexcept</td><td class="entry"><a class="el" href="classPlugin.html">Plugin</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classPlugin.html#a0467eef817ac130cbbe1c0fbe09660c6">writeMidiEvent</a>(const MidiEvent &amp;midiEvent) noexcept</td><td class="entry"><a class="el" href="classPlugin.html">Plugin</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classPlugin.html#a89814b8f0b1c91e49140d42eb8331383">~Plugin</a>()</td><td class="entry"><a class="el" href="classPlugin.html">Plugin</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classPlugin.html#ac3a55830c3474a3dc663365d43b581c1">ioChanged</a>(uint16_t numInputs, uint16_t numOutputs)</td><td class="entry"><a class="el" href="classPlugin.html">Plugin</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="classPlugin.html#ab2c6b7bc2e0cdcd589cf9d03be831042">isDummyInstance</a>() const noexcept</td><td class="entry"><a class="el" href="classPlugin.html">Plugin</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classPlugin.html#a8d07561f935bf9918e8b395e6eaabfa0">isSelfTestInstance</a>() const noexcept</td><td class="entry"><a class="el" href="classPlugin.html">Plugin</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>isStateFile</b>(uint32_t) (defined in <a class="el" href="classPlugin.html">Plugin</a>)</td><td class="entry"><a class="el" href="classPlugin.html">Plugin</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classPlugin.html#a44eb1bfcc3a3e5949ad053fc9ce55ce8">loadProgram</a>(uint32_t index)</td><td class="entry"><a class="el" href="classPlugin.html">Plugin</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="classPlugin.html#acb5a3632da5a5c4110172a3a78e1fd32">Plugin</a>(uint32_t parameterCount, uint32_t programCount, uint32_t stateCount)</td><td class="entry"><a class="el" href="classPlugin.html">Plugin</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>PluginExporter</b> (defined in <a class="el" href="classPlugin.html">Plugin</a>)</td><td class="entry"><a class="el" href="classPlugin.html">Plugin</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
<tr><td class="entry"><a class="el" href="classPlugin.html#ae65d8603022c09d1ce2ee5cf568de70f">requestParameterValueChange</a>(uint32_t index, float value) noexcept</td><td class="entry"><a class="el" href="classPlugin.html">Plugin</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classPlugin.html#a0a969c78f8455ac6ba65fa42e8c498f6">run</a>(const float **inputs, float **outputs, uint32_t frames, const MidiEvent *midiEvents, uint32_t midiEventCount)=0</td><td class="entry"><a class="el" href="classPlugin.html">Plugin</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="classPlugin.html#a2fcbfa1893f44e661d0d8cd53391dadc">sampleRateChanged</a>(double newSampleRate)</td><td class="entry"><a class="el" href="classPlugin.html">Plugin</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="classPlugin.html#a2a70c4ec55d74d9bc26862975d8df8a7">setLatency</a>(uint32_t frames) noexcept</td><td class="entry"><a class="el" href="classPlugin.html">Plugin</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classPlugin.html#a7e9e26ceafc7603ef6163483a9dc39be">setParameterValue</a>(uint32_t index, float value)</td><td class="entry"><a class="el" href="classPlugin.html">Plugin</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="classPlugin.html#afcbb504b824bacea622de9bac09b2331">setState</a>(const char *key, const char *value)</td><td class="entry"><a class="el" href="classPlugin.html">Plugin</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="classPlugin.html#aa85c50c732d9083f57b72d6b4cd7c5ae">updateStateValue</a>(const char *key, const char *value) noexcept</td><td class="entry"><a class="el" href="classPlugin.html">Plugin</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classPlugin.html#a0467eef817ac130cbbe1c0fbe09660c6">writeMidiEvent</a>(const MidiEvent &amp;midiEvent) noexcept</td><td class="entry"><a class="el" href="classPlugin.html">Plugin</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classPlugin.html#a89814b8f0b1c91e49140d42eb8331383">~Plugin</a>()</td><td class="entry"><a class="el" href="classPlugin.html">Plugin</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>


+ 45
- 2
classPlugin.html View File

@@ -156,6 +156,8 @@ virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>isStateFile</
<tr class="separator:a9f6c8ad6b054056649d0250e527e1297"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2fcbfa1893f44e661d0d8cd53391dadc"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPlugin.html#a2fcbfa1893f44e661d0d8cd53391dadc">sampleRateChanged</a> (double newSampleRate)</td></tr>
<tr class="separator:a2fcbfa1893f44e661d0d8cd53391dadc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac3a55830c3474a3dc663365d43b581c1"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPlugin.html#ac3a55830c3474a3dc663365d43b581c1">ioChanged</a> (uint16_t numInputs, uint16_t numOutputs)</td></tr>
<tr class="separator:ac3a55830c3474a3dc663365d43b581c1"><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>
@@ -178,7 +180,7 @@ Buffer size is only a hint though, the host might call <a class="el" href="class
<p>DISTRHO_PLUGIN_WANT_PROGRAMS activates program related features.<br />
When enabled you need to implement <a class="el" href="classPlugin.html#a54d66af3111541b7c118f9749ef0231b">initProgramName()</a> and <a class="el" href="classPlugin.html#a44eb1bfcc3a3e5949ad053fc9ce55ce8">loadProgram()</a>.</p>
<p>DISTRHO_PLUGIN_WANT_STATE activates internal state features.<br />
When enabled you need to implement initStateKey() and <a class="el" href="classPlugin.html#afcbb504b824bacea622de9bac09b2331">setState()</a>.</p>
When enabled you need to implement <a class="el" href="classPlugin.html#ad4ab623187f905c250a42284704eb840">initState()</a> and <a class="el" href="classPlugin.html#afcbb504b824bacea622de9bac09b2331">setState()</a>.</p>
<p>The process function <a class="el" href="classPlugin.html#a0a969c78f8455ac6ba65fa42e8c498f6">run()</a> changes wherever DISTRHO_PLUGIN_WANT_MIDI_INPUT is enabled or not.<br />
When enabled it provides midi input events. </p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
@@ -786,7 +788,9 @@ For commercial plugins this should return some short copyright information. </p>
</table>
</div><div class="memdoc">
<p>Get the plugin unique Id.<br />
This value is used by LADSPA, DSSI and VST plugin formats. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="group__MiscellaneousFunctions.html#ga6827e90feb9bdcb6f76175a245fbf12c">d_cconst()</a> </dd></dl>
This value is used by LADSPA, DSSI, VST2, VST3 and AUv2 plugin formats.<br />
</p><dl class="section note"><dt>Note</dt><dd>It is preferred that you set DISTRHO_PLUGIN_UNIQUE_ID macro instead of overriding this call, as that is required for AUv2 plugins anyhow. </dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__MiscellaneousFunctions.html#ga6827e90feb9bdcb6f76175a245fbf12c">d_cconst()</a> </dd></dl>

</div>
</div>
@@ -1314,6 +1318,45 @@ This function will only be called when the plugin is deactivated. </p><dl class=
<p>Optional callback to inform the plugin about a sample rate change.<br />
This function will only be called when the plugin is deactivated. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="classPlugin.html#a3e162cfe8f1c52bf09805fd327bcc3c4">getSampleRate()</a> </dd></dl>

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

<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void Plugin::ioChanged </td>
<td>(</td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>numInputs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>numOutputs</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Optional callback to inform the plugin about audio port IO changes.<br />
This function will only be called when the plugin is deactivated.<br />
Only used in AU (AudioUnit) format when DISTRHO_PLUGIN_EXTRA_IO is defined. </p><dl class="section see"><dt>See also</dt><dd>DISTRHO_PLUGIN_EXTRA_IO </dd></dl>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>


+ 3
- 1
classRingBufferControl-members.html View File

@@ -70,7 +70,9 @@ $(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; BufferStruct &gt;</a>)</td><td class="entry"><a class="el" href="classRingBufferControl.html">RingBufferControl&lt; BufferStruct &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; BufferStruct &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>getReadableDataSize</b>() const noexcept (defined in <a class="el" href="classRingBufferControl.html">RingBufferControl&lt; BufferStruct &gt;</a>)</td><td class="entry"><a class="el" href="classRingBufferControl.html">RingBufferControl&lt; BufferStruct &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>flush</b>() noexcept (defined in <a class="el" href="classRingBufferControl.html">RingBufferControl&lt; BufferStruct &gt;</a>)</td><td class="entry"><a class="el" href="classRingBufferControl.html">RingBufferControl&lt; BufferStruct &gt;</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; BufferStruct &gt;</a>)</td><td class="entry"><a class="el" href="classRingBufferControl.html">RingBufferControl&lt; BufferStruct &gt;</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="classRingBufferControl.html">RingBufferControl&lt; BufferStruct &gt;</a>)</td><td class="entry"><a class="el" href="classRingBufferControl.html">RingBufferControl&lt; BufferStruct &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>getWritableDataSize</b>() const noexcept (defined in <a class="el" href="classRingBufferControl.html">RingBufferControl&lt; BufferStruct &gt;</a>)</td><td class="entry"><a class="el" href="classRingBufferControl.html">RingBufferControl&lt; BufferStruct &gt;</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; BufferStruct &gt;</a>)</td><td class="entry"><a class="el" href="classRingBufferControl.html">RingBufferControl&lt; BufferStruct &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; BufferStruct &gt;</a>)</td><td class="entry"><a class="el" href="classRingBufferControl.html">RingBufferControl&lt; BufferStruct &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>


+ 11
- 5
classRingBufferControl.html View File

@@ -80,6 +80,9 @@ bool&#160;</td><td class="memItemRight" valign="bottom"><b>isDataAvailableForRea
<tr class="memitem:ac795fc07ffa5c591b9516b514dedc7aa"><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"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a904c3d96f7c501357bde107392307746"><td class="memItemLeft" align="right" valign="top"><a id="a904c3d96f7c501357bde107392307746"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>getSize</b> () const noexcept</td></tr>
<tr class="separator:a904c3d96f7c501357bde107392307746"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a798dea2af126ea7749d4325e401d6b90"><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"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -89,6 +92,9 @@ uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>getWritableDataSi
<tr class="memitem:a8a93880bd798351b66c7c546ee91d7af"><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"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a84cf5dece61cf5d0a3050eb4d757f072"><td class="memItemLeft" align="right" valign="top"><a id="a84cf5dece61cf5d0a3050eb4d757f072"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>flush</b> () noexcept</td></tr>
<tr class="separator:a84cf5dece61cf5d0a3050eb4d757f072"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7861a13bc22c3a692490002e11cfa001"><td class="memItemLeft" align="right" valign="top"><a id="a7861a13bc22c3a692490002e11cfa001"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>readBool</b> () noexcept</td></tr>
<tr class="separator:a7861a13bc22c3a692490002e11cfa001"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -200,11 +206,11 @@ class RingBufferControl&lt; BufferStruct &gt;</h3>
<div class="line"> <span class="comment">// do something with &quot;anotherData&quot;</span></div>
<div class="line"> }</div>
<div class="line">}</div>
<div class="ttc" id="aclassHeapRingBuffer_html"><div class="ttname"><a href="classHeapRingBuffer.html">HeapRingBuffer</a></div><div class="ttdef"><b>Definition:</b> RingBuffer.hpp:689</div></div>
<div class="ttc" id="aclassHeapRingBuffer_html_ab7d60a3acc757e88e1c7254626ce9709"><div class="ttname"><a href="classHeapRingBuffer.html#ab7d60a3acc757e88e1c7254626ce9709">HeapRingBuffer::createBuffer</a></div><div class="ttdeci">bool createBuffer(const uint32_t size) noexcept</div><div class="ttdef"><b>Definition:</b> RingBuffer.hpp:711</div></div>
<div class="ttc" id="aclassRingBufferControl_html_a72e173dcae573f6e2e8ac4cfeb8aa96b"><div class="ttname"><a href="classRingBufferControl.html#a72e173dcae573f6e2e8ac4cfeb8aa96b">RingBufferControl::writeCustomData</a></div><div class="ttdeci">bool writeCustomData(const void *const data, const uint32_t size) noexcept</div><div class="ttdef"><b>Definition:</b> RingBuffer.hpp:472</div></div>
<div class="ttc" id="aclassRingBufferControl_html_aafdb126b2885c507cec852bc63fd6cb8"><div class="ttname"><a href="classRingBufferControl.html#aafdb126b2885c507cec852bc63fd6cb8">RingBufferControl::readCustomData</a></div><div class="ttdeci">bool readCustomData(void *const data, const uint32_t size) noexcept</div><div class="ttdef"><b>Definition:</b> RingBuffer.hpp:356</div></div>
<div class="ttc" id="aclassRingBufferControl_html_afe0c53d2591eb265d657c1cab6800036"><div class="ttname"><a href="classRingBufferControl.html#afe0c53d2591eb265d657c1cab6800036">RingBufferControl::commitWrite</a></div><div class="ttdeci">bool commitWrite() noexcept</div><div class="ttdef"><b>Definition:</b> RingBuffer.hpp:496</div></div>
<div class="ttc" id="aclassHeapRingBuffer_html"><div class="ttname"><a href="classHeapRingBuffer.html">HeapRingBuffer</a></div><div class="ttdef"><b>Definition:</b> RingBuffer.hpp:711</div></div>
<div class="ttc" id="aclassHeapRingBuffer_html_ab7d60a3acc757e88e1c7254626ce9709"><div class="ttname"><a href="classHeapRingBuffer.html#ab7d60a3acc757e88e1c7254626ce9709">HeapRingBuffer::createBuffer</a></div><div class="ttdeci">bool createBuffer(const uint32_t size) noexcept</div><div class="ttdef"><b>Definition:</b> RingBuffer.hpp:733</div></div>
<div class="ttc" id="aclassRingBufferControl_html_a72e173dcae573f6e2e8ac4cfeb8aa96b"><div class="ttname"><a href="classRingBufferControl.html#a72e173dcae573f6e2e8ac4cfeb8aa96b">RingBufferControl::writeCustomData</a></div><div class="ttdeci">bool writeCustomData(const void *const data, const uint32_t size) noexcept</div><div class="ttdef"><b>Definition:</b> RingBuffer.hpp:494</div></div>
<div class="ttc" id="aclassRingBufferControl_html_aafdb126b2885c507cec852bc63fd6cb8"><div class="ttname"><a href="classRingBufferControl.html#aafdb126b2885c507cec852bc63fd6cb8">RingBufferControl::readCustomData</a></div><div class="ttdeci">bool readCustomData(void *const data, const uint32_t size) noexcept</div><div class="ttdef"><b>Definition:</b> RingBuffer.hpp:378</div></div>
<div class="ttc" id="aclassRingBufferControl_html_afe0c53d2591eb265d657c1cab6800036"><div class="ttname"><a href="classRingBufferControl.html#afe0c53d2591eb265d657c1cab6800036">RingBufferControl::commitWrite</a></div><div class="ttdeci">bool commitWrite() noexcept</div><div class="ttdef"><b>Definition:</b> RingBuffer.hpp:518</div></div>
</div><!-- fragment --><dl class="section see"><dt>See also</dt><dd><a class="el" href="structHeapBuffer.html">HeapBuffer</a> </dd></dl>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="aafdb126b2885c507cec852bc63fd6cb8"></a>


+ 79
- 0
classScopedDenormalDisable-members.html View File

@@ -0,0 +1,79 @@
<!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: Member List</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><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">ScopedDenormalDisable Member List</div> </div>
</div><!--header-->
<div class="contents">

<p>This is the complete list of members for <a class="el" href="classScopedDenormalDisable.html">ScopedDenormalDisable</a>, including all inherited members.</p>
<table class="directory">
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>ScopedDenormalDisable</b>() noexcept (defined in <a class="el" href="classScopedDenormalDisable.html">ScopedDenormalDisable</a>)</td><td class="entry"><a class="el" href="classScopedDenormalDisable.html">ScopedDenormalDisable</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>~ScopedDenormalDisable</b>() noexcept (defined in <a class="el" href="classScopedDenormalDisable.html">ScopedDenormalDisable</a>)</td><td class="entry"><a class="el" href="classScopedDenormalDisable.html">ScopedDenormalDisable</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 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>

+ 84
- 0
classScopedDenormalDisable.html View File

@@ -0,0 +1,84 @@
<!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: ScopedDenormalDisable Class Reference</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><!-- top -->
<div class="header">
<div class="summary">
<a href="classScopedDenormalDisable-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">ScopedDenormalDisable Class Reference</div> </div>
</div><!--header-->
<div class="contents">

<p><code>#include &lt;<a class="el" href="ScopedDenormalDisable_8hpp_source.html">ScopedDenormalDisable.hpp</a>&gt;</code></p>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p><a class="el" href="classScopedDenormalDisable.html">ScopedDenormalDisable</a> is a handy class for disabling denormal numbers during a function scope. Denormal numbers can happen in IIR or other types of filters, they are often very slow.</p>
<p>Use this class with care! Messing up with the global state is bound to make some hosts unhappy. </p>
</div><hr/>The documentation for this class was generated from the following file:<ul>
<li>distrho/extra/<a class="el" href="ScopedDenormalDisable_8hpp_source.html">ScopedDenormalDisable.hpp</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated 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>

+ 3
- 1
classSmallStackRingBuffer-members.html View File

@@ -70,7 +70,9 @@ $(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; SmallStackBuffer &gt;</a>)</td><td class="entry"><a class="el" href="classRingBufferControl.html">RingBufferControl&lt; SmallStackBuffer &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; SmallStackBuffer &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>getReadableDataSize</b>() const noexcept (defined in <a class="el" href="classRingBufferControl.html">RingBufferControl&lt; SmallStackBuffer &gt;</a>)</td><td class="entry"><a class="el" href="classRingBufferControl.html">RingBufferControl&lt; SmallStackBuffer &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>flush</b>() noexcept (defined in <a class="el" href="classRingBufferControl.html">RingBufferControl&lt; SmallStackBuffer &gt;</a>)</td><td class="entry"><a class="el" href="classRingBufferControl.html">RingBufferControl&lt; SmallStackBuffer &gt;</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; SmallStackBuffer &gt;</a>)</td><td class="entry"><a class="el" href="classRingBufferControl.html">RingBufferControl&lt; SmallStackBuffer &gt;</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="classRingBufferControl.html">RingBufferControl&lt; SmallStackBuffer &gt;</a>)</td><td class="entry"><a class="el" href="classRingBufferControl.html">RingBufferControl&lt; SmallStackBuffer &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>getWritableDataSize</b>() const noexcept (defined in <a class="el" href="classRingBufferControl.html">RingBufferControl&lt; SmallStackBuffer &gt;</a>)</td><td class="entry"><a class="el" href="classRingBufferControl.html">RingBufferControl&lt; SmallStackBuffer &gt;</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; SmallStackBuffer &gt;</a>)</td><td class="entry"><a class="el" href="classRingBufferControl.html">RingBufferControl&lt; SmallStackBuffer &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; SmallStackBuffer &gt;</a>)</td><td class="entry"><a class="el" href="classRingBufferControl.html">RingBufferControl&lt; SmallStackBuffer &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>


+ 6
- 0
classSmallStackRingBuffer.html View File

@@ -91,6 +91,9 @@ 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:a904c3d96f7c501357bde107392307746 inherit pub_methods_classRingBufferControl"><td class="memItemLeft" align="right" valign="top"><a id="a904c3d96f7c501357bde107392307746"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>getSize</b> () const noexcept</td></tr>
<tr class="separator:a904c3d96f7c501357bde107392307746 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>
@@ -100,6 +103,9 @@ uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>getWritableDataSi
<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>
<tr class="memitem:a84cf5dece61cf5d0a3050eb4d757f072 inherit pub_methods_classRingBufferControl"><td class="memItemLeft" align="right" valign="top"><a id="a84cf5dece61cf5d0a3050eb4d757f072"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>flush</b> () noexcept</td></tr>
<tr class="separator:a84cf5dece61cf5d0a3050eb4d757f072 inherit pub_methods_classRingBufferControl"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7861a13bc22c3a692490002e11cfa001 inherit pub_methods_classRingBufferControl"><td class="memItemLeft" align="right" valign="top"><a id="a7861a13bc22c3a692490002e11cfa001"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>readBool</b> () noexcept</td></tr>
<tr class="separator:a7861a13bc22c3a692490002e11cfa001 inherit pub_methods_classRingBufferControl"><td class="memSeparator" colspan="2">&#160;</td></tr>


+ 40
- 39
classStandaloneWindow-members.html View File

@@ -118,45 +118,46 @@ $(function() {
<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#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>
<tr><td class="entry"><a class="el" href="classWindow.html#a33f9518b6f3209cd8201106260c9e42c">Window::repaint</a>(const Rectangle&lt; uint &gt; &amp;rect) 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="classTopLevelWidget.html#a4a9b2d040ba36825fd95f966bb4d9e36">TopLevelWidget::repaint</a>(const Rectangle&lt; uint &gt; &amp;rect) noexcept</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#a00108f3d1c5831d02b0c67cd4f226e4d">runAsModal</a>(bool blockWait=false)</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#a88bf8d28d58fbe390359bd220137311e">Window::setClipboard</a>(const char *mimeType, const void *data, size_t dataSize)</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>setClipboard</b>(const char *mimeType, const void *data, size_t 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 class="even"><td class="entry"><a class="el" href="classWindow.html#aabcbd667b0c4dd4665d13beb940fa700">Window::setCursor</a>(MouseCursor cursor)</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>setCursor</b>(MouseCursor cursor) (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 bgcolor="#f0f0f0" class="even"><td class="entry"><b>setGeometryConstraints</b>(uint minimumWidth, uint minimumHeight, bool keepAspectRatio=false, bool automaticallyScale=false) (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#aa3824e300206b15241df8c8c78785d73">Window::setGeometryConstraints</a>(uint minimumWidth, uint minimumHeight, bool keepAspectRatio=false, bool automaticallyScale=false, bool resizeNowIfAutoScaling=true)</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>setGeometryConstraints</b>(uint minimumWidth, uint minimumHeight, bool keepAspectRatio=false, bool automaticallyScale=false, bool resizeNowIfAutoScaling=true) (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 bgcolor="#f0f0f0"><td class="entry"><b>setHeight</b>(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 class="even"><td class="entry"><a class="el" href="classWidget.html#abfba3652559de84ba1ae9ccbd3d35e31">setId</a>(uint id) 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#a36a04e5f5ecc6ee5228f9da6df43e865">setIgnoringKeyRepeat</a>(bool ignore) 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#a6303d0445f21a2a95148780b0a0afed6">setName</a>(const char *name) 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#a5d79613d3223395806d7d09ad65d5c4d">setOffset</a>(int x, int y)</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#ae02f210d981b2ac5efd6207864789758">setOffset</a>(const Point&lt; int &gt; &amp;offset)</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#a486cf7a5f89c39e1cac3a01633f170db">setOffsetX</a>(int x)</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#ac570a2c8f35ea4962c8f23c8435cdbfc">setOffsetY</a>(int y)</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#a10f6ff4b0f3e714298a4ac612edcdd7e">setResizable</a>(bool resizable)</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>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><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>
<tr class="even"><td class="entry"><a class="el" href="classStandaloneWindow.html#ad5848f401a4b91a2d4d5c8c420b4f72e">reinit</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>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 class="even"><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><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>
<tr class="even"><td class="entry"><a class="el" href="classWindow.html#a33f9518b6f3209cd8201106260c9e42c">Window::repaint</a>(const Rectangle&lt; uint &gt; &amp;rect) 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="classTopLevelWidget.html#a4a9b2d040ba36825fd95f966bb4d9e36">TopLevelWidget::repaint</a>(const Rectangle&lt; uint &gt; &amp;rect) noexcept</td><td class="entry"><a class="el" href="classTopLevelWidget.html">TopLevelWidget</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classWindow.html#a00108f3d1c5831d02b0c67cd4f226e4d">runAsModal</a>(bool blockWait=false)</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#a88bf8d28d58fbe390359bd220137311e">Window::setClipboard</a>(const char *mimeType, const void *data, size_t 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>setClipboard</b>(const char *mimeType, const void *data, size_t 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#aabcbd667b0c4dd4665d13beb940fa700">Window::setCursor</a>(MouseCursor cursor)</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>setCursor</b>(MouseCursor cursor) (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 bgcolor="#f0f0f0"><td class="entry"><b>setGeometryConstraints</b>(uint minimumWidth, uint minimumHeight, bool keepAspectRatio=false, bool automaticallyScale=false) (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#aa3824e300206b15241df8c8c78785d73">Window::setGeometryConstraints</a>(uint minimumWidth, uint minimumHeight, bool keepAspectRatio=false, bool automaticallyScale=false, bool resizeNowIfAutoScaling=true)</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>setGeometryConstraints</b>(uint minimumWidth, uint minimumHeight, bool keepAspectRatio=false, bool automaticallyScale=false, bool resizeNowIfAutoScaling=true) (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 bgcolor="#f0f0f0" class="even"><td class="entry"><b>setHeight</b>(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><td class="entry"><a class="el" href="classWidget.html#abfba3652559de84ba1ae9ccbd3d35e31">setId</a>(uint id) 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#a36a04e5f5ecc6ee5228f9da6df43e865">setIgnoringKeyRepeat</a>(bool ignore) 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#a6303d0445f21a2a95148780b0a0afed6">setName</a>(const char *name) 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#a5d79613d3223395806d7d09ad65d5c4d">setOffset</a>(int x, int y)</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#ae02f210d981b2ac5efd6207864789758">setOffset</a>(const Point&lt; int &gt; &amp;offset)</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#a486cf7a5f89c39e1cac3a01633f170db">setOffsetX</a>(int x)</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#ac570a2c8f35ea4962c8f23c8435cdbfc">setOffsetY</a>(int y)</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#a10f6ff4b0f3e714298a4ac612edcdd7e">setResizable</a>(bool resizable)</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>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" class="even"><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><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 class="even"><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"><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#af60daa3513ca7f7d05575ab3feaee268">~TopLevelWidget</a>() override</td><td class="entry"><a class="el" href="classTopLevelWidget.html">TopLevelWidget</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>
<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>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>


+ 28
- 0
classStandaloneWindow.html View File

@@ -89,6 +89,8 @@ Public Member Functions</h2></td></tr>
<tr class="separator:a86e7db3cd8830628b37d0608df40963c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3b13bbbe8b8c431806ab50d2ea3410ad"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classStandaloneWindow.html#a3b13bbbe8b8c431806ab50d2ea3410ad">done</a> ()</td></tr>
<tr class="separator:a3b13bbbe8b8c431806ab50d2ea3410ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad5848f401a4b91a2d4d5c8c420b4f72e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classStandaloneWindow.html#ad5848f401a4b91a2d4d5c8c420b4f72e">reinit</a> ()</td></tr>
<tr class="separator:ad5848f401a4b91a2d4d5c8c420b4f72e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a645f7c56f44d9a8a72e81595b28650e2"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classStandaloneWindow.html#a645f7c56f44d9a8a72e81595b28650e2">isVisible</a> () const noexcept</td></tr>
<tr class="separator:a645f7c56f44d9a8a72e81595b28650e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aed1c4bcb15863e45ee9a9a1d879684de"><td class="memItemLeft" align="right" valign="top"><a id="aed1c4bcb15863e45ee9a9a1d879684de"></a>
@@ -472,6 +474,32 @@ Additional Inherited Members</h2></td></tr>
</div><div class="memdoc">
<p>Clear current graphics context. Must be called at the end of your <a class="el" href="classStandaloneWindow.html">StandaloneWindow</a> constructor. </p>

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

<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void StandaloneWindow::reinit </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get a graphics context back again. Called when a valid graphics context is needed outside the constructor. </p>

</div>
</div>
<a id="a645f7c56f44d9a8a72e81595b28650e2"></a>


+ 3
- 3
classes.html View File

@@ -78,7 +78,7 @@ $(function() {
<dd><a class="el" href="classCairoBaseWidget.html">CairoBaseWidget</a></dd><dd><a class="el" href="structCairoGraphicsContext.html">CairoGraphicsContext</a></dd><dd><a class="el" href="classCairoImage.html">CairoImage</a></dd><dd><a class="el" href="classButtonEventHandler_1_1Callback.html">ButtonEventHandler::Callback</a></dd><dd><a class="el" href="classImageBaseButton_1_1Callback.html">ImageBaseButton::Callback</a></dd><dd><a class="el" href="classImageBaseKnob_1_1Callback.html">ImageBaseKnob::Callback</a></dd><dd><a class="el" href="classImageBaseSlider_1_1Callback.html">ImageBaseSlider::Callback</a></dd><dd><a class="el" href="classImageBaseSwitch_1_1Callback.html">ImageBaseSwitch::Callback</a></dd><dd><a class="el" href="classKnobEventHandler_1_1Callback.html">KnobEventHandler::Callback</a></dd><dd><a class="el" href="structWidget_1_1CharacterInputEvent.html">Widget::CharacterInputEvent</a></dd><dd><a class="el" href="classCircle.html">Circle</a></dd><dd><a class="el" href="structClipboardDataOffer.html">ClipboardDataOffer</a></dd><dd><a class="el" href="structColor.html">Color</a></dd></dl>
<dl class="classindex odd">
<dt class="alphachar"><a name="letter_E">E</a></dt>
<dd><a class="el" href="classExternalWindow.html">ExternalWindow</a></dd></dl>
<dd><a class="el" href="classExponentialValueSmoother.html">ExponentialValueSmoother</a></dd><dd><a class="el" href="classExternalWindow.html">ExternalWindow</a></dd></dl>
<dl class="classindex even">
<dt class="alphachar"><a name="letter_F">F</a></dt>
<dd><a class="el" href="structFileBrowserData.html">FileBrowserData</a></dd><dd><a class="el" href="structFileBrowserOptions.html">FileBrowserOptions</a></dd></dl>
@@ -96,7 +96,7 @@ $(function() {
<dd><a class="el" href="structWidget_1_1KeyboardEvent.html">Widget::KeyboardEvent</a></dd><dd><a class="el" href="classKnobEventHandler.html">KnobEventHandler</a></dd></dl>
<dl class="classindex odd">
<dt class="alphachar"><a name="letter_L">L</a></dt>
<dd><a class="el" href="structLayout.html">Layout</a></dd><dd><a class="el" href="classLeakedObjectDetector.html">LeakedObjectDetector</a></dd><dd><a class="el" href="classLine.html">Line</a></dd></dl>
<dd><a class="el" href="structLayout.html">Layout</a></dd><dd><a class="el" href="classLeakedObjectDetector.html">LeakedObjectDetector</a></dd><dd><a class="el" href="classLine.html">Line</a></dd><dd><a class="el" href="classLinearValueSmoother.html">LinearValueSmoother</a></dd></dl>
<dl class="classindex even">
<dt class="alphachar"><a name="letter_M">M</a></dt>
<dd><a class="el" href="structMidiEvent.html">MidiEvent</a></dd><dd><a class="el" href="structWidget_1_1MotionEvent.html">Widget::MotionEvent</a></dd><dd><a class="el" href="structWidget_1_1MouseEvent.html">Widget::MouseEvent</a></dd><dd><a class="el" href="classMutex.html">Mutex</a></dd></dl>
@@ -114,7 +114,7 @@ $(function() {
<dd><a class="el" href="classRectangle.html">Rectangle</a></dd><dd><a class="el" href="classRecursiveMutex.html">RecursiveMutex</a></dd><dd><a class="el" href="structWidget_1_1ResizeEvent.html">Widget::ResizeEvent</a></dd><dd><a class="el" href="classRingBufferControl.html">RingBufferControl</a></dd><dd><a class="el" href="classRunner.html">Runner</a></dd></dl>
<dl class="classindex odd">
<dt class="alphachar"><a name="letter_S">S</a></dt>
<dd><a class="el" href="structWindow_1_1ScopedGraphicsContext.html">Window::ScopedGraphicsContext</a></dd><dd><a class="el" href="classScopedPointer.html">ScopedPointer</a></dd><dd><a class="el" href="classScopedSafeLocale.html">ScopedSafeLocale</a></dd><dd><a class="el" href="classScopeLocker.html">ScopeLocker</a></dd><dd><a class="el" href="classScopeTryLocker.html">ScopeTryLocker</a></dd><dd><a class="el" href="classScopeUnlocker.html">ScopeUnlocker</a></dd><dd><a class="el" href="structWidget_1_1ScrollEvent.html">Widget::ScrollEvent</a></dd><dd><a class="el" href="classSignal.html">Signal</a></dd><dd><a class="el" href="classSize.html">Size</a></dd><dd><a class="el" href="classSliderEventHandler.html">SliderEventHandler</a></dd><dd><a class="el" href="structSmallStackBuffer.html">SmallStackBuffer</a></dd><dd><a class="el" href="classSmallStackRingBuffer.html">SmallStackRingBuffer</a></dd><dd><a class="el" href="classStandaloneWindow.html">StandaloneWindow</a></dd><dd><a class="el" href="structState.html">State</a></dd><dd><a class="el" href="classString.html">String</a></dd><dd><a class="el" href="classSubWidget.html">SubWidget</a></dd><dd><a class="el" href="structSubWidgetWithSizeHint.html">SubWidgetWithSizeHint</a></dd></dl>
<dd><a class="el" href="classScopedDenormalDisable.html">ScopedDenormalDisable</a></dd><dd><a class="el" href="structWindow_1_1ScopedGraphicsContext.html">Window::ScopedGraphicsContext</a></dd><dd><a class="el" href="classScopedPointer.html">ScopedPointer</a></dd><dd><a class="el" href="classScopedSafeLocale.html">ScopedSafeLocale</a></dd><dd><a class="el" href="classScopeLocker.html">ScopeLocker</a></dd><dd><a class="el" href="classScopeTryLocker.html">ScopeTryLocker</a></dd><dd><a class="el" href="classScopeUnlocker.html">ScopeUnlocker</a></dd><dd><a class="el" href="structWidget_1_1ScrollEvent.html">Widget::ScrollEvent</a></dd><dd><a class="el" href="classSignal.html">Signal</a></dd><dd><a class="el" href="classSize.html">Size</a></dd><dd><a class="el" href="classSliderEventHandler.html">SliderEventHandler</a></dd><dd><a class="el" href="structSmallStackBuffer.html">SmallStackBuffer</a></dd><dd><a class="el" href="classSmallStackRingBuffer.html">SmallStackRingBuffer</a></dd><dd><a class="el" href="classStandaloneWindow.html">StandaloneWindow</a></dd><dd><a class="el" href="structState.html">State</a></dd><dd><a class="el" href="classString.html">String</a></dd><dd><a class="el" href="classSubWidget.html">SubWidget</a></dd><dd><a class="el" href="structSubWidgetWithSizeHint.html">SubWidgetWithSizeHint</a></dd></dl>
<dl class="classindex even">
<dt class="alphachar"><a name="letter_T">T</a></dt>
<dd><a class="el" href="structNanoVG_1_1TextRow.html">NanoVG::TextRow</a></dd><dd><a class="el" href="classThread.html">Thread</a></dd><dd><a class="el" href="structTimePosition.html">TimePosition</a></dd><dd><a class="el" href="classTopLevelWidget.html">TopLevelWidget</a></dd><dd><a class="el" href="classTriangle.html">Triangle</a></dd></dl>


+ 2
- 2
distrho_2extra_2FileBrowserDialog_8hpp_source.html View File

@@ -97,8 +97,8 @@ $(function() {
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<a class="code" href="group__NamespaceMacros.html#ga3ff541a449593e069a29e92d21e38ef3">END_NAMESPACE_DISTRHO</a></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">#endif </span><span class="comment">// DISTRHO_FILE_BROWSER_DIALOG_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:920</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:914</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:949</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:943</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>


+ 14
- 11
files.html View File

@@ -100,17 +100,20 @@ $(function() {
<tr id="row_1_0_6_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="Mutex_8hpp_source.html"><span class="icondoc"></span></a><b>Mutex.hpp</b></td><td class="desc"></td></tr>
<tr id="row_1_0_7_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="RingBuffer_8hpp_source.html"><span class="icondoc"></span></a><b>RingBuffer.hpp</b></td><td class="desc"></td></tr>
<tr id="row_1_0_8_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="Runner_8hpp_source.html"><span class="icondoc"></span></a><b>Runner.hpp</b></td><td class="desc"></td></tr>
<tr id="row_1_0_9_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="ScopedPointer_8hpp_source.html"><span class="icondoc"></span></a><b>ScopedPointer.hpp</b></td><td class="desc"></td></tr>
<tr id="row_1_0_10_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="ScopedSafeLocale_8hpp_source.html"><span class="icondoc"></span></a><b>ScopedSafeLocale.hpp</b></td><td class="desc"></td></tr>
<tr id="row_1_0_11_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="Sleep_8hpp_source.html"><span class="icondoc"></span></a><b>Sleep.hpp</b></td><td class="desc"></td></tr>
<tr id="row_1_0_12_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="String_8hpp_source.html"><span class="icondoc"></span></a><b>String.hpp</b></td><td class="desc"></td></tr>
<tr id="row_1_0_13_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="Thread_8hpp_source.html"><span class="icondoc"></span></a><b>Thread.hpp</b></td><td class="desc"></td></tr>
<tr id="row_1_1_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="DistrhoInfo_8hpp_source.html"><span class="icondoc"></span></a><b>DistrhoInfo.hpp</b></td><td class="desc"></td></tr>
<tr id="row_1_2_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="DistrhoPlugin_8hpp_source.html"><span class="icondoc"></span></a><b>DistrhoPlugin.hpp</b></td><td class="desc"></td></tr>
<tr id="row_1_3_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="DistrhoPluginUtils_8hpp_source.html"><span class="icondoc"></span></a><b>DistrhoPluginUtils.hpp</b></td><td class="desc"></td></tr>
<tr id="row_1_4_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="DistrhoStandaloneUtils_8hpp_source.html"><span class="icondoc"></span></a><b>DistrhoStandaloneUtils.hpp</b></td><td class="desc"></td></tr>
<tr id="row_1_5_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="DistrhoUI_8hpp_source.html"><span class="icondoc"></span></a><b>DistrhoUI.hpp</b></td><td class="desc"></td></tr>
<tr id="row_1_6_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="DistrhoUtils_8hpp_source.html"><span class="icondoc"></span></a><b>DistrhoUtils.hpp</b></td><td class="desc"></td></tr>
<tr id="row_1_0_9_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="ScopedDenormalDisable_8hpp_source.html"><span class="icondoc"></span></a><b>ScopedDenormalDisable.hpp</b></td><td class="desc"></td></tr>
<tr id="row_1_0_10_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="ScopedPointer_8hpp_source.html"><span class="icondoc"></span></a><b>ScopedPointer.hpp</b></td><td class="desc"></td></tr>
<tr id="row_1_0_11_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="ScopedSafeLocale_8hpp_source.html"><span class="icondoc"></span></a><b>ScopedSafeLocale.hpp</b></td><td class="desc"></td></tr>
<tr id="row_1_0_12_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="Sleep_8hpp_source.html"><span class="icondoc"></span></a><b>Sleep.hpp</b></td><td class="desc"></td></tr>
<tr id="row_1_0_13_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="String_8hpp_source.html"><span class="icondoc"></span></a><b>String.hpp</b></td><td class="desc"></td></tr>
<tr id="row_1_0_14_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="Thread_8hpp_source.html"><span class="icondoc"></span></a><b>Thread.hpp</b></td><td class="desc"></td></tr>
<tr id="row_1_0_15_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="ValueSmoother_8hpp_source.html"><span class="icondoc"></span></a><b>ValueSmoother.hpp</b></td><td class="desc"></td></tr>
<tr id="row_1_1_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="DistrhoDetails_8hpp_source.html"><span class="icondoc"></span></a><b>DistrhoDetails.hpp</b></td><td class="desc"></td></tr>
<tr id="row_1_2_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="DistrhoInfo_8hpp_source.html"><span class="icondoc"></span></a><b>DistrhoInfo.hpp</b></td><td class="desc"></td></tr>
<tr id="row_1_3_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="DistrhoPlugin_8hpp_source.html"><span class="icondoc"></span></a><b>DistrhoPlugin.hpp</b></td><td class="desc"></td></tr>
<tr id="row_1_4_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="DistrhoPluginUtils_8hpp_source.html"><span class="icondoc"></span></a><b>DistrhoPluginUtils.hpp</b></td><td class="desc"></td></tr>
<tr id="row_1_5_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="DistrhoStandaloneUtils_8hpp_source.html"><span class="icondoc"></span></a><b>DistrhoStandaloneUtils.hpp</b></td><td class="desc"></td></tr>
<tr id="row_1_6_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="DistrhoUI_8hpp_source.html"><span class="icondoc"></span></a><b>DistrhoUI.hpp</b></td><td class="desc"></td></tr>
<tr id="row_1_7_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="DistrhoUtils_8hpp_source.html"><span class="icondoc"></span></a><b>DistrhoUtils.hpp</b></td><td class="desc"></td></tr>
</table>
</div><!-- directory -->
</div><!-- contents -->


+ 4
- 1
functions_c.html View File

@@ -83,11 +83,14 @@ $(function() {
: <a class="el" href="structWidget_1_1CharacterInputEvent.html#ab0e3407cf8693ba9f3be0be805c8af24">Widget::CharacterInputEvent</a>
</li>
<li>Circle()
: <a class="el" href="classCircle.html#aeee15927ea13e9114aa53a8c26c5e1df">Circle&lt; T &gt;</a>
: <a class="el" href="classCircle.html#a69bf0ddae80047ef3e9b230930eb1ba6">Circle&lt; T &gt;</a>
</li>
<li>circle()
: <a class="el" href="classNanoVG.html#aa3230d48ce48f050d3ad636fc2ff4235">NanoVG</a>
</li>
<li>className
: <a class="el" href="structFileBrowserOptions.html#a5cd131b31f02ceff8b9ac5db6b40fc3a">FileBrowserOptions</a>
</li>
<li>clear()
: <a class="el" href="structTimePosition_1_1BarBeatTick.html#ae6ea776260b58800bff63f515351bd3a">TimePosition::BarBeatTick</a>
, <a class="el" href="structTimePosition.html#acd89e79032d748ee7fc01d55a2c518bb">TimePosition</a>


+ 3
- 0
functions_d.html View File

@@ -85,6 +85,9 @@ $(function() {
<li>deleteBuffer()
: <a class="el" href="classHeapRingBuffer.html#a940bc4c023a53a0d511d6f99186d8224">HeapRingBuffer</a>
</li>
<li>deleteLater
: <a class="el" href="structParameterEnumerationValues.html#acf882508439c41eb4c1bc38237dcc976">ParameterEnumerationValues</a>
</li>
<li>delta
: <a class="el" href="structWidget_1_1ScrollEvent.html#a5081893281d91c5f615cc066fb5fc3dc">Widget::ScrollEvent</a>
</li>


+ 4
- 4
functions_func_g.html View File

@@ -125,10 +125,10 @@ $(function() {
: <a class="el" href="classLine.html#a5c5de1ccedae8ea85fd711eab10359dd">Line&lt; T &gt;</a>
</li>
<li>getFixedAndNormalizedValue()
: <a class="el" href="structParameterRanges.html#a82698a1e07b1b04ccb5df0de4db0d0be">ParameterRanges</a>
: <a class="el" href="structParameterRanges.html#a0faba98afd9f9c580acc54abe4ddeab5">ParameterRanges</a>
</li>
<li>getFixedValue()
: <a class="el" href="structParameterRanges.html#a983383b2b3ce5d049802a7f0a12cee0c">ParameterRanges</a>
: <a class="el" href="structParameterRanges.html#a85687844ae66f199015e14e6b9973f34">ParameterRanges</a>
</li>
<li>getForegroundColor()
: <a class="el" href="classUI.html#a607ea9f2978605808d8ef5dc3531fae7">UI</a>
@@ -190,7 +190,7 @@ $(function() {
: <a class="el" href="classUI.html#a4630e30aec3f3e7dcfc353ef2807bf56">UI</a>
</li>
<li>getNormalizedValue()
: <a class="el" href="structParameterRanges.html#ad16ef939c1caa2f51e9a4041f769f86e">ParameterRanges</a>
: <a class="el" href="structParameterRanges.html#a215512088b0d0d8f7755bfe35c218602">ParameterRanges</a>
</li>
<li>getNumSegments()
: <a class="el" href="classCircle.html#a3a1586ea9115cc97473a2338127223b6">Circle&lt; T &gt;</a>
@@ -286,7 +286,7 @@ $(function() {
: <a class="el" href="classPlugin.html#ad6ff8c80227d5ceebd40b96f3be29a66">Plugin</a>
</li>
<li>getUnnormalizedValue()
: <a class="el" href="structParameterRanges.html#a992f75a925b3cd5e66544087708ea3c3">ParameterRanges</a>
: <a class="el" href="structParameterRanges.html#a05eb5f161319811b6e18863b72e3b453">ParameterRanges</a>
</li>
<li>getVersion()
: <a class="el" href="classPlugin.html#abae540dd93caf4834270358a8aad334a">Plugin</a>


+ 6
- 0
functions_func_i.html View File

@@ -100,6 +100,12 @@ $(function() {
<li>intersectScissor()
: <a class="el" href="classNanoVG.html#a0d86d93bc09fc8da01f2b2fdd97f7448">NanoVG</a>
</li>
<li>invert()
: <a class="el" href="structColor.html#a1cc575ce361080042b5072f91ca52893">Color</a>
</li>
<li>ioChanged()
: <a class="el" href="classPlugin.html#ac3a55830c3474a3dc663365d43b581c1">Plugin</a>
</li>
<li>isDummyInstance()
: <a class="el" href="classPlugin.html#ab2c6b7bc2e0cdcd589cf9d03be831042">Plugin</a>
</li>


+ 3
- 0
functions_func_m.html View File

@@ -64,6 +64,9 @@ $(function() {
&#160;

<h3><a id="index_m"></a>- m -</h3><ul>
<li>minus()
: <a class="el" href="structColor.html#a9649cf7255a6241a7b08fda056875853">Color</a>
</li>
<li>miterLimit()
: <a class="el" href="classNanoVG.html#a8a5ade44d39d21f28dcd02d27da62d14">NanoVG</a>
</li>


+ 6
- 3
functions_func_p.html View File

@@ -65,7 +65,7 @@ $(function() {

<h3><a id="index_p"></a>- p -</h3><ul>
<li>Parameter()
: <a class="el" href="structParameter.html#a12ced87d6d832deccb6c8ce2c8313b2e">Parameter</a>
: <a class="el" href="structParameter.html#af0c5eeebedfe0058775a7ff4d904b6ab">Parameter</a>
</li>
<li>parameterChanged()
: <a class="el" href="classUI.html#ab3086d302a9685b25abf144ade3e88f6">UI</a>
@@ -74,10 +74,10 @@ $(function() {
: <a class="el" href="structParameterEnumerationValue.html#a169e558182f93aadd2e66819a981a3f9">ParameterEnumerationValue</a>
</li>
<li>ParameterEnumerationValues()
: <a class="el" href="structParameterEnumerationValues.html#ab1bbcf39e2efae872e9b8dbde17a045a">ParameterEnumerationValues</a>
: <a class="el" href="structParameterEnumerationValues.html#a8f8bc997ceb137ec7ead3b0468f6b0ef">ParameterEnumerationValues</a>
</li>
<li>ParameterRanges()
: <a class="el" href="structParameterRanges.html#adb9b2712df3401eb0c5e11362d865d4e">ParameterRanges</a>
: <a class="el" href="structParameterRanges.html#a9b41c9c726cd92c7c1cc8501b36ad9b6">ParameterRanges</a>
</li>
<li>pathWinding()
: <a class="el" href="classNanoVG.html#aaf7f45fc45cf920d261a8b2cfebf9026">NanoVG</a>
@@ -85,6 +85,9 @@ $(function() {
<li>Plugin()
: <a class="el" href="classPlugin.html#acb5a3632da5a5c4110172a3a78e1fd32">Plugin</a>
</li>
<li>plus()
: <a class="el" href="structColor.html#ad3c9595604828b97c3cf1bfeb323cfbe">Color</a>
</li>
<li>Point()
: <a class="el" href="classPoint.html#ada3e3f5f840cf70db3c7f884843a3d01">Point&lt; T &gt;</a>
</li>


+ 4
- 0
functions_func_r.html View File

@@ -82,6 +82,10 @@ $(function() {
<li>Rectangle()
: <a class="el" href="classRectangle.html#acf4a7cdc13c4176d44965db53a3561f3">Rectangle&lt; T &gt;</a>
</li>
<li>reinit()
: <a class="el" href="classStandaloneWindow.html#ad5848f401a4b91a2d4d5c8c420b4f72e">StandaloneWindow</a>
, <a class="el" href="structWindow_1_1ScopedGraphicsContext.html#afe259111bbf09fcf95995b0e447de221">Window::ScopedGraphicsContext</a>
</li>
<li>release()
: <a class="el" href="classScopedPointer.html#a10c8f696fec0cca763b067ec3e469199">ScopedPointer&lt; ObjectType &gt;</a>
</li>


+ 4
- 4
functions_g.html View File

@@ -125,10 +125,10 @@ $(function() {
: <a class="el" href="classLine.html#a5c5de1ccedae8ea85fd711eab10359dd">Line&lt; T &gt;</a>
</li>
<li>getFixedAndNormalizedValue()
: <a class="el" href="structParameterRanges.html#a82698a1e07b1b04ccb5df0de4db0d0be">ParameterRanges</a>
: <a class="el" href="structParameterRanges.html#a0faba98afd9f9c580acc54abe4ddeab5">ParameterRanges</a>
</li>
<li>getFixedValue()
: <a class="el" href="structParameterRanges.html#a983383b2b3ce5d049802a7f0a12cee0c">ParameterRanges</a>
: <a class="el" href="structParameterRanges.html#a85687844ae66f199015e14e6b9973f34">ParameterRanges</a>
</li>
<li>getForegroundColor()
: <a class="el" href="classUI.html#a607ea9f2978605808d8ef5dc3531fae7">UI</a>
@@ -190,7 +190,7 @@ $(function() {
: <a class="el" href="classUI.html#a4630e30aec3f3e7dcfc353ef2807bf56">UI</a>
</li>
<li>getNormalizedValue()
: <a class="el" href="structParameterRanges.html#ad16ef939c1caa2f51e9a4041f769f86e">ParameterRanges</a>
: <a class="el" href="structParameterRanges.html#a215512088b0d0d8f7755bfe35c218602">ParameterRanges</a>
</li>
<li>getNumSegments()
: <a class="el" href="classCircle.html#a3a1586ea9115cc97473a2338127223b6">Circle&lt; T &gt;</a>
@@ -286,7 +286,7 @@ $(function() {
: <a class="el" href="classPlugin.html#ad6ff8c80227d5ceebd40b96f3be29a66">Plugin</a>
</li>
<li>getUnnormalizedValue()
: <a class="el" href="structParameterRanges.html#a992f75a925b3cd5e66544087708ea3c3">ParameterRanges</a>
: <a class="el" href="structParameterRanges.html#a05eb5f161319811b6e18863b72e3b453">ParameterRanges</a>
</li>
<li>getVersion()
: <a class="el" href="classPlugin.html#abae540dd93caf4834270358a8aad334a">Plugin</a>


+ 7
- 1
functions_i.html View File

@@ -71,7 +71,7 @@ $(function() {
: <a class="el" href="classApplication.html#ac8382754f04f4de15768981459a28e3a">Application</a>
</li>
<li>ImageBase()
: <a class="el" href="classImageBase.html#a1a1f82fcab01adea2f8783547e8a18aa">ImageBase</a>
: <a class="el" href="classImageBase.html#a494cd9221fe88f34ce011f004eea7596">ImageBase</a>
</li>
<li>ImageBaseAboutWindow()
: <a class="el" href="classImageBaseAboutWindow.html#ae90dd7700dc6b88eca94be95459f7607">ImageBaseAboutWindow&lt; ImageType &gt;</a>
@@ -106,6 +106,12 @@ $(function() {
<li>invalidateCommit
: <a class="el" href="structHeapBuffer.html#a0cd85f596b680b57cc6669de7cf7ed27">HeapBuffer</a>
</li>
<li>invert()
: <a class="el" href="structColor.html#a1cc575ce361080042b5072f91ca52893">Color</a>
</li>
<li>ioChanged()
: <a class="el" href="classPlugin.html#ac3a55830c3474a3dc663365d43b581c1">Plugin</a>
</li>
<li>isDummyInstance()
: <a class="el" href="classPlugin.html#ab2c6b7bc2e0cdcd589cf9d03be831042">Plugin</a>
</li>


+ 1
- 1
functions_k.html View File

@@ -65,7 +65,7 @@ $(function() {

<h3><a id="index_k"></a>- k -</h3><ul>
<li>kDataSize
: <a class="el" href="structMidiEvent.html#a9e23ce17777c2ff5190670d3262129b9">MidiEvent</a>
: <a class="el" href="structMidiEvent.html#a9c92915476d4a970a07f9ce218f9d7fe">MidiEvent</a>
</li>
<li>key
: <a class="el" href="structState.html#a62474faa50839c3d35fe31b3bf7e39b0">State</a>


+ 3
- 0
functions_m.html View File

@@ -73,6 +73,9 @@ $(function() {
<li>min
: <a class="el" href="structParameterRanges.html#a63c40988463a8ace9d0e9e55a00f3c7b">ParameterRanges</a>
</li>
<li>minus()
: <a class="el" href="structColor.html#a9649cf7255a6241a7b08fda056875853">Color</a>
</li>
<li>miterLimit()
: <a class="el" href="classNanoVG.html#a8a5ade44d39d21f28dcd02d27da62d14">NanoVG</a>
</li>


+ 5
- 2
functions_p.html View File

@@ -74,10 +74,10 @@ $(function() {
: <a class="el" href="structParameterEnumerationValue.html#a169e558182f93aadd2e66819a981a3f9">ParameterEnumerationValue</a>
</li>
<li>ParameterEnumerationValues()
: <a class="el" href="structParameterEnumerationValues.html#ab1bbcf39e2efae872e9b8dbde17a045a">ParameterEnumerationValues</a>
: <a class="el" href="structParameterEnumerationValues.html#a8f8bc997ceb137ec7ead3b0468f6b0ef">ParameterEnumerationValues</a>
</li>
<li>ParameterRanges()
: <a class="el" href="structParameterRanges.html#adb9b2712df3401eb0c5e11362d865d4e">ParameterRanges</a>
: <a class="el" href="structParameterRanges.html#a9b41c9c726cd92c7c1cc8501b36ad9b6">ParameterRanges</a>
</li>
<li>pathWinding()
: <a class="el" href="classNanoVG.html#aaf7f45fc45cf920d261a8b2cfebf9026">NanoVG</a>
@@ -88,6 +88,9 @@ $(function() {
<li>Plugin()
: <a class="el" href="classPlugin.html#acb5a3632da5a5c4110172a3a78e1fd32">Plugin</a>
</li>
<li>plus()
: <a class="el" href="structColor.html#ad3c9595604828b97c3cf1bfeb323cfbe">Color</a>
</li>
<li>Point()
: <a class="el" href="classPoint.html#ada3e3f5f840cf70db3c7f884843a3d01">Point&lt; T &gt;</a>
</li>


+ 6
- 2
functions_r.html View File

@@ -83,7 +83,11 @@ $(function() {
: <a class="el" href="classNanoVG.html#a1bc27cc57b0e2d3bc0fd12d519312251">NanoVG</a>
</li>
<li>Rectangle()
: <a class="el" href="classRectangle.html#acf4a7cdc13c4176d44965db53a3561f3">Rectangle&lt; T &gt;</a>
: <a class="el" href="classRectangle.html#a4b4d34708248ee56900916cdf1138edc">Rectangle&lt; T &gt;</a>
</li>
<li>reinit()
: <a class="el" href="classStandaloneWindow.html#ad5848f401a4b91a2d4d5c8c420b4f72e">StandaloneWindow</a>
, <a class="el" href="structWindow_1_1ScopedGraphicsContext.html#afe259111bbf09fcf95995b0e447de221">Window::ScopedGraphicsContext</a>
</li>
<li>release()
: <a class="el" href="classScopedPointer.html#a10c8f696fec0cca763b067ec3e469199">ScopedPointer&lt; ObjectType &gt;</a>
@@ -98,7 +102,7 @@ $(function() {
<li>repaint()
: <a class="el" href="classStandaloneWindow.html#aa1475d362245c793b516a232deab70ff">StandaloneWindow</a>
, <a class="el" href="classSubWidget.html#a13910739dc797b600502e2dfa7daef87">SubWidget</a>
, <a class="el" href="classTopLevelWidget.html#a4a9b2d040ba36825fd95f966bb4d9e36">TopLevelWidget</a>
, <a class="el" href="classTopLevelWidget.html#a5b71bc1266aea488b1f85b83744adbfd">TopLevelWidget</a>
, <a class="el" href="classWidget.html#abe8cfe0aaae71dd011cf9a86e930fd12">Widget</a>
, <a class="el" href="classWindow.html#a729ab39a1ac99d81b289e08a42582ade">Window</a>
</li>


+ 7
- 1
functions_vars.html View File

@@ -104,6 +104,9 @@ $(function() {
<li>character
: <a class="el" href="structWidget_1_1CharacterInputEvent.html#a8426db4231baad1c1621e287817fde85">Widget::CharacterInputEvent</a>
</li>
<li>className
: <a class="el" href="structFileBrowserOptions.html#a5cd131b31f02ceff8b9ac5db6b40fc3a">FileBrowserOptions</a>
</li>
<li>count
: <a class="el" href="structParameterEnumerationValues.html#afd740dd45384c493801405a1c1c3d51d">ParameterEnumerationValues</a>
</li>
@@ -123,6 +126,9 @@ $(function() {
<li>defaultValue
: <a class="el" href="structState.html#af925c53b4676ed45b8b813424e626c3e">State</a>
</li>
<li>deleteLater
: <a class="el" href="structParameterEnumerationValues.html#acf882508439c41eb4c1bc38237dcc976">ParameterEnumerationValues</a>
</li>
<li>delta
: <a class="el" href="structWidget_1_1ScrollEvent.html#a5081893281d91c5f615cc066fb5fc3dc">Widget::ScrollEvent</a>
</li>
@@ -189,7 +195,7 @@ $(function() {

<h3><a id="index_k"></a>- k -</h3><ul>
<li>kDataSize
: <a class="el" href="structMidiEvent.html#a9e23ce17777c2ff5190670d3262129b9">MidiEvent</a>
: <a class="el" href="structMidiEvent.html#a9c92915476d4a970a07f9ce218f9d7fe">MidiEvent</a>
</li>
<li>key
: <a class="el" href="structState.html#a62474faa50839c3d35fe31b3bf7e39b0">State</a>


+ 61
- 36
group__AudioPortHints.html View File

@@ -70,24 +70,26 @@ $(function() {
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
Variables</h2></td></tr>
<tr class="memitem:ga92c8a0135d1b6dacd22df25295c15ff3"><td class="memItemLeft" align="right" valign="top">static const uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__AudioPortHints.html#ga92c8a0135d1b6dacd22df25295c15ff3">kAudioPortIsCV</a> = 0x1</td></tr>
<tr class="separator:ga92c8a0135d1b6dacd22df25295c15ff3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafbf1a5255d0a19f35ae21480ab2c7433"><td class="memItemLeft" align="right" valign="top">static const uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__AudioPortHints.html#gafbf1a5255d0a19f35ae21480ab2c7433">kAudioPortIsSidechain</a> = 0x2</td></tr>
<tr class="separator:gafbf1a5255d0a19f35ae21480ab2c7433"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7133899b77b31caa1eae3fe77409e69e"><td class="memItemLeft" align="right" valign="top">static const uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__AudioPortHints.html#ga7133899b77b31caa1eae3fe77409e69e">kCVPortHasBipolarRange</a> = 0x10</td></tr>
<tr class="separator:ga7133899b77b31caa1eae3fe77409e69e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafa444d8a3d5244e107c2ddb19f60105d"><td class="memItemLeft" align="right" valign="top">static const uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__AudioPortHints.html#gafa444d8a3d5244e107c2ddb19f60105d">kCVPortHasNegativeUnipolarRange</a> = 0x20</td></tr>
<tr class="separator:gafa444d8a3d5244e107c2ddb19f60105d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0919fac232ec9c6999057b09d54e3919"><td class="memItemLeft" align="right" valign="top">static const uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__AudioPortHints.html#ga0919fac232ec9c6999057b09d54e3919">kCVPortHasPositiveUnipolarRange</a> = 0x40</td></tr>
<tr class="separator:ga0919fac232ec9c6999057b09d54e3919"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae36eb55fe0813af0dd6cdfe4f7baae97"><td class="memItemLeft" align="right" valign="top">static const uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__AudioPortHints.html#gae36eb55fe0813af0dd6cdfe4f7baae97">kCVPortHasScaledRange</a> = 0x80</td></tr>
<tr class="separator:gae36eb55fe0813af0dd6cdfe4f7baae97"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabcc94d985f256449c7a8d3cd87e3be1c"><td class="memItemLeft" align="right" valign="top">static constexpr const uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__AudioPortHints.html#gabcc94d985f256449c7a8d3cd87e3be1c">kAudioPortIsCV</a> = 0x1</td></tr>
<tr class="separator:gabcc94d985f256449c7a8d3cd87e3be1c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga69f0b10291219ded938f1d617da83b6c"><td class="memItemLeft" align="right" valign="top">static constexpr const uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__AudioPortHints.html#ga69f0b10291219ded938f1d617da83b6c">kAudioPortIsSidechain</a> = 0x2</td></tr>
<tr class="separator:ga69f0b10291219ded938f1d617da83b6c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3a45f2c54093698796ccd2c4cc81df52"><td class="memItemLeft" align="right" valign="top">static constexpr const uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__AudioPortHints.html#ga3a45f2c54093698796ccd2c4cc81df52">kCVPortHasBipolarRange</a> = 0x10</td></tr>
<tr class="separator:ga3a45f2c54093698796ccd2c4cc81df52"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa3002d9b23a613dcf6a9ab72457d5de6"><td class="memItemLeft" align="right" valign="top">static constexpr const uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__AudioPortHints.html#gaa3002d9b23a613dcf6a9ab72457d5de6">kCVPortHasNegativeUnipolarRange</a> = 0x20</td></tr>
<tr class="separator:gaa3002d9b23a613dcf6a9ab72457d5de6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga38c419b184512774f70df65a483592f5"><td class="memItemLeft" align="right" valign="top">static constexpr const uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__AudioPortHints.html#ga38c419b184512774f70df65a483592f5">kCVPortHasPositiveUnipolarRange</a> = 0x40</td></tr>
<tr class="separator:ga38c419b184512774f70df65a483592f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4e04785c3970e954164741c2cd359246"><td class="memItemLeft" align="right" valign="top">static constexpr const uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__AudioPortHints.html#ga4e04785c3970e954164741c2cd359246">kCVPortHasScaledRange</a> = 0x80</td></tr>
<tr class="separator:ga4e04785c3970e954164741c2cd359246"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga17a15c61c31e385ab0fdbfdea07d2f07"><td class="memItemLeft" align="right" valign="top">static constexpr const uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__AudioPortHints.html#ga17a15c61c31e385ab0fdbfdea07d2f07">kCVPortIsOptional</a> = 0x100</td></tr>
<tr class="separator:ga17a15c61c31e385ab0fdbfdea07d2f07"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<p>Various audio port hints. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="structAudioPort.html#af93f38f9ef48ea14544adf32e4b1e513">AudioPort::hints</a> </dd></dl>
<h2 class="groupheader">Variable Documentation</h2>
<a id="ga92c8a0135d1b6dacd22df25295c15ff3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga92c8a0135d1b6dacd22df25295c15ff3">&#9670;&nbsp;</a></span>kAudioPortIsCV</h2>
<a id="gabcc94d985f256449c7a8d3cd87e3be1c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gabcc94d985f256449c7a8d3cd87e3be1c">&#9670;&nbsp;</a></span>kAudioPortIsCV</h2>

<div class="memitem">
<div class="memproto">
@@ -96,12 +98,12 @@ Variables</h2></td></tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const uint32_t kAudioPortIsCV = 0x1</td>
<td class="memname">constexpr const uint32_t kAudioPortIsCV = 0x1</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">constexpr</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
@@ -109,8 +111,8 @@ Variables</h2></td></tr>

</div>
</div>
<a id="gafbf1a5255d0a19f35ae21480ab2c7433"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gafbf1a5255d0a19f35ae21480ab2c7433">&#9670;&nbsp;</a></span>kAudioPortIsSidechain</h2>
<a id="ga69f0b10291219ded938f1d617da83b6c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga69f0b10291219ded938f1d617da83b6c">&#9670;&nbsp;</a></span>kAudioPortIsSidechain</h2>

<div class="memitem">
<div class="memproto">
@@ -119,12 +121,12 @@ Variables</h2></td></tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const uint32_t kAudioPortIsSidechain = 0x2</td>
<td class="memname">constexpr const uint32_t kAudioPortIsSidechain = 0x2</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">constexpr</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
@@ -132,8 +134,8 @@ Variables</h2></td></tr>

</div>
</div>
<a id="ga7133899b77b31caa1eae3fe77409e69e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga7133899b77b31caa1eae3fe77409e69e">&#9670;&nbsp;</a></span>kCVPortHasBipolarRange</h2>
<a id="ga3a45f2c54093698796ccd2c4cc81df52"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga3a45f2c54093698796ccd2c4cc81df52">&#9670;&nbsp;</a></span>kCVPortHasBipolarRange</h2>

<div class="memitem">
<div class="memproto">
@@ -142,12 +144,12 @@ Variables</h2></td></tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const uint32_t kCVPortHasBipolarRange = 0x10</td>
<td class="memname">constexpr const uint32_t kCVPortHasBipolarRange = 0x10</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">constexpr</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
@@ -155,8 +157,8 @@ Variables</h2></td></tr>

</div>
</div>
<a id="gafa444d8a3d5244e107c2ddb19f60105d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gafa444d8a3d5244e107c2ddb19f60105d">&#9670;&nbsp;</a></span>kCVPortHasNegativeUnipolarRange</h2>
<a id="gaa3002d9b23a613dcf6a9ab72457d5de6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaa3002d9b23a613dcf6a9ab72457d5de6">&#9670;&nbsp;</a></span>kCVPortHasNegativeUnipolarRange</h2>

<div class="memitem">
<div class="memproto">
@@ -165,12 +167,12 @@ Variables</h2></td></tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const uint32_t kCVPortHasNegativeUnipolarRange = 0x20</td>
<td class="memname">constexpr const uint32_t kCVPortHasNegativeUnipolarRange = 0x20</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">constexpr</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
@@ -178,8 +180,8 @@ Variables</h2></td></tr>

</div>
</div>
<a id="ga0919fac232ec9c6999057b09d54e3919"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga0919fac232ec9c6999057b09d54e3919">&#9670;&nbsp;</a></span>kCVPortHasPositiveUnipolarRange</h2>
<a id="ga38c419b184512774f70df65a483592f5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga38c419b184512774f70df65a483592f5">&#9670;&nbsp;</a></span>kCVPortHasPositiveUnipolarRange</h2>

<div class="memitem">
<div class="memproto">
@@ -188,12 +190,12 @@ Variables</h2></td></tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const uint32_t kCVPortHasPositiveUnipolarRange = 0x40</td>
<td class="memname">constexpr const uint32_t kCVPortHasPositiveUnipolarRange = 0x40</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">constexpr</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
@@ -201,8 +203,8 @@ Variables</h2></td></tr>

</div>
</div>
<a id="gae36eb55fe0813af0dd6cdfe4f7baae97"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gae36eb55fe0813af0dd6cdfe4f7baae97">&#9670;&nbsp;</a></span>kCVPortHasScaledRange</h2>
<a id="ga4e04785c3970e954164741c2cd359246"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga4e04785c3970e954164741c2cd359246">&#9670;&nbsp;</a></span>kCVPortHasScaledRange</h2>

<div class="memitem">
<div class="memproto">
@@ -211,18 +213,41 @@ Variables</h2></td></tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const uint32_t kCVPortHasScaledRange = 0x80</td>
<td class="memname">constexpr const uint32_t kCVPortHasScaledRange = 0x80</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">constexpr</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>CV port has scaled range to match real values (-5 to +5v bipolar, +/-10 to 0v unipolar). One other range flag is required if this flag is set.</p>
<p>When enabled, this makes the port a mod:CVPort, compatible with the MOD Devices platform. </p>

</div>
</div>
<a id="ga17a15c61c31e385ab0fdbfdea07d2f07"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga17a15c61c31e385ab0fdbfdea07d2f07">&#9670;&nbsp;</a></span>kCVPortIsOptional</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">constexpr const uint32_t kCVPortIsOptional = 0x100</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">constexpr</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>CV port is optional, allowing hosts that do no CV ports to load the plugin. When loaded in hosts that don't support CV, the float* buffer for this port will be null. </p>

</div>
</div>
</div><!-- contents -->


+ 18
- 0
group__ExtraPluginMacros.html View File

@@ -74,6 +74,8 @@ Macros</h2></td></tr>
<tr class="separator:ga692c508f53e1eb8747e261d2435490b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9e6df7bd76cecd30e3762a58e29cd011"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ExtraPluginMacros.html#ga9e6df7bd76cecd30e3762a58e29cd011">DPF_VST_SHOW_PARAMETER_OUTPUTS</a></td></tr>
<tr class="separator:ga9e6df7bd76cecd30e3762a58e29cd011"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1942006206023a3943ce25a275de0179"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ExtraPluginMacros.html#ga1942006206023a3943ce25a275de0179">DPF_VST3_DONT_USE_BRAND_ID</a></td></tr>
<tr class="separator:ga1942006206023a3943ce25a275de0179"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabf2289230c19cc52d848bb174955f379"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ExtraPluginMacros.html#gabf2289230c19cc52d848bb174955f379">DGL_FILE_BROWSER_DISABLED</a></td></tr>
<tr class="separator:gabf2289230c19cc52d848bb174955f379"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga38bbd9136e90d6b4ecd77823fc2f29ab"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ExtraPluginMacros.html#ga38bbd9136e90d6b4ecd77823fc2f29ab">DGL_NO_SHARED_RESOURCES</a></td></tr>
@@ -119,6 +121,22 @@ Under DPF makefiles this can be enabled by using <code>make DPF_RUNTIME_TESTING=
<p>Whether to show parameter outputs in the VST2 plugins.<br />
This is disabled (unset) by default, as the VST2 format has no notion of read-only parameters. </p>

</div>
</div>
<a id="ga1942006206023a3943ce25a275de0179"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga1942006206023a3943ce25a275de0179">&#9670;&nbsp;</a></span>DPF_VST3_DONT_USE_BRAND_ID</h2>

<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define DPF_VST3_DONT_USE_BRAND_ID</td>
</tr>
</table>
</div><div class="memdoc">
<p>Forcibly ignore DISTRHO_PLUGIN_BRAND_ID for VST3 plugins.<br />
This is required for DPF-based VST3 plugins that got released without setting DISTRHO_PLUGIN_BRAND_ID first. </p>

</div>
</div>
<a id="gabf2289230c19cc52d848bb174955f379"></a>


+ 156
- 28
group__MathFunctions.html View File

@@ -70,25 +70,37 @@ $(function() {
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:gabcb7db6e30f7428a3caa0fdec12af17a"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:gabcb7db6e30f7428a3caa0fdec12af17a"><td class="memTemplItemLeft" align="right" valign="top">static bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__MathFunctions.html#gabcb7db6e30f7428a3caa0fdec12af17a">d_isEqual</a> (const T &amp;v1, const T &amp;v2)</td></tr>
<tr class="separator:gabcb7db6e30f7428a3caa0fdec12af17a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf99f3a8a1c9d97b07c0f225fad8a27b7"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:gaf99f3a8a1c9d97b07c0f225fad8a27b7"><td class="memTemplItemLeft" align="right" valign="top">static bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__MathFunctions.html#gaf99f3a8a1c9d97b07c0f225fad8a27b7">d_isNotEqual</a> (const T &amp;v1, const T &amp;v2)</td></tr>
<tr class="separator:gaf99f3a8a1c9d97b07c0f225fad8a27b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae357f9031f7bcd8eccef3443081d3772"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:gae357f9031f7bcd8eccef3443081d3772"><td class="memTemplItemLeft" align="right" valign="top">static bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__MathFunctions.html#gae357f9031f7bcd8eccef3443081d3772">d_isZero</a> (const T &amp;value)</td></tr>
<tr class="separator:gae357f9031f7bcd8eccef3443081d3772"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa8753f357eea6f93c5fa4e538ce6ac47"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:gaa8753f357eea6f93c5fa4e538ce6ac47"><td class="memTemplItemLeft" align="right" valign="top">static bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__MathFunctions.html#gaa8753f357eea6f93c5fa4e538ce6ac47">d_isNotZero</a> (const T &amp;value)</td></tr>
<tr class="separator:gaa8753f357eea6f93c5fa4e538ce6ac47"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga81d4bbe1b2730cfc30aec9b347ef9360"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:ga81d4bbe1b2730cfc30aec9b347ef9360"><td class="memTemplItemLeft" align="right" valign="top">static constexpr bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__MathFunctions.html#ga81d4bbe1b2730cfc30aec9b347ef9360">d_isEqual</a> (const T &amp;v1, const T &amp;v2)</td></tr>
<tr class="separator:ga81d4bbe1b2730cfc30aec9b347ef9360"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3d70c97c300b9fb2792ba4fbb2fb501e"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:ga3d70c97c300b9fb2792ba4fbb2fb501e"><td class="memTemplItemLeft" align="right" valign="top">static constexpr bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__MathFunctions.html#ga3d70c97c300b9fb2792ba4fbb2fb501e">d_isNotEqual</a> (const T &amp;v1, const T &amp;v2)</td></tr>
<tr class="separator:ga3d70c97c300b9fb2792ba4fbb2fb501e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf5526b06989c47f21bdff3cd99af8353"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:gaf5526b06989c47f21bdff3cd99af8353"><td class="memTemplItemLeft" align="right" valign="top">static constexpr bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__MathFunctions.html#gaf5526b06989c47f21bdff3cd99af8353">d_isZero</a> (const T &amp;value)</td></tr>
<tr class="separator:gaf5526b06989c47f21bdff3cd99af8353"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad891a20280e4f41017e7247d6e5a1f13"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:gad891a20280e4f41017e7247d6e5a1f13"><td class="memTemplItemLeft" align="right" valign="top">static constexpr bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__MathFunctions.html#gad891a20280e4f41017e7247d6e5a1f13">d_isNotZero</a> (const T &amp;value)</td></tr>
<tr class="separator:gad891a20280e4f41017e7247d6e5a1f13"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaded8dbdc7ff99c70e7361b3f1a32b584"><td class="memItemLeft" align="right" valign="top">static uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__MathFunctions.html#gaded8dbdc7ff99c70e7361b3f1a32b584">d_nextPowerOf2</a> (uint32_t size) noexcept</td></tr>
<tr class="separator:gaded8dbdc7ff99c70e7361b3f1a32b584"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3de0a572416cb38ca424094b595954ae"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:ga3de0a572416cb38ca424094b595954ae"><td class="memTemplItemLeft" align="right" valign="top">static constexpr int32_t&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__MathFunctions.html#ga3de0a572416cb38ca424094b595954ae">d_roundToIntPositive</a> (const T &amp;value)</td></tr>
<tr class="separator:ga3de0a572416cb38ca424094b595954ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga10abb07d21f97c5fbc0ec0b5fa0ab721"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:ga10abb07d21f97c5fbc0ec0b5fa0ab721"><td class="memTemplItemLeft" align="right" valign="top">static constexpr uint32_t&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__MathFunctions.html#ga10abb07d21f97c5fbc0ec0b5fa0ab721">d_roundToUnsignedInt</a> (const T &amp;value)</td></tr>
<tr class="separator:ga10abb07d21f97c5fbc0ec0b5fa0ab721"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gadd62923031cb7d9e06d01957b3bcf3a6"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:gadd62923031cb7d9e06d01957b3bcf3a6"><td class="memTemplItemLeft" align="right" valign="top">static constexpr int32_t&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__MathFunctions.html#gadd62923031cb7d9e06d01957b3bcf3a6">d_roundToIntNegative</a> (const T &amp;value)</td></tr>
<tr class="separator:gadd62923031cb7d9e06d01957b3bcf3a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga981676558e521894c2ec4ca56b2ec8af"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:ga981676558e521894c2ec4ca56b2ec8af"><td class="memTemplItemLeft" align="right" valign="top">static constexpr int32_t&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__MathFunctions.html#ga981676558e521894c2ec4ca56b2ec8af">d_roundToInt</a> (const T &amp;value)</td></tr>
<tr class="separator:ga981676558e521894c2ec4ca56b2ec8af"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<h2 class="groupheader">Function Documentation</h2>
<a id="gabcb7db6e30f7428a3caa0fdec12af17a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gabcb7db6e30f7428a3caa0fdec12af17a">&#9670;&nbsp;</a></span>d_isEqual()</h2>
<a id="ga81d4bbe1b2730cfc30aec9b347ef9360"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga81d4bbe1b2730cfc30aec9b347ef9360">&#9670;&nbsp;</a></span>d_isEqual()</h2>

<div class="memitem">
<div class="memproto">
@@ -99,7 +111,7 @@ template&lt;typename T &gt; </div>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static bool d_isEqual </td>
<td class="memname">static constexpr bool d_isEqual </td>
<td>(</td>
<td class="paramtype">const T &amp;&#160;</td>
<td class="paramname"><em>v1</em>, </td>
@@ -118,7 +130,7 @@ template&lt;typename T &gt; </div>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span><span class="mlabel">constexpr</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
@@ -126,8 +138,8 @@ template&lt;typename T &gt; </div>

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

<div class="memitem">
<div class="memproto">
@@ -138,7 +150,7 @@ template&lt;typename T &gt; </div>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static bool d_isNotEqual </td>
<td class="memname">static constexpr bool d_isNotEqual </td>
<td>(</td>
<td class="paramtype">const T &amp;&#160;</td>
<td class="paramname"><em>v1</em>, </td>
@@ -157,7 +169,7 @@ template&lt;typename T &gt; </div>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span><span class="mlabel">constexpr</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
@@ -165,8 +177,8 @@ template&lt;typename T &gt; </div>

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

<div class="memitem">
<div class="memproto">
@@ -177,7 +189,7 @@ template&lt;typename T &gt; </div>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static bool d_isZero </td>
<td class="memname">static constexpr bool d_isZero </td>
<td>(</td>
<td class="paramtype">const T &amp;&#160;</td>
<td class="paramname"><em>value</em></td><td>)</td>
@@ -186,7 +198,7 @@ template&lt;typename T &gt; </div>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span><span class="mlabel">constexpr</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
@@ -194,8 +206,8 @@ template&lt;typename T &gt; </div>

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

<div class="memitem">
<div class="memproto">
@@ -206,7 +218,7 @@ template&lt;typename T &gt; </div>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static bool d_isNotZero </td>
<td class="memname">static constexpr bool d_isNotZero </td>
<td>(</td>
<td class="paramtype">const T &amp;&#160;</td>
<td class="paramname"><em>value</em></td><td>)</td>
@@ -215,7 +227,7 @@ template&lt;typename T &gt; </div>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span><span class="mlabel">constexpr</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
@@ -248,6 +260,122 @@ template&lt;typename T &gt; </div>
</div><div class="memdoc">
<p>Get next power of 2. </p>

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

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static constexpr int32_t d_roundToIntPositive </td>
<td>(</td>
<td class="paramtype">const T &amp;&#160;</td>
<td class="paramname"><em>value</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span><span class="mlabel">constexpr</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Round a floating point number to an integer. Fast operation for values known to be 0 or positive. </p>

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

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static constexpr uint32_t d_roundToUnsignedInt </td>
<td>(</td>
<td class="paramtype">const T &amp;&#160;</td>
<td class="paramname"><em>value</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span><span class="mlabel">constexpr</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Round a floating point number to an unsigned integer. Fast operation for values known to be 0 or positive. </p>

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

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static constexpr int32_t d_roundToIntNegative </td>
<td>(</td>
<td class="paramtype">const T &amp;&#160;</td>
<td class="paramname"><em>value</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span><span class="mlabel">constexpr</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Round a floating point number to an integer. Fast operation for values known to be 0 or negative. </p>

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

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static constexpr int32_t d_roundToInt </td>
<td>(</td>
<td class="paramtype">const T &amp;&#160;</td>
<td class="paramname"><em>value</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span><span class="mlabel">constexpr</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Round a floating point number to integer. </p>

</div>
</div>
</div><!-- contents -->


+ 30
- 1
group__MiscellaneousFunctions.html View File

@@ -72,6 +72,8 @@ $(function() {
Functions</h2></td></tr>
<tr class="memitem:ga6827e90feb9bdcb6f76175a245fbf12c"><td class="memItemLeft" align="right" valign="top">static constexpr int64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__MiscellaneousFunctions.html#ga6827e90feb9bdcb6f76175a245fbf12c">d_cconst</a> (const uint8_t a, const uint8_t b, const uint8_t c, const uint8_t d) noexcept</td></tr>
<tr class="separator:ga6827e90feb9bdcb6f76175a245fbf12c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa6e4fa8bdcebd0d15f4ead3bb923e3f3"><td class="memItemLeft" align="right" valign="top">static constexpr uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__MiscellaneousFunctions.html#gaa6e4fa8bdcebd0d15f4ead3bb923e3f3">d_cconst</a> (const char str[4])</td></tr>
<tr class="separator:gaa6e4fa8bdcebd0d15f4ead3bb923e3f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga95d67ff74d46b2c80f15c7790a523154"><td class="memItemLeft" align="right" valign="top">static constexpr uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__MiscellaneousFunctions.html#ga95d67ff74d46b2c80f15c7790a523154">d_version</a> (const uint8_t major, const uint8_t minor, const uint8_t micro) noexcept</td></tr>
<tr class="separator:ga95d67ff74d46b2c80f15c7790a523154"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga208c5bc138b7d4d4e318b6174c9dbf6d"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__MiscellaneousFunctions.html#ga208c5bc138b7d4d4e318b6174c9dbf6d">d_pass</a> () noexcept</td></tr>
@@ -80,7 +82,7 @@ Functions</h2></td></tr>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<h2 class="groupheader">Function Documentation</h2>
<a id="ga6827e90feb9bdcb6f76175a245fbf12c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga6827e90feb9bdcb6f76175a245fbf12c">&#9670;&nbsp;</a></span>d_cconst()</h2>
<h2 class="memtitle"><span class="permalink"><a href="#ga6827e90feb9bdcb6f76175a245fbf12c">&#9670;&nbsp;</a></span>d_cconst() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
@@ -127,6 +129,33 @@ Functions</h2></td></tr>
<p>Return a 32-bit number from 4 8-bit numbers.<br />
The return type is a int64_t for better compatibility with plugin formats that use such numbers. </p>

</div>
</div>
<a id="gaa6e4fa8bdcebd0d15f4ead3bb923e3f3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaa6e4fa8bdcebd0d15f4ead3bb923e3f3">&#9670;&nbsp;</a></span>d_cconst() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static constexpr uint32_t d_cconst </td>
<td>(</td>
<td class="paramtype">const char&#160;</td>
<td class="paramname"><em>str</em>[4]</td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span><span class="mlabel">constexpr</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Return a 32-bit number from 4 ASCII characters. </p>

</div>
</div>
<a id="ga95d67ff74d46b2c80f15c7790a523154"></a>


+ 68
- 42
group__ParameterHints.html View File

@@ -70,26 +70,28 @@ $(function() {
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
Variables</h2></td></tr>
<tr class="memitem:ga6d39267b105c2d8dfc82a810c5e8a061"><td class="memItemLeft" align="right" valign="top">static const uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ParameterHints.html#ga6d39267b105c2d8dfc82a810c5e8a061">kParameterIsAutomatable</a> = 0x01</td></tr>
<tr class="separator:ga6d39267b105c2d8dfc82a810c5e8a061"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga04161ef926442aa08ae7aa6847078ad9"><td class="memItemLeft" align="right" valign="top">static const uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ParameterHints.html#ga04161ef926442aa08ae7aa6847078ad9">kParameterIsAutomable</a> = <a class="el" href="group__ParameterHints.html#ga6d39267b105c2d8dfc82a810c5e8a061">kParameterIsAutomatable</a></td></tr>
<tr class="separator:ga04161ef926442aa08ae7aa6847078ad9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaafca30df903781d2e1c2491808e17c8d"><td class="memItemLeft" align="right" valign="top">static const uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ParameterHints.html#gaafca30df903781d2e1c2491808e17c8d">kParameterIsBoolean</a> = 0x02</td></tr>
<tr class="separator:gaafca30df903781d2e1c2491808e17c8d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga76a82c93efe6ad728c9f0cb4ef33a2b9"><td class="memItemLeft" align="right" valign="top">static const uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ParameterHints.html#ga76a82c93efe6ad728c9f0cb4ef33a2b9">kParameterIsInteger</a> = 0x04</td></tr>
<tr class="separator:ga76a82c93efe6ad728c9f0cb4ef33a2b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabc539ecbfe420246a33f93aed32b8a3b"><td class="memItemLeft" align="right" valign="top">static const uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ParameterHints.html#gabc539ecbfe420246a33f93aed32b8a3b">kParameterIsLogarithmic</a> = 0x08</td></tr>
<tr class="separator:gabc539ecbfe420246a33f93aed32b8a3b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0a3633c93e8589f4b3e6124bb97ad8d4"><td class="memItemLeft" align="right" valign="top">static const uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ParameterHints.html#ga0a3633c93e8589f4b3e6124bb97ad8d4">kParameterIsOutput</a> = 0x10</td></tr>
<tr class="separator:ga0a3633c93e8589f4b3e6124bb97ad8d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga068de47c587411c9e91ef09f7d800884"><td class="memItemLeft" align="right" valign="top">static const uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ParameterHints.html#ga068de47c587411c9e91ef09f7d800884">kParameterIsTrigger</a> = 0x20 | <a class="el" href="group__ParameterHints.html#gaafca30df903781d2e1c2491808e17c8d">kParameterIsBoolean</a></td></tr>
<tr class="separator:ga068de47c587411c9e91ef09f7d800884"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf82d83a105dc418877ef91e84ac6efd3"><td class="memItemLeft" align="right" valign="top">static constexpr const uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ParameterHints.html#gaf82d83a105dc418877ef91e84ac6efd3">kParameterIsAutomatable</a> = 0x01</td></tr>
<tr class="separator:gaf82d83a105dc418877ef91e84ac6efd3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga93539c9797820bb5fd7a28d2152711fc"><td class="memItemLeft" align="right" valign="top">static constexpr const uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ParameterHints.html#ga93539c9797820bb5fd7a28d2152711fc">kParameterIsAutomable</a> = <a class="el" href="group__ParameterHints.html#gaf82d83a105dc418877ef91e84ac6efd3">kParameterIsAutomatable</a></td></tr>
<tr class="separator:ga93539c9797820bb5fd7a28d2152711fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae7bfe085cc1ce2d56488254946846dd7"><td class="memItemLeft" align="right" valign="top">static constexpr const uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ParameterHints.html#gae7bfe085cc1ce2d56488254946846dd7">kParameterIsBoolean</a> = 0x02</td></tr>
<tr class="separator:gae7bfe085cc1ce2d56488254946846dd7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9588f46e0b10f8b690aa8290e9fa7959"><td class="memItemLeft" align="right" valign="top">static constexpr const uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ParameterHints.html#ga9588f46e0b10f8b690aa8290e9fa7959">kParameterIsInteger</a> = 0x04</td></tr>
<tr class="separator:ga9588f46e0b10f8b690aa8290e9fa7959"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa37037e8977495866d0ea58a2d804f3b"><td class="memItemLeft" align="right" valign="top">static constexpr const uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ParameterHints.html#gaa37037e8977495866d0ea58a2d804f3b">kParameterIsLogarithmic</a> = 0x08</td></tr>
<tr class="separator:gaa37037e8977495866d0ea58a2d804f3b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2fecc56e672626c98bdbc004c581101b"><td class="memItemLeft" align="right" valign="top">static constexpr const uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ParameterHints.html#ga2fecc56e672626c98bdbc004c581101b">kParameterIsOutput</a> = 0x10</td></tr>
<tr class="separator:ga2fecc56e672626c98bdbc004c581101b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa347318fd978d909d6f247377413f871"><td class="memItemLeft" align="right" valign="top">static constexpr const uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ParameterHints.html#gaa347318fd978d909d6f247377413f871">kParameterIsTrigger</a> = 0x20 | <a class="el" href="group__ParameterHints.html#gae7bfe085cc1ce2d56488254946846dd7">kParameterIsBoolean</a></td></tr>
<tr class="separator:gaa347318fd978d909d6f247377413f871"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8b5cde9360d1f54acfa8d7b6c2d3560d"><td class="memItemLeft" align="right" valign="top">static constexpr const uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ParameterHints.html#ga8b5cde9360d1f54acfa8d7b6c2d3560d">kParameterIsHidden</a> = 0x40</td></tr>
<tr class="separator:ga8b5cde9360d1f54acfa8d7b6c2d3560d"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<p>Various parameter hints. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="structParameter.html#a397fb977f0c6cbec31df4f141ca3f5b3">Parameter::hints</a> </dd></dl>
<h2 class="groupheader">Variable Documentation</h2>
<a id="ga6d39267b105c2d8dfc82a810c5e8a061"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga6d39267b105c2d8dfc82a810c5e8a061">&#9670;&nbsp;</a></span>kParameterIsAutomatable</h2>
<a id="gaf82d83a105dc418877ef91e84ac6efd3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaf82d83a105dc418877ef91e84ac6efd3">&#9670;&nbsp;</a></span>kParameterIsAutomatable</h2>

<div class="memitem">
<div class="memproto">
@@ -98,12 +100,12 @@ Variables</h2></td></tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const uint32_t kParameterIsAutomatable = 0x01</td>
<td class="memname">constexpr const uint32_t kParameterIsAutomatable = 0x01</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">constexpr</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
@@ -111,8 +113,8 @@ Variables</h2></td></tr>

</div>
</div>
<a id="ga04161ef926442aa08ae7aa6847078ad9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga04161ef926442aa08ae7aa6847078ad9">&#9670;&nbsp;</a></span>kParameterIsAutomable</h2>
<a id="ga93539c9797820bb5fd7a28d2152711fc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga93539c9797820bb5fd7a28d2152711fc">&#9670;&nbsp;</a></span>kParameterIsAutomable</h2>

<div class="memitem">
<div class="memproto">
@@ -121,12 +123,12 @@ Variables</h2></td></tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const uint32_t kParameterIsAutomable = <a class="el" href="group__ParameterHints.html#ga6d39267b105c2d8dfc82a810c5e8a061">kParameterIsAutomatable</a></td>
<td class="memname">constexpr const uint32_t kParameterIsAutomable = <a class="el" href="group__ParameterHints.html#gaf82d83a105dc418877ef91e84ac6efd3">kParameterIsAutomatable</a></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">constexpr</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
@@ -134,8 +136,8 @@ Variables</h2></td></tr>

</div>
</div>
<a id="gaafca30df903781d2e1c2491808e17c8d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaafca30df903781d2e1c2491808e17c8d">&#9670;&nbsp;</a></span>kParameterIsBoolean</h2>
<a id="gae7bfe085cc1ce2d56488254946846dd7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gae7bfe085cc1ce2d56488254946846dd7">&#9670;&nbsp;</a></span>kParameterIsBoolean</h2>

<div class="memitem">
<div class="memproto">
@@ -144,12 +146,12 @@ Variables</h2></td></tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const uint32_t kParameterIsBoolean = 0x02</td>
<td class="memname">constexpr const uint32_t kParameterIsBoolean = 0x02</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">constexpr</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
@@ -158,8 +160,8 @@ It's always at either minimum or maximum value. </p>

</div>
</div>
<a id="ga76a82c93efe6ad728c9f0cb4ef33a2b9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga76a82c93efe6ad728c9f0cb4ef33a2b9">&#9670;&nbsp;</a></span>kParameterIsInteger</h2>
<a id="ga9588f46e0b10f8b690aa8290e9fa7959"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga9588f46e0b10f8b690aa8290e9fa7959">&#9670;&nbsp;</a></span>kParameterIsInteger</h2>

<div class="memitem">
<div class="memproto">
@@ -168,12 +170,12 @@ It's always at either minimum or maximum value. </p>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const uint32_t kParameterIsInteger = 0x04</td>
<td class="memname">constexpr const uint32_t kParameterIsInteger = 0x04</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">constexpr</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
@@ -181,8 +183,8 @@ It's always at either minimum or maximum value. </p>

</div>
</div>
<a id="gabc539ecbfe420246a33f93aed32b8a3b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gabc539ecbfe420246a33f93aed32b8a3b">&#9670;&nbsp;</a></span>kParameterIsLogarithmic</h2>
<a id="gaa37037e8977495866d0ea58a2d804f3b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaa37037e8977495866d0ea58a2d804f3b">&#9670;&nbsp;</a></span>kParameterIsLogarithmic</h2>

<div class="memitem">
<div class="memproto">
@@ -191,12 +193,12 @@ It's always at either minimum or maximum value. </p>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const uint32_t kParameterIsLogarithmic = 0x08</td>
<td class="memname">constexpr const uint32_t kParameterIsLogarithmic = 0x08</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">constexpr</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
@@ -204,8 +206,8 @@ It's always at either minimum or maximum value. </p>

</div>
</div>
<a id="ga0a3633c93e8589f4b3e6124bb97ad8d4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga0a3633c93e8589f4b3e6124bb97ad8d4">&#9670;&nbsp;</a></span>kParameterIsOutput</h2>
<a id="ga2fecc56e672626c98bdbc004c581101b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga2fecc56e672626c98bdbc004c581101b">&#9670;&nbsp;</a></span>kParameterIsOutput</h2>

<div class="memitem">
<div class="memproto">
@@ -214,12 +216,12 @@ It's always at either minimum or maximum value. </p>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const uint32_t kParameterIsOutput = 0x10</td>
<td class="memname">constexpr const uint32_t kParameterIsOutput = 0x10</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">constexpr</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
@@ -233,8 +235,8 @@ Outputs are changed by the plugin and never modified by the host.</p>

</div>
</div>
<a id="ga068de47c587411c9e91ef09f7d800884"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga068de47c587411c9e91ef09f7d800884">&#9670;&nbsp;</a></span>kParameterIsTrigger</h2>
<a id="gaa347318fd978d909d6f247377413f871"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaa347318fd978d909d6f247377413f871">&#9670;&nbsp;</a></span>kParameterIsTrigger</h2>

<div class="memitem">
<div class="memproto">
@@ -243,12 +245,12 @@ Outputs are changed by the plugin and never modified by the host.</p>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const uint32_t kParameterIsTrigger = 0x20 | <a class="el" href="group__ParameterHints.html#gaafca30df903781d2e1c2491808e17c8d">kParameterIsBoolean</a></td>
<td class="memname">constexpr const uint32_t kParameterIsTrigger = 0x20 | <a class="el" href="group__ParameterHints.html#gae7bfe085cc1ce2d56488254946846dd7">kParameterIsBoolean</a></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">constexpr</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
@@ -257,6 +259,30 @@ This means the value resets back to its default after each process/run call.<br
Cannot be used for output parameters.</p>
<dl class="section note"><dt>Note</dt><dd>Only officially supported under LV2. For other formats DPF simulates the behaviour. </dd></dl>

</div>
</div>
<a id="ga8b5cde9360d1f54acfa8d7b6c2d3560d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga8b5cde9360d1f54acfa8d7b6c2d3560d">&#9670;&nbsp;</a></span>kParameterIsHidden</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">constexpr const uint32_t kParameterIsHidden = 0x40</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">constexpr</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p><a class="el" href="structParameter.html">Parameter</a> should be hidden from the host and user-visible GUIs.<br />
It is still saved and handled as any regular parameter, just not visible to the user (for example in a host generated GUI) </p>

</div>
</div>
</div><!-- contents -->


+ 56
- 0
group__PluginMacros.html View File

@@ -122,6 +122,12 @@ Macros</h2></td></tr>
<tr class="separator:gabadb9d9ba7f479df39b3963ee60b7a4b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga420a88022da249b9f38a6046998dbd7c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__PluginMacros.html#ga420a88022da249b9f38a6046998dbd7c">DISTRHO_UI_URI</a>&#160;&#160;&#160;<a class="el" href="group__PluginMacros.html#ga9cc186448134e6a1956474b3878c97a8">DISTRHO_PLUGIN_URI</a> &quot;#UI&quot;</td></tr>
<tr class="separator:ga420a88022da249b9f38a6046998dbd7c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0cb49832109c90267e4e7f7272154d4d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__PluginMacros.html#ga0cb49832109c90267e4e7f7272154d4d">DISTRHO_PLUGIN_AU_TYPE</a>&#160;&#160;&#160;aufx</td></tr>
<tr class="separator:ga0cb49832109c90267e4e7f7272154d4d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9c9caf7e3376c9235c3529dbc612a964"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__PluginMacros.html#ga9c9caf7e3376c9235c3529dbc612a964">DISTRHO_PLUGIN_BRAND_ID</a>&#160;&#160;&#160;Dstr</td></tr>
<tr class="separator:ga9c9caf7e3376c9235c3529dbc612a964"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga096d7684289e65485311a427ad8772f3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__PluginMacros.html#ga096d7684289e65485311a427ad8772f3">DISTRHO_PLUGIN_UNIQUE_ID</a>&#160;&#160;&#160;test</td></tr>
<tr class="separator:ga096d7684289e65485311a427ad8772f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga97bd6556fb9fcfc181778edb4fceeeef"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__PluginMacros.html#ga97bd6556fb9fcfc181778edb4fceeeef">DISTRHO_PLUGIN_LV2_CATEGORY</a>&#160;&#160;&#160;&quot;lv2:Plugin&quot;</td></tr>
<tr class="separator:ga97bd6556fb9fcfc181778edb4fceeeef"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab5bfd0f8045aa7eedd2ec6f5c9c2d17f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__PluginMacros.html#gab5bfd0f8045aa7eedd2ec6f5c9c2d17f">DISTRHO_PLUGIN_VST3_CATEGORIES</a>&#160;&#160;&#160;&quot;Fx|Stereo&quot;</td></tr>
@@ -562,6 +568,56 @@ Enabling this options makes it possible for the user to resize the plugin <a cla
<p>The UI URI when exporting in LV2 format.<br />
By default this is set to <a class="el" href="group__PluginMacros.html#ga9cc186448134e6a1956474b3878c97a8">DISTRHO_PLUGIN_URI</a> with "#UI" as suffix. </p>

</div>
</div>
<a id="ga0cb49832109c90267e4e7f7272154d4d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga0cb49832109c90267e4e7f7272154d4d">&#9670;&nbsp;</a></span>DISTRHO_PLUGIN_AU_TYPE</h2>

<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define DISTRHO_PLUGIN_AU_TYPE&#160;&#160;&#160;aufx</td>
</tr>
</table>
</div><div class="memdoc">
<p>The AudioUnit type for a plugin.<br />
This is a 4-character symbol, automatically set by DPF based on other plugin macros. See <a href="https://developer.apple.com/documentation/audiotoolbox/1584142-audio_unit_types">https://developer.apple.com/documentation/audiotoolbox/1584142-audio_unit_types</a> for more information. </p>

</div>
</div>
<a id="ga9c9caf7e3376c9235c3529dbc612a964"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga9c9caf7e3376c9235c3529dbc612a964">&#9670;&nbsp;</a></span>DISTRHO_PLUGIN_BRAND_ID</h2>

<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define DISTRHO_PLUGIN_BRAND_ID&#160;&#160;&#160;Dstr</td>
</tr>
</table>
</div><div class="memdoc">
<p>A 4-character symbol that identifies a brand or manufacturer, with at least one non-lower case character.<br />
Plugins from the same brand should use the same symbol. </p><dl class="section note"><dt>Note</dt><dd>This macro is required when building AU plugins, and used for VST3 if present </dd>
<dd>
Setting this macro will change the uid of a VST3 plugin. If you already released a DPF-based VST3 plugin make sure to also enable DISTRHO_PLUGIN_VST3_OLD_ID_COMPAT </dd></dl>

</div>
</div>
<a id="ga096d7684289e65485311a427ad8772f3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga096d7684289e65485311a427ad8772f3">&#9670;&nbsp;</a></span>DISTRHO_PLUGIN_UNIQUE_ID</h2>

<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define DISTRHO_PLUGIN_UNIQUE_ID&#160;&#160;&#160;test</td>
</tr>
</table>
</div><div class="memdoc">
<p>A 4-character symbol which identifies a plugin.<br />
It must be unique within at least a set of plugins from the brand. </p><dl class="section note"><dt>Note</dt><dd>This macro is required when building AU plugins </dd></dl>

</div>
</div>
<a id="ga97bd6556fb9fcfc181778edb4fceeeef"></a>


+ 36
- 36
group__StateHints.html View File

@@ -70,24 +70,24 @@ $(function() {
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
Variables</h2></td></tr>
<tr class="memitem:gacbcc437321d85ca23d692b68802a0165"><td class="memItemLeft" align="right" valign="top">static const uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__StateHints.html#gacbcc437321d85ca23d692b68802a0165">kStateIsHostReadable</a> = 0x01</td></tr>
<tr class="separator:gacbcc437321d85ca23d692b68802a0165"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga57437781c616c82bcb9e409433b7f16d"><td class="memItemLeft" align="right" valign="top">static const uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__StateHints.html#ga57437781c616c82bcb9e409433b7f16d">kStateIsHostWritable</a> = 0x02 | <a class="el" href="group__StateHints.html#gacbcc437321d85ca23d692b68802a0165">kStateIsHostReadable</a></td></tr>
<tr class="separator:ga57437781c616c82bcb9e409433b7f16d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaea57e1af2af673c2647757335d2d3751"><td class="memItemLeft" align="right" valign="top">static const uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__StateHints.html#gaea57e1af2af673c2647757335d2d3751">kStateIsFilenamePath</a> = 0x04 | <a class="el" href="group__StateHints.html#ga57437781c616c82bcb9e409433b7f16d">kStateIsHostWritable</a></td></tr>
<tr class="separator:gaea57e1af2af673c2647757335d2d3751"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad07fa3f1fd8ca36e94f75518d9d3d29e"><td class="memItemLeft" align="right" valign="top">static const uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__StateHints.html#gad07fa3f1fd8ca36e94f75518d9d3d29e">kStateIsBase64Blob</a> = 0x08</td></tr>
<tr class="separator:gad07fa3f1fd8ca36e94f75518d9d3d29e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1e7299b8d4c8c1fc57bceef2b87fe057"><td class="memItemLeft" align="right" valign="top">static const uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__StateHints.html#ga1e7299b8d4c8c1fc57bceef2b87fe057">kStateIsOnlyForDSP</a> = 0x10</td></tr>
<tr class="separator:ga1e7299b8d4c8c1fc57bceef2b87fe057"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7d960ebb437726e25066b5e38b4a4843"><td class="memItemLeft" align="right" valign="top">static const uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__StateHints.html#ga7d960ebb437726e25066b5e38b4a4843">kStateIsOnlyForUI</a> = 0x20</td></tr>
<tr class="separator:ga7d960ebb437726e25066b5e38b4a4843"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga41ada5ff397930abdbf3fbfb1abb6fea"><td class="memItemLeft" align="right" valign="top">static constexpr const uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__StateHints.html#ga41ada5ff397930abdbf3fbfb1abb6fea">kStateIsHostReadable</a> = 0x01</td></tr>
<tr class="separator:ga41ada5ff397930abdbf3fbfb1abb6fea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaec50a267e06e0299ae9f20fd702e4e60"><td class="memItemLeft" align="right" valign="top">static constexpr const uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__StateHints.html#gaec50a267e06e0299ae9f20fd702e4e60">kStateIsHostWritable</a> = 0x02 | <a class="el" href="group__StateHints.html#ga41ada5ff397930abdbf3fbfb1abb6fea">kStateIsHostReadable</a></td></tr>
<tr class="separator:gaec50a267e06e0299ae9f20fd702e4e60"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5f41b602be8ae24d8ad0cd25deb41922"><td class="memItemLeft" align="right" valign="top">static constexpr const uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__StateHints.html#ga5f41b602be8ae24d8ad0cd25deb41922">kStateIsFilenamePath</a> = 0x04 | <a class="el" href="group__StateHints.html#gaec50a267e06e0299ae9f20fd702e4e60">kStateIsHostWritable</a></td></tr>
<tr class="separator:ga5f41b602be8ae24d8ad0cd25deb41922"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac892503b0568ceb31f0f7c46af701b0b"><td class="memItemLeft" align="right" valign="top">static constexpr const uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__StateHints.html#gac892503b0568ceb31f0f7c46af701b0b">kStateIsBase64Blob</a> = 0x08</td></tr>
<tr class="separator:gac892503b0568ceb31f0f7c46af701b0b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2c0833856c3f88a338bd8ee578ab8b72"><td class="memItemLeft" align="right" valign="top">static constexpr const uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__StateHints.html#ga2c0833856c3f88a338bd8ee578ab8b72">kStateIsOnlyForDSP</a> = 0x10</td></tr>
<tr class="separator:ga2c0833856c3f88a338bd8ee578ab8b72"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga313547806946a945f31f1a6de14fd12d"><td class="memItemLeft" align="right" valign="top">static constexpr const uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__StateHints.html#ga313547806946a945f31f1a6de14fd12d">kStateIsOnlyForUI</a> = 0x20</td></tr>
<tr class="separator:ga313547806946a945f31f1a6de14fd12d"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<p>Various state hints. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="structState.html#adaa34a729d4e8c0e2e6434b4c4f55fab">State::hints</a> </dd></dl>
<h2 class="groupheader">Variable Documentation</h2>
<a id="gacbcc437321d85ca23d692b68802a0165"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gacbcc437321d85ca23d692b68802a0165">&#9670;&nbsp;</a></span>kStateIsHostReadable</h2>
<a id="ga41ada5ff397930abdbf3fbfb1abb6fea"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga41ada5ff397930abdbf3fbfb1abb6fea">&#9670;&nbsp;</a></span>kStateIsHostReadable</h2>

<div class="memitem">
<div class="memproto">
@@ -96,12 +96,12 @@ Variables</h2></td></tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const uint32_t kStateIsHostReadable = 0x01</td>
<td class="memname">constexpr const uint32_t kStateIsHostReadable = 0x01</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">constexpr</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
@@ -109,8 +109,8 @@ Variables</h2></td></tr>

</div>
</div>
<a id="ga57437781c616c82bcb9e409433b7f16d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga57437781c616c82bcb9e409433b7f16d">&#9670;&nbsp;</a></span>kStateIsHostWritable</h2>
<a id="gaec50a267e06e0299ae9f20fd702e4e60"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaec50a267e06e0299ae9f20fd702e4e60">&#9670;&nbsp;</a></span>kStateIsHostWritable</h2>

<div class="memitem">
<div class="memproto">
@@ -119,12 +119,12 @@ Variables</h2></td></tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const uint32_t kStateIsHostWritable = 0x02 | <a class="el" href="group__StateHints.html#gacbcc437321d85ca23d692b68802a0165">kStateIsHostReadable</a></td>
<td class="memname">constexpr const uint32_t kStateIsHostWritable = 0x02 | <a class="el" href="group__StateHints.html#ga41ada5ff397930abdbf3fbfb1abb6fea">kStateIsHostReadable</a></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">constexpr</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
@@ -133,8 +133,8 @@ For obvious reasons a writable state is also readable by the host. </p>

</div>
</div>
<a id="gaea57e1af2af673c2647757335d2d3751"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaea57e1af2af673c2647757335d2d3751">&#9670;&nbsp;</a></span>kStateIsFilenamePath</h2>
<a id="ga5f41b602be8ae24d8ad0cd25deb41922"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga5f41b602be8ae24d8ad0cd25deb41922">&#9670;&nbsp;</a></span>kStateIsFilenamePath</h2>

<div class="memitem">
<div class="memproto">
@@ -143,12 +143,12 @@ For obvious reasons a writable state is also readable by the host. </p>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const uint32_t kStateIsFilenamePath = 0x04 | <a class="el" href="group__StateHints.html#ga57437781c616c82bcb9e409433b7f16d">kStateIsHostWritable</a></td>
<td class="memname">constexpr const uint32_t kStateIsFilenamePath = 0x04 | <a class="el" href="group__StateHints.html#gaec50a267e06e0299ae9f20fd702e4e60">kStateIsHostWritable</a></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">constexpr</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
@@ -157,8 +157,8 @@ The readable and writable hints are required for filenames to work, and thus are

</div>
</div>
<a id="gad07fa3f1fd8ca36e94f75518d9d3d29e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gad07fa3f1fd8ca36e94f75518d9d3d29e">&#9670;&nbsp;</a></span>kStateIsBase64Blob</h2>
<a id="gac892503b0568ceb31f0f7c46af701b0b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gac892503b0568ceb31f0f7c46af701b0b">&#9670;&nbsp;</a></span>kStateIsBase64Blob</h2>

<div class="memitem">
<div class="memproto">
@@ -167,12 +167,12 @@ The readable and writable hints are required for filenames to work, and thus are
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const uint32_t kStateIsBase64Blob = 0x08</td>
<td class="memname">constexpr const uint32_t kStateIsBase64Blob = 0x08</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">constexpr</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
@@ -180,8 +180,8 @@ The readable and writable hints are required for filenames to work, and thus are

</div>
</div>
<a id="ga1e7299b8d4c8c1fc57bceef2b87fe057"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga1e7299b8d4c8c1fc57bceef2b87fe057">&#9670;&nbsp;</a></span>kStateIsOnlyForDSP</h2>
<a id="ga2c0833856c3f88a338bd8ee578ab8b72"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga2c0833856c3f88a338bd8ee578ab8b72">&#9670;&nbsp;</a></span>kStateIsOnlyForDSP</h2>

<div class="memitem">
<div class="memproto">
@@ -190,12 +190,12 @@ The readable and writable hints are required for filenames to work, and thus are
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const uint32_t kStateIsOnlyForDSP = 0x10</td>
<td class="memname">constexpr const uint32_t kStateIsOnlyForDSP = 0x10</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">constexpr</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
@@ -203,8 +203,8 @@ The readable and writable hints are required for filenames to work, and thus are

</div>
</div>
<a id="ga7d960ebb437726e25066b5e38b4a4843"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga7d960ebb437726e25066b5e38b4a4843">&#9670;&nbsp;</a></span>kStateIsOnlyForUI</h2>
<a id="ga313547806946a945f31f1a6de14fd12d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga313547806946a945f31f1a6de14fd12d">&#9670;&nbsp;</a></span>kStateIsOnlyForUI</h2>

<div class="memitem">
<div class="memproto">
@@ -213,12 +213,12 @@ The readable and writable hints are required for filenames to work, and thus are
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const uint32_t kStateIsOnlyForUI = 0x20</td>
<td class="memname">constexpr const uint32_t kStateIsOnlyForUI = 0x20</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">constexpr</span></span> </td>
</tr>
</table>
</div><div class="memdoc">


+ 93
- 90
hierarchy.html View File

@@ -71,18 +71,18 @@ $(function() {
<tr id="row_1_"><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="structAudioMidiSyncHelper.html" target="_self">AudioMidiSyncHelper</a></td><td class="desc"></td></tr>
<tr id="row_2_" 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="structAudioPort.html" target="_self">AudioPort</a></td><td class="desc"></td></tr>
<tr id="row_3_"><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="structTimePosition_1_1BarBeatTick.html" target="_self">TimePosition::BarBeatTick</a></td><td class="desc"></td></tr>
<tr id="row_4_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_4_" class="arrow" onclick="toggleFolder('4_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structWidget_1_1BaseEvent.html" target="_self">Widget::BaseEvent</a></td><td class="desc"></td></tr>
<tr id="row_4_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="structWidget_1_1CharacterInputEvent.html" target="_self">Widget::CharacterInputEvent</a></td><td class="desc"></td></tr>
<tr id="row_4_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="structWidget_1_1KeyboardEvent.html" target="_self">Widget::KeyboardEvent</a></td><td class="desc"></td></tr>
<tr id="row_4_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="structWidget_1_1MotionEvent.html" target="_self">Widget::MotionEvent</a></td><td class="desc"></td></tr>
<tr id="row_4_3_" 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">Widget::MouseEvent</a></td><td class="desc"></td></tr>
<tr id="row_4_4_"><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">Widget::ScrollEvent</a></td><td class="desc"></td></tr>
<tr id="row_5_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_5_" class="arrow" onclick="toggleFolder('5_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><b>BaseWidget</b></td><td class="desc"></td></tr>
<tr id="row_5_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="classCairoBaseWidget.html" target="_self">CairoBaseWidget&lt; BaseWidget &gt;</a></td><td class="desc"></td></tr>
<tr id="row_5_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="classNanoBaseWidget.html" target="_self">NanoBaseWidget&lt; BaseWidget &gt;</a></td><td class="desc"></td></tr>
<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="structBigStackBuffer.html" target="_self">BigStackBuffer</a></td><td class="desc"></td></tr>
<tr id="row_7_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_7_" class="arrow" onclick="toggleFolder('7_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classButtonEventHandler.html" target="_self">ButtonEventHandler</a></td><td class="desc"></td></tr>
<tr id="row_7_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.html" target="_self">ImageBaseButton&lt; ImageType &gt;</a></td><td class="desc"></td></tr>
<tr id="row_4_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_4_" class="arrow" onclick="toggleFolder('4_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structWidget_1_1BaseEvent.html" target="_self">Widget::BaseEvent</a></td><td class="desc"></td></tr>
<tr id="row_4_0_" style="display:none;"><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">Widget::CharacterInputEvent</a></td><td class="desc"></td></tr>
<tr id="row_4_1_" style="display:none;"><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">Widget::KeyboardEvent</a></td><td class="desc"></td></tr>
<tr id="row_4_2_" style="display:none;"><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">Widget::MotionEvent</a></td><td class="desc"></td></tr>
<tr id="row_4_3_" style="display:none;"><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">Widget::MouseEvent</a></td><td class="desc"></td></tr>
<tr id="row_4_4_" style="display:none;"><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">Widget::ScrollEvent</a></td><td class="desc"></td></tr>
<tr id="row_5_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_5_" class="arrow" onclick="toggleFolder('5_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><b>BaseWidget</b></td><td class="desc"></td></tr>
<tr id="row_5_0_" class="even" style="display:none;"><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="classCairoBaseWidget.html" target="_self">CairoBaseWidget&lt; BaseWidget &gt;</a></td><td class="desc"></td></tr>
<tr id="row_5_1_" class="even" style="display:none;"><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="classNanoBaseWidget.html" target="_self">NanoBaseWidget&lt; BaseWidget &gt;</a></td><td class="desc"></td></tr>
<tr id="row_6_" 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="structBigStackBuffer.html" target="_self">BigStackBuffer</a></td><td class="desc"></td></tr>
<tr id="row_7_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_7_" class="arrow" onclick="toggleFolder('7_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classButtonEventHandler.html" target="_self">ButtonEventHandler</a></td><td class="desc"></td></tr>
<tr id="row_7_0_" class="even" style="display:none;"><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.html" target="_self">ImageBaseButton&lt; ImageType &gt;</a></td><td class="desc"></td></tr>
<tr id="row_8_" 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="structFileBrowserOptions_1_1Buttons.html" target="_self">FileBrowserOptions::Buttons</a></td><td class="desc"></td></tr>
<tr id="row_9_"><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="classButtonEventHandler_1_1Callback.html" target="_self">ButtonEventHandler::Callback</a></td><td class="desc"></td></tr>
<tr id="row_10_" 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="classImageBaseButton_1_1Callback.html" target="_self">ImageBaseButton&lt; ImageType &gt;::Callback</a></td><td class="desc"></td></tr>
@@ -93,84 +93,87 @@ $(function() {
<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="classCircle.html" target="_self">Circle&lt; T &gt;</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="structClipboardDataOffer.html" target="_self">ClipboardDataOffer</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="structColor.html" target="_self">Color</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="classExternalWindow.html" target="_self">ExternalWindow</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="structFileBrowserData.html" target="_self">FileBrowserData</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="structFileBrowserOptions.html" target="_self">FileBrowserOptions</a></td><td class="desc"></td></tr>
<tr id="row_21_"><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="structNanoVG_1_1GlyphPosition.html" target="_self">NanoVG::GlyphPosition</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="structGraphicsContext.html" target="_self">GraphicsContext</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="structCairoGraphicsContext.html" target="_self">CairoGraphicsContext</a></td><td class="desc"></td></tr>
<tr id="row_22_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="structOpenGLGraphicsContext.html" target="_self">OpenGLGraphicsContext</a></td><td class="desc"></td></tr>
<tr id="row_22_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="structVulkanGraphicsContext.html" target="_self">VulkanGraphicsContext</a></td><td class="desc"></td></tr>
<tr id="row_23_" 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_24_"><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="structHorizontallyStackedVerticalLayout.html" target="_self">HorizontallyStackedVerticalLayout</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="structHugeStackBuffer.html" target="_self">HugeStackBuffer</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="structIdleCallback.html" target="_self">IdleCallback</a></td><td class="desc"></td></tr>
<tr id="row_27_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_27_" class="arrow" onclick="toggleFolder('27_')">&#9660;</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_27_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="classCairoImage.html" target="_self">CairoImage</a></td><td class="desc"></td></tr>
<tr id="row_27_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="classOpenGLImage.html" target="_self">OpenGLImage</a></td><td class="desc"></td></tr>
<tr id="row_27_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="classVulkanImage.html" target="_self">VulkanImage</a></td><td class="desc"></td></tr>
<tr id="row_28_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_28_" class="arrow" onclick="toggleFolder('28_')">&#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_28_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.html" target="_self">ImageBaseKnob&lt; ImageType &gt;</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="structLayout.html" target="_self">Layout&lt; horizontal &gt;</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="classLeakedObjectDetector.html" target="_self">LeakedObjectDetector&lt; OwnerClass &gt;</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="classLine.html" target="_self">Line&lt; T &gt;</a></td><td class="desc"></td></tr>
<tr id="row_32_"><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_33_" 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_34_"><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_35_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_35_" class="arrow" onclick="toggleFolder('35_')">&#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_35_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="classNanoBaseWidget.html" target="_self">NanoBaseWidget&lt; BaseWidget &gt;</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="structNanoVG_1_1Paint.html" target="_self">NanoVG::Paint</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="structParameter.html" target="_self">Parameter</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="structParameterEnumerationValue.html" target="_self">ParameterEnumerationValue</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="structParameterEnumerationValues.html" target="_self">ParameterEnumerationValues</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="structParameterRanges.html" target="_self">ParameterRanges</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="classPlugin.html" target="_self">Plugin</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="classPoint.html" target="_self">Point&lt; T &gt;</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="classPoint.html" target="_self">Point&lt; double &gt;</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="classPoint.html" target="_self">Point&lt; int &gt;</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="structPortGroup.html" target="_self">PortGroup</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="structWidget_1_1PositionChangedEvent.html" target="_self">Widget::PositionChangedEvent</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="classRectangle.html" target="_self">Rectangle&lt; T &gt;</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="classRecursiveMutex.html" target="_self">RecursiveMutex</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="structWidget_1_1ResizeEvent.html" target="_self">Widget::ResizeEvent</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="classRingBufferControl.html" target="_self">RingBufferControl&lt; BufferStruct &gt;</a></td><td class="desc"></td></tr>
<tr id="row_51_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_51_" class="arrow" onclick="toggleFolder('51_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classRingBufferControl.html" target="_self">RingBufferControl&lt; HeapBuffer &gt;</a></td><td class="desc"></td></tr>
<tr id="row_51_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="classHeapRingBuffer.html" target="_self">HeapRingBuffer</a></td><td class="desc"></td></tr>
<tr id="row_52_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_52_" class="arrow" onclick="toggleFolder('52_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classRingBufferControl.html" target="_self">RingBufferControl&lt; SmallStackBuffer &gt;</a></td><td class="desc"></td></tr>
<tr id="row_52_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="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="classRunner.html" target="_self">Runner</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="structWindow_1_1ScopedGraphicsContext.html" target="_self">Window::ScopedGraphicsContext</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="classScopedPointer.html" target="_self">ScopedPointer&lt; ObjectType &gt;</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="classScopedSafeLocale.html" target="_self">ScopedSafeLocale</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="classScopeLocker.html" target="_self">ScopeLocker&lt; Mutex &gt;</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="classScopeTryLocker.html" target="_self">ScopeTryLocker&lt; Mutex &gt;</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="classScopeUnlocker.html" target="_self">ScopeUnlocker&lt; Mutex &gt;</a></td><td class="desc"></td></tr>
<tr id="row_60_" 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="classSignal.html" target="_self">Signal</a></td><td class="desc"></td></tr>
<tr id="row_61_"><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&lt; T &gt;</a></td><td class="desc"></td></tr>
<tr id="row_62_" 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&lt; uint &gt;</a></td><td class="desc"></td></tr>
<tr id="row_63_"><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="classSliderEventHandler.html" target="_self">SliderEventHandler</a></td><td class="desc"></td></tr>
<tr id="row_64_" 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="structSmallStackBuffer.html" target="_self">SmallStackBuffer</a></td><td class="desc"></td></tr>
<tr id="row_65_"><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_66_" 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="classString.html" target="_self">String</a></td><td class="desc"></td></tr>
<tr id="row_67_"><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="structSubWidgetWithSizeHint.html" target="_self">SubWidgetWithSizeHint</a></td><td class="desc"></td></tr>
<tr id="row_68_" 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="structNanoVG_1_1TextRow.html" target="_self">NanoVG::TextRow</a></td><td class="desc"></td></tr>
<tr id="row_69_"><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_70_" 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="structTimePosition.html" target="_self">TimePosition</a></td><td class="desc"></td></tr>
<tr id="row_71_"><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&lt; T &gt;</a></td><td class="desc"></td></tr>
<tr id="row_72_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_72_" class="arrow" onclick="toggleFolder('72_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><b>UIWidget</b></td><td class="desc"></td></tr>
<tr id="row_72_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="classUI.html" target="_self">UI</a></td><td class="desc"></td></tr>
<tr id="row_73_" 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="structVerticallyStackedHorizontalLayout.html" target="_self">VerticallyStackedHorizontalLayout</a></td><td class="desc"></td></tr>
<tr id="row_74_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_74_" class="arrow" onclick="toggleFolder('74_')">&#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_74_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_74_0_" class="arrow" onclick="toggleFolder('74_0_')">&#9658;</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_74_0_0_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classImageBaseButton.html" target="_self">ImageBaseButton&lt; ImageType &gt;</a></td><td class="desc"></td></tr>
<tr id="row_74_0_1_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classImageBaseKnob.html" target="_self">ImageBaseKnob&lt; ImageType &gt;</a></td><td class="desc"></td></tr>
<tr id="row_74_0_2_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classImageBaseSlider.html" target="_self">ImageBaseSlider&lt; ImageType &gt;</a></td><td class="desc"></td></tr>
<tr id="row_74_0_3_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classImageBaseSwitch.html" target="_self">ImageBaseSwitch&lt; ImageType &gt;</a></td><td class="desc"></td></tr>
<tr id="row_74_1_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_74_1_" class="arrow" onclick="toggleFolder('74_1_')">&#9658;</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_74_1_0_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_74_1_0_" class="arrow" onclick="toggleFolder('74_1_0_')">&#9658;</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_74_1_0_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classImageBaseAboutWindow.html" target="_self">ImageBaseAboutWindow&lt; ImageType &gt;</a></td><td class="desc"></td></tr>
<tr id="row_75_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_75_" class="arrow" onclick="toggleFolder('75_')">&#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_75_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="classStandaloneWindow.html" target="_self">StandaloneWindow</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="classExponentialValueSmoother.html" target="_self">ExponentialValueSmoother</a></td><td class="desc">An exponential smoother for control values </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="classExternalWindow.html" target="_self">ExternalWindow</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="structFileBrowserData.html" target="_self">FileBrowserData</a></td><td class="desc"></td></tr>
<tr id="row_21_"><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="structFileBrowserOptions.html" target="_self">FileBrowserOptions</a></td><td class="desc"></td></tr>
<tr id="row_22_" 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="structNanoVG_1_1GlyphPosition.html" target="_self">NanoVG::GlyphPosition</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_')">&#9658;</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_23_0_" class="even" style="display:none;"><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="structCairoGraphicsContext.html" target="_self">CairoGraphicsContext</a></td><td class="desc"></td></tr>
<tr id="row_23_1_" class="even" style="display:none;"><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="structOpenGLGraphicsContext.html" target="_self">OpenGLGraphicsContext</a></td><td class="desc"></td></tr>
<tr id="row_23_2_" class="even" style="display:none;"><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="structVulkanGraphicsContext.html" target="_self">VulkanGraphicsContext</a></td><td class="desc"></td></tr>
<tr id="row_24_" 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_25_"><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="structHorizontallyStackedVerticalLayout.html" target="_self">HorizontallyStackedVerticalLayout</a></td><td class="desc"></td></tr>
<tr id="row_26_" 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_27_"><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_28_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_28_" class="arrow" onclick="toggleFolder('28_')">&#9658;</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_28_0_" style="display:none;"><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="classCairoImage.html" target="_self">CairoImage</a></td><td class="desc"></td></tr>
<tr id="row_28_1_" style="display:none;"><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="classOpenGLImage.html" target="_self">OpenGLImage</a></td><td class="desc"></td></tr>
<tr id="row_28_2_" style="display:none;"><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="classVulkanImage.html" target="_self">VulkanImage</a></td><td class="desc"></td></tr>
<tr id="row_29_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_29_" class="arrow" onclick="toggleFolder('29_')">&#9658;</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_29_0_" class="even" style="display:none;"><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.html" target="_self">ImageBaseKnob&lt; ImageType &gt;</a></td><td class="desc"></td></tr>
<tr id="row_30_" 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="structLayout.html" target="_self">Layout&lt; horizontal &gt;</a></td><td class="desc"></td></tr>
<tr id="row_31_"><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&lt; OwnerClass &gt;</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="classLine.html" target="_self">Line&lt; T &gt;</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="classLinearValueSmoother.html" target="_self">LinearValueSmoother</a></td><td class="desc">A linear smoother for control values </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="structMidiEvent.html" target="_self">MidiEvent</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="classMutex.html" target="_self">Mutex</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="classNanoImage.html" target="_self">NanoImage</a></td><td class="desc"></td></tr>
<tr id="row_37_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_37_" class="arrow" onclick="toggleFolder('37_')">&#9658;</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_37_0_" class="even" style="display:none;"><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="classNanoBaseWidget.html" target="_self">NanoBaseWidget&lt; BaseWidget &gt;</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="structNanoVG_1_1Paint.html" target="_self">NanoVG::Paint</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="structParameter.html" target="_self">Parameter</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="structParameterEnumerationValue.html" target="_self">ParameterEnumerationValue</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="structParameterEnumerationValues.html" target="_self">ParameterEnumerationValues</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="structParameterRanges.html" target="_self">ParameterRanges</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="classPlugin.html" target="_self">Plugin</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="classPoint.html" target="_self">Point&lt; T &gt;</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="classPoint.html" target="_self">Point&lt; double &gt;</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="classPoint.html" target="_self">Point&lt; int &gt;</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="structPortGroup.html" target="_self">PortGroup</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="structWidget_1_1PositionChangedEvent.html" target="_self">Widget::PositionChangedEvent</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="classRectangle.html" target="_self">Rectangle&lt; T &gt;</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="classRecursiveMutex.html" target="_self">RecursiveMutex</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="structWidget_1_1ResizeEvent.html" target="_self">Widget::ResizeEvent</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="classRingBufferControl.html" target="_self">RingBufferControl&lt; BufferStruct &gt;</a></td><td class="desc"></td></tr>
<tr id="row_53_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_53_" class="arrow" onclick="toggleFolder('53_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classRingBufferControl.html" target="_self">RingBufferControl&lt; HeapBuffer &gt;</a></td><td class="desc"></td></tr>
<tr id="row_53_0_" class="even" style="display:none;"><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="classHeapRingBuffer.html" target="_self">HeapRingBuffer</a></td><td class="desc"></td></tr>
<tr id="row_54_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_54_" class="arrow" onclick="toggleFolder('54_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classRingBufferControl.html" target="_self">RingBufferControl&lt; SmallStackBuffer &gt;</a></td><td class="desc"></td></tr>
<tr id="row_54_0_" style="display:none;"><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="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="classRunner.html" target="_self">Runner</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="classScopedDenormalDisable.html" target="_self">ScopedDenormalDisable</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="structWindow_1_1ScopedGraphicsContext.html" target="_self">Window::ScopedGraphicsContext</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="classScopedPointer.html" target="_self">ScopedPointer&lt; ObjectType &gt;</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="classScopedSafeLocale.html" target="_self">ScopedSafeLocale</a></td><td class="desc"></td></tr>
<tr id="row_60_" 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&lt; Mutex &gt;</a></td><td class="desc"></td></tr>
<tr id="row_61_"><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&lt; Mutex &gt;</a></td><td class="desc"></td></tr>
<tr id="row_62_" 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&lt; Mutex &gt;</a></td><td class="desc"></td></tr>
<tr id="row_63_"><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_64_" 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&lt; T &gt;</a></td><td class="desc"></td></tr>
<tr id="row_65_"><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&lt; uint &gt;</a></td><td class="desc"></td></tr>
<tr id="row_66_" 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="classSliderEventHandler.html" target="_self">SliderEventHandler</a></td><td class="desc"></td></tr>
<tr id="row_67_"><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_68_" 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_69_"><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_70_" 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="structSubWidgetWithSizeHint.html" target="_self">SubWidgetWithSizeHint</a></td><td class="desc"></td></tr>
<tr id="row_71_"><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="structNanoVG_1_1TextRow.html" target="_self">NanoVG::TextRow</a></td><td class="desc"></td></tr>
<tr id="row_72_" 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="classThread.html" target="_self">Thread</a></td><td class="desc"></td></tr>
<tr id="row_73_"><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="structTimePosition.html" target="_self">TimePosition</a></td><td class="desc"></td></tr>
<tr id="row_74_" 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="classTriangle.html" target="_self">Triangle&lt; T &gt;</a></td><td class="desc"></td></tr>
<tr id="row_75_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_75_" class="arrow" onclick="toggleFolder('75_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><b>UIWidget</b></td><td class="desc"></td></tr>
<tr id="row_75_0_" class="even" style="display:none;"><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="classUI.html" target="_self">UI</a></td><td class="desc"></td></tr>
<tr id="row_76_" 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="structVerticallyStackedHorizontalLayout.html" target="_self">VerticallyStackedHorizontalLayout</a></td><td class="desc"></td></tr>
<tr id="row_77_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_77_" class="arrow" onclick="toggleFolder('77_')">&#9658;</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_77_0_" class="even" style="display:none;"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_77_0_" class="arrow" onclick="toggleFolder('77_0_')">&#9658;</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_77_0_0_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classImageBaseButton.html" target="_self">ImageBaseButton&lt; ImageType &gt;</a></td><td class="desc"></td></tr>
<tr id="row_77_0_1_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classImageBaseKnob.html" target="_self">ImageBaseKnob&lt; ImageType &gt;</a></td><td class="desc"></td></tr>
<tr id="row_77_0_2_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classImageBaseSlider.html" target="_self">ImageBaseSlider&lt; ImageType &gt;</a></td><td class="desc"></td></tr>
<tr id="row_77_0_3_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classImageBaseSwitch.html" target="_self">ImageBaseSwitch&lt; ImageType &gt;</a></td><td class="desc"></td></tr>
<tr id="row_77_1_" class="even" style="display:none;"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_77_1_" class="arrow" onclick="toggleFolder('77_1_')">&#9658;</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_77_1_0_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_77_1_0_" class="arrow" onclick="toggleFolder('77_1_0_')">&#9658;</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_77_1_0_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classImageBaseAboutWindow.html" target="_self">ImageBaseAboutWindow&lt; ImageType &gt;</a></td><td class="desc"></td></tr>
<tr id="row_78_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_78_" class="arrow" onclick="toggleFolder('78_')">&#9658;</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_78_0_" style="display:none;"><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="classStandaloneWindow.html" target="_self">StandaloneWindow</a></td><td class="desc"></td></tr>
</table>
</div><!-- directory -->
</div><!-- contents -->


+ 16
- 16
index.html View File

@@ -184,7 +184,7 @@ Here is one of a stereo audio plugin that simply mutes the host output: </p><div
<div class="line">{</div>
<div class="line"> <span class="keywordflow">return</span> <span class="keyword">new</span> MutePlugin();</div>
<div class="line">}</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:966</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:61</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="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_a686a3c92a376a185d6fd97efd59125d1"><div class="ttname"><a href="classPlugin.html#a686a3c92a376a185d6fd97efd59125d1">Plugin::getLicense</a></div><div class="ttdeci">virtual const char * getLicense() const =0</div></div>
@@ -192,9 +192,9 @@ Here is one of a stereo audio plugin that simply mutes the host output: </p><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="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_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:926</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:72</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:90</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:955</div></div>
</div><!-- fragment --><p>See the <a class="el" href="classPlugin.html">Plugin</a> class for more information.</p>
<h1><a class="anchor" id="Parameters"></a>
Parameters</h1>
@@ -259,7 +259,7 @@ The host will simply read their values and never change them.</p>
<div class="line"><span class="keyword"> </span>{</div>
<div class="line"> <span class="comment">// we only have one parameter so we can skip checking the index</span></div>
<div class="line"> </div>
<div class="line"> parameter.<a class="code" href="structParameter.html#a397fb977f0c6cbec31df4f141ca3f5b3">hints</a> = <a class="code" href="group__ParameterHints.html#ga6d39267b105c2d8dfc82a810c5e8a061">kParameterIsAutomatable</a>;</div>
<div class="line"> parameter.<a class="code" href="structParameter.html#a397fb977f0c6cbec31df4f141ca3f5b3">hints</a> = <a class="code" href="group__ParameterHints.html#gaf82d83a105dc418877ef91e84ac6efd3">kParameterIsAutomatable</a>;</div>
<div class="line"> parameter.<a class="code" href="structParameter.html#ae63c1fcfb20e320bada1f58c04ff18da">name</a> = <span class="stringliteral">&quot;Gain&quot;</span>;</div>
<div class="line"> parameter.<a class="code" href="structParameter.html#a3e546efd8dbd0d77351208b670719468">symbol</a> = <span class="stringliteral">&quot;gain&quot;</span>;</div>
<div class="line"> parameter.<a class="code" href="structParameter.html#a2d0c81e4fb8fad18d920ef6ecd4a64db">ranges</a>.<a class="code" href="structParameterRanges.html#a63c40988463a8ace9d0e9e55a00f3c7b">min</a> = 0.0f;</div>
@@ -310,15 +310,15 @@ The host will simply read their values and never change them.</p>
<div class="ttc" id="aclassPlugin_html_a7e9e26ceafc7603ef6163483a9dc39be"><div class="ttname"><a href="classPlugin.html#a7e9e26ceafc7603ef6163483a9dc39be">Plugin::setParameterValue</a></div><div class="ttdeci">virtual void setParameterValue(uint32_t index, float value)</div></div>
<div class="ttc" id="aclassPlugin_html_aacf87bd0037efeb3b60d204940f3f4a0"><div class="ttname"><a href="classPlugin.html#aacf87bd0037efeb3b60d204940f3f4a0">Plugin::initParameter</a></div><div class="ttdeci">virtual void initParameter(uint32_t index, Parameter &amp;parameter)</div></div>
<div class="ttc" id="aclassPlugin_html_af9e9f5438e2e0c2352052eb5f95832aa"><div class="ttname"><a href="classPlugin.html#af9e9f5438e2e0c2352052eb5f95832aa">Plugin::getParameterValue</a></div><div class="ttdeci">virtual float getParameterValue(uint32_t index) const</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="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:547</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:593</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:552</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:574</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:559</div></div>
<div class="ttc" id="agroup__ParameterHints_html_gaf82d83a105dc418877ef91e84ac6efd3"><div class="ttname"><a href="group__ParameterHints.html#gaf82d83a105dc418877ef91e84ac6efd3">kParameterIsAutomatable</a></div><div class="ttdeci">static constexpr const uint32_t kParameterIsAutomatable</div><div class="ttdef"><b>Definition:</b> DistrhoDetails.hpp:96</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> DistrhoDetails.hpp:338</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> DistrhoDetails.hpp:333</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> DistrhoDetails.hpp:328</div></div>
<div class="ttc" id="astructParameter_html"><div class="ttname"><a href="structParameter.html">Parameter</a></div><div class="ttdef"><b>Definition:</b> DistrhoDetails.hpp:588</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> DistrhoDetails.hpp:634</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> DistrhoDetails.hpp:593</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> DistrhoDetails.hpp:615</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> DistrhoDetails.hpp:600</div></div>
</div><!-- fragment --><p>See the <a class="el" href="structParameter.html">Parameter</a> struct for more information about parameters.</p>
<h1><a class="anchor" id="Programs"></a>
Programs</h1>
@@ -374,7 +374,7 @@ When enabled you'll need to override 2 new function in your plugin code, <a clas
<div class="line"><span class="comment"> */</span></div>
<div class="line"> <span class="keywordtype">void</span> <a class="code" href="classPlugin.html#aacf87bd0037efeb3b60d204940f3f4a0">initParameter</a>(uint32_t index, <a class="code" href="structParameter.html">Parameter</a>&amp; parameter)<span class="keyword"> override</span></div>
<div class="line"><span class="keyword"> </span>{</div>
<div class="line"> parameter.<a class="code" href="structParameter.html#a397fb977f0c6cbec31df4f141ca3f5b3">hints</a> = <a class="code" href="group__ParameterHints.html#ga6d39267b105c2d8dfc82a810c5e8a061">kParameterIsAutomatable</a>;</div>
<div class="line"> parameter.<a class="code" href="structParameter.html#a397fb977f0c6cbec31df4f141ca3f5b3">hints</a> = <a class="code" href="group__ParameterHints.html#gaf82d83a105dc418877ef91e84ac6efd3">kParameterIsAutomatable</a>;</div>
<div class="line"> parameter.<a class="code" href="structParameter.html#a2d0c81e4fb8fad18d920ef6ecd4a64db">ranges</a>.<a class="code" href="structParameterRanges.html#a63c40988463a8ace9d0e9e55a00f3c7b">min</a> = 0.0f;</div>
<div class="line"> parameter.<a class="code" href="structParameter.html#a2d0c81e4fb8fad18d920ef6ecd4a64db">ranges</a>.<a class="code" href="structParameterRanges.html#a175c78c905c598df929a4450e4d2a2a0">max</a> = 2.0f;</div>
<div class="line"> parameter.<a class="code" href="structParameter.html#a2d0c81e4fb8fad18d920ef6ecd4a64db">ranges</a>.<a class="code" href="structParameterRanges.html#aa0aba68115bcfff25c35b2da2f7aed4c">def</a> = 1.0f;</div>
@@ -473,7 +473,7 @@ When enabled you'll need to override 2 new function in your plugin code, <a clas
<div class="line">};</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_a54d66af3111541b7c118f9749ef0231b"><div class="ttname"><a href="classPlugin.html#a54d66af3111541b7c118f9749ef0231b">Plugin::initProgramName</a></div><div class="ttdeci">virtual void initProgramName(uint32_t index, String &amp;programName)=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="aclassString_html"><div class="ttname"><a href="classString.html">String</a></div><div class="ttdef"><b>Definition:</b> String.hpp:35</div></div>
</div><!-- fragment --><p>This is a work-in-progress documentation page. States, MIDI, Latency, Time-Position and <a class="el" href="classUI.html">UI</a> are still TODO. </p>
</div></div><!-- PageDoc -->
</div><!-- contents -->


+ 5
- 0
menudata.js View File

@@ -25,6 +25,11 @@
var menudata={children:[
{text:"Main Page",url:"index.html"},
{text:"Modules",url:"modules.html"},
{text:"Namespaces",url:"namespaces.html",children:[
{text:"Namespace List",url:"namespaces.html"},
{text:"Namespace Members",url:"namespacemembers.html",children:[
{text:"All",url:"namespacemembers.html"},
{text:"Variables",url:"namespacemembers_vars.html"}]}]},
{text:"Classes",url:"annotated.html",children:[
{text:"Class List",url:"annotated.html"},
{text:"Class Index",url:"classes.html"},


+ 7
- 7
modules.html View File

@@ -67,13 +67,13 @@ $(function() {
<div class="contents">
<div class="textblock">Here is a list of all modules:</div><div class="directory">
<table class="directory">
<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="group__PluginMacros.html" target="_self">Plugin Macros</a></td><td class="desc"></td></tr>
<tr id="row_1_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="group__ExtraPluginMacros.html" target="_self">Extra Plugin Macros</a></td><td class="desc"></td></tr>
<tr id="row_2_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="group__NamespaceMacros.html" target="_self">Namespace Macros</a></td><td class="desc"></td></tr>
<tr id="row_3_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="group__AudioPortHints.html" target="_self">Audio Port Hints</a></td><td class="desc"></td></tr>
<tr id="row_4_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="group__ParameterHints.html" target="_self">Parameter Hints</a></td><td class="desc"></td></tr>
<tr id="row_5_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="group__StateHints.html" target="_self">State Hints</a></td><td class="desc"></td></tr>
<tr id="row_6_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="group__BasePluginStructs.html" target="_self">Base Plugin Structs</a></td><td class="desc"></td></tr>
<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="group__AudioPortHints.html" target="_self">Audio Port Hints</a></td><td class="desc"></td></tr>
<tr id="row_1_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="group__ParameterHints.html" target="_self">Parameter Hints</a></td><td class="desc"></td></tr>
<tr id="row_2_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="group__StateHints.html" target="_self">State Hints</a></td><td class="desc"></td></tr>
<tr id="row_3_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="group__BasePluginStructs.html" target="_self">Base Plugin Structs</a></td><td class="desc"></td></tr>
<tr id="row_4_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="group__PluginMacros.html" target="_self">Plugin Macros</a></td><td class="desc"></td></tr>
<tr id="row_5_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="group__ExtraPluginMacros.html" target="_self">Extra Plugin Macros</a></td><td class="desc"></td></tr>
<tr id="row_6_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="group__NamespaceMacros.html" target="_self">Namespace Macros</a></td><td class="desc"></td></tr>
<tr id="row_7_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="group__MainClasses.html" target="_self">Main Classes</a></td><td class="desc"></td></tr>
<tr id="row_8_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="group__EntryPoints.html" target="_self">Entry Points</a></td><td class="desc"></td></tr>
<tr id="row_9_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="group__PluginRelatedUtilities.html" target="_self">Plugin related utilities</a></td><td class="desc"></td></tr>


+ 134
- 0
namespaceParameterDesignationSymbols.html View File

@@ -0,0 +1,134 @@
<!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: ParameterDesignationSymbols Namespace Reference</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><!-- top -->
<div class="header">
<div class="summary">
<a href="#var-members">Variables</a> </div>
<div class="headertitle">
<div class="title">ParameterDesignationSymbols Namespace Reference</div> </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
Variables</h2></td></tr>
<tr class="memitem:a276f3fe98418294fe19734f4e9e72664"><td class="memItemLeft" align="right" valign="top">static constexpr const char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceParameterDesignationSymbols.html#a276f3fe98418294fe19734f4e9e72664">bypass</a> [] = &quot;dpf_bypass&quot;</td></tr>
<tr class="separator:a276f3fe98418294fe19734f4e9e72664"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a882fd8b5f9a9ff68f62e5d27228b43ba"><td class="memItemLeft" align="right" valign="top">static constexpr const char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceParameterDesignationSymbols.html#a882fd8b5f9a9ff68f62e5d27228b43ba">bypass_lv2</a> [] = &quot;lv2_enabled&quot;</td></tr>
<tr class="separator:a882fd8b5f9a9ff68f62e5d27228b43ba"><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><a class="el" href="structParameter.html">Parameter</a> designation symbols.<br />
These are static, hard-coded definitions to ensure consistency across DPF and plugins. </p>
</div><h2 class="groupheader">Variable Documentation</h2>
<a id="a276f3fe98418294fe19734f4e9e72664"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a276f3fe98418294fe19734f4e9e72664">&#9670;&nbsp;</a></span>bypass</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">constexpr const char ParameterDesignationSymbols::bypass[] = &quot;dpf_bypass&quot;</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">constexpr</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Bypass designation symbol. </p>

</div>
</div>
<a id="a882fd8b5f9a9ff68f62e5d27228b43ba"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a882fd8b5f9a9ff68f62e5d27228b43ba">&#9670;&nbsp;</a></span>bypass_lv2</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">constexpr const char ParameterDesignationSymbols::bypass_lv2[] = &quot;lv2_enabled&quot;</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">constexpr</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Bypass designation symbol, inverted for LV2 so it becomes "enabled". </p>

</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated 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>

+ 78
- 0
namespacemembers.html View File

@@ -0,0 +1,78 @@
<!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: Namespace Members</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>
</div><!-- top -->
<!-- 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 class="contents">
<div class="textblock">Here is a list of all documented namespace members with links to the namespaces they belong to:</div><ul>
<li>bypass
: <a class="el" href="namespaceParameterDesignationSymbols.html#a276f3fe98418294fe19734f4e9e72664">ParameterDesignationSymbols</a>
</li>
<li>bypass_lv2
: <a class="el" href="namespaceParameterDesignationSymbols.html#a882fd8b5f9a9ff68f62e5d27228b43ba">ParameterDesignationSymbols</a>
</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated 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>

+ 78
- 0
namespacemembers_vars.html View File

@@ -0,0 +1,78 @@
<!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: Namespace Members</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>
</div><!-- top -->
<!-- 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 class="contents">
&#160;<ul>
<li>bypass
: <a class="el" href="namespaceParameterDesignationSymbols.html#a276f3fe98418294fe19734f4e9e72664">ParameterDesignationSymbols</a>
</li>
<li>bypass_lv2
: <a class="el" href="namespaceParameterDesignationSymbols.html#a882fd8b5f9a9ff68f62e5d27228b43ba">ParameterDesignationSymbols</a>
</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated 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>

+ 80
- 0
namespaces.html View File

@@ -0,0 +1,80 @@
<!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: Namespace List</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>
</div><!-- top -->
<!-- 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 class="header">
<div class="headertitle">
<div class="title">Namespace List</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock">Here is a list of all documented namespaces with brief descriptions:</div><div class="directory">
<table class="directory">
<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespaceParameterDesignationSymbols.html" target="_self">ParameterDesignationSymbols</a></td><td class="desc"></td></tr>
<tr id="row_1_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">N</span></span><b>std</b></td><td class="desc"></td></tr>
</table>
</div><!-- directory -->
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated 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>

+ 3
- 1
search/all_1.js View File

@@ -19,5 +19,7 @@ var searchData=
['button_25',['button',['../structWidget_1_1MouseEvent.html#ab6471d00c229719e1dd821f78ed4bdef',1,'Widget::MouseEvent']]],
['buttoneventhandler_26',['ButtonEventHandler',['../classButtonEventHandler.html',1,'']]],
['buttons_27',['Buttons',['../structFileBrowserOptions_1_1Buttons.html#ac63aae50a8d713ac6de337cc8739c870',1,'FileBrowserOptions::Buttons::Buttons()'],['../structFileBrowserOptions_1_1Buttons.html',1,'FileBrowserOptions::Buttons']]],
['buttonstate_28',['ButtonState',['../structFileBrowserOptions.html#ac435c15f821601fa0a10fbd4707b5ab9',1,'FileBrowserOptions']]]
['buttonstate_28',['ButtonState',['../structFileBrowserOptions.html#ac435c15f821601fa0a10fbd4707b5ab9',1,'FileBrowserOptions']]],
['bypass_29',['bypass',['../namespaceParameterDesignationSymbols.html#a276f3fe98418294fe19734f4e9e72664',1,'ParameterDesignationSymbols']]],
['bypass_5flv2_30',['bypass_lv2',['../namespaceParameterDesignationSymbols.html#a882fd8b5f9a9ff68f62e5d27228b43ba',1,'ParameterDesignationSymbols']]]
];

+ 32
- 31
search/all_10.js View File

@@ -1,34 +1,35 @@
var searchData=
[
['radialgradient_406',['radialGradient',['../classNanoVG.html#a19d27b1b3a22afe9a6d27f4f9f8bf167',1,'NanoVG']]],
['radtodeg_407',['radToDeg',['../classNanoVG.html#a175f4c41e0d89ae5d8bdb65e5580c637',1,'NanoVG']]],
['ranges_408',['ranges',['../structParameter.html#a2d0c81e4fb8fad18d920ef6ecd4a64db',1,'Parameter']]],
['readcustomdata_409',['readCustomData',['../classRingBufferControl.html#aafdb126b2885c507cec852bc63fd6cb8',1,'RingBufferControl']]],
['readcustomtype_410',['readCustomType',['../classRingBufferControl.html#aaaf4efe13ec2555c390047f545d2660d',1,'RingBufferControl']]],
['rect_411',['rect',['../classNanoVG.html#a1bc27cc57b0e2d3bc0fd12d519312251',1,'NanoVG']]],
['rectangle_412',['Rectangle',['../classRectangle.html#a4b4d34708248ee56900916cdf1138edc',1,'Rectangle::Rectangle(const Point&lt; T &gt; &amp;pos, const Size&lt; T &gt; &amp;size) noexcept'],['../classRectangle.html#a7e55381bd7fe33d52a8847f65e9883ed',1,'Rectangle::Rectangle(const Point&lt; T &gt; &amp;pos, const T &amp;width, const T &amp;height) noexcept'],['../classRectangle.html#ae2560ef4446450f535414f70d7f46aa0',1,'Rectangle::Rectangle(const T &amp;x, const T &amp;y, const Size&lt; T &gt; &amp;size) noexcept'],['../classRectangle.html#a883fb137e26b5b7e95791d91c232603f',1,'Rectangle::Rectangle(const T &amp;x, const T &amp;y, const T &amp;width, const T &amp;height) noexcept'],['../classRectangle.html#acf4a7cdc13c4176d44965db53a3561f3',1,'Rectangle::Rectangle() noexcept'],['../classRectangle.html#ac492f53d4f548c4f572c90c485606db8',1,'Rectangle::Rectangle(const Rectangle&lt; T &gt; &amp;rect) noexcept'],['../classRectangle.html',1,'Rectangle&lt; T &gt;']]],
['recursivemutex_413',['RecursiveMutex',['../classRecursiveMutex.html',1,'']]],
['release_414',['release',['../classScopedPointer.html#a10c8f696fec0cca763b067ec3e469199',1,'ScopedPointer']]],
['removeidlecallback_415',['removeIdleCallback',['../classApplication.html#a082f532e2922924c6c72517f9272f67d',1,'Application::removeIdleCallback()'],['../classWindow.html#a5c5c4f53c53cb081b39a40d5ce9afd65',1,'Window::removeIdleCallback(IdleCallback *callback)']]],
['rendertopicture_416',['renderToPicture',['../classWindow.html#abc7044d06bab27a7dadf06b9f42b2c95',1,'Window']]],
['repaint_417',['repaint',['../classStandaloneWindow.html#aa1475d362245c793b516a232deab70ff',1,'StandaloneWindow::repaint()'],['../classSubWidget.html#a13910739dc797b600502e2dfa7daef87',1,'SubWidget::repaint()'],['../classTopLevelWidget.html#a5b71bc1266aea488b1f85b83744adbfd',1,'TopLevelWidget::repaint() noexcept override'],['../classTopLevelWidget.html#a4a9b2d040ba36825fd95f966bb4d9e36',1,'TopLevelWidget::repaint(const Rectangle&lt; uint &gt; &amp;rect) noexcept'],['../classWidget.html#abe8cfe0aaae71dd011cf9a86e930fd12',1,'Widget::repaint()'],['../classWindow.html#a729ab39a1ac99d81b289e08a42582ade',1,'Window::repaint() noexcept'],['../classWindow.html#a33f9518b6f3209cd8201106260c9e42c',1,'Window::repaint(const Rectangle&lt; uint &gt; &amp;rect) noexcept']]],
['requestaudioinput_418',['requestAudioInput',['../group__StandalonePluginRelatedUtilities.html#gaa499fd42799f9d7479917549634c0226',1,'DistrhoStandaloneUtils.hpp']]],
['requestbuffersizechange_419',['requestBufferSizeChange',['../group__StandalonePluginRelatedUtilities.html#ga448fb5c17b53116ff45716884b7a7635',1,'DistrhoStandaloneUtils.hpp']]],
['requestmidi_420',['requestMIDI',['../group__StandalonePluginRelatedUtilities.html#gac81794c2f59b4a1793ea25b73b76e5e3',1,'DistrhoStandaloneUtils.hpp']]],
['requestparametervaluechange_421',['requestParameterValueChange',['../classPlugin.html#ae65d8603022c09d1ce2ee5cf568de70f',1,'Plugin']]],
['requeststatefile_422',['requestStateFile',['../classUI.html#a53aebb0a0a4ee5d321503d2ba8d7a631',1,'UI']]],
['reset_423',['reset',['../classNanoVG.html#ad5ddb240794b35105eeadd1534f0911b',1,'NanoVG']]],
['resetscissor_424',['resetScissor',['../classNanoVG.html#aff2eaea01970f0ec2005d1051f25ad35',1,'NanoVG']]],
['resettransform_425',['resetTransform',['../classNanoVG.html#aac35e4a0ce84c0f4bf8d881d1b8a5b34',1,'NanoVG']]],
['resizeevent_426',['ResizeEvent',['../structWidget_1_1ResizeEvent.html#ac92abcdb2820807cd3d020864b96b3bd',1,'Widget::ResizeEvent::ResizeEvent()'],['../structWidget_1_1ResizeEvent.html',1,'Widget::ResizeEvent']]],
['restore_427',['restore',['../classNanoVG.html#aa1da11cb97d4f6718ffe8b4622684c3b',1,'NanoVG']]],
['restrictedmode_428',['restrictedMode',['../structParameterEnumerationValues.html#a014ebcacbe68c3f77f2f8ac9ffe3cd6f',1,'ParameterEnumerationValues']]],
['ringbuffercontrol_429',['RingBufferControl',['../classRingBufferControl.html',1,'']]],
['ringbuffercontrol_3c_20heapbuffer_20_3e_430',['RingBufferControl&lt; HeapBuffer &gt;',['../classRingBufferControl.html',1,'']]],
['ringbuffercontrol_3c_20smallstackbuffer_20_3e_431',['RingBufferControl&lt; SmallStackBuffer &gt;',['../classRingBufferControl.html',1,'']]],
['rotate_432',['rotate',['../classNanoVG.html#a13da8f469cd43117c19d8459c178b905',1,'NanoVG']]],
['roundedrect_433',['roundedRect',['../classNanoVG.html#ac9d8502c3cbf6745ff3a41d1b97b6529',1,'NanoVG']]],
['run_434',['run',['../classPlugin.html#a0a969c78f8455ac6ba65fa42e8c498f6',1,'Plugin']]],
['runasmodal_435',['runAsModal',['../classWindow.html#a00108f3d1c5831d02b0c67cd4f226e4d',1,'Window']]],
['runner_436',['Runner',['../classRunner.html',1,'']]]
['radialgradient_427',['radialGradient',['../classNanoVG.html#a19d27b1b3a22afe9a6d27f4f9f8bf167',1,'NanoVG']]],
['radtodeg_428',['radToDeg',['../classNanoVG.html#a175f4c41e0d89ae5d8bdb65e5580c637',1,'NanoVG']]],
['ranges_429',['ranges',['../structParameter.html#a2d0c81e4fb8fad18d920ef6ecd4a64db',1,'Parameter']]],
['readcustomdata_430',['readCustomData',['../classRingBufferControl.html#aafdb126b2885c507cec852bc63fd6cb8',1,'RingBufferControl']]],
['readcustomtype_431',['readCustomType',['../classRingBufferControl.html#aaaf4efe13ec2555c390047f545d2660d',1,'RingBufferControl']]],
['rect_432',['rect',['../classNanoVG.html#a1bc27cc57b0e2d3bc0fd12d519312251',1,'NanoVG']]],
['rectangle_433',['Rectangle',['../classRectangle.html#ac492f53d4f548c4f572c90c485606db8',1,'Rectangle::Rectangle(const Rectangle&lt; T &gt; &amp;rect) noexcept'],['../classRectangle.html#a4b4d34708248ee56900916cdf1138edc',1,'Rectangle::Rectangle(const Point&lt; T &gt; &amp;pos, const Size&lt; T &gt; &amp;size) noexcept'],['../classRectangle.html#a7e55381bd7fe33d52a8847f65e9883ed',1,'Rectangle::Rectangle(const Point&lt; T &gt; &amp;pos, const T &amp;width, const T &amp;height) noexcept'],['../classRectangle.html#ae2560ef4446450f535414f70d7f46aa0',1,'Rectangle::Rectangle(const T &amp;x, const T &amp;y, const Size&lt; T &gt; &amp;size) noexcept'],['../classRectangle.html#a883fb137e26b5b7e95791d91c232603f',1,'Rectangle::Rectangle(const T &amp;x, const T &amp;y, const T &amp;width, const T &amp;height) noexcept'],['../classRectangle.html#acf4a7cdc13c4176d44965db53a3561f3',1,'Rectangle::Rectangle() noexcept'],['../classRectangle.html',1,'Rectangle&lt; T &gt;']]],
['recursivemutex_434',['RecursiveMutex',['../classRecursiveMutex.html',1,'']]],
['reinit_435',['reinit',['../classStandaloneWindow.html#ad5848f401a4b91a2d4d5c8c420b4f72e',1,'StandaloneWindow::reinit()'],['../structWindow_1_1ScopedGraphicsContext.html#afe259111bbf09fcf95995b0e447de221',1,'Window::ScopedGraphicsContext::reinit()']]],
['release_436',['release',['../classScopedPointer.html#a10c8f696fec0cca763b067ec3e469199',1,'ScopedPointer']]],
['removeidlecallback_437',['removeIdleCallback',['../classApplication.html#a082f532e2922924c6c72517f9272f67d',1,'Application::removeIdleCallback()'],['../classWindow.html#a5c5c4f53c53cb081b39a40d5ce9afd65',1,'Window::removeIdleCallback(IdleCallback *callback)']]],
['rendertopicture_438',['renderToPicture',['../classWindow.html#abc7044d06bab27a7dadf06b9f42b2c95',1,'Window']]],
['repaint_439',['repaint',['../classStandaloneWindow.html#aa1475d362245c793b516a232deab70ff',1,'StandaloneWindow::repaint()'],['../classSubWidget.html#a13910739dc797b600502e2dfa7daef87',1,'SubWidget::repaint()'],['../classTopLevelWidget.html#a5b71bc1266aea488b1f85b83744adbfd',1,'TopLevelWidget::repaint() noexcept override'],['../classTopLevelWidget.html#a4a9b2d040ba36825fd95f966bb4d9e36',1,'TopLevelWidget::repaint(const Rectangle&lt; uint &gt; &amp;rect) noexcept'],['../classWidget.html#abe8cfe0aaae71dd011cf9a86e930fd12',1,'Widget::repaint()'],['../classWindow.html#a729ab39a1ac99d81b289e08a42582ade',1,'Window::repaint() noexcept'],['../classWindow.html#a33f9518b6f3209cd8201106260c9e42c',1,'Window::repaint(const Rectangle&lt; uint &gt; &amp;rect) noexcept']]],
['requestaudioinput_440',['requestAudioInput',['../group__StandalonePluginRelatedUtilities.html#gaa499fd42799f9d7479917549634c0226',1,'DistrhoStandaloneUtils.hpp']]],
['requestbuffersizechange_441',['requestBufferSizeChange',['../group__StandalonePluginRelatedUtilities.html#ga448fb5c17b53116ff45716884b7a7635',1,'DistrhoStandaloneUtils.hpp']]],
['requestmidi_442',['requestMIDI',['../group__StandalonePluginRelatedUtilities.html#gac81794c2f59b4a1793ea25b73b76e5e3',1,'DistrhoStandaloneUtils.hpp']]],
['requestparametervaluechange_443',['requestParameterValueChange',['../classPlugin.html#ae65d8603022c09d1ce2ee5cf568de70f',1,'Plugin']]],
['requeststatefile_444',['requestStateFile',['../classUI.html#a53aebb0a0a4ee5d321503d2ba8d7a631',1,'UI']]],
['reset_445',['reset',['../classNanoVG.html#ad5ddb240794b35105eeadd1534f0911b',1,'NanoVG']]],
['resetscissor_446',['resetScissor',['../classNanoVG.html#aff2eaea01970f0ec2005d1051f25ad35',1,'NanoVG']]],
['resettransform_447',['resetTransform',['../classNanoVG.html#aac35e4a0ce84c0f4bf8d881d1b8a5b34',1,'NanoVG']]],
['resizeevent_448',['ResizeEvent',['../structWidget_1_1ResizeEvent.html#ac92abcdb2820807cd3d020864b96b3bd',1,'Widget::ResizeEvent::ResizeEvent()'],['../structWidget_1_1ResizeEvent.html',1,'Widget::ResizeEvent']]],
['restore_449',['restore',['../classNanoVG.html#aa1da11cb97d4f6718ffe8b4622684c3b',1,'NanoVG']]],
['restrictedmode_450',['restrictedMode',['../structParameterEnumerationValues.html#a014ebcacbe68c3f77f2f8ac9ffe3cd6f',1,'ParameterEnumerationValues']]],
['ringbuffercontrol_451',['RingBufferControl',['../classRingBufferControl.html',1,'']]],
['ringbuffercontrol_3c_20heapbuffer_20_3e_452',['RingBufferControl&lt; HeapBuffer &gt;',['../classRingBufferControl.html',1,'']]],
['ringbuffercontrol_3c_20smallstackbuffer_20_3e_453',['RingBufferControl&lt; SmallStackBuffer &gt;',['../classRingBufferControl.html',1,'']]],
['rotate_454',['rotate',['../classNanoVG.html#a13da8f469cd43117c19d8459c178b905',1,'NanoVG']]],
['roundedrect_455',['roundedRect',['../classNanoVG.html#ac9d8502c3cbf6745ff3a41d1b97b6529',1,'NanoVG']]],
['run_456',['run',['../classPlugin.html#a0a969c78f8455ac6ba65fa42e8c498f6',1,'Plugin']]],
['runasmodal_457',['runAsModal',['../classWindow.html#a00108f3d1c5831d02b0c67cd4f226e4d',1,'Window']]],
['runner_458',['Runner',['../classRunner.html',1,'']]]
];

+ 90
- 89
search/all_11.js View File

@@ -1,92 +1,93 @@
var searchData=
[
['sampleratechanged_437',['sampleRateChanged',['../classUI.html#ac3e98726ca71f95a1e6c867706ebd9be',1,'UI::sampleRateChanged()'],['../classPlugin.html#a2fcbfa1893f44e661d0d8cd53391dadc',1,'Plugin::sampleRateChanged()']]],
['save_438',['save',['../classNanoVG.html#a05fd441d579c42c76d786bd4a7b437af',1,'NanoVG']]],
['saving_439',['saving',['../structFileBrowserOptions.html#a923166f4f4477b4491d3f47e05cfbdfe',1,'FileBrowserOptions']]],
['scale_440',['scale',['../classNanoVG.html#a76273b763fa9b84c4a86d37065accee7',1,'NanoVG']]],
['scissor_441',['scissor',['../classNanoVG.html#a7ac24b9a1ab2b901ab18d4d8dbb92c1c',1,'NanoVG']]],
['scopedgraphicscontext_442',['ScopedGraphicsContext',['../structWindow_1_1ScopedGraphicsContext.html#a4ac64bc28d2fdd1dba5a65ae5dfab5ff',1,'Window::ScopedGraphicsContext::ScopedGraphicsContext(Window &amp;window, Window &amp;transientParentWindow)'],['../structWindow_1_1ScopedGraphicsContext.html#a05761155e7d7de67f5a593968f581607',1,'Window::ScopedGraphicsContext::ScopedGraphicsContext(Window &amp;window)'],['../structWindow_1_1ScopedGraphicsContext.html',1,'Window::ScopedGraphicsContext']]],
['scopedpointer_443',['ScopedPointer',['../classScopedPointer.html',1,'ScopedPointer&lt; ObjectType &gt;'],['../classScopedPointer.html#a04688b1561dd9d861ca80c6deb63a233',1,'ScopedPointer::ScopedPointer(ScopedPointer &amp;objectToTransferFrom) noexcept'],['../classScopedPointer.html#a44a7843e49c3ff719f06607b6e908f7d',1,'ScopedPointer::ScopedPointer(ObjectType *const objectToTakePossessionOf) noexcept'],['../classScopedPointer.html#ac187958296e33aa057dd37478ea70400',1,'ScopedPointer::ScopedPointer() noexcept']]],
['scopedsafelocale_444',['ScopedSafeLocale',['../classScopedSafeLocale.html',1,'']]],
['scopelocker_445',['ScopeLocker',['../classScopeLocker.html',1,'']]],
['scopetrylocker_446',['ScopeTryLocker',['../classScopeTryLocker.html',1,'']]],
['scopeunlocker_447',['ScopeUnlocker',['../classScopeUnlocker.html',1,'']]],
['scrollevent_448',['ScrollEvent',['../structWidget_1_1ScrollEvent.html#abee88b10b7b031ddcca1454e064a3cc3',1,'Widget::ScrollEvent::ScrollEvent()'],['../structWidget_1_1ScrollEvent.html',1,'Widget::ScrollEvent']]],
['sendnote_449',['sendNote',['../classUI.html#a9d630b2b1696e01015d869a5b434eb6e',1,'UI']]],
['setabsolutepos_450',['setAbsolutePos',['../classSubWidget.html#a05c5e533e9b10186d0f72ae94f72196d',1,'SubWidget::setAbsolutePos(const Point&lt; int &gt; &amp;pos) noexcept'],['../classSubWidget.html#a0e7a4dd27eee8a3a1b7bf12d9f21769f',1,'SubWidget::setAbsolutePos(int x, int y) noexcept']]],
['setabsolutex_451',['setAbsoluteX',['../classSubWidget.html#abcd0a00a4c3cdc402aea56044df26cc3',1,'SubWidget']]],
['setabsolutey_452',['setAbsoluteY',['../classSubWidget.html#a3c674e3c46206ac29a562c0f02dcf82c',1,'SubWidget']]],
['setclassname_453',['setClassName',['../classApplication.html#a203d22d1ce0c0de90c2379f6bc839815',1,'Application']]],
['setclipboard_454',['setClipboard',['../classWindow.html#a88bf8d28d58fbe390359bd220137311e',1,'Window']]],
['setcursor_455',['setCursor',['../classWindow.html#aabcbd667b0c4dd4665d13beb940fa700',1,'Window']]],
['setendpos_456',['setEndPos',['../classLine.html#a13324b63d42efff020622aa2979d1009',1,'Line::setEndPos(const Point&lt; T &gt; &amp;pos) noexcept'],['../classLine.html#af05002adedbeaeea698d26bf4afadff0',1,'Line::setEndPos(const T &amp;x, const T &amp;y) noexcept']]],
['setendx_457',['setEndX',['../classLine.html#a17061d9ae2e85a5f929148e5106504bf',1,'Line']]],
['setendy_458',['setEndY',['../classLine.html#a0dcd399a55aef168e91c645958670ee6',1,'Line']]],
['setfor_459',['setFor',['../structColor.html#a9bd4efab0718f412babc62398875a80f',1,'Color']]],
['setgeometryconstraints_460',['setGeometryConstraints',['../classWindow.html#aa3824e300206b15241df8c8c78785d73',1,'Window::setGeometryConstraints()'],['../classExternalWindow.html#a15b677215c3abb5c1f7f71c4a00fd41c',1,'ExternalWindow::setGeometryConstraints()']]],
['setheight_461',['setHeight',['../classWindow.html#a13f314cfd5c9048ec8ea0b88b611f54d',1,'Window::setHeight()'],['../classWidget.html#ac6d2e6cbb2ff96f3645493d804af07f7',1,'Widget::setHeight()'],['../classTopLevelWidget.html#a607afeaa7fc1bd6cf52ef3138c38360f',1,'TopLevelWidget::setHeight()'],['../classRectangle.html#a5ff3aca88c9ef31a2e3f8e6cee846155',1,'Rectangle::setHeight()'],['../classSize.html#a30d453133d7a677e14641f010204237e',1,'Size::setHeight()'],['../classExternalWindow.html#add192e95a0fa7187cb0a8e739095674f',1,'ExternalWindow::setHeight()']]],
['setid_462',['setId',['../classWidget.html#abfba3652559de84ba1ae9ccbd3d35e31',1,'Widget']]],
['setignoringkeyrepeat_463',['setIgnoringKeyRepeat',['../classWindow.html#a36a04e5f5ecc6ee5228f9da6df43e865',1,'Window']]],
['setimage_464',['setImage',['../classImageBaseAboutWindow.html#a10cf37217ddc3a045970461473e79bdc',1,'ImageBaseAboutWindow']]],
['setlatency_465',['setLatency',['../classPlugin.html#a2a70c4ec55d74d9bc26862975d8df8a7',1,'Plugin']]],
['setmargin_466',['setMargin',['../classSubWidget.html#a9594d89a623dd7e63cbdb8139e9e4a38',1,'SubWidget::setMargin(int x, int y) noexcept'],['../classSubWidget.html#a77f510ea6d0864d296b02b085cc05f2b',1,'SubWidget::setMargin(const Point&lt; int &gt; &amp;offset) noexcept']]],
['setname_467',['setName',['../classWidget.html#a6303d0445f21a2a95148780b0a0afed6',1,'Widget']]],
['setneedsfullviewportdrawing_468',['setNeedsFullViewportDrawing',['../classSubWidget.html#a926884690b66c762f7bdb1196c58522b',1,'SubWidget']]],
['setneedsviewportscaling_469',['setNeedsViewportScaling',['../classSubWidget.html#a5cd703976adf24decbb66dd3dbc1db8b',1,'SubWidget']]],
['setnumsegments_470',['setNumSegments',['../classCircle.html#a34fa92504c0bcc008958779fa4d66c32',1,'Circle']]],
['setoffset_471',['setOffset',['../classWindow.html#a5d79613d3223395806d7d09ad65d5c4d',1,'Window::setOffset(int x, int y)'],['../classWindow.html#ae02f210d981b2ac5efd6207864789758',1,'Window::setOffset(const Point&lt; int &gt; &amp;offset)']]],
['setoffsetx_472',['setOffsetX',['../classWindow.html#a486cf7a5f89c39e1cac3a01633f170db',1,'Window']]],
['setoffsety_473',['setOffsetY',['../classWindow.html#ac570a2c8f35ea4962c8f23c8435cdbfc',1,'Window']]],
['setparametervalue_474',['setParameterValue',['../classPlugin.html#a7e9e26ceafc7603ef6163483a9dc39be',1,'Plugin::setParameterValue()'],['../classUI.html#a973db6e8805f0aa9be3457685564ab8a',1,'UI::setParameterValue()']]],
['setpos_475',['setPos',['../classPoint.html#aac5c7220da858d14140ff0c78684d4e2',1,'Point::setPos(const T &amp;x, const T &amp;y) noexcept'],['../classPoint.html#a2df24dbabd272d2308cc2b53d24d548a',1,'Point::setPos(const Point&lt; T &gt; &amp;pos) noexcept'],['../classCircle.html#a2046a9238a3870276e1dac7fb684eacb',1,'Circle::setPos(const T &amp;x, const T &amp;y) noexcept'],['../classCircle.html#addce92ba3813dc8ae1222127a9dd932d',1,'Circle::setPos(const Point&lt; T &gt; &amp;pos) noexcept'],['../classRectangle.html#a52adba9ba93242a51de29865818fd776',1,'Rectangle::setPos(const T &amp;x, const T &amp;y) noexcept'],['../classRectangle.html#ae0904b281ed4811e6901d0d78c30f08e',1,'Rectangle::setPos(const Point&lt; T &gt; &amp;pos) noexcept']]],
['setrectangle_476',['setRectangle',['../classRectangle.html#a2907d68a36a3ba97cb8ef14f86d85075',1,'Rectangle::setRectangle(const Point&lt; T &gt; &amp;pos, const Size&lt; T &gt; &amp;size) noexcept'],['../classRectangle.html#ac74be2c368aee380680c0221c432cb7f',1,'Rectangle::setRectangle(const Rectangle&lt; T &gt; &amp;rect) noexcept']]],
['setresizable_477',['setResizable',['../classWindow.html#a10f6ff4b0f3e714298a4ac612edcdd7e',1,'Window']]],
['setsize_478',['setSize',['../classWindow.html#a9408b98401ce2fab132c196283248d1a',1,'Window::setSize()'],['../classSize.html#a973da47d41aaa3757646a8ec0a1d93da',1,'Size::setSize()'],['../classWindow.html#a89bd0c91920029ddcb21b8975e8b47d9',1,'Window::setSize()'],['../classWidget.html#afce784b204902c0f11e9ed02bc692362',1,'Widget::setSize(const Size&lt; uint &gt; &amp;size) noexcept'],['../classWidget.html#ab4d9e0156e455db3ff23730f82544daa',1,'Widget::setSize(uint width, uint height) noexcept'],['../classTopLevelWidget.html#a94f526903d739bf2e812fb785fc66aae',1,'TopLevelWidget::setSize(const Size&lt; uint &gt; &amp;size)'],['../classTopLevelWidget.html#a41fa486da289fb082bb840aaaad72a08',1,'TopLevelWidget::setSize(uint width, uint height)'],['../classRectangle.html#a23d728827f9c22167929c461aa65882e',1,'Rectangle::setSize(const Size&lt; T &gt; &amp;size) noexcept'],['../classRectangle.html#a6af8f18557397f909cae8eb65f8367a4',1,'Rectangle::setSize(const T &amp;width, const T &amp;height) noexcept'],['../classCircle.html#a02fc5ef5aae2d5d1c1bd016cab8afc5d',1,'Circle::setSize()'],['../classSize.html#a6dd4d69857ef92c65dd941eea3356ed9',1,'Size::setSize()'],['../classExternalWindow.html#a54bb8e6674ef42e0ebc67576df3d103a',1,'ExternalWindow::setSize()']]],
['setskipdrawing_479',['setSkipDrawing',['../classSubWidget.html#adb38f61c0205d7832ddfd090f7f60f2a',1,'SubWidget']]],
['setstartpos_480',['setStartPos',['../classLine.html#aa078f8d0f2cf36e3162bc1977dc56d4b',1,'Line::setStartPos(const Point&lt; T &gt; &amp;pos) noexcept'],['../classLine.html#a958d534b1b0c2d581b110dd26c0d4cea',1,'Line::setStartPos(const T &amp;x, const T &amp;y) noexcept']]],
['setstartx_481',['setStartX',['../classLine.html#ad2b10d3144ba0711f9ecb444bb08ad4c',1,'Line']]],
['setstarty_482',['setStartY',['../classLine.html#ae35ba55c6ff3bae24c7f05133b9e003b',1,'Line']]],
['setstate_483',['setState',['../classUI.html#abc94a38afa658849f3fdfd66cd8f5f51',1,'UI::setState()'],['../classPlugin.html#afcbb504b824bacea622de9bac09b2331',1,'Plugin::setState()']]],
['settitle_484',['setTitle',['../classWindow.html#ab2f1b80c5dfcafd2cbdf6b85b756fdbd',1,'Window::setTitle()'],['../classExternalWindow.html#a8a196d0db3f082f6861d1d1bfc1db993',1,'ExternalWindow::setTitle()']]],
['settransientparent_485',['setTransientParent',['../classWindow.html#ab3fd6ca05bdbd2df01665192cde2ff34',1,'Window']]],
['settransientwindowid_486',['setTransientWindowId',['../classExternalWindow.html#afe5b255affc787ad34b25a30114f9b89',1,'ExternalWindow']]],
['setvisible_487',['setVisible',['../classExternalWindow.html#a2b599fc96437e666a7a0a4c1b9844b15',1,'ExternalWindow::setVisible()'],['../classWidget.html#a66088a03691f9c643ff335fa826576ba',1,'Widget::setVisible()'],['../classWindow.html#a118e0356bb6fcf081955f2bd97686036',1,'Window::setVisible()']]],
['setwidth_488',['setWidth',['../classExternalWindow.html#a4bebffffd78f13122dc74e4d85c0b527',1,'ExternalWindow::setWidth()'],['../classSize.html#aa552662217b3e8e9c0b6d69d7bc22665',1,'Size::setWidth()'],['../classRectangle.html#a75ce3e3a2e8745a1d749dd9da02e9443',1,'Rectangle::setWidth()'],['../classTopLevelWidget.html#a4a95eb3bb76704737ef9cf405e800617',1,'TopLevelWidget::setWidth()'],['../classWidget.html#aed80a9cbc4a13c01641f35dd3d8688ea',1,'Widget::setWidth()'],['../classWindow.html#acfc9a6f22176e204009acbb387d3861c',1,'Window::setWidth()']]],
['setx_489',['setX',['../classPoint.html#a1539a6f24282a1d637b60ccfbbf46629',1,'Point::setX()'],['../classCircle.html#acc96a188288cdf83fd822bb41f8f2be1',1,'Circle::setX()'],['../classRectangle.html#af618ee618bd029fbe66291228041990e',1,'Rectangle::setX(const T &amp;x) noexcept']]],
['sety_490',['setY',['../classRectangle.html#abe5b6c92cece58bbc0c7cb4855e73dac',1,'Rectangle::setY()'],['../classCircle.html#a034ddfd162d89a7dacea7981a5406a1a',1,'Circle::setY()'],['../classPoint.html#a8ffe6785dc851accf06d02917fba54cf',1,'Point::setY()']]],
['shortname_491',['shortName',['../structParameter.html#a1a47c46f3588b8a940d87fd4d69810ab',1,'Parameter']]],
['show_492',['show',['../classWindow.html#a8f986e19a11c4c97ed8e6ad3d0e648b7',1,'Window::show()'],['../classWidget.html#a25ff178539e226b5f30ef0335d060f2b',1,'Widget::show()'],['../classExternalWindow.html#a35f711faffa1195c478689f4654dcc4f',1,'ExternalWindow::show()']]],
['showhidden_493',['showHidden',['../structFileBrowserOptions_1_1Buttons.html#a43b25f4cece01eb8dd8d89a10e921dfc',1,'FileBrowserOptions::Buttons']]],
['showplaces_494',['showPlaces',['../structFileBrowserOptions_1_1Buttons.html#ac2df440c203fb3b1a3be012283427d5b',1,'FileBrowserOptions::Buttons']]],
['shrinkby_495',['shrinkBy',['../classSize.html#abbcf98f504b23679162cab3b6f818949',1,'Size::shrinkBy()'],['../classRectangle.html#a22e5029d09c7eac8ebee0e079dab075f',1,'Rectangle::shrinkBy()']]],
['signal_496',['Signal',['../classSignal.html',1,'']]],
['size_497',['Size',['../classSize.html',1,'Size&lt; T &gt;'],['../classSize.html#ada0c1f75029742b2514ede5466993776',1,'Size::Size() noexcept'],['../classSize.html#ac3096253937df7e318a02838c48bf941',1,'Size::Size(const T &amp;width, const T &amp;height) noexcept'],['../classSize.html#a90ab9513f96f3642def121d2fbd92593',1,'Size::Size(const Size&lt; T &gt; &amp;size) noexcept']]],
['size_498',['size',['../structMidiEvent.html#a48b420a6dbca6502113b92c336a3041e',1,'MidiEvent::size()'],['../structHeapBuffer.html#a582e7b5aa4a85814f291d002abb49599',1,'HeapBuffer::size()'],['../structWidget_1_1ResizeEvent.html#a79045426f6b38169fec44abbb19d92d9',1,'Widget::ResizeEvent::size()']]],
['size_3c_20uint_20_3e_499',['Size&lt; uint &gt;',['../classSize.html',1,'']]],
['sizechanged_500',['sizeChanged',['../classUI.html#a3d499674a620c1ce3b6e1dbded9f09c4',1,'UI::sizeChanged()'],['../classExternalWindow.html#aba350e1f737b68e51bfe8018bded6e45',1,'ExternalWindow::sizeChanged()']]],
['skewx_501',['skewX',['../classNanoVG.html#a4f45e3cf465060491e73427e5868573f',1,'NanoVG']]],
['skewy_502',['skewY',['../classNanoVG.html#a508c4fde6212c1b0598d9f8b32cba0f6',1,'NanoVG']]],
['slidereventhandler_503',['SliderEventHandler',['../classSliderEventHandler.html',1,'']]],
['smallstackbuffer_504',['SmallStackBuffer',['../structSmallStackBuffer.html',1,'']]],
['smallstackringbuffer_505',['SmallStackRingBuffer',['../classSmallStackRingBuffer.html#aceb7e429507b28dd56e837f23b623987',1,'SmallStackRingBuffer::SmallStackRingBuffer()'],['../classSmallStackRingBuffer.html',1,'SmallStackRingBuffer']]],
['standalonewindow_506',['StandaloneWindow',['../classStandaloneWindow.html#a86e7db3cd8830628b37d0608df40963c',1,'StandaloneWindow::StandaloneWindow(Application &amp;app, Window &amp;transientParentWindow)'],['../classStandaloneWindow.html#a28d4f09b9f280c1d03cc77fc63465b48',1,'StandaloneWindow::StandaloneWindow(Application &amp;app)'],['../classStandaloneWindow.html',1,'StandaloneWindow']]],
['start_5fnamespace_5fdistrho_507',['START_NAMESPACE_DISTRHO',['../group__NamespaceMacros.html#gac4cb97c393d20c28ba19365d844341cd',1,'DistrhoInfo.hpp']]],
['startdir_508',['startDir',['../structFileBrowserOptions.html#a921fe62f9783fee2c01ddbaa0851e8b4',1,'FileBrowserOptions']]],
['state_509',['State',['../structState.html',1,'State'],['../structState.html#abd7983c6af263866ab33229e6d835ef1',1,'State::State()']]],
['state_20hints_510',['State Hints',['../group__StateHints.html',1,'']]],
['statechanged_511',['stateChanged',['../classUI.html#a1bdc7e158d974e82f0535f1658d66575',1,'UI']]],
['string_512',['String',['../classString.html',1,'']]],
['string_513',['string',['../structWidget_1_1CharacterInputEvent.html#a5bfefd8ce88c676f1dd4b990faf49cb0',1,'Widget::CharacterInputEvent']]],
['string_20print_20functions_514',['String print functions',['../group__StringPrintFunctions.html',1,'']]],
['stroke_515',['stroke',['../classNanoVG.html#aeed167687a8a269c4f9c44a7db4d3746',1,'NanoVG']]],
['strokecolor_516',['strokeColor',['../classNanoVG.html#acefc70128644fb8ee5abe6dc04d4f710',1,'NanoVG::strokeColor(const Color &amp;color)'],['../classNanoVG.html#a6242c3e68789ed57b46fb75ba396506d',1,'NanoVG::strokeColor(const int red, const int green, const int blue, const int alpha=255)'],['../classNanoVG.html#a22bac7e1806c9203a637337478a90165',1,'NanoVG::strokeColor(const float red, const float green, const float blue, const float alpha=1.0f)']]],
['strokepaint_517',['strokePaint',['../classNanoVG.html#a8d00b35e0ab5c428af120cc78ff32804',1,'NanoVG']]],
['strokewidth_518',['strokeWidth',['../classNanoVG.html#a373190894070313e8d321b2af0bbab58',1,'NanoVG']]],
['subwidget_519',['SubWidget',['../classSubWidget.html#a9fda448971613b2758fd9570c3065f7a',1,'SubWidget::SubWidget()'],['../classSubWidget.html',1,'SubWidget']]],
['subwidgetwithsizehint_520',['SubWidgetWithSizeHint',['../structSubWidgetWithSizeHint.html',1,'']]],
['supportsaudioinput_521',['supportsAudioInput',['../group__StandalonePluginRelatedUtilities.html#ga13301901e329e098883c62de0972d9ec',1,'DistrhoStandaloneUtils.hpp']]],
['supportsbuffersizechanges_522',['supportsBufferSizeChanges',['../group__StandalonePluginRelatedUtilities.html#gae30b95b8622bdce705b5e7465548ed4c',1,'DistrhoStandaloneUtils.hpp']]],
['supportsmidi_523',['supportsMIDI',['../group__StandalonePluginRelatedUtilities.html#gadbfa0c2cdcb4c114db1063651e97066e',1,'DistrhoStandaloneUtils.hpp']]],
['swapwith_524',['swapWith',['../classScopedPointer.html#a362cd8d5a212df0ee08691b75a4ba3de',1,'ScopedPointer']]],
['symbol_525',['symbol',['../structAudioPort.html#af2bda30f97a1b63cbeb9f11f718d3d30',1,'AudioPort::symbol()'],['../structParameter.html#a3e546efd8dbd0d77351208b670719468',1,'Parameter::symbol()'],['../structPortGroup.html#ae42f849c9f34d940f6fdcfc9abd65d4f',1,'PortGroup::symbol()']]]
['sampleratechanged_459',['sampleRateChanged',['../classUI.html#ac3e98726ca71f95a1e6c867706ebd9be',1,'UI::sampleRateChanged()'],['../classPlugin.html#a2fcbfa1893f44e661d0d8cd53391dadc',1,'Plugin::sampleRateChanged()']]],
['save_460',['save',['../classNanoVG.html#a05fd441d579c42c76d786bd4a7b437af',1,'NanoVG']]],
['saving_461',['saving',['../structFileBrowserOptions.html#a923166f4f4477b4491d3f47e05cfbdfe',1,'FileBrowserOptions']]],
['scale_462',['scale',['../classNanoVG.html#a76273b763fa9b84c4a86d37065accee7',1,'NanoVG']]],
['scissor_463',['scissor',['../classNanoVG.html#a7ac24b9a1ab2b901ab18d4d8dbb92c1c',1,'NanoVG']]],
['scopeddenormaldisable_464',['ScopedDenormalDisable',['../classScopedDenormalDisable.html',1,'']]],
['scopedgraphicscontext_465',['ScopedGraphicsContext',['../structWindow_1_1ScopedGraphicsContext.html#a4ac64bc28d2fdd1dba5a65ae5dfab5ff',1,'Window::ScopedGraphicsContext::ScopedGraphicsContext(Window &amp;window, Window &amp;transientParentWindow)'],['../structWindow_1_1ScopedGraphicsContext.html#a05761155e7d7de67f5a593968f581607',1,'Window::ScopedGraphicsContext::ScopedGraphicsContext(Window &amp;window)'],['../structWindow_1_1ScopedGraphicsContext.html',1,'Window::ScopedGraphicsContext']]],
['scopedpointer_466',['ScopedPointer',['../classScopedPointer.html#ac187958296e33aa057dd37478ea70400',1,'ScopedPointer::ScopedPointer() noexcept'],['../classScopedPointer.html#a44a7843e49c3ff719f06607b6e908f7d',1,'ScopedPointer::ScopedPointer(ObjectType *const objectToTakePossessionOf) noexcept'],['../classScopedPointer.html#a04688b1561dd9d861ca80c6deb63a233',1,'ScopedPointer::ScopedPointer(ScopedPointer &amp;objectToTransferFrom) noexcept'],['../classScopedPointer.html',1,'ScopedPointer&lt; ObjectType &gt;']]],
['scopedsafelocale_467',['ScopedSafeLocale',['../classScopedSafeLocale.html',1,'']]],
['scopelocker_468',['ScopeLocker',['../classScopeLocker.html',1,'']]],
['scopetrylocker_469',['ScopeTryLocker',['../classScopeTryLocker.html',1,'']]],
['scopeunlocker_470',['ScopeUnlocker',['../classScopeUnlocker.html',1,'']]],
['scrollevent_471',['ScrollEvent',['../structWidget_1_1ScrollEvent.html#abee88b10b7b031ddcca1454e064a3cc3',1,'Widget::ScrollEvent::ScrollEvent()'],['../structWidget_1_1ScrollEvent.html',1,'Widget::ScrollEvent']]],
['sendnote_472',['sendNote',['../classUI.html#a9d630b2b1696e01015d869a5b434eb6e',1,'UI']]],
['setabsolutepos_473',['setAbsolutePos',['../classSubWidget.html#a0e7a4dd27eee8a3a1b7bf12d9f21769f',1,'SubWidget::setAbsolutePos(int x, int y) noexcept'],['../classSubWidget.html#a05c5e533e9b10186d0f72ae94f72196d',1,'SubWidget::setAbsolutePos(const Point&lt; int &gt; &amp;pos) noexcept']]],
['setabsolutex_474',['setAbsoluteX',['../classSubWidget.html#abcd0a00a4c3cdc402aea56044df26cc3',1,'SubWidget']]],
['setabsolutey_475',['setAbsoluteY',['../classSubWidget.html#a3c674e3c46206ac29a562c0f02dcf82c',1,'SubWidget']]],
['setclassname_476',['setClassName',['../classApplication.html#a203d22d1ce0c0de90c2379f6bc839815',1,'Application']]],
['setclipboard_477',['setClipboard',['../classWindow.html#a88bf8d28d58fbe390359bd220137311e',1,'Window']]],
['setcursor_478',['setCursor',['../classWindow.html#aabcbd667b0c4dd4665d13beb940fa700',1,'Window']]],
['setendpos_479',['setEndPos',['../classLine.html#af05002adedbeaeea698d26bf4afadff0',1,'Line::setEndPos(const T &amp;x, const T &amp;y) noexcept'],['../classLine.html#a13324b63d42efff020622aa2979d1009',1,'Line::setEndPos(const Point&lt; T &gt; &amp;pos) noexcept']]],
['setendx_480',['setEndX',['../classLine.html#a17061d9ae2e85a5f929148e5106504bf',1,'Line']]],
['setendy_481',['setEndY',['../classLine.html#a0dcd399a55aef168e91c645958670ee6',1,'Line']]],
['setfor_482',['setFor',['../structColor.html#a9bd4efab0718f412babc62398875a80f',1,'Color']]],
['setgeometryconstraints_483',['setGeometryConstraints',['../classWindow.html#aa3824e300206b15241df8c8c78785d73',1,'Window::setGeometryConstraints()'],['../classExternalWindow.html#a15b677215c3abb5c1f7f71c4a00fd41c',1,'ExternalWindow::setGeometryConstraints()']]],
['setheight_484',['setHeight',['../classWindow.html#a13f314cfd5c9048ec8ea0b88b611f54d',1,'Window::setHeight()'],['../classWidget.html#ac6d2e6cbb2ff96f3645493d804af07f7',1,'Widget::setHeight()'],['../classTopLevelWidget.html#a607afeaa7fc1bd6cf52ef3138c38360f',1,'TopLevelWidget::setHeight()'],['../classRectangle.html#a5ff3aca88c9ef31a2e3f8e6cee846155',1,'Rectangle::setHeight()'],['../classSize.html#a30d453133d7a677e14641f010204237e',1,'Size::setHeight()'],['../classExternalWindow.html#add192e95a0fa7187cb0a8e739095674f',1,'ExternalWindow::setHeight()']]],
['setid_485',['setId',['../classWidget.html#abfba3652559de84ba1ae9ccbd3d35e31',1,'Widget']]],
['setignoringkeyrepeat_486',['setIgnoringKeyRepeat',['../classWindow.html#a36a04e5f5ecc6ee5228f9da6df43e865',1,'Window']]],
['setimage_487',['setImage',['../classImageBaseAboutWindow.html#a10cf37217ddc3a045970461473e79bdc',1,'ImageBaseAboutWindow']]],
['setlatency_488',['setLatency',['../classPlugin.html#a2a70c4ec55d74d9bc26862975d8df8a7',1,'Plugin']]],
['setmargin_489',['setMargin',['../classSubWidget.html#a9594d89a623dd7e63cbdb8139e9e4a38',1,'SubWidget::setMargin(int x, int y) noexcept'],['../classSubWidget.html#a77f510ea6d0864d296b02b085cc05f2b',1,'SubWidget::setMargin(const Point&lt; int &gt; &amp;offset) noexcept']]],
['setname_490',['setName',['../classWidget.html#a6303d0445f21a2a95148780b0a0afed6',1,'Widget']]],
['setneedsfullviewportdrawing_491',['setNeedsFullViewportDrawing',['../classSubWidget.html#a926884690b66c762f7bdb1196c58522b',1,'SubWidget']]],
['setneedsviewportscaling_492',['setNeedsViewportScaling',['../classSubWidget.html#a5cd703976adf24decbb66dd3dbc1db8b',1,'SubWidget']]],
['setnumsegments_493',['setNumSegments',['../classCircle.html#a34fa92504c0bcc008958779fa4d66c32',1,'Circle']]],
['setoffset_494',['setOffset',['../classWindow.html#a5d79613d3223395806d7d09ad65d5c4d',1,'Window::setOffset(int x, int y)'],['../classWindow.html#ae02f210d981b2ac5efd6207864789758',1,'Window::setOffset(const Point&lt; int &gt; &amp;offset)']]],
['setoffsetx_495',['setOffsetX',['../classWindow.html#a486cf7a5f89c39e1cac3a01633f170db',1,'Window']]],
['setoffsety_496',['setOffsetY',['../classWindow.html#ac570a2c8f35ea4962c8f23c8435cdbfc',1,'Window']]],
['setparametervalue_497',['setParameterValue',['../classPlugin.html#a7e9e26ceafc7603ef6163483a9dc39be',1,'Plugin::setParameterValue()'],['../classUI.html#a973db6e8805f0aa9be3457685564ab8a',1,'UI::setParameterValue()']]],
['setpos_498',['setPos',['../classPoint.html#aac5c7220da858d14140ff0c78684d4e2',1,'Point::setPos(const T &amp;x, const T &amp;y) noexcept'],['../classPoint.html#a2df24dbabd272d2308cc2b53d24d548a',1,'Point::setPos(const Point&lt; T &gt; &amp;pos) noexcept'],['../classCircle.html#a2046a9238a3870276e1dac7fb684eacb',1,'Circle::setPos(const T &amp;x, const T &amp;y) noexcept'],['../classCircle.html#addce92ba3813dc8ae1222127a9dd932d',1,'Circle::setPos(const Point&lt; T &gt; &amp;pos) noexcept'],['../classRectangle.html#a52adba9ba93242a51de29865818fd776',1,'Rectangle::setPos(const T &amp;x, const T &amp;y) noexcept'],['../classRectangle.html#ae0904b281ed4811e6901d0d78c30f08e',1,'Rectangle::setPos(const Point&lt; T &gt; &amp;pos) noexcept']]],
['setrectangle_499',['setRectangle',['../classRectangle.html#a2907d68a36a3ba97cb8ef14f86d85075',1,'Rectangle::setRectangle(const Point&lt; T &gt; &amp;pos, const Size&lt; T &gt; &amp;size) noexcept'],['../classRectangle.html#ac74be2c368aee380680c0221c432cb7f',1,'Rectangle::setRectangle(const Rectangle&lt; T &gt; &amp;rect) noexcept']]],
['setresizable_500',['setResizable',['../classWindow.html#a10f6ff4b0f3e714298a4ac612edcdd7e',1,'Window']]],
['setsize_501',['setSize',['../classSize.html#a6dd4d69857ef92c65dd941eea3356ed9',1,'Size::setSize()'],['../classWindow.html#a9408b98401ce2fab132c196283248d1a',1,'Window::setSize(const Size&lt; uint &gt; &amp;size)'],['../classWindow.html#a89bd0c91920029ddcb21b8975e8b47d9',1,'Window::setSize(uint width, uint height)'],['../classWidget.html#afce784b204902c0f11e9ed02bc692362',1,'Widget::setSize(const Size&lt; uint &gt; &amp;size) noexcept'],['../classWidget.html#ab4d9e0156e455db3ff23730f82544daa',1,'Widget::setSize(uint width, uint height) noexcept'],['../classTopLevelWidget.html#a94f526903d739bf2e812fb785fc66aae',1,'TopLevelWidget::setSize(const Size&lt; uint &gt; &amp;size)'],['../classTopLevelWidget.html#a41fa486da289fb082bb840aaaad72a08',1,'TopLevelWidget::setSize(uint width, uint height)'],['../classRectangle.html#a23d728827f9c22167929c461aa65882e',1,'Rectangle::setSize(const Size&lt; T &gt; &amp;size) noexcept'],['../classRectangle.html#a6af8f18557397f909cae8eb65f8367a4',1,'Rectangle::setSize(const T &amp;width, const T &amp;height) noexcept'],['../classCircle.html#a02fc5ef5aae2d5d1c1bd016cab8afc5d',1,'Circle::setSize()'],['../classSize.html#a973da47d41aaa3757646a8ec0a1d93da',1,'Size::setSize()'],['../classExternalWindow.html#a54bb8e6674ef42e0ebc67576df3d103a',1,'ExternalWindow::setSize()']]],
['setskipdrawing_502',['setSkipDrawing',['../classSubWidget.html#adb38f61c0205d7832ddfd090f7f60f2a',1,'SubWidget']]],
['setstartpos_503',['setStartPos',['../classLine.html#aa078f8d0f2cf36e3162bc1977dc56d4b',1,'Line::setStartPos(const Point&lt; T &gt; &amp;pos) noexcept'],['../classLine.html#a958d534b1b0c2d581b110dd26c0d4cea',1,'Line::setStartPos(const T &amp;x, const T &amp;y) noexcept']]],
['setstartx_504',['setStartX',['../classLine.html#ad2b10d3144ba0711f9ecb444bb08ad4c',1,'Line']]],
['setstarty_505',['setStartY',['../classLine.html#ae35ba55c6ff3bae24c7f05133b9e003b',1,'Line']]],
['setstate_506',['setState',['../classUI.html#abc94a38afa658849f3fdfd66cd8f5f51',1,'UI::setState()'],['../classPlugin.html#afcbb504b824bacea622de9bac09b2331',1,'Plugin::setState()']]],
['settitle_507',['setTitle',['../classWindow.html#ab2f1b80c5dfcafd2cbdf6b85b756fdbd',1,'Window::setTitle()'],['../classExternalWindow.html#a8a196d0db3f082f6861d1d1bfc1db993',1,'ExternalWindow::setTitle()']]],
['settransientparent_508',['setTransientParent',['../classWindow.html#ab3fd6ca05bdbd2df01665192cde2ff34',1,'Window']]],
['settransientwindowid_509',['setTransientWindowId',['../classExternalWindow.html#afe5b255affc787ad34b25a30114f9b89',1,'ExternalWindow']]],
['setvisible_510',['setVisible',['../classExternalWindow.html#a2b599fc96437e666a7a0a4c1b9844b15',1,'ExternalWindow::setVisible()'],['../classWidget.html#a66088a03691f9c643ff335fa826576ba',1,'Widget::setVisible()'],['../classWindow.html#a118e0356bb6fcf081955f2bd97686036',1,'Window::setVisible()']]],
['setwidth_511',['setWidth',['../classExternalWindow.html#a4bebffffd78f13122dc74e4d85c0b527',1,'ExternalWindow::setWidth()'],['../classSize.html#aa552662217b3e8e9c0b6d69d7bc22665',1,'Size::setWidth()'],['../classRectangle.html#a75ce3e3a2e8745a1d749dd9da02e9443',1,'Rectangle::setWidth()'],['../classTopLevelWidget.html#a4a95eb3bb76704737ef9cf405e800617',1,'TopLevelWidget::setWidth()'],['../classWidget.html#aed80a9cbc4a13c01641f35dd3d8688ea',1,'Widget::setWidth()'],['../classWindow.html#acfc9a6f22176e204009acbb387d3861c',1,'Window::setWidth()']]],
['setx_512',['setX',['../classPoint.html#a1539a6f24282a1d637b60ccfbbf46629',1,'Point::setX()'],['../classCircle.html#acc96a188288cdf83fd822bb41f8f2be1',1,'Circle::setX()'],['../classRectangle.html#af618ee618bd029fbe66291228041990e',1,'Rectangle::setX(const T &amp;x) noexcept']]],
['sety_513',['setY',['../classRectangle.html#abe5b6c92cece58bbc0c7cb4855e73dac',1,'Rectangle::setY()'],['../classCircle.html#a034ddfd162d89a7dacea7981a5406a1a',1,'Circle::setY()'],['../classPoint.html#a8ffe6785dc851accf06d02917fba54cf',1,'Point::setY()']]],
['shortname_514',['shortName',['../structParameter.html#a1a47c46f3588b8a940d87fd4d69810ab',1,'Parameter']]],
['show_515',['show',['../classWindow.html#a8f986e19a11c4c97ed8e6ad3d0e648b7',1,'Window::show()'],['../classWidget.html#a25ff178539e226b5f30ef0335d060f2b',1,'Widget::show()'],['../classExternalWindow.html#a35f711faffa1195c478689f4654dcc4f',1,'ExternalWindow::show()']]],
['showhidden_516',['showHidden',['../structFileBrowserOptions_1_1Buttons.html#a43b25f4cece01eb8dd8d89a10e921dfc',1,'FileBrowserOptions::Buttons']]],
['showplaces_517',['showPlaces',['../structFileBrowserOptions_1_1Buttons.html#ac2df440c203fb3b1a3be012283427d5b',1,'FileBrowserOptions::Buttons']]],
['shrinkby_518',['shrinkBy',['../classSize.html#abbcf98f504b23679162cab3b6f818949',1,'Size::shrinkBy()'],['../classRectangle.html#a22e5029d09c7eac8ebee0e079dab075f',1,'Rectangle::shrinkBy()']]],
['signal_519',['Signal',['../classSignal.html',1,'']]],
['size_520',['Size',['../classSize.html',1,'Size&lt; T &gt;'],['../classSize.html#ada0c1f75029742b2514ede5466993776',1,'Size::Size() noexcept'],['../classSize.html#ac3096253937df7e318a02838c48bf941',1,'Size::Size(const T &amp;width, const T &amp;height) noexcept'],['../classSize.html#a90ab9513f96f3642def121d2fbd92593',1,'Size::Size(const Size&lt; T &gt; &amp;size) noexcept']]],
['size_521',['size',['../structMidiEvent.html#a48b420a6dbca6502113b92c336a3041e',1,'MidiEvent::size()'],['../structHeapBuffer.html#a582e7b5aa4a85814f291d002abb49599',1,'HeapBuffer::size()'],['../structWidget_1_1ResizeEvent.html#a79045426f6b38169fec44abbb19d92d9',1,'Widget::ResizeEvent::size()']]],
['size_3c_20uint_20_3e_522',['Size&lt; uint &gt;',['../classSize.html',1,'']]],
['sizechanged_523',['sizeChanged',['../classUI.html#a3d499674a620c1ce3b6e1dbded9f09c4',1,'UI::sizeChanged()'],['../classExternalWindow.html#aba350e1f737b68e51bfe8018bded6e45',1,'ExternalWindow::sizeChanged()']]],
['skewx_524',['skewX',['../classNanoVG.html#a4f45e3cf465060491e73427e5868573f',1,'NanoVG']]],
['skewy_525',['skewY',['../classNanoVG.html#a508c4fde6212c1b0598d9f8b32cba0f6',1,'NanoVG']]],
['slidereventhandler_526',['SliderEventHandler',['../classSliderEventHandler.html',1,'']]],
['smallstackbuffer_527',['SmallStackBuffer',['../structSmallStackBuffer.html',1,'']]],
['smallstackringbuffer_528',['SmallStackRingBuffer',['../classSmallStackRingBuffer.html#aceb7e429507b28dd56e837f23b623987',1,'SmallStackRingBuffer::SmallStackRingBuffer()'],['../classSmallStackRingBuffer.html',1,'SmallStackRingBuffer']]],
['standalonewindow_529',['StandaloneWindow',['../classStandaloneWindow.html#a86e7db3cd8830628b37d0608df40963c',1,'StandaloneWindow::StandaloneWindow(Application &amp;app, Window &amp;transientParentWindow)'],['../classStandaloneWindow.html#a28d4f09b9f280c1d03cc77fc63465b48',1,'StandaloneWindow::StandaloneWindow(Application &amp;app)'],['../classStandaloneWindow.html',1,'StandaloneWindow']]],
['start_5fnamespace_5fdistrho_530',['START_NAMESPACE_DISTRHO',['../group__NamespaceMacros.html#gac4cb97c393d20c28ba19365d844341cd',1,'DistrhoInfo.hpp']]],
['startdir_531',['startDir',['../structFileBrowserOptions.html#a921fe62f9783fee2c01ddbaa0851e8b4',1,'FileBrowserOptions']]],
['state_532',['State',['../structState.html',1,'State'],['../structState.html#abd7983c6af263866ab33229e6d835ef1',1,'State::State()']]],
['state_20hints_533',['State Hints',['../group__StateHints.html',1,'']]],
['statechanged_534',['stateChanged',['../classUI.html#a1bdc7e158d974e82f0535f1658d66575',1,'UI']]],
['string_535',['String',['../classString.html',1,'']]],
['string_536',['string',['../structWidget_1_1CharacterInputEvent.html#a5bfefd8ce88c676f1dd4b990faf49cb0',1,'Widget::CharacterInputEvent']]],
['string_20print_20functions_537',['String print functions',['../group__StringPrintFunctions.html',1,'']]],
['stroke_538',['stroke',['../classNanoVG.html#aeed167687a8a269c4f9c44a7db4d3746',1,'NanoVG']]],
['strokecolor_539',['strokeColor',['../classNanoVG.html#acefc70128644fb8ee5abe6dc04d4f710',1,'NanoVG::strokeColor(const Color &amp;color)'],['../classNanoVG.html#a6242c3e68789ed57b46fb75ba396506d',1,'NanoVG::strokeColor(const int red, const int green, const int blue, const int alpha=255)'],['../classNanoVG.html#a22bac7e1806c9203a637337478a90165',1,'NanoVG::strokeColor(const float red, const float green, const float blue, const float alpha=1.0f)']]],
['strokepaint_540',['strokePaint',['../classNanoVG.html#a8d00b35e0ab5c428af120cc78ff32804',1,'NanoVG']]],
['strokewidth_541',['strokeWidth',['../classNanoVG.html#a373190894070313e8d321b2af0bbab58',1,'NanoVG']]],
['subwidget_542',['SubWidget',['../classSubWidget.html#a9fda448971613b2758fd9570c3065f7a',1,'SubWidget::SubWidget()'],['../classSubWidget.html',1,'SubWidget']]],
['subwidgetwithsizehint_543',['SubWidgetWithSizeHint',['../structSubWidgetWithSizeHint.html',1,'']]],
['supportsaudioinput_544',['supportsAudioInput',['../group__StandalonePluginRelatedUtilities.html#ga13301901e329e098883c62de0972d9ec',1,'DistrhoStandaloneUtils.hpp']]],
['supportsbuffersizechanges_545',['supportsBufferSizeChanges',['../group__StandalonePluginRelatedUtilities.html#gae30b95b8622bdce705b5e7465548ed4c',1,'DistrhoStandaloneUtils.hpp']]],
['supportsmidi_546',['supportsMIDI',['../group__StandalonePluginRelatedUtilities.html#gadbfa0c2cdcb4c114db1063651e97066e',1,'DistrhoStandaloneUtils.hpp']]],
['swapwith_547',['swapWith',['../classScopedPointer.html#a362cd8d5a212df0ee08691b75a4ba3de',1,'ScopedPointer']]],
['symbol_548',['symbol',['../structAudioPort.html#af2bda30f97a1b63cbeb9f11f718d3d30',1,'AudioPort::symbol()'],['../structParameter.html#a3e546efd8dbd0d77351208b670719468',1,'Parameter::symbol()'],['../structPortGroup.html#ae42f849c9f34d940f6fdcfc9abd65d4f',1,'PortGroup::symbol()']]]
];

+ 37
- 37
search/all_12.js View File

@@ -1,40 +1,40 @@
var searchData=
[
['tail_526',['tail',['../structHeapBuffer.html#abd05cbae44531a412352ed52c8a50aec',1,'HeapBuffer']]],
['text_527',['text',['../classNanoVG.html#af9526a1c4b2d5e1db0190c32ba9a1eaa',1,'NanoVG']]],
['textalign_528',['textAlign',['../classNanoVG.html#a9c942ced1722beff8e326a6cf0c9a1d1',1,'NanoVG::textAlign(Align align)'],['../classNanoVG.html#a9a1a5e00351ff92ebb9795a2127f0529',1,'NanoVG::textAlign(int align)']]],
['textbounds_529',['textBounds',['../classNanoVG.html#a281c71d51c5f9d6fb5d6e8369ca650f4',1,'NanoVG']]],
['textbox_530',['textBox',['../classNanoVG.html#a16f910cddbecd570d3c125e217f51e10',1,'NanoVG']]],
['textboxbounds_531',['textBoxBounds',['../classNanoVG.html#a47e41ef76a4682f0418ba8d0a60f6ea8',1,'NanoVG']]],
['textbreaklines_532',['textBreakLines',['../classNanoVG.html#ab403a3cdf19dd2af4c75bb180c5e0fb8',1,'NanoVG']]],
['textglyphpositions_533',['textGlyphPositions',['../classNanoVG.html#ae8476a381526e6ef89150529594cbf35',1,'NanoVG']]],
['textletterspacing_534',['textLetterSpacing',['../classNanoVG.html#ad768aae0871c1685ca5dc590859d5c1b',1,'NanoVG']]],
['textlineheight_535',['textLineHeight',['../classNanoVG.html#aab69aa4f2ae1b15adcceb9d065ea8aa6',1,'NanoVG']]],
['textmetrics_536',['textMetrics',['../classNanoVG.html#a5e84bf7dec65064733aec488389568b0',1,'NanoVG']]],
['textrow_537',['TextRow',['../structNanoVG_1_1TextRow.html',1,'NanoVG']]],
['thread_538',['Thread',['../classThread.html',1,'']]],
['tick_539',['tick',['../structTimePosition_1_1BarBeatTick.html#aecb8a1a98db84c6d03c39278f86a0324',1,'TimePosition::BarBeatTick']]],
['ticksperbeat_540',['ticksPerBeat',['../structTimePosition_1_1BarBeatTick.html#ab8cfc3f2709a79e733e58556712da062',1,'TimePosition::BarBeatTick']]],
['time_541',['time',['../structWidget_1_1BaseEvent.html#a52bcdb90972ffb30a223d358e64f723f',1,'Widget::BaseEvent']]],
['timeposition_542',['TimePosition',['../structTimePosition.html',1,'TimePosition'],['../structTimePosition.html#aee816daeed95cf309ded1087a0c800ae',1,'TimePosition::TimePosition()']]],
['title_543',['title',['../structFileBrowserOptions.html#a16d59d24e75eec2c6f9f3aebfe5464e7',1,'FileBrowserOptions']]],
['titlechanged_544',['titleChanged',['../classExternalWindow.html#afd42fab01a270aab541b161237b7d9f3',1,'ExternalWindow']]],
['tobottom_545',['toBottom',['../classSubWidget.html#a87d35cdd41511d75fb12bc18a2d9facc',1,'SubWidget']]],
['tofront_546',['toFront',['../classSubWidget.html#a3426cbcf0104c8a5c9996e3efff75381',1,'SubWidget']]],
['toplevelwidget_547',['TopLevelWidget',['../classTopLevelWidget.html',1,'TopLevelWidget'],['../classTopLevelWidget.html#a3cdeec5e7b144cc48d89e748a37f538e',1,'TopLevelWidget::TopLevelWidget()']]],
['transform_548',['transform',['../classNanoVG.html#ad06096ade68bf78bcc256005cd6f2c45',1,'NanoVG']]],
['transformidentity_549',['transformIdentity',['../classNanoVG.html#a81c8b60a87be8a8d4a5efce8eeaf1915',1,'NanoVG']]],
['transforminverse_550',['transformInverse',['../classNanoVG.html#ac5692f82bcac4858f44d9fd0df287cad',1,'NanoVG']]],
['transformmultiply_551',['transformMultiply',['../classNanoVG.html#a3ac9aade102afb3a4f84966f0727c6c6',1,'NanoVG']]],
['transformpoint_552',['transformPoint',['../classNanoVG.html#ae2e49763ab7f503016c0dede0dbfd3cc',1,'NanoVG']]],
['transformpremultiply_553',['transformPremultiply',['../classNanoVG.html#a1416fbff2a0ecada90b2d9852bfbaf42',1,'NanoVG']]],
['transformrotate_554',['transformRotate',['../classNanoVG.html#a43e16d0f94dc0a49dae5128d69e75e3c',1,'NanoVG']]],
['transformscale_555',['transformScale',['../classNanoVG.html#a94c1f78baadff1d6c6a5a4d52dd770d7',1,'NanoVG']]],
['transformskewx_556',['transformSkewX',['../classNanoVG.html#a178b6b9a8c755cda91ccba2b6239d279',1,'NanoVG']]],
['transformskewy_557',['transformSkewY',['../classNanoVG.html#af23e7f6a6056e5efe72944fa68767704',1,'NanoVG']]],
['transformtranslate_558',['transformTranslate',['../classNanoVG.html#a022e3cdfa06f5bc9103b37dfa64adb2c',1,'NanoVG']]],
['transientparentwindowchanged_559',['transientParentWindowChanged',['../classExternalWindow.html#a4ea76a2c6240c95ff941bc95841c73c8',1,'ExternalWindow']]],
['translate_560',['translate',['../classNanoVG.html#abc1d6466eb7fdc57a869ec7b9fdd6bdf',1,'NanoVG']]],
['triangle_561',['Triangle',['../classTriangle.html',1,'Triangle&lt; T &gt;'],['../classTriangle.html#ad3ae4f80efb4b18f4f8b8a25543aa10c',1,'Triangle::Triangle() noexcept'],['../classTriangle.html#a394b031be82e2e0c043547ad1e551ddb',1,'Triangle::Triangle(const T &amp;x1, const T &amp;y1, const T &amp;x2, const T &amp;y2, const T &amp;x3, const T &amp;y3) noexcept'],['../classTriangle.html#a79fdc0930afc294c7bce90a2cd3075ed',1,'Triangle::Triangle(const Point&lt; T &gt; &amp;pos1, const Point&lt; T &gt; &amp;pos2, const Point&lt; T &gt; &amp;pos3) noexcept'],['../classTriangle.html#a5130f571dd5de1f070573929637544ce',1,'Triangle::Triangle(const Triangle&lt; T &gt; &amp;tri) noexcept']]],
['type_562',['type',['../structClipboardDataOffer.html#a23d607737b1fffbb003b885da5a5ca66',1,'ClipboardDataOffer']]]
['tail_549',['tail',['../structHeapBuffer.html#abd05cbae44531a412352ed52c8a50aec',1,'HeapBuffer']]],
['text_550',['text',['../classNanoVG.html#af9526a1c4b2d5e1db0190c32ba9a1eaa',1,'NanoVG']]],
['textalign_551',['textAlign',['../classNanoVG.html#a9c942ced1722beff8e326a6cf0c9a1d1',1,'NanoVG::textAlign(Align align)'],['../classNanoVG.html#a9a1a5e00351ff92ebb9795a2127f0529',1,'NanoVG::textAlign(int align)']]],
['textbounds_552',['textBounds',['../classNanoVG.html#a281c71d51c5f9d6fb5d6e8369ca650f4',1,'NanoVG']]],
['textbox_553',['textBox',['../classNanoVG.html#a16f910cddbecd570d3c125e217f51e10',1,'NanoVG']]],
['textboxbounds_554',['textBoxBounds',['../classNanoVG.html#a47e41ef76a4682f0418ba8d0a60f6ea8',1,'NanoVG']]],
['textbreaklines_555',['textBreakLines',['../classNanoVG.html#ab403a3cdf19dd2af4c75bb180c5e0fb8',1,'NanoVG']]],
['textglyphpositions_556',['textGlyphPositions',['../classNanoVG.html#ae8476a381526e6ef89150529594cbf35',1,'NanoVG']]],
['textletterspacing_557',['textLetterSpacing',['../classNanoVG.html#ad768aae0871c1685ca5dc590859d5c1b',1,'NanoVG']]],
['textlineheight_558',['textLineHeight',['../classNanoVG.html#aab69aa4f2ae1b15adcceb9d065ea8aa6',1,'NanoVG']]],
['textmetrics_559',['textMetrics',['../classNanoVG.html#a5e84bf7dec65064733aec488389568b0',1,'NanoVG']]],
['textrow_560',['TextRow',['../structNanoVG_1_1TextRow.html',1,'NanoVG']]],
['thread_561',['Thread',['../classThread.html',1,'']]],
['tick_562',['tick',['../structTimePosition_1_1BarBeatTick.html#aecb8a1a98db84c6d03c39278f86a0324',1,'TimePosition::BarBeatTick']]],
['ticksperbeat_563',['ticksPerBeat',['../structTimePosition_1_1BarBeatTick.html#ab8cfc3f2709a79e733e58556712da062',1,'TimePosition::BarBeatTick']]],
['time_564',['time',['../structWidget_1_1BaseEvent.html#a52bcdb90972ffb30a223d358e64f723f',1,'Widget::BaseEvent']]],
['timeposition_565',['TimePosition',['../structTimePosition.html',1,'TimePosition'],['../structTimePosition.html#aee816daeed95cf309ded1087a0c800ae',1,'TimePosition::TimePosition()']]],
['title_566',['title',['../structFileBrowserOptions.html#a16d59d24e75eec2c6f9f3aebfe5464e7',1,'FileBrowserOptions']]],
['titlechanged_567',['titleChanged',['../classExternalWindow.html#afd42fab01a270aab541b161237b7d9f3',1,'ExternalWindow']]],
['tobottom_568',['toBottom',['../classSubWidget.html#a87d35cdd41511d75fb12bc18a2d9facc',1,'SubWidget']]],
['tofront_569',['toFront',['../classSubWidget.html#a3426cbcf0104c8a5c9996e3efff75381',1,'SubWidget']]],
['toplevelwidget_570',['TopLevelWidget',['../classTopLevelWidget.html',1,'TopLevelWidget'],['../classTopLevelWidget.html#a3cdeec5e7b144cc48d89e748a37f538e',1,'TopLevelWidget::TopLevelWidget()']]],
['transform_571',['transform',['../classNanoVG.html#ad06096ade68bf78bcc256005cd6f2c45',1,'NanoVG']]],
['transformidentity_572',['transformIdentity',['../classNanoVG.html#a81c8b60a87be8a8d4a5efce8eeaf1915',1,'NanoVG']]],
['transforminverse_573',['transformInverse',['../classNanoVG.html#ac5692f82bcac4858f44d9fd0df287cad',1,'NanoVG']]],
['transformmultiply_574',['transformMultiply',['../classNanoVG.html#a3ac9aade102afb3a4f84966f0727c6c6',1,'NanoVG']]],
['transformpoint_575',['transformPoint',['../classNanoVG.html#ae2e49763ab7f503016c0dede0dbfd3cc',1,'NanoVG']]],
['transformpremultiply_576',['transformPremultiply',['../classNanoVG.html#a1416fbff2a0ecada90b2d9852bfbaf42',1,'NanoVG']]],
['transformrotate_577',['transformRotate',['../classNanoVG.html#a43e16d0f94dc0a49dae5128d69e75e3c',1,'NanoVG']]],
['transformscale_578',['transformScale',['../classNanoVG.html#a94c1f78baadff1d6c6a5a4d52dd770d7',1,'NanoVG']]],
['transformskewx_579',['transformSkewX',['../classNanoVG.html#a178b6b9a8c755cda91ccba2b6239d279',1,'NanoVG']]],
['transformskewy_580',['transformSkewY',['../classNanoVG.html#af23e7f6a6056e5efe72944fa68767704',1,'NanoVG']]],
['transformtranslate_581',['transformTranslate',['../classNanoVG.html#a022e3cdfa06f5bc9103b37dfa64adb2c',1,'NanoVG']]],
['transientparentwindowchanged_582',['transientParentWindowChanged',['../classExternalWindow.html#a4ea76a2c6240c95ff941bc95841c73c8',1,'ExternalWindow']]],
['translate_583',['translate',['../classNanoVG.html#abc1d6466eb7fdc57a869ec7b9fdd6bdf',1,'NanoVG']]],
['triangle_584',['Triangle',['../classTriangle.html',1,'Triangle&lt; T &gt;'],['../classTriangle.html#ad3ae4f80efb4b18f4f8b8a25543aa10c',1,'Triangle::Triangle() noexcept'],['../classTriangle.html#a394b031be82e2e0c043547ad1e551ddb',1,'Triangle::Triangle(const T &amp;x1, const T &amp;y1, const T &amp;x2, const T &amp;y2, const T &amp;x3, const T &amp;y3) noexcept'],['../classTriangle.html#a79fdc0930afc294c7bce90a2cd3075ed',1,'Triangle::Triangle(const Point&lt; T &gt; &amp;pos1, const Point&lt; T &gt; &amp;pos2, const Point&lt; T &gt; &amp;pos3) noexcept'],['../classTriangle.html#a5130f571dd5de1f070573929637544ce',1,'Triangle::Triangle(const Triangle&lt; T &gt; &amp;tri) noexcept']]],
['type_585',['type',['../structClipboardDataOffer.html#a23d607737b1fffbb003b885da5a5ca66',1,'ClipboardDataOffer']]]
];

+ 6
- 6
search/all_13.js View File

@@ -1,9 +1,9 @@
var searchData=
[
['ui_563',['UI',['../classUI.html',1,'UI'],['../classUI.html#a844584caf362e72c0def15ff3477187f',1,'UI::UI(uint width=0, uint height=0, bool automaticallyScaleAndSetAsMinimumSize=false)']]],
['uiidle_564',['uiIdle',['../classUI.html#af8de639088f3b2d42c266a2d2d6719da',1,'UI']]],
['uiscalefactorchanged_565',['uiScaleFactorChanged',['../classUI.html#ad89b09ef4e8129d72ff3b3cb8716a96b',1,'UI']]],
['unit_566',['unit',['../structParameter.html#a2f79574998d34504e3a694163b4599a1',1,'Parameter']]],
['updatestatevalue_567',['updateStateValue',['../classPlugin.html#aa85c50c732d9083f57b72d6b4cd7c5ae',1,'Plugin']]],
['use_5fnamespace_5fdistrho_568',['USE_NAMESPACE_DISTRHO',['../group__NamespaceMacros.html#gadcd7e7d900fbae0fa1a71d6fbab4d59c',1,'DistrhoInfo.hpp']]]
['ui_586',['UI',['../classUI.html',1,'UI'],['../classUI.html#a844584caf362e72c0def15ff3477187f',1,'UI::UI(uint width=0, uint height=0, bool automaticallyScaleAndSetAsMinimumSize=false)']]],
['uiidle_587',['uiIdle',['../classUI.html#af8de639088f3b2d42c266a2d2d6719da',1,'UI']]],
['uiscalefactorchanged_588',['uiScaleFactorChanged',['../classUI.html#ad89b09ef4e8129d72ff3b3cb8716a96b',1,'UI']]],
['unit_589',['unit',['../structParameter.html#a2f79574998d34504e3a694163b4599a1',1,'Parameter']]],
['updatestatevalue_590',['updateStateValue',['../classPlugin.html#aa85c50c732d9083f57b72d6b4cd7c5ae',1,'Plugin']]],
['use_5fnamespace_5fdistrho_591',['USE_NAMESPACE_DISTRHO',['../group__NamespaceMacros.html#gadcd7e7d900fbae0fa1a71d6fbab4d59c',1,'DistrhoInfo.hpp']]]
];

+ 7
- 7
search/all_14.js View File

@@ -1,10 +1,10 @@
var searchData=
[
['valid_569',['valid',['../structTimePosition_1_1BarBeatTick.html#a45a05047e923285af0fbeacb371e3f4e',1,'TimePosition::BarBeatTick']]],
['value_570',['value',['../structParameterEnumerationValue.html#a292f282837daa791205027d998907ae9',1,'ParameterEnumerationValue']]],
['values_571',['values',['../structParameterEnumerationValues.html#ae101471c5d819624398001c84c534b7a',1,'ParameterEnumerationValues']]],
['verticallystackedhorizontallayout_572',['VerticallyStackedHorizontalLayout',['../structVerticallyStackedHorizontalLayout.html',1,'']]],
['visibilitychanged_573',['visibilityChanged',['../classExternalWindow.html#a60ddf70411d05cef91f4a1eaa09554b8',1,'ExternalWindow']]],
['vulkangraphicscontext_574',['VulkanGraphicsContext',['../structVulkanGraphicsContext.html',1,'']]],
['vulkanimage_575',['VulkanImage',['../classVulkanImage.html',1,'VulkanImage'],['../classVulkanImage.html#aaa625bb7cbad92de916c0d6877033a42',1,'VulkanImage::VulkanImage()'],['../classVulkanImage.html#a9a3d03e892ee950aa291811e54845568',1,'VulkanImage::VulkanImage(const char *rawData, uint width, uint height, ImageFormat format)'],['../classVulkanImage.html#aa1af6c288a92b400c0f99dd62b709443',1,'VulkanImage::VulkanImage(const char *rawData, const Size&lt; uint &gt; &amp;size, ImageFormat format)'],['../classVulkanImage.html#a5821aca1ae6e78a7e7c9814a42f55f35',1,'VulkanImage::VulkanImage(const VulkanImage &amp;image)']]]
['valid_592',['valid',['../structTimePosition_1_1BarBeatTick.html#a45a05047e923285af0fbeacb371e3f4e',1,'TimePosition::BarBeatTick']]],
['value_593',['value',['../structParameterEnumerationValue.html#a292f282837daa791205027d998907ae9',1,'ParameterEnumerationValue']]],
['values_594',['values',['../structParameterEnumerationValues.html#ae101471c5d819624398001c84c534b7a',1,'ParameterEnumerationValues']]],
['verticallystackedhorizontallayout_595',['VerticallyStackedHorizontalLayout',['../structVerticallyStackedHorizontalLayout.html',1,'']]],
['visibilitychanged_596',['visibilityChanged',['../classExternalWindow.html#a60ddf70411d05cef91f4a1eaa09554b8',1,'ExternalWindow']]],
['vulkangraphicscontext_597',['VulkanGraphicsContext',['../structVulkanGraphicsContext.html',1,'']]],
['vulkanimage_598',['VulkanImage',['../classVulkanImage.html',1,'VulkanImage'],['../classVulkanImage.html#aaa625bb7cbad92de916c0d6877033a42',1,'VulkanImage::VulkanImage()'],['../classVulkanImage.html#a9a3d03e892ee950aa291811e54845568',1,'VulkanImage::VulkanImage(const char *rawData, uint width, uint height, ImageFormat format)'],['../classVulkanImage.html#aa1af6c288a92b400c0f99dd62b709443',1,'VulkanImage::VulkanImage(const char *rawData, const Size&lt; uint &gt; &amp;size, ImageFormat format)'],['../classVulkanImage.html#a5821aca1ae6e78a7e7c9814a42f55f35',1,'VulkanImage::VulkanImage(const VulkanImage &amp;image)']]]
];

+ 7
- 7
search/all_15.js View File

@@ -1,10 +1,10 @@
var searchData=
[
['widget_576',['Widget',['../classWidget.html',1,'']]],
['window_577',['Window',['../classWindow.html',1,'Window'],['../classWindow.html#a2f6257937261fcb3e627752dfb248d47',1,'Window::Window(Application &amp;app)'],['../classWindow.html#a647ec84da28005ecf0501825af77adec',1,'Window::Window(Application &amp;app, Window &amp;transientParentWindow)'],['../classWindow.html#a2cd48e2c2d816439cf38faf5c7a9736f',1,'Window::Window(Application &amp;app, uintptr_t parentWindowHandle, double scaleFactor, bool resizable)'],['../classWindow.html#ada557b4543c122a0de22c876c55504ae',1,'Window::Window(Application &amp;app, uintptr_t parentWindowHandle, uint width, uint height, double scaleFactor, bool resizable)']]],
['withalpha_578',['withAlpha',['../structColor.html#a3f163d59e5a313f742acdd2bbd47441f',1,'Color']]],
['writecustomdata_579',['writeCustomData',['../classRingBufferControl.html#a72e173dcae573f6e2e8ac4cfeb8aa96b',1,'RingBufferControl']]],
['writecustomtype_580',['writeCustomType',['../classRingBufferControl.html#a3e9c1857e11f0d9efcc2944d6000504b',1,'RingBufferControl']]],
['writemidievent_581',['writeMidiEvent',['../classPlugin.html#a0467eef817ac130cbbe1c0fbe09660c6',1,'Plugin']]],
['wrtn_582',['wrtn',['../structHeapBuffer.html#a4d330b5567a46f6b6972f5174b262292',1,'HeapBuffer']]]
['widget_599',['Widget',['../classWidget.html',1,'']]],
['window_600',['Window',['../classWindow.html',1,'Window'],['../classWindow.html#a2f6257937261fcb3e627752dfb248d47',1,'Window::Window(Application &amp;app)'],['../classWindow.html#a647ec84da28005ecf0501825af77adec',1,'Window::Window(Application &amp;app, Window &amp;transientParentWindow)'],['../classWindow.html#a2cd48e2c2d816439cf38faf5c7a9736f',1,'Window::Window(Application &amp;app, uintptr_t parentWindowHandle, double scaleFactor, bool resizable)'],['../classWindow.html#ada557b4543c122a0de22c876c55504ae',1,'Window::Window(Application &amp;app, uintptr_t parentWindowHandle, uint width, uint height, double scaleFactor, bool resizable)']]],
['withalpha_601',['withAlpha',['../structColor.html#a3f163d59e5a313f742acdd2bbd47441f',1,'Color']]],
['writecustomdata_602',['writeCustomData',['../classRingBufferControl.html#a72e173dcae573f6e2e8ac4cfeb8aa96b',1,'RingBufferControl']]],
['writecustomtype_603',['writeCustomType',['../classRingBufferControl.html#a3e9c1857e11f0d9efcc2944d6000504b',1,'RingBufferControl']]],
['writemidievent_604',['writeMidiEvent',['../classPlugin.html#a0467eef817ac130cbbe1c0fbe09660c6',1,'Plugin']]],
['wrtn_605',['wrtn',['../structHeapBuffer.html#a4d330b5567a46f6b6972f5174b262292',1,'HeapBuffer']]]
];

+ 21
- 21
search/all_16.js View File

@@ -1,24 +1,24 @@
var searchData=
[
['_7eapplication_583',['~Application',['../classApplication.html#a20573928a0d53fb96d929513bc5acde6',1,'Application']]],
['_7ebaseevent_584',['~BaseEvent',['../structWidget_1_1BaseEvent.html#a58da172316b49f6d79b879b74ce5792a',1,'Widget::BaseEvent']]],
['_7ecairobasewidget_585',['~CairoBaseWidget',['../classCairoBaseWidget.html#ab13e7888614ab01ef4a74175b9c487fa',1,'CairoBaseWidget']]],
['_7ecairoimage_586',['~CairoImage',['../classCairoImage.html#a36abbee6a47fc3447f00270aa16a82b7',1,'CairoImage']]],
['_7eexternalwindow_587',['~ExternalWindow',['../classExternalWindow.html#a97f21d30b4449fc5cd87396ff051c199',1,'ExternalWindow']]],
['_7eheapringbuffer_588',['~HeapRingBuffer',['../classHeapRingBuffer.html#ae2e25c610073d35998efd7106b5eb8a0',1,'HeapRingBuffer']]],
['_7eimagebase_589',['~ImageBase',['../classImageBase.html#a247e1c3259d5943a5766c99f61da9309',1,'ImageBase']]],
['_7eleakedobjectdetector_590',['~LeakedObjectDetector',['../classLeakedObjectDetector.html#af4fd575fa5361ce5b01f65a635b1d6b3',1,'LeakedObjectDetector']]],
['_7enanobasewidget_591',['~NanoBaseWidget',['../classNanoBaseWidget.html#a7baf9307e082a627e7fae8732346174b',1,'NanoBaseWidget']]],
['_7enanoimage_592',['~NanoImage',['../classNanoImage.html#a8915fb5eae1a0180edd3f5babf6a0091',1,'NanoImage']]],
['_7enanovg_593',['~NanoVG',['../classNanoVG.html#a3e05169f4e66e811537adaea17e4bb3f',1,'NanoVG']]],
['_7eopenglimage_594',['~OpenGLImage',['../classOpenGLImage.html#a97461921a4eba66af7cfeaf84595f3ad',1,'OpenGLImage']]],
['_7eplugin_595',['~Plugin',['../classPlugin.html#a89814b8f0b1c91e49140d42eb8331383',1,'Plugin']]],
['_7escopedgraphicscontext_596',['~ScopedGraphicsContext',['../structWindow_1_1ScopedGraphicsContext.html#a18fa5edc2ecfeafcc0849094ab49996e',1,'Window::ScopedGraphicsContext']]],
['_7escopedpointer_597',['~ScopedPointer',['../classScopedPointer.html#a3c540f0121065aafa5f9607362fc1450',1,'ScopedPointer']]],
['_7esubwidget_598',['~SubWidget',['../classSubWidget.html#a7ac8a2d6086eceb5af7b7fa5a157e2bc',1,'SubWidget']]],
['_7etoplevelwidget_599',['~TopLevelWidget',['../classTopLevelWidget.html#af60daa3513ca7f7d05575ab3feaee268',1,'TopLevelWidget']]],
['_7eui_600',['~UI',['../classUI.html#a9b9e41e6021cc07a25b50539e74daaae',1,'UI']]],
['_7evulkanimage_601',['~VulkanImage',['../classVulkanImage.html#a45ab89d12d9a6a08f4986ac241a025dc',1,'VulkanImage']]],
['_7ewidget_602',['~Widget',['../classWidget.html#a714cf798aadb4d615f6f60a355382c02',1,'Widget']]],
['_7ewindow_603',['~Window',['../classWindow.html#a62b4a97b3c2e492f1d9a46092011e2d9',1,'Window']]]
['_7eapplication_606',['~Application',['../classApplication.html#a20573928a0d53fb96d929513bc5acde6',1,'Application']]],
['_7ebaseevent_607',['~BaseEvent',['../structWidget_1_1BaseEvent.html#a58da172316b49f6d79b879b74ce5792a',1,'Widget::BaseEvent']]],
['_7ecairobasewidget_608',['~CairoBaseWidget',['../classCairoBaseWidget.html#ab13e7888614ab01ef4a74175b9c487fa',1,'CairoBaseWidget']]],
['_7ecairoimage_609',['~CairoImage',['../classCairoImage.html#a36abbee6a47fc3447f00270aa16a82b7',1,'CairoImage']]],
['_7eexternalwindow_610',['~ExternalWindow',['../classExternalWindow.html#a97f21d30b4449fc5cd87396ff051c199',1,'ExternalWindow']]],
['_7eheapringbuffer_611',['~HeapRingBuffer',['../classHeapRingBuffer.html#ae2e25c610073d35998efd7106b5eb8a0',1,'HeapRingBuffer']]],
['_7eimagebase_612',['~ImageBase',['../classImageBase.html#a247e1c3259d5943a5766c99f61da9309',1,'ImageBase']]],
['_7eleakedobjectdetector_613',['~LeakedObjectDetector',['../classLeakedObjectDetector.html#af4fd575fa5361ce5b01f65a635b1d6b3',1,'LeakedObjectDetector']]],
['_7enanobasewidget_614',['~NanoBaseWidget',['../classNanoBaseWidget.html#a7baf9307e082a627e7fae8732346174b',1,'NanoBaseWidget']]],
['_7enanoimage_615',['~NanoImage',['../classNanoImage.html#a8915fb5eae1a0180edd3f5babf6a0091',1,'NanoImage']]],
['_7enanovg_616',['~NanoVG',['../classNanoVG.html#a3e05169f4e66e811537adaea17e4bb3f',1,'NanoVG']]],
['_7eopenglimage_617',['~OpenGLImage',['../classOpenGLImage.html#a97461921a4eba66af7cfeaf84595f3ad',1,'OpenGLImage']]],
['_7eplugin_618',['~Plugin',['../classPlugin.html#a89814b8f0b1c91e49140d42eb8331383',1,'Plugin']]],
['_7escopedgraphicscontext_619',['~ScopedGraphicsContext',['../structWindow_1_1ScopedGraphicsContext.html#a18fa5edc2ecfeafcc0849094ab49996e',1,'Window::ScopedGraphicsContext']]],
['_7escopedpointer_620',['~ScopedPointer',['../classScopedPointer.html#a3c540f0121065aafa5f9607362fc1450',1,'ScopedPointer']]],
['_7esubwidget_621',['~SubWidget',['../classSubWidget.html#a7ac8a2d6086eceb5af7b7fa5a157e2bc',1,'SubWidget']]],
['_7etoplevelwidget_622',['~TopLevelWidget',['../classTopLevelWidget.html#af60daa3513ca7f7d05575ab3feaee268',1,'TopLevelWidget']]],
['_7eui_623',['~UI',['../classUI.html#a9b9e41e6021cc07a25b50539e74daaae',1,'UI']]],
['_7evulkanimage_624',['~VulkanImage',['../classVulkanImage.html#a45ab89d12d9a6a08f4986ac241a025dc',1,'VulkanImage']]],
['_7ewidget_625',['~Widget',['../classWidget.html#a714cf798aadb4d615f6f60a355382c02',1,'Widget']]],
['_7ewindow_626',['~Window',['../classWindow.html#a62b4a97b3c2e492f1d9a46092011e2d9',1,'Window']]]
];

+ 38
- 37
search/all_2.js View File

@@ -1,40 +1,41 @@
var searchData=
[
['cairobasewidget_29',['CairoBaseWidget',['../classCairoBaseWidget.html',1,'CairoBaseWidget&lt; BaseWidget &gt;'],['../classCairoBaseWidget.html#af5544cdc62910eb3c25670a5130baeb2',1,'CairoBaseWidget::CairoBaseWidget(Application &amp;app, Window &amp;parentWindow)'],['../classCairoBaseWidget.html#a2342ae5da3def6ce0b9713a9bf49e203',1,'CairoBaseWidget::CairoBaseWidget(Application &amp;app)'],['../classCairoBaseWidget.html#a07039d9207f923b0bf7f62a96f168f70',1,'CairoBaseWidget::CairoBaseWidget(Window &amp;windowToMapTo)'],['../classCairoBaseWidget.html#a264d5e3f7de6dd5c9f9b492f5577420f',1,'CairoBaseWidget::CairoBaseWidget(Widget *const parentGroupWidget)']]],
['cairographicscontext_30',['CairoGraphicsContext',['../structCairoGraphicsContext.html',1,'']]],
['cairoimage_31',['CairoImage',['../classCairoImage.html#a17ce2733afa4fc080a63b23cd0dd7b18',1,'CairoImage::CairoImage(const char *rawData, uint width, uint height, ImageFormat format)'],['../classCairoImage.html#a89f96493ba7b890a4d43f00672f1a497',1,'CairoImage::CairoImage(const CairoImage &amp;image)'],['../classCairoImage.html#ad3490061bcaae7cc320c5ccfb40ab3dd',1,'CairoImage::CairoImage(const char *rawData, const Size&lt; uint &gt; &amp;size, ImageFormat format)'],['../classCairoImage.html#aeadcf789efdf894a61e477b4d64fc0b6',1,'CairoImage::CairoImage()'],['../classCairoImage.html',1,'CairoImage']]],
['callback_32',['Callback',['../classButtonEventHandler_1_1Callback.html',1,'ButtonEventHandler::Callback'],['../classImageBaseButton_1_1Callback.html',1,'ImageBaseButton&lt; ImageType &gt;::Callback'],['../classImageBaseKnob_1_1Callback.html',1,'ImageBaseKnob&lt; ImageType &gt;::Callback'],['../classImageBaseSlider_1_1Callback.html',1,'ImageBaseSlider&lt; ImageType &gt;::Callback'],['../classImageBaseSwitch_1_1Callback.html',1,'ImageBaseSwitch&lt; ImageType &gt;::Callback'],['../classKnobEventHandler_1_1Callback.html',1,'KnobEventHandler::Callback']]],
['cancelframe_33',['cancelFrame',['../classNanoVG.html#a5c47888aaa114b8ca9a0431383c1c0f1',1,'NanoVG']]],
['canrequestparametervaluechanges_34',['canRequestParameterValueChanges',['../classPlugin.html#a581614e1d301ee613a988855c61b2517',1,'Plugin']]],
['character_35',['character',['../structWidget_1_1CharacterInputEvent.html#a8426db4231baad1c1621e287817fde85',1,'Widget::CharacterInputEvent']]],
['characterinputevent_36',['CharacterInputEvent',['../structWidget_1_1CharacterInputEvent.html#ab0e3407cf8693ba9f3be0be805c8af24',1,'Widget::CharacterInputEvent::CharacterInputEvent()'],['../structWidget_1_1CharacterInputEvent.html',1,'Widget::CharacterInputEvent']]],
['circle_37',['Circle',['../classCircle.html',1,'']]],
['circle_38',['circle',['../classNanoVG.html#aa3230d48ce48f050d3ad636fc2ff4235',1,'NanoVG']]],
['circle_39',['Circle',['../classCircle.html#aeee15927ea13e9114aa53a8c26c5e1df',1,'Circle::Circle(const Circle&lt; T &gt; &amp;cir) noexcept'],['../classCircle.html#ab0e9f6bedf3dfa9fd958c573eca46368',1,'Circle::Circle(const Point&lt; T &gt; &amp;pos, const float size, const uint numSegments=300)'],['../classCircle.html#a391892aed07c5239153a038fea80423b',1,'Circle::Circle(const T &amp;x, const T &amp;y, const float size, const uint numSegments=300)'],['../classCircle.html#a69bf0ddae80047ef3e9b230930eb1ba6',1,'Circle::Circle() noexcept']]],
['clear_40',['clear',['../structTimePosition.html#acd89e79032d748ee7fc01d55a2c518bb',1,'TimePosition::clear()'],['../structTimePosition_1_1BarBeatTick.html#ae6ea776260b58800bff63f515351bd3a',1,'TimePosition::BarBeatTick::clear()']]],
['clipboarddataoffer_41',['ClipboardDataOffer',['../structClipboardDataOffer.html',1,'']]],
['close_42',['close',['../classExternalWindow.html#acaa09de3c6dfccecf725a8f7a486ce15',1,'ExternalWindow::close()'],['../classWindow.html#a35055c04498121d39741bfcd5082705b',1,'Window::close()']]],
['closepath_43',['closePath',['../classNanoVG.html#a74ae13eec498c0afb9fa20199eecbd48',1,'NanoVG']]],
['color_44',['Color',['../structColor.html#acbbdba6661c2bbd987ef27de59813b47',1,'Color::Color() noexcept'],['../structColor.html#a8d51b3f9457c1d9524ad67c94152b99a',1,'Color::Color(const Color &amp;color1, const Color &amp;color2, float u) noexcept'],['../structColor.html#a7ac8018890423379bf8cdce2c6bc9d7e',1,'Color::Color(const Color &amp;color) noexcept'],['../structColor.html#ab5f3b6caec37b3ba8f7a04c801c63847',1,'Color::Color(int red, int green, int blue, float alpha=1.0f) noexcept'],['../structColor.html#a77dd2b8f997aaf034c790ffd4ffe64bc',1,'Color::Color(float red, float green, float blue, float alpha=1.0f) noexcept'],['../structColor.html',1,'Color']]],
['commitwrite_45',['commitWrite',['../classRingBufferControl.html#afe0c53d2591eb265d657c1cab6800036',1,'RingBufferControl']]],
['contains_46',['contains',['../classRectangle.html#a08b0741e6259e88552106136cdbff489',1,'Rectangle::contains(const T &amp;x, const T &amp;y) const noexcept'],['../classRectangle.html#a4420a73414a0fd1b85abd468a2c890d3',1,'Rectangle::contains(const Point&lt; T &gt; &amp;pos) const noexcept'],['../classRectangle.html#aa39ae4cb4a8c27f91db466fa12aef254',1,'Rectangle::contains(const Point&lt; T2 &gt; &amp;pos) const noexcept'],['../classSubWidget.html#ac9b4d3e2a3a39e588504dd33c1d9ca95',1,'SubWidget::contains(T x, T y) const noexcept'],['../classSubWidget.html#ac5b584dfb15c98b67c03a2d9699651b7',1,'SubWidget::contains(const Point&lt; T &gt; &amp;pos) const noexcept']]],
['containsafterscaling_47',['containsAfterScaling',['../classRectangle.html#a9edf56d37c808947aa75b55fa81a11e1',1,'Rectangle']]],
['containsx_48',['containsX',['../classRectangle.html#a71d17fdf110e4ed2350d2a5fe248e540',1,'Rectangle']]],
['containsy_49',['containsY',['../classRectangle.html#a38b56f4f8b38597fd34f68c677de2559',1,'Rectangle']]],
['count_50',['count',['../structParameterEnumerationValues.html#afd740dd45384c493801405a1c1c3d51d',1,'ParameterEnumerationValues']]],
['create_5fantialias_51',['CREATE_ANTIALIAS',['../classNanoVG.html#a54ec9a68401121aab78976df6d3891a9a4fb2bb2ad2eccc922e6e5613ca1bf19e',1,'NanoVG']]],
['create_5fdebug_52',['CREATE_DEBUG',['../classNanoVG.html#a54ec9a68401121aab78976df6d3891a9ace85d2e89072533bdc5d326df30f82c5',1,'NanoVG']]],
['create_5fstencil_5fstrokes_53',['CREATE_STENCIL_STROKES',['../classNanoVG.html#a54ec9a68401121aab78976df6d3891a9aa4539b7424f6885f382ad911c5eb4ad3',1,'NanoVG']]],
['createbuffer_54',['createBuffer',['../classHeapRingBuffer.html#ab7d60a3acc757e88e1c7254626ce9709',1,'HeapRingBuffer']]],
['createflags_55',['CreateFlags',['../classNanoVG.html#a54ec9a68401121aab78976df6d3891a9',1,'NanoVG']]],
['createfontfromfile_56',['createFontFromFile',['../classNanoVG.html#a202e31bed7a83c59d417fa016f66f12a',1,'NanoVG']]],
['createfontfrommemory_57',['createFontFromMemory',['../classNanoVG.html#a304f4fcf7fc4dff936563606cec7ea63',1,'NanoVG']]],
['createimagefromfile_58',['createImageFromFile',['../classNanoVG.html#a2a6d7cc76cb4c7f35ef51a388f5818f6',1,'NanoVG::createImageFromFile(const char *filename, ImageFlags imageFlags)'],['../classNanoVG.html#a7555d49ba847a92fb2c56b2f9f68f366',1,'NanoVG::createImageFromFile(const char *filename, int imageFlags)']]],
['createimagefrommemory_59',['createImageFromMemory',['../classNanoVG.html#a82858e18090cbd5d787668d21f685b95',1,'NanoVG::createImageFromMemory(const uchar *data, uint dataSize, ImageFlags imageFlags)'],['../classNanoVG.html#a6cac272a24edf6a679944267a02131ad',1,'NanoVG::createImageFromMemory(const uchar *data, uint dataSize, int imageFlags)']]],
['createimagefromrawmemory_60',['createImageFromRawMemory',['../classNanoVG.html#a32fc9c8f1385dad33acf208167230ddb',1,'NanoVG::createImageFromRawMemory(uint w, uint h, const uchar *data, ImageFlags imageFlags, ImageFormat format)'],['../classNanoVG.html#adb3e8947a09a73b9662731f14aa2ca1f',1,'NanoVG::createImageFromRawMemory(uint w, uint h, const uchar *data, int imageFlags, ImageFormat format)']]],
['createimagefromrgba_61',['createImageFromRGBA',['../classNanoVG.html#a68cfbff787af38a017eecdb4e77e1b45',1,'NanoVG::createImageFromRGBA(uint w, uint h, const uchar *data, ImageFlags imageFlags)'],['../classNanoVG.html#ac4e97dd35ebface5fd9160ef1d5e8cbb',1,'NanoVG::createImageFromRGBA(uint w, uint h, const uchar *data, int imageFlags)']]],
['createimagefromtexturehandle_62',['createImageFromTextureHandle',['../classNanoVG.html#af37971e5d04d57c9ad98f0164164ea79',1,'NanoVG::createImageFromTextureHandle(GLuint textureId, uint w, uint h, ImageFlags imageFlags, bool deleteTexture=false)'],['../classNanoVG.html#aa4ebb0baddb15fdc74c1f68b6403eaaf',1,'NanoVG::createImageFromTextureHandle(GLuint textureId, uint w, uint h, int imageFlags, bool deleteTexture=false)']]],
['createplugin_63',['createPlugin',['../group__EntryPoints.html#ga87f1fa9084f2490ca04ea733292c6dee',1,'DistrhoPlugin.hpp']]],
['createui_64',['createUI',['../group__EntryPoints.html#gaad0ced21537a067680729bee6a65d8c8',1,'DistrhoUI.hpp']]],
['currenttransform_65',['currentTransform',['../classNanoVG.html#ad51cefbcf8819d365205fa004a10b976',1,'NanoVG']]]
['cairobasewidget_31',['CairoBaseWidget',['../classCairoBaseWidget.html#af5544cdc62910eb3c25670a5130baeb2',1,'CairoBaseWidget::CairoBaseWidget(Application &amp;app, Window &amp;parentWindow)'],['../classCairoBaseWidget.html#a2342ae5da3def6ce0b9713a9bf49e203',1,'CairoBaseWidget::CairoBaseWidget(Application &amp;app)'],['../classCairoBaseWidget.html#a07039d9207f923b0bf7f62a96f168f70',1,'CairoBaseWidget::CairoBaseWidget(Window &amp;windowToMapTo)'],['../classCairoBaseWidget.html#a264d5e3f7de6dd5c9f9b492f5577420f',1,'CairoBaseWidget::CairoBaseWidget(Widget *const parentGroupWidget)'],['../classCairoBaseWidget.html',1,'CairoBaseWidget&lt; BaseWidget &gt;']]],
['cairographicscontext_32',['CairoGraphicsContext',['../structCairoGraphicsContext.html',1,'']]],
['cairoimage_33',['CairoImage',['../classCairoImage.html#aeadcf789efdf894a61e477b4d64fc0b6',1,'CairoImage::CairoImage()'],['../classCairoImage.html#a89f96493ba7b890a4d43f00672f1a497',1,'CairoImage::CairoImage(const CairoImage &amp;image)'],['../classCairoImage.html#ad3490061bcaae7cc320c5ccfb40ab3dd',1,'CairoImage::CairoImage(const char *rawData, const Size&lt; uint &gt; &amp;size, ImageFormat format)'],['../classCairoImage.html#a17ce2733afa4fc080a63b23cd0dd7b18',1,'CairoImage::CairoImage(const char *rawData, uint width, uint height, ImageFormat format)'],['../classCairoImage.html',1,'CairoImage']]],
['callback_34',['Callback',['../classButtonEventHandler_1_1Callback.html',1,'ButtonEventHandler::Callback'],['../classImageBaseButton_1_1Callback.html',1,'ImageBaseButton&lt; ImageType &gt;::Callback'],['../classImageBaseKnob_1_1Callback.html',1,'ImageBaseKnob&lt; ImageType &gt;::Callback'],['../classImageBaseSlider_1_1Callback.html',1,'ImageBaseSlider&lt; ImageType &gt;::Callback'],['../classImageBaseSwitch_1_1Callback.html',1,'ImageBaseSwitch&lt; ImageType &gt;::Callback'],['../classKnobEventHandler_1_1Callback.html',1,'KnobEventHandler::Callback']]],
['cancelframe_35',['cancelFrame',['../classNanoVG.html#a5c47888aaa114b8ca9a0431383c1c0f1',1,'NanoVG']]],
['canrequestparametervaluechanges_36',['canRequestParameterValueChanges',['../classPlugin.html#a581614e1d301ee613a988855c61b2517',1,'Plugin']]],
['character_37',['character',['../structWidget_1_1CharacterInputEvent.html#a8426db4231baad1c1621e287817fde85',1,'Widget::CharacterInputEvent']]],
['characterinputevent_38',['CharacterInputEvent',['../structWidget_1_1CharacterInputEvent.html#ab0e3407cf8693ba9f3be0be805c8af24',1,'Widget::CharacterInputEvent::CharacterInputEvent()'],['../structWidget_1_1CharacterInputEvent.html',1,'Widget::CharacterInputEvent']]],
['circle_39',['Circle',['../classCircle.html',1,'']]],
['circle_40',['circle',['../classNanoVG.html#aa3230d48ce48f050d3ad636fc2ff4235',1,'NanoVG']]],
['circle_41',['Circle',['../classCircle.html#aeee15927ea13e9114aa53a8c26c5e1df',1,'Circle::Circle(const Circle&lt; T &gt; &amp;cir) noexcept'],['../classCircle.html#ab0e9f6bedf3dfa9fd958c573eca46368',1,'Circle::Circle(const Point&lt; T &gt; &amp;pos, const float size, const uint numSegments=300)'],['../classCircle.html#a391892aed07c5239153a038fea80423b',1,'Circle::Circle(const T &amp;x, const T &amp;y, const float size, const uint numSegments=300)'],['../classCircle.html#a69bf0ddae80047ef3e9b230930eb1ba6',1,'Circle::Circle() noexcept']]],
['classname_42',['className',['../structFileBrowserOptions.html#a5cd131b31f02ceff8b9ac5db6b40fc3a',1,'FileBrowserOptions']]],
['clear_43',['clear',['../structTimePosition.html#acd89e79032d748ee7fc01d55a2c518bb',1,'TimePosition::clear()'],['../structTimePosition_1_1BarBeatTick.html#ae6ea776260b58800bff63f515351bd3a',1,'TimePosition::BarBeatTick::clear()']]],
['clipboarddataoffer_44',['ClipboardDataOffer',['../structClipboardDataOffer.html',1,'']]],
['close_45',['close',['../classExternalWindow.html#acaa09de3c6dfccecf725a8f7a486ce15',1,'ExternalWindow::close()'],['../classWindow.html#a35055c04498121d39741bfcd5082705b',1,'Window::close()']]],
['closepath_46',['closePath',['../classNanoVG.html#a74ae13eec498c0afb9fa20199eecbd48',1,'NanoVG']]],
['color_47',['Color',['../structColor.html#acbbdba6661c2bbd987ef27de59813b47',1,'Color::Color()'],['../structColor.html',1,'Color'],['../structColor.html#a8d51b3f9457c1d9524ad67c94152b99a',1,'Color::Color(const Color &amp;color1, const Color &amp;color2, float u) noexcept'],['../structColor.html#a7ac8018890423379bf8cdce2c6bc9d7e',1,'Color::Color(const Color &amp;color) noexcept'],['../structColor.html#a77dd2b8f997aaf034c790ffd4ffe64bc',1,'Color::Color(float red, float green, float blue, float alpha=1.0f) noexcept'],['../structColor.html#ab5f3b6caec37b3ba8f7a04c801c63847',1,'Color::Color(int red, int green, int blue, float alpha=1.0f) noexcept']]],
['commitwrite_48',['commitWrite',['../classRingBufferControl.html#afe0c53d2591eb265d657c1cab6800036',1,'RingBufferControl']]],
['contains_49',['contains',['../classRectangle.html#a08b0741e6259e88552106136cdbff489',1,'Rectangle::contains(const T &amp;x, const T &amp;y) const noexcept'],['../classRectangle.html#a4420a73414a0fd1b85abd468a2c890d3',1,'Rectangle::contains(const Point&lt; T &gt; &amp;pos) const noexcept'],['../classRectangle.html#aa39ae4cb4a8c27f91db466fa12aef254',1,'Rectangle::contains(const Point&lt; T2 &gt; &amp;pos) const noexcept'],['../classSubWidget.html#ac9b4d3e2a3a39e588504dd33c1d9ca95',1,'SubWidget::contains(T x, T y) const noexcept'],['../classSubWidget.html#ac5b584dfb15c98b67c03a2d9699651b7',1,'SubWidget::contains(const Point&lt; T &gt; &amp;pos) const noexcept']]],
['containsafterscaling_50',['containsAfterScaling',['../classRectangle.html#a9edf56d37c808947aa75b55fa81a11e1',1,'Rectangle']]],
['containsx_51',['containsX',['../classRectangle.html#a71d17fdf110e4ed2350d2a5fe248e540',1,'Rectangle']]],
['containsy_52',['containsY',['../classRectangle.html#a38b56f4f8b38597fd34f68c677de2559',1,'Rectangle']]],
['count_53',['count',['../structParameterEnumerationValues.html#afd740dd45384c493801405a1c1c3d51d',1,'ParameterEnumerationValues']]],
['create_5fantialias_54',['CREATE_ANTIALIAS',['../classNanoVG.html#a54ec9a68401121aab78976df6d3891a9a4fb2bb2ad2eccc922e6e5613ca1bf19e',1,'NanoVG']]],
['create_5fdebug_55',['CREATE_DEBUG',['../classNanoVG.html#a54ec9a68401121aab78976df6d3891a9ace85d2e89072533bdc5d326df30f82c5',1,'NanoVG']]],
['create_5fstencil_5fstrokes_56',['CREATE_STENCIL_STROKES',['../classNanoVG.html#a54ec9a68401121aab78976df6d3891a9aa4539b7424f6885f382ad911c5eb4ad3',1,'NanoVG']]],
['createbuffer_57',['createBuffer',['../classHeapRingBuffer.html#ab7d60a3acc757e88e1c7254626ce9709',1,'HeapRingBuffer']]],
['createflags_58',['CreateFlags',['../classNanoVG.html#a54ec9a68401121aab78976df6d3891a9',1,'NanoVG']]],
['createfontfromfile_59',['createFontFromFile',['../classNanoVG.html#a202e31bed7a83c59d417fa016f66f12a',1,'NanoVG']]],
['createfontfrommemory_60',['createFontFromMemory',['../classNanoVG.html#a304f4fcf7fc4dff936563606cec7ea63',1,'NanoVG']]],
['createimagefromfile_61',['createImageFromFile',['../classNanoVG.html#a2a6d7cc76cb4c7f35ef51a388f5818f6',1,'NanoVG::createImageFromFile(const char *filename, ImageFlags imageFlags)'],['../classNanoVG.html#a7555d49ba847a92fb2c56b2f9f68f366',1,'NanoVG::createImageFromFile(const char *filename, int imageFlags)']]],
['createimagefrommemory_62',['createImageFromMemory',['../classNanoVG.html#a82858e18090cbd5d787668d21f685b95',1,'NanoVG::createImageFromMemory(const uchar *data, uint dataSize, ImageFlags imageFlags)'],['../classNanoVG.html#a6cac272a24edf6a679944267a02131ad',1,'NanoVG::createImageFromMemory(const uchar *data, uint dataSize, int imageFlags)']]],
['createimagefromrawmemory_63',['createImageFromRawMemory',['../classNanoVG.html#a32fc9c8f1385dad33acf208167230ddb',1,'NanoVG::createImageFromRawMemory(uint w, uint h, const uchar *data, ImageFlags imageFlags, ImageFormat format)'],['../classNanoVG.html#adb3e8947a09a73b9662731f14aa2ca1f',1,'NanoVG::createImageFromRawMemory(uint w, uint h, const uchar *data, int imageFlags, ImageFormat format)']]],
['createimagefromrgba_64',['createImageFromRGBA',['../classNanoVG.html#a68cfbff787af38a017eecdb4e77e1b45',1,'NanoVG::createImageFromRGBA(uint w, uint h, const uchar *data, ImageFlags imageFlags)'],['../classNanoVG.html#ac4e97dd35ebface5fd9160ef1d5e8cbb',1,'NanoVG::createImageFromRGBA(uint w, uint h, const uchar *data, int imageFlags)']]],
['createimagefromtexturehandle_65',['createImageFromTextureHandle',['../classNanoVG.html#af37971e5d04d57c9ad98f0164164ea79',1,'NanoVG::createImageFromTextureHandle(GLuint textureId, uint w, uint h, ImageFlags imageFlags, bool deleteTexture=false)'],['../classNanoVG.html#aa4ebb0baddb15fdc74c1f68b6403eaaf',1,'NanoVG::createImageFromTextureHandle(GLuint textureId, uint w, uint h, int imageFlags, bool deleteTexture=false)']]],
['createplugin_66',['createPlugin',['../group__EntryPoints.html#ga87f1fa9084f2490ca04ea733292c6dee',1,'DistrhoPlugin.hpp']]],
['createui_67',['createUI',['../group__EntryPoints.html#gaad0ced21537a067680729bee6a65d8c8',1,'DistrhoUI.hpp']]],
['currenttransform_68',['currentTransform',['../classNanoVG.html#ad51cefbcf8819d365205fa004a10b976',1,'NanoVG']]]
];

+ 80
- 71
search/all_3.js View File

@@ -1,74 +1,83 @@
var searchData=
[
['d_5fcconst_66',['d_cconst',['../group__MiscellaneousFunctions.html#ga6827e90feb9bdcb6f76175a245fbf12c',1,'DistrhoUtils.hpp']]],
['d_5fcustom_5fsafe_5fassert_67',['d_custom_safe_assert',['../group__StringPrintFunctions.html#ga643ef1d86ed4c665ae482ea0ccb52b51',1,'DistrhoUtils.hpp']]],
['d_5fdebug_68',['d_debug',['../group__StringPrintFunctions.html#ga9b8ac0ef05538648cb37b3c383ac60d9',1,'DistrhoUtils.hpp']]],
['d_5fisequal_69',['d_isEqual',['../group__MathFunctions.html#gabcb7db6e30f7428a3caa0fdec12af17a',1,'DistrhoUtils.hpp']]],
['d_5fisnotequal_70',['d_isNotEqual',['../group__MathFunctions.html#gaf99f3a8a1c9d97b07c0f225fad8a27b7',1,'DistrhoUtils.hpp']]],
['d_5fisnotzero_71',['d_isNotZero',['../group__MathFunctions.html#gaa8753f357eea6f93c5fa4e538ce6ac47',1,'DistrhoUtils.hpp']]],
['d_5fiszero_72',['d_isZero',['../group__MathFunctions.html#gae357f9031f7bcd8eccef3443081d3772',1,'DistrhoUtils.hpp']]],
['d_5fnextpowerof2_73',['d_nextPowerOf2',['../group__MathFunctions.html#gaded8dbdc7ff99c70e7361b3f1a32b584',1,'DistrhoUtils.hpp']]],
['d_5fpass_74',['d_pass',['../group__MiscellaneousFunctions.html#ga208c5bc138b7d4d4e318b6174c9dbf6d',1,'DistrhoUtils.hpp']]],
['d_5fsafe_5fassert_75',['d_safe_assert',['../group__StringPrintFunctions.html#ga9473c264004ac48764062fd881a55cff',1,'DistrhoUtils.hpp']]],
['d_5fsafe_5fassert_5fint_76',['d_safe_assert_int',['../group__StringPrintFunctions.html#gac59f28efd3d30333551df9ca47c1fc0f',1,'DistrhoUtils.hpp']]],
['d_5fsafe_5fassert_5fint2_77',['d_safe_assert_int2',['../group__StringPrintFunctions.html#ga9b31f29f7fde426a4a5bc9b1616aad28',1,'DistrhoUtils.hpp']]],
['d_5fsafe_5fassert_5fuint_78',['d_safe_assert_uint',['../group__StringPrintFunctions.html#gaf7645d9dcbbd44b92b8b6d4625a8e95c',1,'DistrhoUtils.hpp']]],
['d_5fsafe_5fassert_5fuint2_79',['d_safe_assert_uint2',['../group__StringPrintFunctions.html#gae62da5934fcf22b46324ddc2c44c3e58',1,'DistrhoUtils.hpp']]],
['d_5fsafe_5fexception_80',['d_safe_exception',['../group__StringPrintFunctions.html#ga98137b745947d74f613859780c81ba69',1,'DistrhoUtils.hpp']]],
['d_5fstderr_81',['d_stderr',['../group__StringPrintFunctions.html#ga61feaac6d65661f631be4136041e7bce',1,'DistrhoUtils.hpp']]],
['d_5fstderr2_82',['d_stderr2',['../group__StringPrintFunctions.html#ga9861b6a26e43554680f50623196dde7b',1,'DistrhoUtils.hpp']]],
['d_5fstdout_83',['d_stdout',['../group__StringPrintFunctions.html#ga78b9baaeb515112b1e5ec1182bab299b',1,'DistrhoUtils.hpp']]],
['d_5fversion_84',['d_version',['../group__MiscellaneousFunctions.html#ga95d67ff74d46b2c80f15c7790a523154',1,'DistrhoUtils.hpp']]],
['data_85',['data',['../structMidiEvent.html#aba54410d44eef48c10516f29452ef3a9',1,'MidiEvent']]],
['deactivate_86',['deactivate',['../classPlugin.html#aa089a56572bc8f1cb7e4b538c0d19c46',1,'Plugin']]],
['def_87',['def',['../structParameterRanges.html#aa0aba68115bcfff25c35b2da2f7aed4c',1,'ParameterRanges']]],
['defaultname_88',['defaultName',['../structFileBrowserOptions.html#acc05b9a39052fc84e4d50a62229091d8',1,'FileBrowserOptions']]],
['defaultvalue_89',['defaultValue',['../structState.html#af925c53b4676ed45b8b813424e626c3e',1,'State']]],
['degtorad_90',['degToRad',['../classNanoVG.html#ae3913bdf0efc2f5504422f558dca2c45',1,'NanoVG']]],
['deletebuffer_91',['deleteBuffer',['../classHeapRingBuffer.html#a940bc4c023a53a0d511d6f99186d8224',1,'HeapRingBuffer']]],
['delta_92',['delta',['../structWidget_1_1ScrollEvent.html#a5081893281d91c5f615cc066fb5fc3dc',1,'Widget::ScrollEvent']]],
['description_93',['description',['../structParameter.html#a5aacdf5c58652cc6840ebfbe2a748d29',1,'Parameter::description()'],['../structState.html#afb8bee553cefbfe2a495fc391a5f0243',1,'State::description()']]],
['designation_94',['designation',['../structParameter.html#a3bbf6f7d5ccea9a13504bd6ee3713986',1,'Parameter']]],
['dgl_5ffile_5fbrowser_5fdisabled_95',['DGL_FILE_BROWSER_DISABLED',['../group__ExtraPluginMacros.html#gabf2289230c19cc52d848bb174955f379',1,'DistrhoInfo.hpp']]],
['dgl_5fno_5fshared_5fresources_96',['DGL_NO_SHARED_RESOURCES',['../group__ExtraPluginMacros.html#ga38bbd9136e90d6b4ecd77823fc2f29ab',1,'DistrhoInfo.hpp']]],
['dgl_5fuse_5fopengl3_97',['DGL_USE_OPENGL3',['../group__ExtraPluginMacros.html#ga01988e3c3664d33fac3b7958715b00fd',1,'DistrhoInfo.hpp']]],
['direction_98',['direction',['../structWidget_1_1ScrollEvent.html#aaf8500e819334defd632522858050e02',1,'Widget::ScrollEvent']]],
['distrho_20_25plugin_20framework_99',['DISTRHO %Plugin Framework',['../index.html',1,'']]],
['distrho_5fnamespace_100',['DISTRHO_NAMESPACE',['../group__NamespaceMacros.html#gad4d95edc702f6066ba2f41740f7e5393',1,'DistrhoInfo.hpp']]],
['distrho_5fplugin_5fclap_5ffeatures_101',['DISTRHO_PLUGIN_CLAP_FEATURES',['../group__PluginMacros.html#gadf0fb4c49c6a9019a63bc52fbc2592f2',1,'DistrhoInfo.hpp']]],
['distrho_5fplugin_5fclap_5fid_102',['DISTRHO_PLUGIN_CLAP_ID',['../group__PluginMacros.html#gaae12b710ad877c03b2a369e4a5e05140',1,'DistrhoInfo.hpp']]],
['distrho_5fplugin_5fhas_5fui_103',['DISTRHO_PLUGIN_HAS_UI',['../group__PluginMacros.html#gacf8a1af679c09637ba0bdc5f4f8e37dd',1,'DistrhoInfo.hpp']]],
['distrho_5fplugin_5fis_5frt_5fsafe_104',['DISTRHO_PLUGIN_IS_RT_SAFE',['../group__PluginMacros.html#ga82546dd199fcea338b113f2f6da84ced',1,'DistrhoInfo.hpp']]],
['distrho_5fplugin_5fis_5fsynth_105',['DISTRHO_PLUGIN_IS_SYNTH',['../group__PluginMacros.html#ga854bde6b6fdb0d47182149dbab0fed72',1,'DistrhoInfo.hpp']]],
['distrho_5fplugin_5flv2_5fcategory_106',['DISTRHO_PLUGIN_LV2_CATEGORY',['../group__PluginMacros.html#ga97bd6556fb9fcfc181778edb4fceeeef',1,'DistrhoInfo.hpp']]],
['distrho_5fplugin_5fminimum_5fbuffer_5fsize_107',['DISTRHO_PLUGIN_MINIMUM_BUFFER_SIZE',['../group__PluginMacros.html#ga9e0277ebff0b0a05047439532ff216d5',1,'DistrhoInfo.hpp']]],
['distrho_5fplugin_5fname_108',['DISTRHO_PLUGIN_NAME',['../group__PluginMacros.html#ga888482a9f695c2ca2f433e5f3172dcc4',1,'DistrhoInfo.hpp']]],
['distrho_5fplugin_5fnum_5finputs_109',['DISTRHO_PLUGIN_NUM_INPUTS',['../group__PluginMacros.html#ga5f4f3d9a5dc3c23882d158e636319998',1,'DistrhoInfo.hpp']]],
['distrho_5fplugin_5fnum_5foutputs_110',['DISTRHO_PLUGIN_NUM_OUTPUTS',['../group__PluginMacros.html#ga917195804ebcb2bb48c9fad52b20b3ca',1,'DistrhoInfo.hpp']]],
['distrho_5fplugin_5furi_111',['DISTRHO_PLUGIN_URI',['../group__PluginMacros.html#ga9cc186448134e6a1956474b3878c97a8',1,'DistrhoInfo.hpp']]],
['distrho_5fplugin_5fuses_5fmodgui_112',['DISTRHO_PLUGIN_USES_MODGUI',['../group__PluginMacros.html#gaf75c327526ca8508c8968e43b6c1e49b',1,'DistrhoInfo.hpp']]],
['distrho_5fplugin_5fvst3_5fcategories_113',['DISTRHO_PLUGIN_VST3_CATEGORIES',['../group__PluginMacros.html#gab5bfd0f8045aa7eedd2ec6f5c9c2d17f',1,'DistrhoInfo.hpp']]],
['distrho_5fplugin_5fwant_5fdirect_5faccess_114',['DISTRHO_PLUGIN_WANT_DIRECT_ACCESS',['../group__PluginMacros.html#gac6873a3950f52f3fde8e386af63b69a1',1,'DistrhoInfo.hpp']]],
['distrho_5fplugin_5fwant_5ffull_5fstate_115',['DISTRHO_PLUGIN_WANT_FULL_STATE',['../group__PluginMacros.html#gac022d3d0a8782d632d7a801bc9cf721e',1,'DistrhoInfo.hpp']]],
['distrho_5fplugin_5fwant_5flatency_116',['DISTRHO_PLUGIN_WANT_LATENCY',['../group__PluginMacros.html#gad6b0ebf10e048f4742f29735da4d4930',1,'DistrhoInfo.hpp']]],
['distrho_5fplugin_5fwant_5fmidi_5finput_117',['DISTRHO_PLUGIN_WANT_MIDI_INPUT',['../group__PluginMacros.html#gadf2e2eb7550e4116001c816adfb04a70',1,'DistrhoInfo.hpp']]],
['distrho_5fplugin_5fwant_5fmidi_5foutput_118',['DISTRHO_PLUGIN_WANT_MIDI_OUTPUT',['../group__PluginMacros.html#ga548522eb91344a45841a5a95ff4f8073',1,'DistrhoInfo.hpp']]],
['distrho_5fplugin_5fwant_5fparameter_5fvalue_5fchange_5frequest_119',['DISTRHO_PLUGIN_WANT_PARAMETER_VALUE_CHANGE_REQUEST',['../group__PluginMacros.html#ga5a33bc5567795bdbbaab32313fabc652',1,'DistrhoInfo.hpp']]],
['distrho_5fplugin_5fwant_5fprograms_120',['DISTRHO_PLUGIN_WANT_PROGRAMS',['../group__PluginMacros.html#gad95e24b17f196260cee15255fdb5b677',1,'DistrhoInfo.hpp']]],
['distrho_5fplugin_5fwant_5fstate_121',['DISTRHO_PLUGIN_WANT_STATE',['../group__PluginMacros.html#ga255f43cc0997af8b56abcca260c875e0',1,'DistrhoInfo.hpp']]],
['distrho_5fplugin_5fwant_5ftimepos_122',['DISTRHO_PLUGIN_WANT_TIMEPOS',['../group__PluginMacros.html#ga496610b956d931b1940d07da48d123f2',1,'DistrhoInfo.hpp']]],
['distrho_5fui_5fcustom_5finclude_5fpath_123',['DISTRHO_UI_CUSTOM_INCLUDE_PATH',['../group__PluginMacros.html#gaf978778ddb34e3663a5c0bd128067e10',1,'DistrhoInfo.hpp']]],
['distrho_5fui_5fcustom_5fwidget_5ftype_124',['DISTRHO_UI_CUSTOM_WIDGET_TYPE',['../group__PluginMacros.html#gaf6377f757b9796bd37f7be4e605ccd4a',1,'DistrhoInfo.hpp']]],
['distrho_5fui_5fdefault_5fheight_125',['DISTRHO_UI_DEFAULT_HEIGHT',['../group__PluginMacros.html#ga69f68b766833a29671400808221f8f3c',1,'DistrhoInfo.hpp']]],
['distrho_5fui_5fdefault_5fwidth_126',['DISTRHO_UI_DEFAULT_WIDTH',['../group__PluginMacros.html#ga93240ccad789419d3c26768d00f2e97f',1,'DistrhoInfo.hpp']]],
['distrho_5fui_5furi_127',['DISTRHO_UI_URI',['../group__PluginMacros.html#ga420a88022da249b9f38a6046998dbd7c',1,'DistrhoInfo.hpp']]],
['distrho_5fui_5fuse_5fcustom_128',['DISTRHO_UI_USE_CUSTOM',['../group__PluginMacros.html#ga5bcd1ce31e47a617de4c32fbf85e44ca',1,'DistrhoInfo.hpp']]],
['distrho_5fui_5fuse_5fnanovg_129',['DISTRHO_UI_USE_NANOVG',['../group__PluginMacros.html#gad49e79936a2aa5afa089cbc051426ccd',1,'DistrhoInfo.hpp']]],
['distrho_5fui_5fuser_5fresizable_130',['DISTRHO_UI_USER_RESIZABLE',['../group__PluginMacros.html#gabadb9d9ba7f479df39b3963ee60b7a4b',1,'DistrhoInfo.hpp']]],
['done_131',['done',['../structWindow_1_1ScopedGraphicsContext.html#a4647e1da0c4477f021f668459fb3221f',1,'Window::ScopedGraphicsContext::done()'],['../classStandaloneWindow.html#a3b13bbbe8b8c431806ab50d2ea3410ad',1,'StandaloneWindow::done()']]],
['dpf_5fruntime_5ftesting_132',['DPF_RUNTIME_TESTING',['../group__ExtraPluginMacros.html#ga692c508f53e1eb8747e261d2435490b7',1,'DistrhoInfo.hpp']]],
['dpf_5fvst_5fshow_5fparameter_5foutputs_133',['DPF_VST_SHOW_PARAMETER_OUTPUTS',['../group__ExtraPluginMacros.html#ga9e6df7bd76cecd30e3762a58e29cd011',1,'DistrhoInfo.hpp']]],
['draw_134',['draw',['../classRectangle.html#a415da25901ad63d87e3bac7755535cda',1,'Rectangle::draw()'],['../classImageBase.html#a94fc564a4bb8c18cd576ee9b456887a9',1,'ImageBase::draw()'],['../classTriangle.html#a3221b311124ba9ce691060631e4d9cc2',1,'Triangle::draw()'],['../classCircle.html#ae1006bb2486c75b45e43675783521915',1,'Circle::draw()'],['../classCircle.html#a28bbc7afbd59d65c4969eba08c5f5c94',1,'Circle::draw(const GraphicsContext &amp;context)'],['../classLine.html#af3eebf8905576276741caab216516949',1,'Line::draw()'],['../classLine.html#afbf571bd6bed6a63574ef934dc3e081a',1,'Line::draw(const GraphicsContext &amp;context, T width=1)'],['../classTriangle.html#a5dd94312d41f36fb149e03d90800bb53',1,'Triangle::draw()'],['../classRectangle.html#a2ed6472a18407217f011d5fffd2806e2',1,'Rectangle::draw()'],['../classOpenGLImage.html#a0bd3a7e2a8d8e36ebacf4277a3f915cc',1,'OpenGLImage::draw()']]],
['drawat_135',['drawAt',['../classVulkanImage.html#a35ba9f546320a8b51c76f09f0d80845f',1,'VulkanImage::drawAt()'],['../classOpenGLImage.html#affc660fed1d4be803512d1ff7a0ccaf5',1,'OpenGLImage::drawAt(const Point&lt; int &gt; &amp;pos)'],['../classOpenGLImage.html#a9b707a6bc3994826b250cd92059b711a',1,'OpenGLImage::drawAt(int x, int y)'],['../classOpenGLImage.html#ab97d09a7496436d2823c064708a61287',1,'OpenGLImage::drawAt(const GraphicsContext &amp;context, const Point&lt; int &gt; &amp;pos) override'],['../classImageBase.html#afef0b2e0d1baa305312435d0de2e027c',1,'ImageBase::drawAt(const GraphicsContext &amp;context, const Point&lt; int &gt; &amp;pos)=0'],['../classImageBase.html#a16d58063acd1a1e6ae8bc3afdea610f8',1,'ImageBase::drawAt(const GraphicsContext &amp;context, int x, int y)'],['../classCairoImage.html#aa60a5e3b68032170e8e59fb506c7d3b7',1,'CairoImage::drawAt()']]],
['drawoutline_136',['drawOutline',['../classRectangle.html#ab07a01fb85e96f8f7a87e4b3e842a537',1,'Rectangle::drawOutline(const GraphicsContext &amp;context, T lineWidth=1)'],['../classRectangle.html#a562e46203701309da8748dcc5277373e',1,'Rectangle::drawOutline()'],['../classTriangle.html#a93cda515489108aa6c14b0b1ab8cff11',1,'Triangle::drawOutline()'],['../classTriangle.html#a22cc10d40195f721c9ea9d4027c3d54f',1,'Triangle::drawOutline(const GraphicsContext &amp;context, T lineWidth=1)'],['../classCircle.html#a59ad688a9f13a2e639502a8adc979111',1,'Circle::drawOutline()'],['../classCircle.html#ac81aa76956931eb307177e48119abc36',1,'Circle::drawOutline(const GraphicsContext &amp;context, T lineWidth=1)']]]
['d_5fcconst_69',['d_cconst',['../group__MiscellaneousFunctions.html#ga6827e90feb9bdcb6f76175a245fbf12c',1,'d_cconst(const uint8_t a, const uint8_t b, const uint8_t c, const uint8_t d) noexcept:&#160;DistrhoUtils.hpp'],['../group__MiscellaneousFunctions.html#gaa6e4fa8bdcebd0d15f4ead3bb923e3f3',1,'d_cconst(const char str[4]):&#160;DistrhoUtils.hpp']]],
['d_5fcustom_5fsafe_5fassert_70',['d_custom_safe_assert',['../group__StringPrintFunctions.html#ga643ef1d86ed4c665ae482ea0ccb52b51',1,'DistrhoUtils.hpp']]],
['d_5fdebug_71',['d_debug',['../group__StringPrintFunctions.html#ga9b8ac0ef05538648cb37b3c383ac60d9',1,'DistrhoUtils.hpp']]],
['d_5fisequal_72',['d_isEqual',['../group__MathFunctions.html#ga81d4bbe1b2730cfc30aec9b347ef9360',1,'DistrhoUtils.hpp']]],
['d_5fisnotequal_73',['d_isNotEqual',['../group__MathFunctions.html#ga3d70c97c300b9fb2792ba4fbb2fb501e',1,'DistrhoUtils.hpp']]],
['d_5fisnotzero_74',['d_isNotZero',['../group__MathFunctions.html#gad891a20280e4f41017e7247d6e5a1f13',1,'DistrhoUtils.hpp']]],
['d_5fiszero_75',['d_isZero',['../group__MathFunctions.html#gaf5526b06989c47f21bdff3cd99af8353',1,'DistrhoUtils.hpp']]],
['d_5fnextpowerof2_76',['d_nextPowerOf2',['../group__MathFunctions.html#gaded8dbdc7ff99c70e7361b3f1a32b584',1,'DistrhoUtils.hpp']]],
['d_5fpass_77',['d_pass',['../group__MiscellaneousFunctions.html#ga208c5bc138b7d4d4e318b6174c9dbf6d',1,'DistrhoUtils.hpp']]],
['d_5froundtoint_78',['d_roundToInt',['../group__MathFunctions.html#ga981676558e521894c2ec4ca56b2ec8af',1,'DistrhoUtils.hpp']]],
['d_5froundtointnegative_79',['d_roundToIntNegative',['../group__MathFunctions.html#gadd62923031cb7d9e06d01957b3bcf3a6',1,'DistrhoUtils.hpp']]],
['d_5froundtointpositive_80',['d_roundToIntPositive',['../group__MathFunctions.html#ga3de0a572416cb38ca424094b595954ae',1,'DistrhoUtils.hpp']]],
['d_5froundtounsignedint_81',['d_roundToUnsignedInt',['../group__MathFunctions.html#ga10abb07d21f97c5fbc0ec0b5fa0ab721',1,'DistrhoUtils.hpp']]],
['d_5fsafe_5fassert_82',['d_safe_assert',['../group__StringPrintFunctions.html#ga9473c264004ac48764062fd881a55cff',1,'DistrhoUtils.hpp']]],
['d_5fsafe_5fassert_5fint_83',['d_safe_assert_int',['../group__StringPrintFunctions.html#gac59f28efd3d30333551df9ca47c1fc0f',1,'DistrhoUtils.hpp']]],
['d_5fsafe_5fassert_5fint2_84',['d_safe_assert_int2',['../group__StringPrintFunctions.html#ga9b31f29f7fde426a4a5bc9b1616aad28',1,'DistrhoUtils.hpp']]],
['d_5fsafe_5fassert_5fuint_85',['d_safe_assert_uint',['../group__StringPrintFunctions.html#gaf7645d9dcbbd44b92b8b6d4625a8e95c',1,'DistrhoUtils.hpp']]],
['d_5fsafe_5fassert_5fuint2_86',['d_safe_assert_uint2',['../group__StringPrintFunctions.html#gae62da5934fcf22b46324ddc2c44c3e58',1,'DistrhoUtils.hpp']]],
['d_5fsafe_5fexception_87',['d_safe_exception',['../group__StringPrintFunctions.html#ga98137b745947d74f613859780c81ba69',1,'DistrhoUtils.hpp']]],
['d_5fstderr_88',['d_stderr',['../group__StringPrintFunctions.html#ga61feaac6d65661f631be4136041e7bce',1,'DistrhoUtils.hpp']]],
['d_5fstderr2_89',['d_stderr2',['../group__StringPrintFunctions.html#ga9861b6a26e43554680f50623196dde7b',1,'DistrhoUtils.hpp']]],
['d_5fstdout_90',['d_stdout',['../group__StringPrintFunctions.html#ga78b9baaeb515112b1e5ec1182bab299b',1,'DistrhoUtils.hpp']]],
['d_5fversion_91',['d_version',['../group__MiscellaneousFunctions.html#ga95d67ff74d46b2c80f15c7790a523154',1,'DistrhoUtils.hpp']]],
['data_92',['data',['../structMidiEvent.html#aba54410d44eef48c10516f29452ef3a9',1,'MidiEvent']]],
['deactivate_93',['deactivate',['../classPlugin.html#aa089a56572bc8f1cb7e4b538c0d19c46',1,'Plugin']]],
['def_94',['def',['../structParameterRanges.html#aa0aba68115bcfff25c35b2da2f7aed4c',1,'ParameterRanges']]],
['defaultname_95',['defaultName',['../structFileBrowserOptions.html#acc05b9a39052fc84e4d50a62229091d8',1,'FileBrowserOptions']]],
['defaultvalue_96',['defaultValue',['../structState.html#af925c53b4676ed45b8b813424e626c3e',1,'State']]],
['degtorad_97',['degToRad',['../classNanoVG.html#ae3913bdf0efc2f5504422f558dca2c45',1,'NanoVG']]],
['deletebuffer_98',['deleteBuffer',['../classHeapRingBuffer.html#a940bc4c023a53a0d511d6f99186d8224',1,'HeapRingBuffer']]],
['deletelater_99',['deleteLater',['../structParameterEnumerationValues.html#acf882508439c41eb4c1bc38237dcc976',1,'ParameterEnumerationValues']]],
['delta_100',['delta',['../structWidget_1_1ScrollEvent.html#a5081893281d91c5f615cc066fb5fc3dc',1,'Widget::ScrollEvent']]],
['description_101',['description',['../structParameter.html#a5aacdf5c58652cc6840ebfbe2a748d29',1,'Parameter::description()'],['../structState.html#afb8bee553cefbfe2a495fc391a5f0243',1,'State::description()']]],
['designation_102',['designation',['../structParameter.html#a3bbf6f7d5ccea9a13504bd6ee3713986',1,'Parameter']]],
['dgl_5ffile_5fbrowser_5fdisabled_103',['DGL_FILE_BROWSER_DISABLED',['../group__ExtraPluginMacros.html#gabf2289230c19cc52d848bb174955f379',1,'DistrhoInfo.hpp']]],
['dgl_5fno_5fshared_5fresources_104',['DGL_NO_SHARED_RESOURCES',['../group__ExtraPluginMacros.html#ga38bbd9136e90d6b4ecd77823fc2f29ab',1,'DistrhoInfo.hpp']]],
['dgl_5fuse_5fopengl3_105',['DGL_USE_OPENGL3',['../group__ExtraPluginMacros.html#ga01988e3c3664d33fac3b7958715b00fd',1,'DistrhoInfo.hpp']]],
['direction_106',['direction',['../structWidget_1_1ScrollEvent.html#aaf8500e819334defd632522858050e02',1,'Widget::ScrollEvent']]],
['distrho_20_25plugin_20framework_107',['DISTRHO %Plugin Framework',['../index.html',1,'']]],
['distrho_5fnamespace_108',['DISTRHO_NAMESPACE',['../group__NamespaceMacros.html#gad4d95edc702f6066ba2f41740f7e5393',1,'DistrhoInfo.hpp']]],
['distrho_5fplugin_5fau_5ftype_109',['DISTRHO_PLUGIN_AU_TYPE',['../group__PluginMacros.html#ga0cb49832109c90267e4e7f7272154d4d',1,'DistrhoInfo.hpp']]],
['distrho_5fplugin_5fbrand_5fid_110',['DISTRHO_PLUGIN_BRAND_ID',['../group__PluginMacros.html#ga9c9caf7e3376c9235c3529dbc612a964',1,'DistrhoInfo.hpp']]],
['distrho_5fplugin_5fclap_5ffeatures_111',['DISTRHO_PLUGIN_CLAP_FEATURES',['../group__PluginMacros.html#gadf0fb4c49c6a9019a63bc52fbc2592f2',1,'DistrhoInfo.hpp']]],
['distrho_5fplugin_5fclap_5fid_112',['DISTRHO_PLUGIN_CLAP_ID',['../group__PluginMacros.html#gaae12b710ad877c03b2a369e4a5e05140',1,'DistrhoInfo.hpp']]],
['distrho_5fplugin_5fhas_5fui_113',['DISTRHO_PLUGIN_HAS_UI',['../group__PluginMacros.html#gacf8a1af679c09637ba0bdc5f4f8e37dd',1,'DistrhoInfo.hpp']]],
['distrho_5fplugin_5fis_5frt_5fsafe_114',['DISTRHO_PLUGIN_IS_RT_SAFE',['../group__PluginMacros.html#ga82546dd199fcea338b113f2f6da84ced',1,'DistrhoInfo.hpp']]],
['distrho_5fplugin_5fis_5fsynth_115',['DISTRHO_PLUGIN_IS_SYNTH',['../group__PluginMacros.html#ga854bde6b6fdb0d47182149dbab0fed72',1,'DistrhoInfo.hpp']]],
['distrho_5fplugin_5flv2_5fcategory_116',['DISTRHO_PLUGIN_LV2_CATEGORY',['../group__PluginMacros.html#ga97bd6556fb9fcfc181778edb4fceeeef',1,'DistrhoInfo.hpp']]],
['distrho_5fplugin_5fminimum_5fbuffer_5fsize_117',['DISTRHO_PLUGIN_MINIMUM_BUFFER_SIZE',['../group__PluginMacros.html#ga9e0277ebff0b0a05047439532ff216d5',1,'DistrhoInfo.hpp']]],
['distrho_5fplugin_5fname_118',['DISTRHO_PLUGIN_NAME',['../group__PluginMacros.html#ga888482a9f695c2ca2f433e5f3172dcc4',1,'DistrhoInfo.hpp']]],
['distrho_5fplugin_5fnum_5finputs_119',['DISTRHO_PLUGIN_NUM_INPUTS',['../group__PluginMacros.html#ga5f4f3d9a5dc3c23882d158e636319998',1,'DistrhoInfo.hpp']]],
['distrho_5fplugin_5fnum_5foutputs_120',['DISTRHO_PLUGIN_NUM_OUTPUTS',['../group__PluginMacros.html#ga917195804ebcb2bb48c9fad52b20b3ca',1,'DistrhoInfo.hpp']]],
['distrho_5fplugin_5funique_5fid_121',['DISTRHO_PLUGIN_UNIQUE_ID',['../group__PluginMacros.html#ga096d7684289e65485311a427ad8772f3',1,'DistrhoInfo.hpp']]],
['distrho_5fplugin_5furi_122',['DISTRHO_PLUGIN_URI',['../group__PluginMacros.html#ga9cc186448134e6a1956474b3878c97a8',1,'DistrhoInfo.hpp']]],
['distrho_5fplugin_5fuses_5fmodgui_123',['DISTRHO_PLUGIN_USES_MODGUI',['../group__PluginMacros.html#gaf75c327526ca8508c8968e43b6c1e49b',1,'DistrhoInfo.hpp']]],
['distrho_5fplugin_5fvst3_5fcategories_124',['DISTRHO_PLUGIN_VST3_CATEGORIES',['../group__PluginMacros.html#gab5bfd0f8045aa7eedd2ec6f5c9c2d17f',1,'DistrhoInfo.hpp']]],
['distrho_5fplugin_5fwant_5fdirect_5faccess_125',['DISTRHO_PLUGIN_WANT_DIRECT_ACCESS',['../group__PluginMacros.html#gac6873a3950f52f3fde8e386af63b69a1',1,'DistrhoInfo.hpp']]],
['distrho_5fplugin_5fwant_5ffull_5fstate_126',['DISTRHO_PLUGIN_WANT_FULL_STATE',['../group__PluginMacros.html#gac022d3d0a8782d632d7a801bc9cf721e',1,'DistrhoInfo.hpp']]],
['distrho_5fplugin_5fwant_5flatency_127',['DISTRHO_PLUGIN_WANT_LATENCY',['../group__PluginMacros.html#gad6b0ebf10e048f4742f29735da4d4930',1,'DistrhoInfo.hpp']]],
['distrho_5fplugin_5fwant_5fmidi_5finput_128',['DISTRHO_PLUGIN_WANT_MIDI_INPUT',['../group__PluginMacros.html#gadf2e2eb7550e4116001c816adfb04a70',1,'DistrhoInfo.hpp']]],
['distrho_5fplugin_5fwant_5fmidi_5foutput_129',['DISTRHO_PLUGIN_WANT_MIDI_OUTPUT',['../group__PluginMacros.html#ga548522eb91344a45841a5a95ff4f8073',1,'DistrhoInfo.hpp']]],
['distrho_5fplugin_5fwant_5fparameter_5fvalue_5fchange_5frequest_130',['DISTRHO_PLUGIN_WANT_PARAMETER_VALUE_CHANGE_REQUEST',['../group__PluginMacros.html#ga5a33bc5567795bdbbaab32313fabc652',1,'DistrhoInfo.hpp']]],
['distrho_5fplugin_5fwant_5fprograms_131',['DISTRHO_PLUGIN_WANT_PROGRAMS',['../group__PluginMacros.html#gad95e24b17f196260cee15255fdb5b677',1,'DistrhoInfo.hpp']]],
['distrho_5fplugin_5fwant_5fstate_132',['DISTRHO_PLUGIN_WANT_STATE',['../group__PluginMacros.html#ga255f43cc0997af8b56abcca260c875e0',1,'DistrhoInfo.hpp']]],
['distrho_5fplugin_5fwant_5ftimepos_133',['DISTRHO_PLUGIN_WANT_TIMEPOS',['../group__PluginMacros.html#ga496610b956d931b1940d07da48d123f2',1,'DistrhoInfo.hpp']]],
['distrho_5fui_5fcustom_5finclude_5fpath_134',['DISTRHO_UI_CUSTOM_INCLUDE_PATH',['../group__PluginMacros.html#gaf978778ddb34e3663a5c0bd128067e10',1,'DistrhoInfo.hpp']]],
['distrho_5fui_5fcustom_5fwidget_5ftype_135',['DISTRHO_UI_CUSTOM_WIDGET_TYPE',['../group__PluginMacros.html#gaf6377f757b9796bd37f7be4e605ccd4a',1,'DistrhoInfo.hpp']]],
['distrho_5fui_5fdefault_5fheight_136',['DISTRHO_UI_DEFAULT_HEIGHT',['../group__PluginMacros.html#ga69f68b766833a29671400808221f8f3c',1,'DistrhoInfo.hpp']]],
['distrho_5fui_5fdefault_5fwidth_137',['DISTRHO_UI_DEFAULT_WIDTH',['../group__PluginMacros.html#ga93240ccad789419d3c26768d00f2e97f',1,'DistrhoInfo.hpp']]],
['distrho_5fui_5furi_138',['DISTRHO_UI_URI',['../group__PluginMacros.html#ga420a88022da249b9f38a6046998dbd7c',1,'DistrhoInfo.hpp']]],
['distrho_5fui_5fuse_5fcustom_139',['DISTRHO_UI_USE_CUSTOM',['../group__PluginMacros.html#ga5bcd1ce31e47a617de4c32fbf85e44ca',1,'DistrhoInfo.hpp']]],
['distrho_5fui_5fuse_5fnanovg_140',['DISTRHO_UI_USE_NANOVG',['../group__PluginMacros.html#gad49e79936a2aa5afa089cbc051426ccd',1,'DistrhoInfo.hpp']]],
['distrho_5fui_5fuser_5fresizable_141',['DISTRHO_UI_USER_RESIZABLE',['../group__PluginMacros.html#gabadb9d9ba7f479df39b3963ee60b7a4b',1,'DistrhoInfo.hpp']]],
['done_142',['done',['../classStandaloneWindow.html#a3b13bbbe8b8c431806ab50d2ea3410ad',1,'StandaloneWindow::done()'],['../structWindow_1_1ScopedGraphicsContext.html#a4647e1da0c4477f021f668459fb3221f',1,'Window::ScopedGraphicsContext::done()']]],
['dpf_5fruntime_5ftesting_143',['DPF_RUNTIME_TESTING',['../group__ExtraPluginMacros.html#ga692c508f53e1eb8747e261d2435490b7',1,'DistrhoInfo.hpp']]],
['dpf_5fvst3_5fdont_5fuse_5fbrand_5fid_144',['DPF_VST3_DONT_USE_BRAND_ID',['../group__ExtraPluginMacros.html#ga1942006206023a3943ce25a275de0179',1,'DistrhoInfo.hpp']]],
['dpf_5fvst_5fshow_5fparameter_5foutputs_145',['DPF_VST_SHOW_PARAMETER_OUTPUTS',['../group__ExtraPluginMacros.html#ga9e6df7bd76cecd30e3762a58e29cd011',1,'DistrhoInfo.hpp']]],
['draw_146',['draw',['../classRectangle.html#a2ed6472a18407217f011d5fffd2806e2',1,'Rectangle::draw(const GraphicsContext &amp;context)'],['../classRectangle.html#a415da25901ad63d87e3bac7755535cda',1,'Rectangle::draw()'],['../classTriangle.html#a5dd94312d41f36fb149e03d90800bb53',1,'Triangle::draw()'],['../classTriangle.html#a3221b311124ba9ce691060631e4d9cc2',1,'Triangle::draw(const GraphicsContext &amp;context)'],['../classCircle.html#ae1006bb2486c75b45e43675783521915',1,'Circle::draw()'],['../classCircle.html#a28bbc7afbd59d65c4969eba08c5f5c94',1,'Circle::draw(const GraphicsContext &amp;context)'],['../classLine.html#af3eebf8905576276741caab216516949',1,'Line::draw()'],['../classLine.html#afbf571bd6bed6a63574ef934dc3e081a',1,'Line::draw(const GraphicsContext &amp;context, T width=1)'],['../classImageBase.html#a94fc564a4bb8c18cd576ee9b456887a9',1,'ImageBase::draw()'],['../classOpenGLImage.html#a0bd3a7e2a8d8e36ebacf4277a3f915cc',1,'OpenGLImage::draw()']]],
['drawat_147',['drawAt',['../classCairoImage.html#aa60a5e3b68032170e8e59fb506c7d3b7',1,'CairoImage::drawAt()'],['../classImageBase.html#a16d58063acd1a1e6ae8bc3afdea610f8',1,'ImageBase::drawAt(const GraphicsContext &amp;context, int x, int y)'],['../classImageBase.html#afef0b2e0d1baa305312435d0de2e027c',1,'ImageBase::drawAt(const GraphicsContext &amp;context, const Point&lt; int &gt; &amp;pos)=0'],['../classVulkanImage.html#a35ba9f546320a8b51c76f09f0d80845f',1,'VulkanImage::drawAt()'],['../classOpenGLImage.html#affc660fed1d4be803512d1ff7a0ccaf5',1,'OpenGLImage::drawAt(const Point&lt; int &gt; &amp;pos)'],['../classOpenGLImage.html#a9b707a6bc3994826b250cd92059b711a',1,'OpenGLImage::drawAt(int x, int y)'],['../classOpenGLImage.html#ab97d09a7496436d2823c064708a61287',1,'OpenGLImage::drawAt(const GraphicsContext &amp;context, const Point&lt; int &gt; &amp;pos) override']]],
['drawoutline_148',['drawOutline',['../classRectangle.html#a562e46203701309da8748dcc5277373e',1,'Rectangle::drawOutline()'],['../classRectangle.html#ab07a01fb85e96f8f7a87e4b3e842a537',1,'Rectangle::drawOutline(const GraphicsContext &amp;context, T lineWidth=1)'],['../classTriangle.html#a93cda515489108aa6c14b0b1ab8cff11',1,'Triangle::drawOutline()'],['../classTriangle.html#a22cc10d40195f721c9ea9d4027c3d54f',1,'Triangle::drawOutline(const GraphicsContext &amp;context, T lineWidth=1)'],['../classCircle.html#a59ad688a9f13a2e639502a8adc979111',1,'Circle::drawOutline()'],['../classCircle.html#ac81aa76956931eb307177e48119abc36',1,'Circle::drawOutline(const GraphicsContext &amp;context, T lineWidth=1)']]]
];

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

Loading…
Cancel
Save