expo-juce 0.3.0 → 0.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1611) hide show
  1. package/README.md +34 -0
  2. package/build/index.d.ts +21 -24
  3. package/build/index.d.ts.map +1 -1
  4. package/build/index.js +44 -48
  5. package/build/index.js.map +1 -1
  6. package/ios/BeeperAudioEngine.h +45 -0
  7. package/ios/BeeperAudioEngine.mm +352 -0
  8. package/ios/ExpoJuce.podspec +31 -8
  9. package/ios/ExpoJuceBridge.h +12 -12
  10. package/ios/ExpoJuceBridge.m +35 -100
  11. package/ios/ExpoJuceModule.swift +63 -85
  12. package/ios/JuceConfig.h +49 -14
  13. package/ios/JuceModule_audio_basics.mm +2 -0
  14. package/ios/JuceModule_audio_devices.mm +2 -0
  15. package/ios/JuceModule_audio_formats.mm +2 -0
  16. package/ios/JuceModule_audio_processors.mm +2 -0
  17. package/ios/JuceModule_core.mm +5 -0
  18. package/ios/JuceModule_data_structures.mm +2 -0
  19. package/ios/JuceModule_dsp.mm +2 -0
  20. package/ios/JuceModule_events.mm +2 -0
  21. package/ios/JuceModule_graphics.mm +2 -0
  22. package/ios/JuceModule_gui_basics.mm +2 -0
  23. package/ios/JuceModule_gui_extra.mm +2 -0
  24. package/ios/JuceModule_harfbuzz.mm +4 -0
  25. package/ios/PolySynthProcessor.h +83 -0
  26. package/ios/PolySynthProcessor.mm +164 -0
  27. package/ios/TransportEngine.h +35 -0
  28. package/ios/TransportEngine.mm +50 -0
  29. package/ios/Voice.h +59 -0
  30. package/ios/Voice.mm +157 -0
  31. package/ios/VoiceAllocator.h +22 -0
  32. package/ios/VoiceAllocator.mm +88 -0
  33. package/ios/juce_modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.cpp +1957 -0
  34. package/ios/juce_modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.h +586 -0
  35. package/ios/juce_modules/juce_audio_devices/audio_io/juce_AudioIODevice.cpp +65 -0
  36. package/ios/juce_modules/juce_audio_devices/audio_io/juce_AudioIODevice.h +368 -0
  37. package/ios/juce_modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.cpp +152 -0
  38. package/ios/juce_modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.h +200 -0
  39. package/ios/juce_modules/juce_audio_devices/audio_io/juce_SampleRateHelpers.cpp +57 -0
  40. package/ios/juce_modules/juce_audio_devices/audio_io/juce_SystemAudioVolume.h +71 -0
  41. package/ios/juce_modules/juce_audio_devices/juce_audio_devices.cpp +277 -0
  42. package/ios/juce_modules/juce_audio_devices/juce_audio_devices.h +201 -0
  43. package/ios/juce_modules/juce_audio_devices/juce_audio_devices.mm +35 -0
  44. package/ios/juce_modules/juce_audio_devices/midi_io/juce_MidiDevices.cpp +246 -0
  45. package/ios/juce_modules/juce_audio_devices/midi_io/juce_MidiDevices.h +482 -0
  46. package/ios/juce_modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.cpp +170 -0
  47. package/ios/juce_modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.h +125 -0
  48. package/ios/juce_modules/juce_audio_devices/midi_io/ump/juce_UMPBytestreamInputHandler.h +153 -0
  49. package/ios/juce_modules/juce_audio_devices/midi_io/ump/juce_UMPU32InputHandler.h +165 -0
  50. package/ios/juce_modules/juce_audio_devices/native/java/app/com/rmsl/juce/JuceMidiSupport.java +1121 -0
  51. package/ios/juce_modules/juce_audio_devices/native/juce_ALSA_linux.cpp +1313 -0
  52. package/ios/juce_modules/juce_audio_devices/native/juce_ASIO_windows.cpp +1654 -0
  53. package/ios/juce_modules/juce_audio_devices/native/juce_Audio_android.cpp +482 -0
  54. package/ios/juce_modules/juce_audio_devices/native/juce_Audio_ios.cpp +1508 -0
  55. package/ios/juce_modules/juce_audio_devices/native/juce_Audio_ios.h +106 -0
  56. package/ios/juce_modules/juce_audio_devices/native/juce_Bela_linux.cpp +612 -0
  57. package/ios/juce_modules/juce_audio_devices/native/juce_CoreAudio_mac.cpp +2315 -0
  58. package/ios/juce_modules/juce_audio_devices/native/juce_CoreMidi_mac.mm +1280 -0
  59. package/ios/juce_modules/juce_audio_devices/native/juce_DirectSound_windows.cpp +1304 -0
  60. package/ios/juce_modules/juce_audio_devices/native/juce_HighPerformanceAudioHelpers_android.h +137 -0
  61. package/ios/juce_modules/juce_audio_devices/native/juce_JackAudio_linux.cpp +681 -0
  62. package/ios/juce_modules/juce_audio_devices/native/juce_Midi_android.cpp +1183 -0
  63. package/ios/juce_modules/juce_audio_devices/native/juce_Midi_linux.cpp +788 -0
  64. package/ios/juce_modules/juce_audio_devices/native/juce_Midi_windows.cpp +2038 -0
  65. package/ios/juce_modules/juce_audio_devices/native/juce_Oboe_android.cpp +1440 -0
  66. package/ios/juce_modules/juce_audio_devices/native/juce_OpenSL_android.cpp +1306 -0
  67. package/ios/juce_modules/juce_audio_devices/native/juce_WASAPI_windows.cpp +2032 -0
  68. package/ios/juce_modules/juce_audio_devices/native/oboe/.clang-tidy +3 -0
  69. package/ios/juce_modules/juce_audio_devices/native/oboe/include/oboe/AudioStream.h +706 -0
  70. package/ios/juce_modules/juce_audio_devices/native/oboe/include/oboe/AudioStreamBase.h +343 -0
  71. package/ios/juce_modules/juce_audio_devices/native/oboe/include/oboe/AudioStreamBuilder.h +670 -0
  72. package/ios/juce_modules/juce_audio_devices/native/oboe/include/oboe/AudioStreamCallback.h +193 -0
  73. package/ios/juce_modules/juce_audio_devices/native/oboe/include/oboe/Definitions.h +897 -0
  74. package/ios/juce_modules/juce_audio_devices/native/oboe/include/oboe/FifoBuffer.h +164 -0
  75. package/ios/juce_modules/juce_audio_devices/native/oboe/include/oboe/FifoControllerBase.h +112 -0
  76. package/ios/juce_modules/juce_audio_devices/native/oboe/include/oboe/FullDuplexStream.h +324 -0
  77. package/ios/juce_modules/juce_audio_devices/native/oboe/include/oboe/LatencyTuner.h +150 -0
  78. package/ios/juce_modules/juce_audio_devices/native/oboe/include/oboe/Oboe.h +40 -0
  79. package/ios/juce_modules/juce_audio_devices/native/oboe/include/oboe/OboeExtensions.h +64 -0
  80. package/ios/juce_modules/juce_audio_devices/native/oboe/include/oboe/ResultWithValue.h +155 -0
  81. package/ios/juce_modules/juce_audio_devices/native/oboe/include/oboe/StabilizedCallback.h +75 -0
  82. package/ios/juce_modules/juce_audio_devices/native/oboe/include/oboe/Utilities.h +99 -0
  83. package/ios/juce_modules/juce_audio_devices/native/oboe/include/oboe/Version.h +92 -0
  84. package/ios/juce_modules/juce_audio_devices/native/oboe/src/aaudio/AAudioExtensions.h +180 -0
  85. package/ios/juce_modules/juce_audio_devices/native/oboe/src/aaudio/AAudioLoader.cpp +506 -0
  86. package/ios/juce_modules/juce_audio_devices/native/oboe/src/aaudio/AAudioLoader.h +299 -0
  87. package/ios/juce_modules/juce_audio_devices/native/oboe/src/aaudio/AudioStreamAAudio.cpp +868 -0
  88. package/ios/juce_modules/juce_audio_devices/native/oboe/src/aaudio/AudioStreamAAudio.h +152 -0
  89. package/ios/juce_modules/juce_audio_devices/native/oboe/src/common/AdpfWrapper.cpp +124 -0
  90. package/ios/juce_modules/juce_audio_devices/native/oboe/src/common/AdpfWrapper.h +85 -0
  91. package/ios/juce_modules/juce_audio_devices/native/oboe/src/common/AudioClock.h +75 -0
  92. package/ios/juce_modules/juce_audio_devices/native/oboe/src/common/AudioSourceCaller.cpp +38 -0
  93. package/ios/juce_modules/juce_audio_devices/native/oboe/src/common/AudioSourceCaller.h +83 -0
  94. package/ios/juce_modules/juce_audio_devices/native/oboe/src/common/AudioStream.cpp +222 -0
  95. package/ios/juce_modules/juce_audio_devices/native/oboe/src/common/AudioStreamBuilder.cpp +224 -0
  96. package/ios/juce_modules/juce_audio_devices/native/oboe/src/common/DataConversionFlowGraph.cpp +266 -0
  97. package/ios/juce_modules/juce_audio_devices/native/oboe/src/common/DataConversionFlowGraph.h +86 -0
  98. package/ios/juce_modules/juce_audio_devices/native/oboe/src/common/FilterAudioStream.cpp +106 -0
  99. package/ios/juce_modules/juce_audio_devices/native/oboe/src/common/FilterAudioStream.h +227 -0
  100. package/ios/juce_modules/juce_audio_devices/native/oboe/src/common/FixedBlockAdapter.cpp +38 -0
  101. package/ios/juce_modules/juce_audio_devices/native/oboe/src/common/FixedBlockAdapter.h +67 -0
  102. package/ios/juce_modules/juce_audio_devices/native/oboe/src/common/FixedBlockReader.cpp +73 -0
  103. package/ios/juce_modules/juce_audio_devices/native/oboe/src/common/FixedBlockReader.h +60 -0
  104. package/ios/juce_modules/juce_audio_devices/native/oboe/src/common/FixedBlockWriter.cpp +73 -0
  105. package/ios/juce_modules/juce_audio_devices/native/oboe/src/common/FixedBlockWriter.h +54 -0
  106. package/ios/juce_modules/juce_audio_devices/native/oboe/src/common/LatencyTuner.cpp +108 -0
  107. package/ios/juce_modules/juce_audio_devices/native/oboe/src/common/MonotonicCounter.h +112 -0
  108. package/ios/juce_modules/juce_audio_devices/native/oboe/src/common/OboeDebug.h +41 -0
  109. package/ios/juce_modules/juce_audio_devices/native/oboe/src/common/OboeExtensions.cpp +36 -0
  110. package/ios/juce_modules/juce_audio_devices/native/oboe/src/common/QuirksManager.cpp +311 -0
  111. package/ios/juce_modules/juce_audio_devices/native/oboe/src/common/QuirksManager.h +134 -0
  112. package/ios/juce_modules/juce_audio_devices/native/oboe/src/common/SourceFloatCaller.cpp +30 -0
  113. package/ios/juce_modules/juce_audio_devices/native/oboe/src/common/SourceFloatCaller.h +44 -0
  114. package/ios/juce_modules/juce_audio_devices/native/oboe/src/common/SourceI16Caller.cpp +47 -0
  115. package/ios/juce_modules/juce_audio_devices/native/oboe/src/common/SourceI16Caller.h +49 -0
  116. package/ios/juce_modules/juce_audio_devices/native/oboe/src/common/SourceI24Caller.cpp +56 -0
  117. package/ios/juce_modules/juce_audio_devices/native/oboe/src/common/SourceI24Caller.h +53 -0
  118. package/ios/juce_modules/juce_audio_devices/native/oboe/src/common/SourceI32Caller.cpp +47 -0
  119. package/ios/juce_modules/juce_audio_devices/native/oboe/src/common/SourceI32Caller.h +53 -0
  120. package/ios/juce_modules/juce_audio_devices/native/oboe/src/common/StabilizedCallback.cpp +112 -0
  121. package/ios/juce_modules/juce_audio_devices/native/oboe/src/common/Trace.cpp +75 -0
  122. package/ios/juce_modules/juce_audio_devices/native/oboe/src/common/Trace.h +31 -0
  123. package/ios/juce_modules/juce_audio_devices/native/oboe/src/common/Utilities.cpp +333 -0
  124. package/ios/juce_modules/juce_audio_devices/native/oboe/src/common/Version.cpp +28 -0
  125. package/ios/juce_modules/juce_audio_devices/native/oboe/src/fifo/FifoBuffer.cpp +178 -0
  126. package/ios/juce_modules/juce_audio_devices/native/oboe/src/fifo/FifoController.cpp +30 -0
  127. package/ios/juce_modules/juce_audio_devices/native/oboe/src/fifo/FifoController.h +62 -0
  128. package/ios/juce_modules/juce_audio_devices/native/oboe/src/fifo/FifoControllerBase.cpp +68 -0
  129. package/ios/juce_modules/juce_audio_devices/native/oboe/src/fifo/FifoControllerIndirect.cpp +32 -0
  130. package/ios/juce_modules/juce_audio_devices/native/oboe/src/fifo/FifoControllerIndirect.h +66 -0
  131. package/ios/juce_modules/juce_audio_devices/native/oboe/src/flowgraph/ChannelCountConverter.cpp +52 -0
  132. package/ios/juce_modules/juce_audio_devices/native/oboe/src/flowgraph/ChannelCountConverter.h +52 -0
  133. package/ios/juce_modules/juce_audio_devices/native/oboe/src/flowgraph/ClipToRange.cpp +38 -0
  134. package/ios/juce_modules/juce_audio_devices/native/oboe/src/flowgraph/ClipToRange.h +68 -0
  135. package/ios/juce_modules/juce_audio_devices/native/oboe/src/flowgraph/FlowGraphNode.cpp +114 -0
  136. package/ios/juce_modules/juce_audio_devices/native/oboe/src/flowgraph/FlowGraphNode.h +450 -0
  137. package/ios/juce_modules/juce_audio_devices/native/oboe/src/flowgraph/FlowgraphUtilities.h +55 -0
  138. package/ios/juce_modules/juce_audio_devices/native/oboe/src/flowgraph/Limiter.cpp +67 -0
  139. package/ios/juce_modules/juce_audio_devices/native/oboe/src/flowgraph/Limiter.h +64 -0
  140. package/ios/juce_modules/juce_audio_devices/native/oboe/src/flowgraph/ManyToMultiConverter.cpp +47 -0
  141. package/ios/juce_modules/juce_audio_devices/native/oboe/src/flowgraph/ManyToMultiConverter.h +53 -0
  142. package/ios/juce_modules/juce_audio_devices/native/oboe/src/flowgraph/MonoBlend.cpp +46 -0
  143. package/ios/juce_modules/juce_audio_devices/native/oboe/src/flowgraph/MonoBlend.h +48 -0
  144. package/ios/juce_modules/juce_audio_devices/native/oboe/src/flowgraph/MonoToMultiConverter.cpp +41 -0
  145. package/ios/juce_modules/juce_audio_devices/native/oboe/src/flowgraph/MonoToMultiConverter.h +49 -0
  146. package/ios/juce_modules/juce_audio_devices/native/oboe/src/flowgraph/MultiToManyConverter.cpp +47 -0
  147. package/ios/juce_modules/juce_audio_devices/native/oboe/src/flowgraph/MultiToManyConverter.h +49 -0
  148. package/ios/juce_modules/juce_audio_devices/native/oboe/src/flowgraph/MultiToMonoConverter.cpp +41 -0
  149. package/ios/juce_modules/juce_audio_devices/native/oboe/src/flowgraph/MultiToMonoConverter.h +49 -0
  150. package/ios/juce_modules/juce_audio_devices/native/oboe/src/flowgraph/RampLinear.cpp +81 -0
  151. package/ios/juce_modules/juce_audio_devices/native/oboe/src/flowgraph/RampLinear.h +96 -0
  152. package/ios/juce_modules/juce_audio_devices/native/oboe/src/flowgraph/SampleRateConverter.cpp +71 -0
  153. package/ios/juce_modules/juce_audio_devices/native/oboe/src/flowgraph/SampleRateConverter.h +63 -0
  154. package/ios/juce_modules/juce_audio_devices/native/oboe/src/flowgraph/SinkFloat.cpp +46 -0
  155. package/ios/juce_modules/juce_audio_devices/native/oboe/src/flowgraph/SinkFloat.h +45 -0
  156. package/ios/juce_modules/juce_audio_devices/native/oboe/src/flowgraph/SinkI16.cpp +57 -0
  157. package/ios/juce_modules/juce_audio_devices/native/oboe/src/flowgraph/SinkI16.h +43 -0
  158. package/ios/juce_modules/juce_audio_devices/native/oboe/src/flowgraph/SinkI24.cpp +66 -0
  159. package/ios/juce_modules/juce_audio_devices/native/oboe/src/flowgraph/SinkI24.h +44 -0
  160. package/ios/juce_modules/juce_audio_devices/native/oboe/src/flowgraph/SinkI32.cpp +55 -0
  161. package/ios/juce_modules/juce_audio_devices/native/oboe/src/flowgraph/SinkI32.h +40 -0
  162. package/ios/juce_modules/juce_audio_devices/native/oboe/src/flowgraph/SourceFloat.cpp +42 -0
  163. package/ios/juce_modules/juce_audio_devices/native/oboe/src/flowgraph/SourceFloat.h +44 -0
  164. package/ios/juce_modules/juce_audio_devices/native/oboe/src/flowgraph/SourceI16.cpp +54 -0
  165. package/ios/juce_modules/juce_audio_devices/native/oboe/src/flowgraph/SourceI16.h +42 -0
  166. package/ios/juce_modules/juce_audio_devices/native/oboe/src/flowgraph/SourceI24.cpp +65 -0
  167. package/ios/juce_modules/juce_audio_devices/native/oboe/src/flowgraph/SourceI24.h +43 -0
  168. package/ios/juce_modules/juce_audio_devices/native/oboe/src/flowgraph/SourceI32.cpp +54 -0
  169. package/ios/juce_modules/juce_audio_devices/native/oboe/src/flowgraph/SourceI32.h +42 -0
  170. package/ios/juce_modules/juce_audio_devices/native/oboe/src/flowgraph/resampler/HyperbolicCosineWindow.h +71 -0
  171. package/ios/juce_modules/juce_audio_devices/native/oboe/src/flowgraph/resampler/IntegerRatio.cpp +50 -0
  172. package/ios/juce_modules/juce_audio_devices/native/oboe/src/flowgraph/resampler/IntegerRatio.h +54 -0
  173. package/ios/juce_modules/juce_audio_devices/native/oboe/src/flowgraph/resampler/KaiserWindow.h +90 -0
  174. package/ios/juce_modules/juce_audio_devices/native/oboe/src/flowgraph/resampler/LinearResampler.cpp +42 -0
  175. package/ios/juce_modules/juce_audio_devices/native/oboe/src/flowgraph/resampler/LinearResampler.h +47 -0
  176. package/ios/juce_modules/juce_audio_devices/native/oboe/src/flowgraph/resampler/MultiChannelResampler.cpp +171 -0
  177. package/ios/juce_modules/juce_audio_devices/native/oboe/src/flowgraph/resampler/MultiChannelResampler.h +281 -0
  178. package/ios/juce_modules/juce_audio_devices/native/oboe/src/flowgraph/resampler/PolyphaseResampler.cpp +61 -0
  179. package/ios/juce_modules/juce_audio_devices/native/oboe/src/flowgraph/resampler/PolyphaseResampler.h +53 -0
  180. package/ios/juce_modules/juce_audio_devices/native/oboe/src/flowgraph/resampler/PolyphaseResamplerMono.cpp +63 -0
  181. package/ios/juce_modules/juce_audio_devices/native/oboe/src/flowgraph/resampler/PolyphaseResamplerMono.h +41 -0
  182. package/ios/juce_modules/juce_audio_devices/native/oboe/src/flowgraph/resampler/PolyphaseResamplerStereo.cpp +79 -0
  183. package/ios/juce_modules/juce_audio_devices/native/oboe/src/flowgraph/resampler/PolyphaseResamplerStereo.h +41 -0
  184. package/ios/juce_modules/juce_audio_devices/native/oboe/src/flowgraph/resampler/ResamplerDefinitions.h +27 -0
  185. package/ios/juce_modules/juce_audio_devices/native/oboe/src/flowgraph/resampler/SincResampler.cpp +72 -0
  186. package/ios/juce_modules/juce_audio_devices/native/oboe/src/flowgraph/resampler/SincResampler.h +50 -0
  187. package/ios/juce_modules/juce_audio_devices/native/oboe/src/flowgraph/resampler/SincResamplerStereo.cpp +81 -0
  188. package/ios/juce_modules/juce_audio_devices/native/oboe/src/flowgraph/resampler/SincResamplerStereo.h +42 -0
  189. package/ios/juce_modules/juce_audio_devices/native/oboe/src/opensles/AudioInputStreamOpenSLES.cpp +360 -0
  190. package/ios/juce_modules/juce_audio_devices/native/oboe/src/opensles/AudioInputStreamOpenSLES.h +66 -0
  191. package/ios/juce_modules/juce_audio_devices/native/oboe/src/opensles/AudioOutputStreamOpenSLES.cpp +462 -0
  192. package/ios/juce_modules/juce_audio_devices/native/oboe/src/opensles/AudioOutputStreamOpenSLES.h +80 -0
  193. package/ios/juce_modules/juce_audio_devices/native/oboe/src/opensles/AudioStreamBuffered.cpp +285 -0
  194. package/ios/juce_modules/juce_audio_devices/native/oboe/src/opensles/AudioStreamBuffered.h +96 -0
  195. package/ios/juce_modules/juce_audio_devices/native/oboe/src/opensles/AudioStreamOpenSLES.cpp +499 -0
  196. package/ios/juce_modules/juce_audio_devices/native/oboe/src/opensles/AudioStreamOpenSLES.h +148 -0
  197. package/ios/juce_modules/juce_audio_devices/native/oboe/src/opensles/EngineOpenSLES.cpp +141 -0
  198. package/ios/juce_modules/juce_audio_devices/native/oboe/src/opensles/EngineOpenSLES.h +65 -0
  199. package/ios/juce_modules/juce_audio_devices/native/oboe/src/opensles/OpenSLESUtilities.cpp +96 -0
  200. package/ios/juce_modules/juce_audio_devices/native/oboe/src/opensles/OpenSLESUtilities.h +44 -0
  201. package/ios/juce_modules/juce_audio_devices/native/oboe/src/opensles/OutputMixerOpenSLES.cpp +74 -0
  202. package/ios/juce_modules/juce_audio_devices/native/oboe/src/opensles/OutputMixerOpenSLES.h +58 -0
  203. package/ios/juce_modules/juce_audio_devices/sources/juce_AudioSourcePlayer.cpp +193 -0
  204. package/ios/juce_modules/juce_audio_devices/sources/juce_AudioSourcePlayer.h +127 -0
  205. package/ios/juce_modules/juce_audio_devices/sources/juce_AudioTransportSource.cpp +295 -0
  206. package/ios/juce_modules/juce_audio_devices/sources/juce_AudioTransportSource.h +192 -0
  207. package/ios/juce_modules/juce_audio_processors/format/juce_AudioPluginFormat.cpp +107 -0
  208. package/ios/juce_modules/juce_audio_processors/format/juce_AudioPluginFormat.h +183 -0
  209. package/ios/juce_modules/juce_audio_processors/format/juce_AudioPluginFormatManager.cpp +212 -0
  210. package/ios/juce_modules/juce_audio_processors/format/juce_AudioPluginFormatManager.h +151 -0
  211. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/generate_lv2_bundle_sources.py +175 -0
  212. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/juce_lv2_config.h +87 -0
  213. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lilv/COPYING +13 -0
  214. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lilv/lilv/lilv.h +2117 -0
  215. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lilv/lilv/lilvmm.hpp +440 -0
  216. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lilv/src/collections.c +240 -0
  217. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lilv/src/filesystem.c +564 -0
  218. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lilv/src/filesystem.h +182 -0
  219. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lilv/src/instance.c +115 -0
  220. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lilv/src/lib.c +127 -0
  221. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lilv/src/lilv_internal.h +477 -0
  222. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lilv/src/node.c +413 -0
  223. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lilv/src/plugin.c +1140 -0
  224. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lilv/src/pluginclass.c +91 -0
  225. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lilv/src/port.c +272 -0
  226. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lilv/src/query.c +144 -0
  227. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lilv/src/scalepoint.c +53 -0
  228. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lilv/src/state.c +1541 -0
  229. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lilv/src/ui.c +115 -0
  230. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lilv/src/util.c +291 -0
  231. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lilv/src/world.c +1249 -0
  232. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lilv/src/zix/common.h +138 -0
  233. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lilv/src/zix/tree.c +727 -0
  234. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lilv/src/zix/tree.h +164 -0
  235. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lilv_config.h +42 -0
  236. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lv2/COPYING +16 -0
  237. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lv2/lv2/atom/atom-test-utils.c +73 -0
  238. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lv2/lv2/atom/atom-test.c +367 -0
  239. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lv2/lv2/atom/atom.h +260 -0
  240. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lv2/lv2/atom/atom.meta.ttl +542 -0
  241. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lv2/lv2/atom/atom.ttl +247 -0
  242. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lv2/lv2/atom/forge-overflow-test.c +235 -0
  243. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lv2/lv2/atom/forge.h +683 -0
  244. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lv2/lv2/atom/manifest.ttl +9 -0
  245. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lv2/lv2/atom/util.h +523 -0
  246. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lv2/lv2/buf-size/buf-size.h +51 -0
  247. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lv2/lv2/buf-size/buf-size.meta.ttl +157 -0
  248. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lv2/lv2/buf-size/buf-size.ttl +67 -0
  249. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lv2/lv2/buf-size/manifest.ttl +9 -0
  250. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lv2/lv2/core/attributes.h +59 -0
  251. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lv2/lv2/core/lv2.h +484 -0
  252. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lv2/lv2/core/lv2_util.h +103 -0
  253. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lv2/lv2/core/lv2core.meta.ttl +905 -0
  254. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lv2/lv2/core/lv2core.ttl +674 -0
  255. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lv2/lv2/core/manifest.ttl +15 -0
  256. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lv2/lv2/core/meta.ttl +199 -0
  257. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lv2/lv2/core/people.ttl +51 -0
  258. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lv2/lv2/data-access/data-access.h +73 -0
  259. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lv2/lv2/data-access/data-access.meta.ttl +77 -0
  260. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lv2/lv2/data-access/data-access.ttl +11 -0
  261. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lv2/lv2/data-access/manifest.ttl +9 -0
  262. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lv2/lv2/dynmanifest/dynmanifest.h +160 -0
  263. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lv2/lv2/dynmanifest/dynmanifest.meta.ttl +131 -0
  264. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lv2/lv2/dynmanifest/dynmanifest.ttl +25 -0
  265. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lv2/lv2/dynmanifest/manifest.ttl +9 -0
  266. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lv2/lv2/event/event-helpers.h +255 -0
  267. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lv2/lv2/event/event.h +306 -0
  268. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lv2/lv2/event/event.meta.ttl +246 -0
  269. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lv2/lv2/event/event.ttl +86 -0
  270. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lv2/lv2/event/manifest.ttl +9 -0
  271. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lv2/lv2/instance-access/instance-access.h +41 -0
  272. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lv2/lv2/instance-access/instance-access.meta.ttl +75 -0
  273. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lv2/lv2/instance-access/instance-access.ttl +11 -0
  274. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lv2/lv2/instance-access/manifest.ttl +9 -0
  275. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lv2/lv2/log/log.h +113 -0
  276. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lv2/lv2/log/log.meta.ttl +126 -0
  277. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lv2/lv2/log/log.ttl +48 -0
  278. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lv2/lv2/log/logger.h +157 -0
  279. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lv2/lv2/log/manifest.ttl +9 -0
  280. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lv2/lv2/midi/manifest.ttl +9 -0
  281. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lv2/lv2/midi/midi.h +248 -0
  282. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lv2/lv2/midi/midi.meta.ttl +153 -0
  283. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lv2/lv2/midi/midi.ttl +366 -0
  284. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lv2/lv2/morph/manifest.ttl +9 -0
  285. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lv2/lv2/morph/morph.h +48 -0
  286. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lv2/lv2/morph/morph.meta.ttl +90 -0
  287. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lv2/lv2/morph/morph.ttl +46 -0
  288. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lv2/lv2/options/manifest.ttl +9 -0
  289. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lv2/lv2/options/options.h +149 -0
  290. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lv2/lv2/options/options.meta.ttl +129 -0
  291. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lv2/lv2/options/options.ttl +44 -0
  292. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lv2/lv2/parameters/manifest.ttl +9 -0
  293. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lv2/lv2/parameters/parameters.h +68 -0
  294. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lv2/lv2/parameters/parameters.meta.ttl +75 -0
  295. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lv2/lv2/parameters/parameters.ttl +202 -0
  296. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lv2/lv2/patch/manifest.ttl +9 -0
  297. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lv2/lv2/patch/patch.h +73 -0
  298. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lv2/lv2/patch/patch.meta.ttl +374 -0
  299. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lv2/lv2/patch/patch.ttl +251 -0
  300. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lv2/lv2/port-groups/manifest.ttl +9 -0
  301. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lv2/lv2/port-groups/port-groups.h +77 -0
  302. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lv2/lv2/port-groups/port-groups.meta.ttl +144 -0
  303. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lv2/lv2/port-groups/port-groups.ttl +807 -0
  304. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lv2/lv2/port-props/manifest.ttl +9 -0
  305. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lv2/lv2/port-props/port-props.h +53 -0
  306. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lv2/lv2/port-props/port-props.meta.ttl +202 -0
  307. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lv2/lv2/port-props/port-props.ttl +79 -0
  308. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lv2/lv2/presets/manifest.ttl +9 -0
  309. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lv2/lv2/presets/presets.h +48 -0
  310. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lv2/lv2/presets/presets.meta.ttl +132 -0
  311. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lv2/lv2/presets/presets.ttl +60 -0
  312. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lv2/lv2/resize-port/manifest.ttl +9 -0
  313. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lv2/lv2/resize-port/resize-port.h +89 -0
  314. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lv2/lv2/resize-port/resize-port.meta.ttl +74 -0
  315. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lv2/lv2/resize-port/resize-port.ttl +36 -0
  316. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lv2/lv2/state/manifest.ttl +9 -0
  317. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lv2/lv2/state/state.h +392 -0
  318. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lv2/lv2/state/state.meta.ttl +467 -0
  319. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lv2/lv2/state/state.ttl +60 -0
  320. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lv2/lv2/time/manifest.ttl +9 -0
  321. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lv2/lv2/time/time.h +59 -0
  322. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lv2/lv2/time/time.meta.ttl +112 -0
  323. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lv2/lv2/time/time.ttl +122 -0
  324. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lv2/lv2/ui/manifest.ttl +9 -0
  325. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lv2/lv2/ui/ui.h +543 -0
  326. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lv2/lv2/ui/ui.meta.ttl +627 -0
  327. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lv2/lv2/ui/ui.ttl +248 -0
  328. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lv2/lv2/units/manifest.ttl +9 -0
  329. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lv2/lv2/units/units.h +75 -0
  330. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lv2/lv2/units/units.meta.ttl +154 -0
  331. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lv2/lv2/units/units.ttl +379 -0
  332. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lv2/lv2/uri-map/manifest.ttl +9 -0
  333. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lv2/lv2/uri-map/uri-map.h +121 -0
  334. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lv2/lv2/uri-map/uri-map.meta.ttl +72 -0
  335. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lv2/lv2/uri-map/uri-map.ttl +14 -0
  336. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lv2/lv2/urid/manifest.ttl +9 -0
  337. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lv2/lv2/urid/urid.h +140 -0
  338. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lv2/lv2/urid/urid.meta.ttl +84 -0
  339. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lv2/lv2/urid/urid.ttl +22 -0
  340. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lv2/lv2/worker/manifest.ttl +9 -0
  341. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lv2/lv2/worker/worker.h +183 -0
  342. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lv2/lv2/worker/worker.meta.ttl +82 -0
  343. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/lv2/lv2/worker/worker.ttl +25 -0
  344. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/serd/COPYING +13 -0
  345. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/serd/serd/serd.h +1059 -0
  346. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/serd/src/.clang-tidy +18 -0
  347. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/serd/src/attributes.h +26 -0
  348. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/serd/src/base64.c +132 -0
  349. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/serd/src/base64.h +48 -0
  350. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/serd/src/byte_sink.h +98 -0
  351. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/serd/src/byte_source.c +112 -0
  352. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/serd/src/byte_source.h +120 -0
  353. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/serd/src/env.c +256 -0
  354. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/serd/src/n3.c +1720 -0
  355. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/serd/src/node.c +393 -0
  356. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/serd/src/node.h +48 -0
  357. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/serd/src/reader.c +425 -0
  358. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/serd/src/reader.h +196 -0
  359. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/serd/src/serd_config.h +98 -0
  360. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/serd/src/serd_internal.h +46 -0
  361. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/serd/src/serdi.c +377 -0
  362. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/serd/src/stack.h +119 -0
  363. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/serd/src/string.c +179 -0
  364. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/serd/src/string_utils.h +173 -0
  365. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/serd/src/system.c +82 -0
  366. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/serd/src/system.h +40 -0
  367. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/serd/src/uri.c +506 -0
  368. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/serd/src/uri_utils.h +110 -0
  369. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/serd/src/writer.c +1114 -0
  370. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/serd_config.h +42 -0
  371. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/sord/COPYING +13 -0
  372. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/sord/sord/sord.h +642 -0
  373. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/sord/sord/sordmm.hpp +720 -0
  374. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/sord/src/sord.c +1368 -0
  375. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/sord/src/sord_config.h +61 -0
  376. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/sord/src/sord_internal.h +53 -0
  377. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/sord/src/sord_test.c +767 -0
  378. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/sord/src/sord_validate.c +804 -0
  379. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/sord/src/sordi.c +216 -0
  380. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/sord/src/sordmm_test.cpp +25 -0
  381. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/sord/src/syntax.c +203 -0
  382. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/sord/src/zix/btree.c +936 -0
  383. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/sord/src/zix/btree.h +187 -0
  384. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/sord/src/zix/common.h +138 -0
  385. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/sord/src/zix/digest.c +141 -0
  386. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/sord/src/zix/digest.h +67 -0
  387. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/sord/src/zix/hash.c +230 -0
  388. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/sord/src/zix/hash.h +138 -0
  389. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/sord_config.h +42 -0
  390. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/sratom/COPYING +13 -0
  391. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/sratom/sratom/sratom.h +220 -0
  392. package/ios/juce_modules/juce_audio_processors/format_types/LV2_SDK/sratom/src/sratom.c +919 -0
  393. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/VST3_License_Agreement.pdf +0 -0
  394. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/VST3_Usage_Guidelines.pdf +0 -0
  395. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/base/source/baseiids.cpp +52 -0
  396. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/base/source/classfactoryhelpers.h +87 -0
  397. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/base/source/fbuffer.cpp +641 -0
  398. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/base/source/fbuffer.h +306 -0
  399. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/base/source/fcommandline.h +392 -0
  400. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/base/source/fdebug.cpp +340 -0
  401. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/base/source/fdebug.h +246 -0
  402. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/base/source/fobject.cpp +271 -0
  403. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/base/source/fobject.h +577 -0
  404. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/base/source/fstreamer.cpp +756 -0
  405. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/base/source/fstreamer.h +242 -0
  406. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/base/source/fstring.cpp +3962 -0
  407. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/base/source/fstring.h +767 -0
  408. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/base/source/updatehandler.cpp +737 -0
  409. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/base/source/updatehandler.h +150 -0
  410. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/base/thread/include/flock.h +184 -0
  411. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/base/thread/source/flock.cpp +146 -0
  412. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/helper.manifest +10 -0
  413. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/conststringtable.cpp +106 -0
  414. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/conststringtable.h +44 -0
  415. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/coreiids.cpp +40 -0
  416. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/falignpop.h +25 -0
  417. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/falignpush.h +40 -0
  418. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/fplatform.h +333 -0
  419. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/fstrdefs.h +291 -0
  420. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ftypes.h +176 -0
  421. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/funknown.cpp +502 -0
  422. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/funknown.h +564 -0
  423. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/futils.h +107 -0
  424. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/fvariant.h +297 -0
  425. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ibstream.h +87 -0
  426. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/icloneable.h +41 -0
  427. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ipersistent.h +160 -0
  428. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ipluginbase.h +520 -0
  429. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/iplugincompatibility.h +122 -0
  430. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/istringresult.h +80 -0
  431. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/iupdatehandler.h +98 -0
  432. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/smartpointer.h +386 -0
  433. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/typesizecheck.h +55 -0
  434. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ustring.cpp +275 -0
  435. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ustring.h +116 -0
  436. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/gui/iplugview.h +287 -0
  437. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/gui/iplugviewcontentscalesupport.h +75 -0
  438. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstattributes.h +150 -0
  439. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstaudioprocessor.h +434 -0
  440. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstautomationstate.h +67 -0
  441. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstchannelcontextinfo.h +238 -0
  442. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstcomponent.h +205 -0
  443. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstcontextmenu.h +219 -0
  444. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstdataexchange.h +221 -0
  445. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivsteditcontroller.h +657 -0
  446. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstevents.h +221 -0
  447. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivsthostapplication.h +163 -0
  448. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstinterappaudio.h +142 -0
  449. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstmessage.h +97 -0
  450. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstmidicontrollers.h +118 -0
  451. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstmidilearn.h +106 -0
  452. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstnoteexpression.h +255 -0
  453. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstparameterchanges.h +145 -0
  454. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstparameterfunctionname.h +151 -0
  455. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstphysicalui.h +169 -0
  456. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstpluginterfacesupport.h +67 -0
  457. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstplugview.h +62 -0
  458. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstprefetchablesupport.h +99 -0
  459. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstprocesscontext.h +153 -0
  460. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstremapparamid.h +75 -0
  461. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstrepresentation.h +364 -0
  462. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivsttestplugprovider.h +109 -0
  463. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstunits.h +271 -0
  464. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/vstpshpack4.h +30 -0
  465. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/vstspeaker.h +1318 -0
  466. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/vsttypes.h +157 -0
  467. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/samples/vst-utilities/moduleinfotool/source/main.cpp +441 -0
  468. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/common/memorystream.cpp +319 -0
  469. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/common/memorystream.h +79 -0
  470. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/common/pluginview.cpp +100 -0
  471. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/common/pluginview.h +116 -0
  472. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/common/readfile.cpp +81 -0
  473. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/common/readfile.h +54 -0
  474. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/hosting/hostclasses.cpp +342 -0
  475. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/hosting/hostclasses.h +120 -0
  476. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/hosting/module.cpp +340 -0
  477. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/hosting/module.h +214 -0
  478. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/hosting/module_linux.cpp +369 -0
  479. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/hosting/module_mac.mm +395 -0
  480. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/hosting/module_win32.cpp +647 -0
  481. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/hosting/pluginterfacesupport.cpp +134 -0
  482. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/hosting/pluginterfacesupport.h +70 -0
  483. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/moduleinfo/json.h +3403 -0
  484. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/moduleinfo/jsoncxx.h +427 -0
  485. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/moduleinfo/moduleinfo.h +100 -0
  486. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/moduleinfo/moduleinfocreator.cpp +309 -0
  487. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/moduleinfo/moduleinfocreator.h +67 -0
  488. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/moduleinfo/moduleinfoparser.cpp +537 -0
  489. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/moduleinfo/moduleinfoparser.h +68 -0
  490. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/utility/optional.h +135 -0
  491. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/utility/stringconvert.cpp +148 -0
  492. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/utility/stringconvert.h +147 -0
  493. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/utility/uid.h +286 -0
  494. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstbus.cpp +99 -0
  495. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstbus.h +172 -0
  496. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstcomponent.cpp +216 -0
  497. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstcomponent.h +118 -0
  498. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstcomponentbase.cpp +180 -0
  499. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstcomponentbase.h +110 -0
  500. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vsteditcontroller.cpp +701 -0
  501. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vsteditcontroller.h +374 -0
  502. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstinitiids.cpp +154 -0
  503. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstparameters.cpp +454 -0
  504. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstparameters.h +240 -0
  505. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstpresetfile.cpp +927 -0
  506. package/ios/juce_modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstpresetfile.h +306 -0
  507. package/ios/juce_modules/juce_audio_processors/format_types/juce_ARACommon.cpp +99 -0
  508. package/ios/juce_modules/juce_audio_processors/format_types/juce_ARACommon.h +98 -0
  509. package/ios/juce_modules/juce_audio_processors/format_types/juce_ARAHosting.cpp +490 -0
  510. package/ios/juce_modules/juce_audio_processors/format_types/juce_ARAHosting.h +786 -0
  511. package/ios/juce_modules/juce_audio_processors/format_types/juce_AU_Shared.h +588 -0
  512. package/ios/juce_modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.h +79 -0
  513. package/ios/juce_modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.mm +2947 -0
  514. package/ios/juce_modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.cpp +728 -0
  515. package/ios/juce_modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.h +79 -0
  516. package/ios/juce_modules/juce_audio_processors/format_types/juce_LV2Common.h +676 -0
  517. package/ios/juce_modules/juce_audio_processors/format_types/juce_LV2PluginFormat.cpp +5654 -0
  518. package/ios/juce_modules/juce_audio_processors/format_types/juce_LV2PluginFormat.h +87 -0
  519. package/ios/juce_modules/juce_audio_processors/format_types/juce_LV2PluginFormat_test.cpp +281 -0
  520. package/ios/juce_modules/juce_audio_processors/format_types/juce_LV2Resources.h +10241 -0
  521. package/ios/juce_modules/juce_audio_processors/format_types/juce_LV2SupportLibs.cpp +117 -0
  522. package/ios/juce_modules/juce_audio_processors/format_types/juce_LegacyAudioParameter.cpp +225 -0
  523. package/ios/juce_modules/juce_audio_processors/format_types/juce_VST3Common.h +1851 -0
  524. package/ios/juce_modules/juce_audio_processors/format_types/juce_VST3Headers.h +280 -0
  525. package/ios/juce_modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp +4086 -0
  526. package/ios/juce_modules/juce_audio_processors/format_types/juce_VST3PluginFormat.h +95 -0
  527. package/ios/juce_modules/juce_audio_processors/format_types/juce_VST3PluginFormat_test.cpp +740 -0
  528. package/ios/juce_modules/juce_audio_processors/format_types/juce_VSTCommon.h +315 -0
  529. package/ios/juce_modules/juce_audio_processors/format_types/juce_VSTMidiEventList.h +229 -0
  530. package/ios/juce_modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp +3764 -0
  531. package/ios/juce_modules/juce_audio_processors/format_types/juce_VSTPluginFormat.h +141 -0
  532. package/ios/juce_modules/juce_audio_processors/format_types/pslextensions/ipslcontextinfo.h +190 -0
  533. package/ios/juce_modules/juce_audio_processors/format_types/pslextensions/ipsleditcontroller.h +108 -0
  534. package/ios/juce_modules/juce_audio_processors/format_types/pslextensions/ipslgainreduction.h +53 -0
  535. package/ios/juce_modules/juce_audio_processors/format_types/pslextensions/ipslhostcommands.h +121 -0
  536. package/ios/juce_modules/juce_audio_processors/format_types/pslextensions/ipslviewembedding.h +53 -0
  537. package/ios/juce_modules/juce_audio_processors/format_types/pslextensions/ipslviewscaling.h +67 -0
  538. package/ios/juce_modules/juce_audio_processors/format_types/pslextensions/pslauextensions.h +57 -0
  539. package/ios/juce_modules/juce_audio_processors/format_types/pslextensions/pslvst2extensions.h +111 -0
  540. package/ios/juce_modules/juce_audio_processors/juce_audio_processors.cpp +246 -0
  541. package/ios/juce_modules/juce_audio_processors/juce_audio_processors.h +195 -0
  542. package/ios/juce_modules/juce_audio_processors/juce_audio_processors.mm +35 -0
  543. package/ios/juce_modules/juce_audio_processors/juce_audio_processors_ara.cpp +51 -0
  544. package/ios/juce_modules/juce_audio_processors/juce_audio_processors_lv2_libs.cpp +44 -0
  545. package/ios/juce_modules/juce_audio_processors/processors/juce_AudioPluginInstance.cpp +294 -0
  546. package/ios/juce_modules/juce_audio_processors/processors/juce_AudioPluginInstance.h +191 -0
  547. package/ios/juce_modules/juce_audio_processors/processors/juce_AudioProcessor.cpp +1655 -0
  548. package/ios/juce_modules/juce_audio_processors/processors/juce_AudioProcessor.h +1587 -0
  549. package/ios/juce_modules/juce_audio_processors/processors/juce_AudioProcessorEditor.cpp +230 -0
  550. package/ios/juce_modules/juce_audio_processors/processors/juce_AudioProcessorEditor.h +272 -0
  551. package/ios/juce_modules/juce_audio_processors/processors/juce_AudioProcessorEditorHostContext.h +98 -0
  552. package/ios/juce_modules/juce_audio_processors/processors/juce_AudioProcessorGraph.cpp +2375 -0
  553. package/ios/juce_modules/juce_audio_processors/processors/juce_AudioProcessorGraph.h +453 -0
  554. package/ios/juce_modules/juce_audio_processors/processors/juce_AudioProcessorListener.h +198 -0
  555. package/ios/juce_modules/juce_audio_processors/processors/juce_AudioProcessorParameter.h +370 -0
  556. package/ios/juce_modules/juce_audio_processors/processors/juce_AudioProcessorParameterGroup.cpp +330 -0
  557. package/ios/juce_modules/juce_audio_processors/processors/juce_AudioProcessorParameterGroup.h +263 -0
  558. package/ios/juce_modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.cpp +633 -0
  559. package/ios/juce_modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.h +74 -0
  560. package/ios/juce_modules/juce_audio_processors/processors/juce_HostedAudioProcessorParameter.h +61 -0
  561. package/ios/juce_modules/juce_audio_processors/processors/juce_PluginDescription.cpp +126 -0
  562. package/ios/juce_modules/juce_audio_processors/processors/juce_PluginDescription.h +189 -0
  563. package/ios/juce_modules/juce_audio_processors/scanning/juce_KnownPluginList.cpp +651 -0
  564. package/ios/juce_modules/juce_audio_processors/scanning/juce_KnownPluginList.h +249 -0
  565. package/ios/juce_modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.cpp +148 -0
  566. package/ios/juce_modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.h +147 -0
  567. package/ios/juce_modules/juce_audio_processors/scanning/juce_PluginListComponent.cpp +690 -0
  568. package/ios/juce_modules/juce_audio_processors/scanning/juce_PluginListComponent.h +156 -0
  569. package/ios/juce_modules/juce_audio_processors/utilities/ARA/juce_ARADebug.h +76 -0
  570. package/ios/juce_modules/juce_audio_processors/utilities/ARA/juce_ARADocumentController.cpp +985 -0
  571. package/ios/juce_modules/juce_audio_processors/utilities/ARA/juce_ARADocumentController.h +538 -0
  572. package/ios/juce_modules/juce_audio_processors/utilities/ARA/juce_ARADocumentControllerCommon.cpp +80 -0
  573. package/ios/juce_modules/juce_audio_processors/utilities/ARA/juce_ARAModelObjects.cpp +302 -0
  574. package/ios/juce_modules/juce_audio_processors/utilities/ARA/juce_ARAModelObjects.h +983 -0
  575. package/ios/juce_modules/juce_audio_processors/utilities/ARA/juce_ARAPlugInInstanceRoles.cpp +123 -0
  576. package/ios/juce_modules/juce_audio_processors/utilities/ARA/juce_ARAPlugInInstanceRoles.h +263 -0
  577. package/ios/juce_modules/juce_audio_processors/utilities/ARA/juce_ARA_utils.cpp +65 -0
  578. package/ios/juce_modules/juce_audio_processors/utilities/ARA/juce_ARA_utils.h +95 -0
  579. package/ios/juce_modules/juce_audio_processors/utilities/ARA/juce_AudioProcessor_ARAExtensions.cpp +163 -0
  580. package/ios/juce_modules/juce_audio_processors/utilities/ARA/juce_AudioProcessor_ARAExtensions.h +213 -0
  581. package/ios/juce_modules/juce_audio_processors/utilities/juce_AAXClientExtensions.cpp +308 -0
  582. package/ios/juce_modules/juce_audio_processors/utilities/juce_AAXClientExtensions.h +92 -0
  583. package/ios/juce_modules/juce_audio_processors/utilities/juce_AudioParameterBool.cpp +104 -0
  584. package/ios/juce_modules/juce_audio_processors/utilities/juce_AudioParameterBool.h +149 -0
  585. package/ios/juce_modules/juce_audio_processors/utilities/juce_AudioParameterChoice.cpp +145 -0
  586. package/ios/juce_modules/juce_audio_processors/utilities/juce_AudioParameterChoice.h +162 -0
  587. package/ios/juce_modules/juce_audio_processors/utilities/juce_AudioParameterFloat.cpp +113 -0
  588. package/ios/juce_modules/juce_audio_processors/utilities/juce_AudioParameterFloat.h +169 -0
  589. package/ios/juce_modules/juce_audio_processors/utilities/juce_AudioParameterInt.cpp +146 -0
  590. package/ios/juce_modules/juce_audio_processors/utilities/juce_AudioParameterInt.h +163 -0
  591. package/ios/juce_modules/juce_audio_processors/utilities/juce_AudioProcessorParameterWithID.cpp +56 -0
  592. package/ios/juce_modules/juce_audio_processors/utilities/juce_AudioProcessorParameterWithID.h +200 -0
  593. package/ios/juce_modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.cpp +997 -0
  594. package/ios/juce_modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.h +669 -0
  595. package/ios/juce_modules/juce_audio_processors/utilities/juce_ExtensionsVisitor.h +155 -0
  596. package/ios/juce_modules/juce_audio_processors/utilities/juce_FlagCache.h +191 -0
  597. package/ios/juce_modules/juce_audio_processors/utilities/juce_ParameterAttachments.cpp +442 -0
  598. package/ios/juce_modules/juce_audio_processors/utilities/juce_ParameterAttachments.h +400 -0
  599. package/ios/juce_modules/juce_audio_processors/utilities/juce_PluginHostType.cpp +328 -0
  600. package/ios/juce_modules/juce_audio_processors/utilities/juce_PluginHostType.h +265 -0
  601. package/ios/juce_modules/juce_audio_processors/utilities/juce_RangedAudioParameter.cpp +60 -0
  602. package/ios/juce_modules/juce_audio_processors/utilities/juce_RangedAudioParameter.h +129 -0
  603. package/ios/juce_modules/juce_audio_processors/utilities/juce_VST2ClientExtensions.cpp +48 -0
  604. package/ios/juce_modules/juce_audio_processors/utilities/juce_VST2ClientExtensions.h +83 -0
  605. package/ios/juce_modules/juce_audio_processors/utilities/juce_VST3ClientExtensions.h +119 -0
  606. package/ios/juce_modules/juce_core/native/juce_BasicNativeHeaders.h +6 -1
  607. package/ios/juce_modules/juce_graphics/colour/juce_Colour.cpp +726 -0
  608. package/ios/juce_modules/juce_graphics/colour/juce_Colour.h +429 -0
  609. package/ios/juce_modules/juce_graphics/colour/juce_ColourGradient.cpp +294 -0
  610. package/ios/juce_modules/juce_graphics/colour/juce_ColourGradient.h +255 -0
  611. package/ios/juce_modules/juce_graphics/colour/juce_Colours.cpp +205 -0
  612. package/ios/juce_modules/juce_graphics/colour/juce_Colours.h +200 -0
  613. package/ios/juce_modules/juce_graphics/colour/juce_FillType.cpp +166 -0
  614. package/ios/juce_modules/juce_graphics/colour/juce_FillType.h +165 -0
  615. package/ios/juce_modules/juce_graphics/colour/juce_PixelFormats.h +749 -0
  616. package/ios/juce_modules/juce_graphics/contexts/juce_GraphicsContext.cpp +857 -0
  617. package/ios/juce_modules/juce_graphics/contexts/juce_GraphicsContext.h +758 -0
  618. package/ios/juce_modules/juce_graphics/contexts/juce_LowLevelGraphicsContext.h +186 -0
  619. package/ios/juce_modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.cpp +59 -0
  620. package/ios/juce_modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.h +66 -0
  621. package/ios/juce_modules/juce_graphics/detail/juce_Ranges.cpp +793 -0
  622. package/ios/juce_modules/juce_graphics/detail/juce_Ranges.h +1014 -0
  623. package/ios/juce_modules/juce_graphics/effects/juce_DropShadowEffect.cpp +152 -0
  624. package/ios/juce_modules/juce_graphics/effects/juce_DropShadowEffect.h +122 -0
  625. package/ios/juce_modules/juce_graphics/effects/juce_GlowEffect.cpp +59 -0
  626. package/ios/juce_modules/juce_graphics/effects/juce_GlowEffect.h +86 -0
  627. package/ios/juce_modules/juce_graphics/effects/juce_ImageEffectFilter.h +80 -0
  628. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/OT/Color/CBDT/CBDT.hh +1031 -0
  629. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/OT/Color/COLR/COLR.hh +2745 -0
  630. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/OT/Color/COLR/colrv1-closure.hh +137 -0
  631. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/OT/Color/CPAL/CPAL.hh +358 -0
  632. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/OT/Color/sbix/sbix.hh +448 -0
  633. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/OT/Color/svg/svg.hh +152 -0
  634. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/OT/Layout/Common/Coverage.hh +352 -0
  635. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/OT/Layout/Common/CoverageFormat1.hh +133 -0
  636. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/OT/Layout/Common/CoverageFormat2.hh +239 -0
  637. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/OT/Layout/Common/RangeRecord.hh +97 -0
  638. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/OT/Layout/GDEF/GDEF.hh +1044 -0
  639. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/OT/Layout/GPOS/Anchor.hh +84 -0
  640. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/OT/Layout/GPOS/AnchorFormat1.hh +46 -0
  641. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/OT/Layout/GPOS/AnchorFormat2.hh +58 -0
  642. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/OT/Layout/GPOS/AnchorFormat3.hh +120 -0
  643. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/OT/Layout/GPOS/AnchorMatrix.hh +87 -0
  644. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/OT/Layout/GPOS/ChainContextPos.hh +14 -0
  645. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/OT/Layout/GPOS/Common.hh +33 -0
  646. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/OT/Layout/GPOS/ContextPos.hh +14 -0
  647. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/OT/Layout/GPOS/CursivePos.hh +35 -0
  648. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/OT/Layout/GPOS/CursivePosFormat1.hh +311 -0
  649. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/OT/Layout/GPOS/ExtensionPos.hh +17 -0
  650. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/OT/Layout/GPOS/GPOS.hh +171 -0
  651. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/OT/Layout/GPOS/LigatureArray.hh +57 -0
  652. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/OT/Layout/GPOS/MarkArray.hh +128 -0
  653. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/OT/Layout/GPOS/MarkBasePos.hh +41 -0
  654. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/OT/Layout/GPOS/MarkBasePosFormat1.hh +243 -0
  655. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/OT/Layout/GPOS/MarkLigPos.hh +41 -0
  656. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/OT/Layout/GPOS/MarkLigPosFormat1.hh +224 -0
  657. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/OT/Layout/GPOS/MarkMarkPos.hh +42 -0
  658. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/OT/Layout/GPOS/MarkMarkPosFormat1.hh +231 -0
  659. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/OT/Layout/GPOS/MarkRecord.hh +51 -0
  660. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/OT/Layout/GPOS/PairPos.hh +46 -0
  661. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/OT/Layout/GPOS/PairPosFormat1.hh +233 -0
  662. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/OT/Layout/GPOS/PairPosFormat2.hh +365 -0
  663. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/OT/Layout/GPOS/PairSet.hh +210 -0
  664. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/OT/Layout/GPOS/PairValueRecord.hh +99 -0
  665. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/OT/Layout/GPOS/PosLookup.hh +79 -0
  666. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/OT/Layout/GPOS/PosLookupSubTable.hh +79 -0
  667. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/OT/Layout/GPOS/SinglePos.hh +98 -0
  668. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/OT/Layout/GPOS/SinglePosFormat1.hh +190 -0
  669. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/OT/Layout/GPOS/SinglePosFormat2.hh +213 -0
  670. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/OT/Layout/GPOS/ValueFormat.hh +441 -0
  671. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/OT/Layout/GSUB/AlternateSet.hh +126 -0
  672. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/OT/Layout/GSUB/AlternateSubst.hh +62 -0
  673. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/OT/Layout/GSUB/AlternateSubstFormat1.hh +128 -0
  674. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/OT/Layout/GSUB/ChainContextSubst.hh +18 -0
  675. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/OT/Layout/GSUB/Common.hh +19 -0
  676. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/OT/Layout/GSUB/ContextSubst.hh +18 -0
  677. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/OT/Layout/GSUB/ExtensionSubst.hh +22 -0
  678. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/OT/Layout/GSUB/GSUB.hh +61 -0
  679. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/OT/Layout/GSUB/Ligature.hh +203 -0
  680. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/OT/Layout/GSUB/LigatureSet.hh +188 -0
  681. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/OT/Layout/GSUB/LigatureSubst.hh +71 -0
  682. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/OT/Layout/GSUB/LigatureSubstFormat1.hh +166 -0
  683. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/OT/Layout/GSUB/MultipleSubst.hh +62 -0
  684. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/OT/Layout/GSUB/MultipleSubstFormat1.hh +130 -0
  685. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/OT/Layout/GSUB/ReverseChainSingleSubst.hh +36 -0
  686. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/OT/Layout/GSUB/ReverseChainSingleSubstFormat1.hh +245 -0
  687. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/OT/Layout/GSUB/Sequence.hh +165 -0
  688. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/OT/Layout/GSUB/SingleSubst.hh +103 -0
  689. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/OT/Layout/GSUB/SingleSubstFormat1.hh +204 -0
  690. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/OT/Layout/GSUB/SingleSubstFormat2.hh +176 -0
  691. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/OT/Layout/GSUB/SubstLookup.hh +220 -0
  692. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/OT/Layout/GSUB/SubstLookupSubTable.hh +77 -0
  693. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/OT/Layout/types.hh +66 -0
  694. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/OT/Var/VARC/VARC.cc +346 -0
  695. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/OT/Var/VARC/VARC.hh +193 -0
  696. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/OT/Var/VARC/coord-setter.hh +37 -0
  697. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/OT/glyf/CompositeGlyph.hh +435 -0
  698. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/OT/glyf/Glyph.hh +556 -0
  699. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/OT/glyf/GlyphHeader.hh +52 -0
  700. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/OT/glyf/SimpleGlyph.hh +348 -0
  701. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/OT/glyf/SubsetGlyph.hh +141 -0
  702. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/OT/glyf/composite-iter.hh +68 -0
  703. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/OT/glyf/glyf-helpers.hh +127 -0
  704. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/OT/glyf/glyf.hh +513 -0
  705. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/OT/glyf/loca.hh +43 -0
  706. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/OT/glyf/path-builder.hh +190 -0
  707. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/OT/name/name.hh +589 -0
  708. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/failing-alloc.c +65 -0
  709. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/harfbuzz-subset.cc +64 -0
  710. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/harfbuzz.cc +63 -0
  711. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-aat-layout-ankr-table.hh +99 -0
  712. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-aat-layout-bsln-table.hh +159 -0
  713. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-aat-layout-common.hh +1076 -0
  714. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-aat-layout-feat-table.hh +224 -0
  715. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-aat-layout-just-table.hh +420 -0
  716. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-aat-layout-kerx-table.hh +1191 -0
  717. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-aat-layout-morx-table.hh +1443 -0
  718. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-aat-layout-opbd-table.hh +174 -0
  719. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-aat-layout-trak-table.hh +232 -0
  720. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-aat-layout.cc +449 -0
  721. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-aat-layout.h +795 -0
  722. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-aat-layout.hh +77 -0
  723. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-aat-ltag-table.hh +95 -0
  724. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-aat-map.cc +172 -0
  725. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-aat-map.hh +123 -0
  726. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-aat.h +38 -0
  727. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-algs.hh +1558 -0
  728. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-array.hh +504 -0
  729. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-atomic.hh +228 -0
  730. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-bimap.hh +205 -0
  731. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-bit-page.hh +352 -0
  732. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-bit-set-invertible.hh +379 -0
  733. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-bit-set.hh +982 -0
  734. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-blob.cc +794 -0
  735. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-blob.h +160 -0
  736. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-blob.hh +98 -0
  737. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-buffer-deserialize-json.hh +795 -0
  738. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-buffer-deserialize-text-glyphs.hh +692 -0
  739. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-buffer-deserialize-text-unicode.hh +332 -0
  740. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-buffer-serialize.cc +872 -0
  741. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-buffer-verify.cc +423 -0
  742. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-buffer.cc +2266 -0
  743. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-buffer.h +805 -0
  744. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-buffer.hh +682 -0
  745. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-cache.hh +99 -0
  746. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-cff-interp-common.hh +642 -0
  747. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-cff-interp-cs-common.hh +905 -0
  748. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-cff-interp-dict-common.hh +201 -0
  749. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-cff1-interp-cs.hh +160 -0
  750. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-cff2-interp-cs.hh +278 -0
  751. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-common.cc +1220 -0
  752. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-common.h +935 -0
  753. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-config.hh +212 -0
  754. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-coretext.cc +1197 -0
  755. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-coretext.h +96 -0
  756. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-cplusplus.hh +220 -0
  757. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-debug.hh +491 -0
  758. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-deprecated.h +318 -0
  759. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-directwrite.cc +884 -0
  760. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-directwrite.h +40 -0
  761. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-dispatch.hh +60 -0
  762. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-draw.cc +458 -0
  763. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-draw.h +340 -0
  764. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-draw.hh +243 -0
  765. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-face-builder.cc +246 -0
  766. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-face.cc +664 -0
  767. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-face.h +187 -0
  768. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-face.hh +111 -0
  769. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-fallback-shape.cc +115 -0
  770. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-font.cc +3069 -0
  771. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-font.h +1153 -0
  772. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-font.hh +720 -0
  773. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-ft-colr.hh +601 -0
  774. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-ft.cc +1500 -0
  775. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-ft.h +145 -0
  776. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-gdi.cc +85 -0
  777. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-gdi.h +39 -0
  778. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-geometry.hh +284 -0
  779. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-glib.cc +232 -0
  780. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-glib.h +56 -0
  781. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-gobject-structs.cc +116 -0
  782. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-gobject-structs.h +136 -0
  783. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-gobject.h +40 -0
  784. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-graphite2.cc +455 -0
  785. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-graphite2.h +61 -0
  786. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-icu.cc +291 -0
  787. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-icu.h +52 -0
  788. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-iter.hh +1037 -0
  789. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-kern.hh +145 -0
  790. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-limits.hh +112 -0
  791. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-machinery.hh +332 -0
  792. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-map.cc +419 -0
  793. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-map.h +143 -0
  794. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-map.hh +568 -0
  795. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-meta.hh +238 -0
  796. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-ms-feature-ranges.hh +232 -0
  797. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-multimap.hh +96 -0
  798. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-mutex.hh +122 -0
  799. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-null.hh +226 -0
  800. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-number-parser.hh +237 -0
  801. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-number.cc +79 -0
  802. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-number.hh +41 -0
  803. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-object.hh +357 -0
  804. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-open-file.hh +543 -0
  805. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-open-type.hh +1886 -0
  806. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-ot-cff-common.hh +374 -0
  807. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-ot-cff1-std-str.hh +425 -0
  808. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-ot-cff1-table.cc +620 -0
  809. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-ot-cff1-table.hh +1539 -0
  810. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-ot-cff2-table.cc +227 -0
  811. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-ot-cff2-table.hh +564 -0
  812. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-ot-cmap-table.hh +2154 -0
  813. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-ot-color.cc +363 -0
  814. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-ot-color.h +155 -0
  815. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-ot-deprecated.h +147 -0
  816. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-ot-face-table-list.hh +155 -0
  817. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-ot-face.cc +60 -0
  818. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-ot-face.hh +77 -0
  819. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-ot-font.cc +662 -0
  820. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-ot-font.h +45 -0
  821. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-ot-gasp-table.hh +84 -0
  822. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-ot-glyf-table.hh +35 -0
  823. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-ot-hdmx-table.hh +177 -0
  824. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-ot-head-table.hh +204 -0
  825. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-ot-hhea-table.hh +106 -0
  826. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-ot-hmtx-table.hh +502 -0
  827. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-ot-kern-table.hh +425 -0
  828. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-ot-layout-base-table.hh +849 -0
  829. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-ot-layout-common.hh +4953 -0
  830. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-ot-layout-gdef-table.hh +34 -0
  831. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-ot-layout-gpos-table.hh +81 -0
  832. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-ot-layout-gsub-table.hh +94 -0
  833. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-ot-layout-gsubgpos.hh +4887 -0
  834. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-ot-layout-jstf-table.hh +236 -0
  835. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-ot-layout.cc +2705 -0
  836. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-ot-layout.h +549 -0
  837. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-ot-layout.hh +611 -0
  838. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-ot-map.cc +394 -0
  839. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-ot-map.hh +298 -0
  840. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-ot-math-table.hh +1132 -0
  841. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-ot-math.cc +338 -0
  842. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-ot-math.h +333 -0
  843. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-ot-maxp-table.hh +156 -0
  844. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-ot-meta-table.hh +131 -0
  845. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-ot-meta.cc +79 -0
  846. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-ot-meta.h +72 -0
  847. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-ot-metrics.cc +436 -0
  848. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-ot-metrics.h +129 -0
  849. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-ot-metrics.hh +35 -0
  850. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-ot-name-language-static.hh +456 -0
  851. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-ot-name-language.hh +40 -0
  852. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-ot-name-table.hh +32 -0
  853. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-ot-name.cc +184 -0
  854. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-ot-name.h +164 -0
  855. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-ot-os2-table.hh +405 -0
  856. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-ot-os2-unicode-ranges.hh +231 -0
  857. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-ot-post-macroman.hh +294 -0
  858. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-ot-post-table-v2subset.hh +142 -0
  859. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-ot-post-table.hh +352 -0
  860. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-ot-shape-fallback.cc +615 -0
  861. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-ot-shape-fallback.hh +54 -0
  862. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-ot-shape-normalize.cc +470 -0
  863. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-ot-shape-normalize.hh +104 -0
  864. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-ot-shape.cc +1319 -0
  865. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-ot-shape.h +53 -0
  866. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-ot-shape.hh +171 -0
  867. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-ot-shaper-arabic-fallback.hh +383 -0
  868. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-ot-shaper-arabic-joining-list.hh +47 -0
  869. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-ot-shaper-arabic-pua.hh +118 -0
  870. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-ot-shaper-arabic-table.hh +556 -0
  871. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-ot-shaper-arabic-win1256.hh +349 -0
  872. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-ot-shaper-arabic.cc +774 -0
  873. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-ot-shaper-arabic.hh +50 -0
  874. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-ot-shaper-default.cc +75 -0
  875. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-ot-shaper-hangul.cc +436 -0
  876. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-ot-shaper-hebrew.cc +211 -0
  877. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-ot-shaper-indic-machine.hh +627 -0
  878. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-ot-shaper-indic-table.cc +561 -0
  879. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-ot-shaper-indic.cc +1578 -0
  880. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-ot-shaper-indic.hh +66 -0
  881. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-ot-shaper-khmer-machine.hh +428 -0
  882. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-ot-shaper-khmer.cc +387 -0
  883. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-ot-shaper-myanmar-machine.hh +553 -0
  884. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-ot-shaper-myanmar.cc +390 -0
  885. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-ot-shaper-syllabic.cc +112 -0
  886. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-ot-shaper-syllabic.hh +47 -0
  887. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-ot-shaper-thai.cc +393 -0
  888. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-ot-shaper-use-machine.hh +1079 -0
  889. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-ot-shaper-use-table.hh +690 -0
  890. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-ot-shaper-use.cc +514 -0
  891. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-ot-shaper-vowel-constraints.cc +477 -0
  892. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-ot-shaper-vowel-constraints.hh +39 -0
  893. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-ot-shaper.hh +404 -0
  894. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-ot-stat-table.hh +619 -0
  895. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-ot-tag-table.hh +3009 -0
  896. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-ot-tag.cc +658 -0
  897. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-ot-var-avar-table.hh +411 -0
  898. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-ot-var-common.hh +1985 -0
  899. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-ot-var-cvar-table.hh +220 -0
  900. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-ot-var-fvar-table.hh +505 -0
  901. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-ot-var-gvar-table.hh +890 -0
  902. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-ot-var-hvar-table.hh +478 -0
  903. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-ot-var-mvar-table.hh +184 -0
  904. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-ot-var-varc-table.hh +32 -0
  905. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-ot-var.cc +328 -0
  906. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-ot-var.h +191 -0
  907. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-ot-vorg-table.hh +137 -0
  908. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-ot.h +49 -0
  909. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-outline.cc +321 -0
  910. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-outline.hh +83 -0
  911. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-paint-extents.cc +330 -0
  912. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-paint-extents.hh +132 -0
  913. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-paint.cc +728 -0
  914. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-paint.h +1029 -0
  915. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-paint.hh +236 -0
  916. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-pool.hh +107 -0
  917. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-priority-queue.hh +174 -0
  918. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-repacker.hh +476 -0
  919. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-sanitize.hh +530 -0
  920. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-serialize.hh +832 -0
  921. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-set-digest.hh +227 -0
  922. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-set.cc +673 -0
  923. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-set.h +203 -0
  924. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-set.hh +186 -0
  925. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-shape-plan.cc +581 -0
  926. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-shape-plan.h +122 -0
  927. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-shape-plan.hh +77 -0
  928. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-shape.cc +445 -0
  929. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-shape.h +74 -0
  930. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-shaper-impl.hh +38 -0
  931. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-shaper-list.hh +65 -0
  932. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-shaper.cc +102 -0
  933. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-shaper.hh +134 -0
  934. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-static.cc +138 -0
  935. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-string-array.hh +85 -0
  936. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-style.cc +134 -0
  937. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-style.h +81 -0
  938. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-subset-accelerator.hh +141 -0
  939. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-subset-cff-common.cc +231 -0
  940. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-subset-cff-common.hh +1228 -0
  941. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-subset-cff1.cc +1001 -0
  942. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-subset-cff2.cc +679 -0
  943. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-subset-input.cc +748 -0
  944. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-subset-input.hh +155 -0
  945. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-subset-instancer-iup.cc +532 -0
  946. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-subset-instancer-iup.hh +37 -0
  947. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-subset-instancer-solver.cc +434 -0
  948. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-subset-instancer-solver.hh +114 -0
  949. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-subset-plan-member-list.hh +164 -0
  950. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-subset-plan.cc +1570 -0
  951. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-subset-plan.hh +302 -0
  952. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-subset-repacker.cc +58 -0
  953. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-subset-repacker.h +81 -0
  954. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-subset.cc +704 -0
  955. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-subset.h +260 -0
  956. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-subset.hh +74 -0
  957. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-ucd-table.hh +5637 -0
  958. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-ucd.cc +258 -0
  959. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-unicode-emoji-table.hh +79 -0
  960. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-unicode.cc +625 -0
  961. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-unicode.h +643 -0
  962. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-unicode.hh +403 -0
  963. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-uniscribe.cc +889 -0
  964. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-uniscribe.h +46 -0
  965. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-utf.hh +481 -0
  966. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-vector.hh +539 -0
  967. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-version.h +95 -0
  968. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-wasm-api-blob.hh +50 -0
  969. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-wasm-api-buffer.hh +217 -0
  970. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-wasm-api-common.hh +44 -0
  971. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-wasm-api-face.hh +109 -0
  972. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-wasm-api-font.hh +263 -0
  973. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-wasm-api-list.hh +109 -0
  974. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-wasm-api-shape.hh +70 -0
  975. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-wasm-api.cc +46 -0
  976. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-wasm-api.h +322 -0
  977. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-wasm-api.hh +117 -0
  978. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb-wasm-shape.cc +470 -0
  979. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb.h +51 -0
  980. package/ios/juce_modules/juce_graphics/fonts/harfbuzz/hb.hh +555 -0
  981. package/ios/juce_modules/juce_graphics/fonts/juce_AttributedString.cpp +288 -0
  982. package/ios/juce_modules/juce_graphics/fonts/juce_AttributedString.h +219 -0
  983. package/ios/juce_modules/juce_graphics/fonts/juce_Font.cpp +1036 -0
  984. package/ios/juce_modules/juce_graphics/fonts/juce_Font.h +571 -0
  985. package/ios/juce_modules/juce_graphics/fonts/juce_FontOptions.cpp +111 -0
  986. package/ios/juce_modules/juce_graphics/fonts/juce_FontOptions.h +218 -0
  987. package/ios/juce_modules/juce_graphics/fonts/juce_FunctionPointerDestructor.h +53 -0
  988. package/ios/juce_modules/juce_graphics/fonts/juce_GlyphArrangement.cpp +657 -0
  989. package/ios/juce_modules/juce_graphics/fonts/juce_GlyphArrangement.h +324 -0
  990. package/ios/juce_modules/juce_graphics/fonts/juce_JustifiedText.cpp +580 -0
  991. package/ios/juce_modules/juce_graphics/fonts/juce_LruCache.h +88 -0
  992. package/ios/juce_modules/juce_graphics/fonts/juce_ShapedText.cpp +210 -0
  993. package/ios/juce_modules/juce_graphics/fonts/juce_SimpleShapedText.cpp +1279 -0
  994. package/ios/juce_modules/juce_graphics/fonts/juce_TextLayout.cpp +512 -0
  995. package/ios/juce_modules/juce_graphics/fonts/juce_TextLayout.h +278 -0
  996. package/ios/juce_modules/juce_graphics/fonts/juce_Typeface.cpp +983 -0
  997. package/ios/juce_modules/juce_graphics/fonts/juce_Typeface.h +396 -0
  998. package/ios/juce_modules/juce_graphics/fonts/juce_TypefaceFileCache.h +74 -0
  999. package/ios/juce_modules/juce_graphics/fonts/juce_TypefaceTestData.cpp +6051 -0
  1000. package/ios/juce_modules/juce_graphics/geometry/juce_AffineTransform.cpp +307 -0
  1001. package/ios/juce_modules/juce_graphics/geometry/juce_AffineTransform.h +314 -0
  1002. package/ios/juce_modules/juce_graphics/geometry/juce_BorderSize.h +176 -0
  1003. package/ios/juce_modules/juce_graphics/geometry/juce_EdgeTable.cpp +848 -0
  1004. package/ios/juce_modules/juce_graphics/geometry/juce_EdgeTable.h +225 -0
  1005. package/ios/juce_modules/juce_graphics/geometry/juce_Line.h +454 -0
  1006. package/ios/juce_modules/juce_graphics/geometry/juce_Parallelogram.h +194 -0
  1007. package/ios/juce_modules/juce_graphics/geometry/juce_Parallelogram_test.cpp +75 -0
  1008. package/ios/juce_modules/juce_graphics/geometry/juce_Path.cpp +1531 -0
  1009. package/ios/juce_modules/juce_graphics/geometry/juce_Path.h +846 -0
  1010. package/ios/juce_modules/juce_graphics/geometry/juce_PathIterator.cpp +304 -0
  1011. package/ios/juce_modules/juce_graphics/geometry/juce_PathIterator.h +120 -0
  1012. package/ios/juce_modules/juce_graphics/geometry/juce_PathStrokeType.cpp +756 -0
  1013. package/ios/juce_modules/juce_graphics/geometry/juce_PathStrokeType.h +215 -0
  1014. package/ios/juce_modules/juce_graphics/geometry/juce_Point.h +269 -0
  1015. package/ios/juce_modules/juce_graphics/geometry/juce_Rectangle.h +1032 -0
  1016. package/ios/juce_modules/juce_graphics/geometry/juce_RectangleList.h +694 -0
  1017. package/ios/juce_modules/juce_graphics/geometry/juce_Rectangle_test.cpp +60 -0
  1018. package/ios/juce_modules/juce_graphics/image_formats/jpglib/README +385 -0
  1019. package/ios/juce_modules/juce_graphics/image_formats/jpglib/cderror.h +132 -0
  1020. package/ios/juce_modules/juce_graphics/image_formats/jpglib/jcapimin.c +280 -0
  1021. package/ios/juce_modules/juce_graphics/image_formats/jpglib/jcapistd.c +161 -0
  1022. package/ios/juce_modules/juce_graphics/image_formats/jpglib/jccoefct.c +449 -0
  1023. package/ios/juce_modules/juce_graphics/image_formats/jpglib/jccolor.c +459 -0
  1024. package/ios/juce_modules/juce_graphics/image_formats/jpglib/jcdctmgr.c +387 -0
  1025. package/ios/juce_modules/juce_graphics/image_formats/jpglib/jchuff.c +909 -0
  1026. package/ios/juce_modules/juce_graphics/image_formats/jpglib/jchuff.h +52 -0
  1027. package/ios/juce_modules/juce_graphics/image_formats/jpglib/jcinit.c +72 -0
  1028. package/ios/juce_modules/juce_graphics/image_formats/jpglib/jcmainct.c +293 -0
  1029. package/ios/juce_modules/juce_graphics/image_formats/jpglib/jcmarker.c +597 -0
  1030. package/ios/juce_modules/juce_graphics/image_formats/jpglib/jcmaster.c +590 -0
  1031. package/ios/juce_modules/juce_graphics/image_formats/jpglib/jcomapi.c +106 -0
  1032. package/ios/juce_modules/juce_graphics/image_formats/jpglib/jconfig.h +59 -0
  1033. package/ios/juce_modules/juce_graphics/image_formats/jpglib/jcparam.c +610 -0
  1034. package/ios/juce_modules/juce_graphics/image_formats/jpglib/jcphuff.c +833 -0
  1035. package/ios/juce_modules/juce_graphics/image_formats/jpglib/jcprepct.c +354 -0
  1036. package/ios/juce_modules/juce_graphics/image_formats/jpglib/jcsample.c +519 -0
  1037. package/ios/juce_modules/juce_graphics/image_formats/jpglib/jctrans.c +388 -0
  1038. package/ios/juce_modules/juce_graphics/image_formats/jpglib/jdapimin.c +395 -0
  1039. package/ios/juce_modules/juce_graphics/image_formats/jpglib/jdapistd.c +275 -0
  1040. package/ios/juce_modules/juce_graphics/image_formats/jpglib/jdatasrc.c +212 -0
  1041. package/ios/juce_modules/juce_graphics/image_formats/jpglib/jdcoefct.c +736 -0
  1042. package/ios/juce_modules/juce_graphics/image_formats/jpglib/jdcolor.c +396 -0
  1043. package/ios/juce_modules/juce_graphics/image_formats/jpglib/jdct.h +182 -0
  1044. package/ios/juce_modules/juce_graphics/image_formats/jpglib/jddctmgr.c +269 -0
  1045. package/ios/juce_modules/juce_graphics/image_formats/jpglib/jdhuff.c +625 -0
  1046. package/ios/juce_modules/juce_graphics/image_formats/jpglib/jdhuff.h +206 -0
  1047. package/ios/juce_modules/juce_graphics/image_formats/jpglib/jdinput.c +381 -0
  1048. package/ios/juce_modules/juce_graphics/image_formats/jpglib/jdmainct.c +512 -0
  1049. package/ios/juce_modules/juce_graphics/image_formats/jpglib/jdmarker.c +1292 -0
  1050. package/ios/juce_modules/juce_graphics/image_formats/jpglib/jdmaster.c +557 -0
  1051. package/ios/juce_modules/juce_graphics/image_formats/jpglib/jdmerge.c +400 -0
  1052. package/ios/juce_modules/juce_graphics/image_formats/jpglib/jdphuff.c +642 -0
  1053. package/ios/juce_modules/juce_graphics/image_formats/jpglib/jdpostct.c +290 -0
  1054. package/ios/juce_modules/juce_graphics/image_formats/jpglib/jdsample.c +478 -0
  1055. package/ios/juce_modules/juce_graphics/image_formats/jpglib/jdtrans.c +143 -0
  1056. package/ios/juce_modules/juce_graphics/image_formats/jpglib/jerror.c +252 -0
  1057. package/ios/juce_modules/juce_graphics/image_formats/jpglib/jerror.h +291 -0
  1058. package/ios/juce_modules/juce_graphics/image_formats/jpglib/jfdctflt.c +168 -0
  1059. package/ios/juce_modules/juce_graphics/image_formats/jpglib/jfdctfst.c +224 -0
  1060. package/ios/juce_modules/juce_graphics/image_formats/jpglib/jfdctint.c +283 -0
  1061. package/ios/juce_modules/juce_graphics/image_formats/jpglib/jidctflt.c +242 -0
  1062. package/ios/juce_modules/juce_graphics/image_formats/jpglib/jidctfst.c +368 -0
  1063. package/ios/juce_modules/juce_graphics/image_formats/jpglib/jidctint.c +389 -0
  1064. package/ios/juce_modules/juce_graphics/image_formats/jpglib/jidctred.c +398 -0
  1065. package/ios/juce_modules/juce_graphics/image_formats/jpglib/jinclude.h +197 -0
  1066. package/ios/juce_modules/juce_graphics/image_formats/jpglib/jmemmgr.c +1118 -0
  1067. package/ios/juce_modules/juce_graphics/image_formats/jpglib/jmemnobs.c +109 -0
  1068. package/ios/juce_modules/juce_graphics/image_formats/jpglib/jmemsys.h +203 -0
  1069. package/ios/juce_modules/juce_graphics/image_formats/jpglib/jmorecfg.h +363 -0
  1070. package/ios/juce_modules/juce_graphics/image_formats/jpglib/jpegint.h +392 -0
  1071. package/ios/juce_modules/juce_graphics/image_formats/jpglib/jpeglib.h +1096 -0
  1072. package/ios/juce_modules/juce_graphics/image_formats/jpglib/jquant1.c +856 -0
  1073. package/ios/juce_modules/juce_graphics/image_formats/jpglib/jquant2.c +1310 -0
  1074. package/ios/juce_modules/juce_graphics/image_formats/jpglib/jutils.c +179 -0
  1075. package/ios/juce_modules/juce_graphics/image_formats/jpglib/jversion.h +14 -0
  1076. package/ios/juce_modules/juce_graphics/image_formats/jpglib/transupp.c +928 -0
  1077. package/ios/juce_modules/juce_graphics/image_formats/jpglib/transupp.h +135 -0
  1078. package/ios/juce_modules/juce_graphics/image_formats/juce_GIFLoader.cpp +464 -0
  1079. package/ios/juce_modules/juce_graphics/image_formats/juce_JPEGLoader.cpp +456 -0
  1080. package/ios/juce_modules/juce_graphics/image_formats/juce_PNGLoader.cpp +635 -0
  1081. package/ios/juce_modules/juce_graphics/image_formats/pnglib/png.c +4607 -0
  1082. package/ios/juce_modules/juce_graphics/image_formats/pnglib/png.h +3251 -0
  1083. package/ios/juce_modules/juce_graphics/image_formats/pnglib/pngconf.h +623 -0
  1084. package/ios/juce_modules/juce_graphics/image_formats/pnglib/pngdebug.h +153 -0
  1085. package/ios/juce_modules/juce_graphics/image_formats/pnglib/pngerror.c +963 -0
  1086. package/ios/juce_modules/juce_graphics/image_formats/pnglib/pngget.c +1249 -0
  1087. package/ios/juce_modules/juce_graphics/image_formats/pnglib/pnginfo.h +267 -0
  1088. package/ios/juce_modules/juce_graphics/image_formats/pnglib/pngmem.c +284 -0
  1089. package/ios/juce_modules/juce_graphics/image_formats/pnglib/pngpread.c +1096 -0
  1090. package/ios/juce_modules/juce_graphics/image_formats/pnglib/pngpriv.h +2156 -0
  1091. package/ios/juce_modules/juce_graphics/image_formats/pnglib/pngread.c +4225 -0
  1092. package/ios/juce_modules/juce_graphics/image_formats/pnglib/pngrio.c +120 -0
  1093. package/ios/juce_modules/juce_graphics/image_formats/pnglib/pngrtran.c +5102 -0
  1094. package/ios/juce_modules/juce_graphics/image_formats/pnglib/pngrutil.c +4681 -0
  1095. package/ios/juce_modules/juce_graphics/image_formats/pnglib/pngset.c +1802 -0
  1096. package/ios/juce_modules/juce_graphics/image_formats/pnglib/pngstruct.h +491 -0
  1097. package/ios/juce_modules/juce_graphics/image_formats/pnglib/pngtrans.c +864 -0
  1098. package/ios/juce_modules/juce_graphics/image_formats/pnglib/pngwio.c +168 -0
  1099. package/ios/juce_modules/juce_graphics/image_formats/pnglib/pngwrite.c +2395 -0
  1100. package/ios/juce_modules/juce_graphics/image_formats/pnglib/pngwtran.c +587 -0
  1101. package/ios/juce_modules/juce_graphics/image_formats/pnglib/pngwutil.c +2781 -0
  1102. package/ios/juce_modules/juce_graphics/images/juce_Image.cpp +851 -0
  1103. package/ios/juce_modules/juce_graphics/images/juce_Image.h +630 -0
  1104. package/ios/juce_modules/juce_graphics/images/juce_ImageCache.cpp +183 -0
  1105. package/ios/juce_modules/juce_graphics/images/juce_ImageCache.h +136 -0
  1106. package/ios/juce_modules/juce_graphics/images/juce_ImageConvolutionKernel.cpp +209 -0
  1107. package/ios/juce_modules/juce_graphics/images/juce_ImageConvolutionKernel.h +121 -0
  1108. package/ios/juce_modules/juce_graphics/images/juce_ImageFileFormat.cpp +120 -0
  1109. package/ios/juce_modules/juce_graphics/images/juce_ImageFileFormat.h +232 -0
  1110. package/ios/juce_modules/juce_graphics/images/juce_ScaledImage.h +93 -0
  1111. package/ios/juce_modules/juce_graphics/juce_graphics.cpp +230 -0
  1112. package/ios/juce_modules/juce_graphics/juce_graphics.h +162 -0
  1113. package/ios/juce_modules/juce_graphics/juce_graphics.mm +35 -0
  1114. package/ios/juce_modules/juce_graphics/juce_graphics_Harfbuzz.cpp +100 -0
  1115. package/ios/juce_modules/juce_graphics/native/juce_CoreGraphicsContext_mac.h +153 -0
  1116. package/ios/juce_modules/juce_graphics/native/juce_CoreGraphicsContext_mac.mm +969 -0
  1117. package/ios/juce_modules/juce_graphics/native/juce_CoreGraphicsHelpers_mac.h +117 -0
  1118. package/ios/juce_modules/juce_graphics/native/juce_Direct2DGraphicsContext_windows.cpp +1807 -0
  1119. package/ios/juce_modules/juce_graphics/native/juce_Direct2DGraphicsContext_windows.h +174 -0
  1120. package/ios/juce_modules/juce_graphics/native/juce_Direct2DHelpers_windows.cpp +456 -0
  1121. package/ios/juce_modules/juce_graphics/native/juce_Direct2DHwndContext_windows.cpp +784 -0
  1122. package/ios/juce_modules/juce_graphics/native/juce_Direct2DHwndContext_windows.h +73 -0
  1123. package/ios/juce_modules/juce_graphics/native/juce_Direct2DImageContext_windows.cpp +124 -0
  1124. package/ios/juce_modules/juce_graphics/native/juce_Direct2DImageContext_windows.h +55 -0
  1125. package/ios/juce_modules/juce_graphics/native/juce_Direct2DImage_windows.cpp +732 -0
  1126. package/ios/juce_modules/juce_graphics/native/juce_Direct2DImage_windows.h +94 -0
  1127. package/ios/juce_modules/juce_graphics/native/juce_Direct2DMetrics_windows.cpp +132 -0
  1128. package/ios/juce_modules/juce_graphics/native/juce_Direct2DMetrics_windows.h +320 -0
  1129. package/ios/juce_modules/juce_graphics/native/juce_Direct2DResources_windows.cpp +661 -0
  1130. package/ios/juce_modules/juce_graphics/native/juce_DirectWriteTypeface_windows.cpp +920 -0
  1131. package/ios/juce_modules/juce_graphics/native/juce_DirectX_windows.h +330 -0
  1132. package/ios/juce_modules/juce_graphics/native/juce_EventTracing.h +310 -0
  1133. package/ios/juce_modules/juce_graphics/native/juce_Fonts_android.cpp +636 -0
  1134. package/ios/juce_modules/juce_graphics/native/juce_Fonts_freetype.cpp +589 -0
  1135. package/ios/juce_modules/juce_graphics/native/juce_Fonts_linux.cpp +208 -0
  1136. package/ios/juce_modules/juce_graphics/native/juce_Fonts_mac.mm +416 -0
  1137. package/ios/juce_modules/juce_graphics/native/juce_GraphicsContext_android.cpp +43 -0
  1138. package/ios/juce_modules/juce_graphics/native/juce_IconHelpers_android.cpp +39 -0
  1139. package/ios/juce_modules/juce_graphics/native/juce_IconHelpers_linux.cpp +39 -0
  1140. package/ios/juce_modules/juce_graphics/native/juce_IconHelpers_mac.cpp +150 -0
  1141. package/ios/juce_modules/juce_graphics/native/juce_IconHelpers_windows.cpp +39 -0
  1142. package/ios/juce_modules/juce_graphics/native/juce_RenderingHelpers.h +2696 -0
  1143. package/ios/juce_modules/juce_graphics/placement/juce_Justification.h +196 -0
  1144. package/ios/juce_modules/juce_graphics/placement/juce_RectanglePlacement.cpp +131 -0
  1145. package/ios/juce_modules/juce_graphics/placement/juce_RectanglePlacement.h +183 -0
  1146. package/ios/juce_modules/juce_graphics/unicode/juce_Unicode.cpp +331 -0
  1147. package/ios/juce_modules/juce_graphics/unicode/juce_UnicodeBidi.cpp +1139 -0
  1148. package/ios/juce_modules/juce_graphics/unicode/juce_UnicodeBrackets.cpp +142 -0
  1149. package/ios/juce_modules/juce_graphics/unicode/juce_UnicodeGenerated.cpp +1380 -0
  1150. package/ios/juce_modules/juce_graphics/unicode/juce_UnicodeLine.cpp +273 -0
  1151. package/ios/juce_modules/juce_graphics/unicode/juce_UnicodeScript.cpp +235 -0
  1152. package/ios/juce_modules/juce_graphics/unicode/juce_UnicodeUtils.cpp +104 -0
  1153. package/ios/juce_modules/juce_gui_basics/accessibility/enums/juce_AccessibilityActions.h +128 -0
  1154. package/ios/juce_modules/juce_gui_basics/accessibility/enums/juce_AccessibilityEvent.h +90 -0
  1155. package/ios/juce_modules/juce_gui_basics/accessibility/enums/juce_AccessibilityRole.h +80 -0
  1156. package/ios/juce_modules/juce_gui_basics/accessibility/interfaces/juce_AccessibilityCellInterface.h +61 -0
  1157. package/ios/juce_modules/juce_gui_basics/accessibility/interfaces/juce_AccessibilityTableInterface.h +106 -0
  1158. package/ios/juce_modules/juce_gui_basics/accessibility/interfaces/juce_AccessibilityTextInterface.h +93 -0
  1159. package/ios/juce_modules/juce_gui_basics/accessibility/interfaces/juce_AccessibilityValueInterface.h +231 -0
  1160. package/ios/juce_modules/juce_gui_basics/accessibility/juce_AccessibilityHandler.cpp +412 -0
  1161. package/ios/juce_modules/juce_gui_basics/accessibility/juce_AccessibilityHandler.h +354 -0
  1162. package/ios/juce_modules/juce_gui_basics/accessibility/juce_AccessibilityState.h +236 -0
  1163. package/ios/juce_modules/juce_gui_basics/application/juce_Application.cpp +109 -0
  1164. package/ios/juce_modules/juce_gui_basics/application/juce_Application.h +202 -0
  1165. package/ios/juce_modules/juce_gui_basics/buttons/juce_ArrowButton.cpp +60 -0
  1166. package/ios/juce_modules/juce_gui_basics/buttons/juce_ArrowButton.h +74 -0
  1167. package/ios/juce_modules/juce_gui_basics/buttons/juce_Button.cpp +730 -0
  1168. package/ios/juce_modules/juce_gui_basics/buttons/juce_Button.h +559 -0
  1169. package/ios/juce_modules/juce_gui_basics/buttons/juce_DrawableButton.cpp +250 -0
  1170. package/ios/juce_modules/juce_gui_basics/buttons/juce_DrawableButton.h +206 -0
  1171. package/ios/juce_modules/juce_gui_basics/buttons/juce_HyperlinkButton.cpp +138 -0
  1172. package/ios/juce_modules/juce_gui_basics/buttons/juce_HyperlinkButton.h +139 -0
  1173. package/ios/juce_modules/juce_gui_basics/buttons/juce_ImageButton.cpp +207 -0
  1174. package/ios/juce_modules/juce_gui_basics/buttons/juce_ImageButton.h +170 -0
  1175. package/ios/juce_modules/juce_gui_basics/buttons/juce_ShapeButton.cpp +146 -0
  1176. package/ios/juce_modules/juce_gui_basics/buttons/juce_ShapeButton.h +135 -0
  1177. package/ios/juce_modules/juce_gui_basics/buttons/juce_TextButton.cpp +86 -0
  1178. package/ios/juce_modules/juce_gui_basics/buttons/juce_TextButton.h +118 -0
  1179. package/ios/juce_modules/juce_gui_basics/buttons/juce_ToggleButton.cpp +74 -0
  1180. package/ios/juce_modules/juce_gui_basics/buttons/juce_ToggleButton.h +102 -0
  1181. package/ios/juce_modules/juce_gui_basics/buttons/juce_ToolbarButton.cpp +122 -0
  1182. package/ios/juce_modules/juce_gui_basics/buttons/juce_ToolbarButton.h +107 -0
  1183. package/ios/juce_modules/juce_gui_basics/commands/juce_ApplicationCommandID.h +99 -0
  1184. package/ios/juce_modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.cpp +75 -0
  1185. package/ios/juce_modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.h +199 -0
  1186. package/ios/juce_modules/juce_gui_basics/commands/juce_ApplicationCommandManager.cpp +331 -0
  1187. package/ios/juce_modules/juce_gui_basics/commands/juce_ApplicationCommandManager.h +358 -0
  1188. package/ios/juce_modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.cpp +195 -0
  1189. package/ios/juce_modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.h +253 -0
  1190. package/ios/juce_modules/juce_gui_basics/commands/juce_KeyPressMappingSet.cpp +427 -0
  1191. package/ios/juce_modules/juce_gui_basics/commands/juce_KeyPressMappingSet.h +253 -0
  1192. package/ios/juce_modules/juce_gui_basics/components/juce_CachedComponentImage.h +81 -0
  1193. package/ios/juce_modules/juce_gui_basics/components/juce_Component.cpp +3013 -0
  1194. package/ios/juce_modules/juce_gui_basics/components/juce_Component.h +2716 -0
  1195. package/ios/juce_modules/juce_gui_basics/components/juce_ComponentListener.cpp +47 -0
  1196. package/ios/juce_modules/juce_gui_basics/components/juce_ComponentListener.h +131 -0
  1197. package/ios/juce_modules/juce_gui_basics/components/juce_ComponentTraverser.h +81 -0
  1198. package/ios/juce_modules/juce_gui_basics/components/juce_FocusTraverser.cpp +283 -0
  1199. package/ios/juce_modules/juce_gui_basics/components/juce_FocusTraverser.h +102 -0
  1200. package/ios/juce_modules/juce_gui_basics/components/juce_ModalComponentManager.cpp +295 -0
  1201. package/ios/juce_modules/juce_gui_basics/components/juce_ModalComponentManager.h +340 -0
  1202. package/ios/juce_modules/juce_gui_basics/desktop/juce_Desktop.cpp +386 -0
  1203. package/ios/juce_modules/juce_gui_basics/desktop/juce_Desktop.h +502 -0
  1204. package/ios/juce_modules/juce_gui_basics/desktop/juce_Displays.cpp +447 -0
  1205. package/ios/juce_modules/juce_gui_basics/desktop/juce_Displays.h +218 -0
  1206. package/ios/juce_modules/juce_gui_basics/detail/juce_AccessibilityHelpers.cpp +42 -0
  1207. package/ios/juce_modules/juce_gui_basics/detail/juce_AccessibilityHelpers.h +79 -0
  1208. package/ios/juce_modules/juce_gui_basics/detail/juce_AlertWindowHelpers.h +124 -0
  1209. package/ios/juce_modules/juce_gui_basics/detail/juce_ButtonAccessibilityHandler.h +134 -0
  1210. package/ios/juce_modules/juce_gui_basics/detail/juce_ComponentHelpers.h +291 -0
  1211. package/ios/juce_modules/juce_gui_basics/detail/juce_CustomMouseCursorInfo.h +44 -0
  1212. package/ios/juce_modules/juce_gui_basics/detail/juce_FocusHelpers.h +126 -0
  1213. package/ios/juce_modules/juce_gui_basics/detail/juce_FocusRestorer.h +55 -0
  1214. package/ios/juce_modules/juce_gui_basics/detail/juce_LookAndFeelHelpers.h +71 -0
  1215. package/ios/juce_modules/juce_gui_basics/detail/juce_MouseInputSourceImpl.h +597 -0
  1216. package/ios/juce_modules/juce_gui_basics/detail/juce_MouseInputSourceList.h +163 -0
  1217. package/ios/juce_modules/juce_gui_basics/detail/juce_PointerState.h +113 -0
  1218. package/ios/juce_modules/juce_gui_basics/detail/juce_ScalingHelpers.h +132 -0
  1219. package/ios/juce_modules/juce_gui_basics/detail/juce_ScopedContentSharerImpl.h +107 -0
  1220. package/ios/juce_modules/juce_gui_basics/detail/juce_ScopedContentSharerInterface.h +224 -0
  1221. package/ios/juce_modules/juce_gui_basics/detail/juce_ScopedMessageBoxImpl.h +141 -0
  1222. package/ios/juce_modules/juce_gui_basics/detail/juce_ScopedMessageBoxInterface.h +69 -0
  1223. package/ios/juce_modules/juce_gui_basics/detail/juce_StandardCachedComponentImage.h +102 -0
  1224. package/ios/juce_modules/juce_gui_basics/detail/juce_ToolbarItemDragAndDropOverlayComponent.h +127 -0
  1225. package/ios/juce_modules/juce_gui_basics/detail/juce_TopLevelWindowManager.h +145 -0
  1226. package/ios/juce_modules/juce_gui_basics/detail/juce_ViewportHelpers.h +58 -0
  1227. package/ios/juce_modules/juce_gui_basics/detail/juce_WindowingHelpers.h +70 -0
  1228. package/ios/juce_modules/juce_gui_basics/drawables/juce_Drawable.cpp +228 -0
  1229. package/ios/juce_modules/juce_gui_basics/drawables/juce_Drawable.h +271 -0
  1230. package/ios/juce_modules/juce_gui_basics/drawables/juce_DrawableComposite.cpp +173 -0
  1231. package/ios/juce_modules/juce_gui_basics/drawables/juce_DrawableComposite.h +126 -0
  1232. package/ios/juce_modules/juce_gui_basics/drawables/juce_DrawableImage.cpp +165 -0
  1233. package/ios/juce_modules/juce_gui_basics/drawables/juce_DrawableImage.h +126 -0
  1234. package/ios/juce_modules/juce_gui_basics/drawables/juce_DrawablePath.cpp +66 -0
  1235. package/ios/juce_modules/juce_gui_basics/drawables/juce_DrawablePath.h +86 -0
  1236. package/ios/juce_modules/juce_gui_basics/drawables/juce_DrawableRectangle.cpp +96 -0
  1237. package/ios/juce_modules/juce_gui_basics/drawables/juce_DrawableRectangle.h +85 -0
  1238. package/ios/juce_modules/juce_gui_basics/drawables/juce_DrawableShape.cpp +190 -0
  1239. package/ios/juce_modules/juce_gui_basics/drawables/juce_DrawableShape.h +135 -0
  1240. package/ios/juce_modules/juce_gui_basics/drawables/juce_DrawableText.cpp +241 -0
  1241. package/ios/juce_modules/juce_gui_basics/drawables/juce_DrawableText.h +130 -0
  1242. package/ios/juce_modules/juce_gui_basics/drawables/juce_SVGParser.cpp +1903 -0
  1243. package/ios/juce_modules/juce_gui_basics/filebrowser/juce_ContentSharer.cpp +83 -0
  1244. package/ios/juce_modules/juce_gui_basics/filebrowser/juce_ContentSharer.h +154 -0
  1245. package/ios/juce_modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.cpp +79 -0
  1246. package/ios/juce_modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.h +125 -0
  1247. package/ios/juce_modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.cpp +279 -0
  1248. package/ios/juce_modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.h +235 -0
  1249. package/ios/juce_modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.cpp +633 -0
  1250. package/ios/juce_modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.h +306 -0
  1251. package/ios/juce_modules/juce_gui_basics/filebrowser/juce_FileBrowserListener.h +67 -0
  1252. package/ios/juce_modules/juce_gui_basics/filebrowser/juce_FileChooser.cpp +292 -0
  1253. package/ios/juce_modules/juce_gui_basics/filebrowser/juce_FileChooser.h +358 -0
  1254. package/ios/juce_modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.cpp +272 -0
  1255. package/ios/juce_modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.h +177 -0
  1256. package/ios/juce_modules/juce_gui_basics/filebrowser/juce_FileListComponent.cpp +295 -0
  1257. package/ios/juce_modules/juce_gui_basics/filebrowser/juce_FileListComponent.h +104 -0
  1258. package/ios/juce_modules/juce_gui_basics/filebrowser/juce_FilePreviewComponent.h +75 -0
  1259. package/ios/juce_modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.cpp +280 -0
  1260. package/ios/juce_modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.h +126 -0
  1261. package/ios/juce_modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.cpp +690 -0
  1262. package/ios/juce_modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.h +117 -0
  1263. package/ios/juce_modules/juce_gui_basics/filebrowser/juce_FilenameComponent.cpp +277 -0
  1264. package/ios/juce_modules/juce_gui_basics/filebrowser/juce_FilenameComponent.h +245 -0
  1265. package/ios/juce_modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.cpp +135 -0
  1266. package/ios/juce_modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.h +77 -0
  1267. package/ios/juce_modules/juce_gui_basics/juce_gui_basics.cpp +370 -0
  1268. package/ios/juce_modules/juce_gui_basics/juce_gui_basics.h +403 -0
  1269. package/ios/juce_modules/juce_gui_basics/juce_gui_basics.mm +35 -0
  1270. package/ios/juce_modules/juce_gui_basics/keyboard/juce_CaretComponent.cpp +73 -0
  1271. package/ios/juce_modules/juce_gui_basics/keyboard/juce_CaretComponent.h +90 -0
  1272. package/ios/juce_modules/juce_gui_basics/keyboard/juce_KeyListener.cpp +43 -0
  1273. package/ios/juce_modules/juce_gui_basics/keyboard/juce_KeyListener.h +86 -0
  1274. package/ios/juce_modules/juce_gui_basics/keyboard/juce_KeyPress.cpp +298 -0
  1275. package/ios/juce_modules/juce_gui_basics/keyboard/juce_KeyPress.h +286 -0
  1276. package/ios/juce_modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.cpp +283 -0
  1277. package/ios/juce_modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.h +96 -0
  1278. package/ios/juce_modules/juce_gui_basics/keyboard/juce_ModifierKeys.cpp +58 -0
  1279. package/ios/juce_modules/juce_gui_basics/keyboard/juce_ModifierKeys.h +220 -0
  1280. package/ios/juce_modules/juce_gui_basics/keyboard/juce_SystemClipboard.h +58 -0
  1281. package/ios/juce_modules/juce_gui_basics/keyboard/juce_TextEditorKeyMapper.h +132 -0
  1282. package/ios/juce_modules/juce_gui_basics/keyboard/juce_TextInputTarget.h +129 -0
  1283. package/ios/juce_modules/juce_gui_basics/layout/juce_AnimatedPosition.h +216 -0
  1284. package/ios/juce_modules/juce_gui_basics/layout/juce_AnimatedPositionBehaviours.h +162 -0
  1285. package/ios/juce_modules/juce_gui_basics/layout/juce_BorderedComponentBoundsConstrainer.cpp +86 -0
  1286. package/ios/juce_modules/juce_gui_basics/layout/juce_BorderedComponentBoundsConstrainer.h +78 -0
  1287. package/ios/juce_modules/juce_gui_basics/layout/juce_ComponentAnimator.cpp +363 -0
  1288. package/ios/juce_modules/juce_gui_basics/layout/juce_ComponentAnimator.h +174 -0
  1289. package/ios/juce_modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.cpp +314 -0
  1290. package/ios/juce_modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.h +206 -0
  1291. package/ios/juce_modules/juce_gui_basics/layout/juce_ComponentBuilder.cpp +295 -0
  1292. package/ios/juce_modules/juce_gui_basics/layout/juce_ComponentBuilder.h +256 -0
  1293. package/ios/juce_modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.cpp +151 -0
  1294. package/ios/juce_modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.h +105 -0
  1295. package/ios/juce_modules/juce_gui_basics/layout/juce_ConcertinaPanel.cpp +512 -0
  1296. package/ios/juce_modules/juce_gui_basics/layout/juce_ConcertinaPanel.h +153 -0
  1297. package/ios/juce_modules/juce_gui_basics/layout/juce_FlexBox.cpp +1158 -0
  1298. package/ios/juce_modules/juce_gui_basics/layout/juce_FlexBox.h +152 -0
  1299. package/ios/juce_modules/juce_gui_basics/layout/juce_FlexItem.h +186 -0
  1300. package/ios/juce_modules/juce_gui_basics/layout/juce_Grid.cpp +1651 -0
  1301. package/ios/juce_modules/juce_gui_basics/layout/juce_Grid.h +232 -0
  1302. package/ios/juce_modules/juce_gui_basics/layout/juce_GridItem.cpp +188 -0
  1303. package/ios/juce_modules/juce_gui_basics/layout/juce_GridItem.h +249 -0
  1304. package/ios/juce_modules/juce_gui_basics/layout/juce_GroupComponent.cpp +87 -0
  1305. package/ios/juce_modules/juce_gui_basics/layout/juce_GroupComponent.h +120 -0
  1306. package/ios/juce_modules/juce_gui_basics/layout/juce_MultiDocumentPanel.cpp +641 -0
  1307. package/ios/juce_modules/juce_gui_basics/layout/juce_MultiDocumentPanel.h +390 -0
  1308. package/ios/juce_modules/juce_gui_basics/layout/juce_ResizableBorderComponent.cpp +208 -0
  1309. package/ios/juce_modules/juce_gui_basics/layout/juce_ResizableBorderComponent.h +205 -0
  1310. package/ios/juce_modules/juce_gui_basics/layout/juce_ResizableCornerComponent.cpp +112 -0
  1311. package/ios/juce_modules/juce_gui_basics/layout/juce_ResizableCornerComponent.h +101 -0
  1312. package/ios/juce_modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.cpp +139 -0
  1313. package/ios/juce_modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.h +109 -0
  1314. package/ios/juce_modules/juce_gui_basics/layout/juce_ScrollBar.cpp +486 -0
  1315. package/ios/juce_modules/juce_gui_basics/layout/juce_ScrollBar.h +450 -0
  1316. package/ios/juce_modules/juce_gui_basics/layout/juce_SidePanel.cpp +309 -0
  1317. package/ios/juce_modules/juce_gui_basics/layout/juce_SidePanel.h +248 -0
  1318. package/ios/juce_modules/juce_gui_basics/layout/juce_StretchableLayoutManager.cpp +351 -0
  1319. package/ios/juce_modules/juce_gui_basics/layout/juce_StretchableLayoutManager.h +270 -0
  1320. package/ios/juce_modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.cpp +88 -0
  1321. package/ios/juce_modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.h +114 -0
  1322. package/ios/juce_modules/juce_gui_basics/layout/juce_StretchableObjectResizer.cpp +131 -0
  1323. package/ios/juce_modules/juce_gui_basics/layout/juce_StretchableObjectResizer.h +111 -0
  1324. package/ios/juce_modules/juce_gui_basics/layout/juce_TabbedButtonBar.cpp +592 -0
  1325. package/ios/juce_modules/juce_gui_basics/layout/juce_TabbedButtonBar.h +382 -0
  1326. package/ios/juce_modules/juce_gui_basics/layout/juce_TabbedComponent.cpp +328 -0
  1327. package/ios/juce_modules/juce_gui_basics/layout/juce_TabbedComponent.h +236 -0
  1328. package/ios/juce_modules/juce_gui_basics/layout/juce_Viewport.cpp +649 -0
  1329. package/ios/juce_modules/juce_gui_basics/layout/juce_Viewport.h +383 -0
  1330. package/ios/juce_modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.cpp +201 -0
  1331. package/ios/juce_modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.h +301 -0
  1332. package/ios/juce_modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.cpp +599 -0
  1333. package/ios/juce_modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.h +114 -0
  1334. package/ios/juce_modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.cpp +3200 -0
  1335. package/ios/juce_modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.h +443 -0
  1336. package/ios/juce_modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.cpp +655 -0
  1337. package/ios/juce_modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.h +107 -0
  1338. package/ios/juce_modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V4.cpp +1516 -0
  1339. package/ios/juce_modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V4.h +269 -0
  1340. package/ios/juce_modules/juce_gui_basics/menus/juce_BurgerMenuComponent.cpp +311 -0
  1341. package/ios/juce_modules/juce_gui_basics/menus/juce_BurgerMenuComponent.h +120 -0
  1342. package/ios/juce_modules/juce_gui_basics/menus/juce_MenuBarComponent.cpp +472 -0
  1343. package/ios/juce_modules/juce_gui_basics/menus/juce_MenuBarComponent.h +138 -0
  1344. package/ios/juce_modules/juce_gui_basics/menus/juce_MenuBarModel.cpp +108 -0
  1345. package/ios/juce_modules/juce_gui_basics/menus/juce_MenuBarModel.h +201 -0
  1346. package/ios/juce_modules/juce_gui_basics/menus/juce_PopupMenu.cpp +2401 -0
  1347. package/ios/juce_modules/juce_gui_basics/menus/juce_PopupMenu.h +1070 -0
  1348. package/ios/juce_modules/juce_gui_basics/misc/juce_BubbleComponent.cpp +162 -0
  1349. package/ios/juce_modules/juce_gui_basics/misc/juce_BubbleComponent.h +213 -0
  1350. package/ios/juce_modules/juce_gui_basics/misc/juce_DropShadower.cpp +408 -0
  1351. package/ios/juce_modules/juce_gui_basics/misc/juce_DropShadower.h +96 -0
  1352. package/ios/juce_modules/juce_gui_basics/misc/juce_FocusOutline.cpp +194 -0
  1353. package/ios/juce_modules/juce_gui_basics/misc/juce_FocusOutline.h +109 -0
  1354. package/ios/juce_modules/juce_gui_basics/mouse/juce_ComponentDragger.cpp +76 -0
  1355. package/ios/juce_modules/juce_gui_basics/mouse/juce_ComponentDragger.h +110 -0
  1356. package/ios/juce_modules/juce_gui_basics/mouse/juce_DragAndDropContainer.cpp +646 -0
  1357. package/ios/juce_modules/juce_gui_basics/mouse/juce_DragAndDropContainer.h +275 -0
  1358. package/ios/juce_modules/juce_gui_basics/mouse/juce_DragAndDropTarget.h +149 -0
  1359. package/ios/juce_modules/juce_gui_basics/mouse/juce_FileDragAndDropTarget.h +115 -0
  1360. package/ios/juce_modules/juce_gui_basics/mouse/juce_LassoComponent.h +233 -0
  1361. package/ios/juce_modules/juce_gui_basics/mouse/juce_MouseCursor.cpp +162 -0
  1362. package/ios/juce_modules/juce_gui_basics/mouse/juce_MouseCursor.h +199 -0
  1363. package/ios/juce_modules/juce_gui_basics/mouse/juce_MouseEvent.cpp +147 -0
  1364. package/ios/juce_modules/juce_gui_basics/mouse/juce_MouseEvent.h +463 -0
  1365. package/ios/juce_modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.cpp +86 -0
  1366. package/ios/juce_modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.h +121 -0
  1367. package/ios/juce_modules/juce_gui_basics/mouse/juce_MouseInputSource.cpp +114 -0
  1368. package/ios/juce_modules/juce_gui_basics/mouse/juce_MouseInputSource.h +315 -0
  1369. package/ios/juce_modules/juce_gui_basics/mouse/juce_MouseListener.cpp +48 -0
  1370. package/ios/juce_modules/juce_gui_basics/mouse/juce_MouseListener.h +180 -0
  1371. package/ios/juce_modules/juce_gui_basics/mouse/juce_SelectedItemSet.h +336 -0
  1372. package/ios/juce_modules/juce_gui_basics/mouse/juce_TextDragAndDropTarget.h +115 -0
  1373. package/ios/juce_modules/juce_gui_basics/mouse/juce_TooltipClient.h +98 -0
  1374. package/ios/juce_modules/juce_gui_basics/native/accessibility/juce_Accessibility.cpp +46 -0
  1375. package/ios/juce_modules/juce_gui_basics/native/accessibility/juce_AccessibilityElement_windows.cpp +660 -0
  1376. package/ios/juce_modules/juce_gui_basics/native/accessibility/juce_AccessibilityElement_windows.h +89 -0
  1377. package/ios/juce_modules/juce_gui_basics/native/accessibility/juce_AccessibilitySharedCode_mac.mm +283 -0
  1378. package/ios/juce_modules/juce_gui_basics/native/accessibility/juce_AccessibilityTextHelpers.h +311 -0
  1379. package/ios/juce_modules/juce_gui_basics/native/accessibility/juce_AccessibilityTextHelpers_test.cpp +164 -0
  1380. package/ios/juce_modules/juce_gui_basics/native/accessibility/juce_Accessibility_android.cpp +1058 -0
  1381. package/ios/juce_modules/juce_gui_basics/native/accessibility/juce_Accessibility_ios.mm +669 -0
  1382. package/ios/juce_modules/juce_gui_basics/native/accessibility/juce_Accessibility_mac.mm +942 -0
  1383. package/ios/juce_modules/juce_gui_basics/native/accessibility/juce_Accessibility_windows.cpp +336 -0
  1384. package/ios/juce_modules/juce_gui_basics/native/accessibility/juce_UIAExpandCollapseProvider_windows.h +92 -0
  1385. package/ios/juce_modules/juce_gui_basics/native/accessibility/juce_UIAGridItemProvider_windows.h +162 -0
  1386. package/ios/juce_modules/juce_gui_basics/native/accessibility/juce_UIAGridProvider_windows.h +160 -0
  1387. package/ios/juce_modules/juce_gui_basics/native/accessibility/juce_UIAHelpers_windows.h +128 -0
  1388. package/ios/juce_modules/juce_gui_basics/native/accessibility/juce_UIAInvokeProvider_windows.h +68 -0
  1389. package/ios/juce_modules/juce_gui_basics/native/accessibility/juce_UIAProviderBase_windows.h +67 -0
  1390. package/ios/juce_modules/juce_gui_basics/native/accessibility/juce_UIAProviders_windows.h +52 -0
  1391. package/ios/juce_modules/juce_gui_basics/native/accessibility/juce_UIARangeValueProvider_windows.h +146 -0
  1392. package/ios/juce_modules/juce_gui_basics/native/accessibility/juce_UIASelectionProvider_windows.h +254 -0
  1393. package/ios/juce_modules/juce_gui_basics/native/accessibility/juce_UIATextProvider_windows.h +626 -0
  1394. package/ios/juce_modules/juce_gui_basics/native/accessibility/juce_UIAToggleProvider_windows.h +87 -0
  1395. package/ios/juce_modules/juce_gui_basics/native/accessibility/juce_UIATransformProvider_windows.h +131 -0
  1396. package/ios/juce_modules/juce_gui_basics/native/accessibility/juce_UIAValueProvider_windows.h +92 -0
  1397. package/ios/juce_modules/juce_gui_basics/native/accessibility/juce_UIAWindowProvider_windows.h +203 -0
  1398. package/ios/juce_modules/juce_gui_basics/native/accessibility/juce_WindowsUIAWrapper_windows.h +169 -0
  1399. package/ios/juce_modules/juce_gui_basics/native/java/app/com/rmsl/juce/ComponentPeerView.java +987 -0
  1400. package/ios/juce_modules/juce_gui_basics/native/java/app/com/rmsl/juce/JuceContentProviderCursor.java +62 -0
  1401. package/ios/juce_modules/juce_gui_basics/native/java/app/com/rmsl/juce/JuceContentProviderFileObserver.java +57 -0
  1402. package/ios/juce_modules/juce_gui_basics/native/javaopt/app/com/rmsl/juce/JuceActivity.java +63 -0
  1403. package/ios/juce_modules/juce_gui_basics/native/javaopt/app/com/rmsl/juce/JuceSharingContentProvider.java +128 -0
  1404. package/ios/juce_modules/juce_gui_basics/native/javaopt/app/com/rmsl/juce/Receiver.java +51 -0
  1405. package/ios/juce_modules/juce_gui_basics/native/juce_CGMetalLayerRenderer_mac.h +384 -0
  1406. package/ios/juce_modules/juce_gui_basics/native/juce_ContentSharer_android.cpp +963 -0
  1407. package/ios/juce_modules/juce_gui_basics/native/juce_ContentSharer_ios.cpp +134 -0
  1408. package/ios/juce_modules/juce_gui_basics/native/juce_DragAndDrop_linux.cpp +618 -0
  1409. package/ios/juce_modules/juce_gui_basics/native/juce_DragAndDrop_windows.cpp +377 -0
  1410. package/ios/juce_modules/juce_gui_basics/native/juce_FileChooser_android.cpp +276 -0
  1411. package/ios/juce_modules/juce_gui_basics/native/juce_FileChooser_ios.mm +379 -0
  1412. package/ios/juce_modules/juce_gui_basics/native/juce_FileChooser_linux.cpp +296 -0
  1413. package/ios/juce_modules/juce_gui_basics/native/juce_FileChooser_mac.mm +414 -0
  1414. package/ios/juce_modules/juce_gui_basics/native/juce_FileChooser_windows.cpp +908 -0
  1415. package/ios/juce_modules/juce_gui_basics/native/juce_MainMenu_mac.mm +848 -0
  1416. package/ios/juce_modules/juce_gui_basics/native/juce_MouseCursor_mac.mm +205 -0
  1417. package/ios/juce_modules/juce_gui_basics/native/juce_MultiTouchMapper.h +116 -0
  1418. package/ios/juce_modules/juce_gui_basics/native/juce_NSViewComponentPeer_mac.mm +3053 -0
  1419. package/ios/juce_modules/juce_gui_basics/native/juce_NativeMessageBox_android.cpp +124 -0
  1420. package/ios/juce_modules/juce_gui_basics/native/juce_NativeMessageBox_ios.mm +119 -0
  1421. package/ios/juce_modules/juce_gui_basics/native/juce_NativeMessageBox_linux.cpp +78 -0
  1422. package/ios/juce_modules/juce_gui_basics/native/juce_NativeMessageBox_mac.mm +140 -0
  1423. package/ios/juce_modules/juce_gui_basics/native/juce_NativeMessageBox_windows.cpp +354 -0
  1424. package/ios/juce_modules/juce_gui_basics/native/juce_NativeModalWrapperComponent_ios.h +141 -0
  1425. package/ios/juce_modules/juce_gui_basics/native/juce_PerScreenDisplayLinks_mac.h +313 -0
  1426. package/ios/juce_modules/juce_gui_basics/native/juce_ScopedDPIAwarenessDisabler.cpp +43 -0
  1427. package/ios/juce_modules/juce_gui_basics/native/juce_ScopedDPIAwarenessDisabler.h +63 -0
  1428. package/ios/juce_modules/juce_gui_basics/native/juce_ScopedThreadDPIAwarenessSetter_windows.h +52 -0
  1429. package/ios/juce_modules/juce_gui_basics/native/juce_ScopedWindowAssociation_linux.h +127 -0
  1430. package/ios/juce_modules/juce_gui_basics/native/juce_UIViewComponentPeer_ios.mm +2376 -0
  1431. package/ios/juce_modules/juce_gui_basics/native/juce_VBlank_windows.cpp +302 -0
  1432. package/ios/juce_modules/juce_gui_basics/native/juce_WindowUtils_android.cpp +43 -0
  1433. package/ios/juce_modules/juce_gui_basics/native/juce_WindowUtils_ios.mm +43 -0
  1434. package/ios/juce_modules/juce_gui_basics/native/juce_WindowUtils_linux.cpp +48 -0
  1435. package/ios/juce_modules/juce_gui_basics/native/juce_WindowUtils_mac.mm +47 -0
  1436. package/ios/juce_modules/juce_gui_basics/native/juce_WindowUtils_windows.cpp +68 -0
  1437. package/ios/juce_modules/juce_gui_basics/native/juce_Windowing_android.cpp +2903 -0
  1438. package/ios/juce_modules/juce_gui_basics/native/juce_Windowing_ios.mm +629 -0
  1439. package/ios/juce_modules/juce_gui_basics/native/juce_Windowing_linux.cpp +863 -0
  1440. package/ios/juce_modules/juce_gui_basics/native/juce_Windowing_mac.mm +588 -0
  1441. package/ios/juce_modules/juce_gui_basics/native/juce_Windowing_windows.cpp +5549 -0
  1442. package/ios/juce_modules/juce_gui_basics/native/juce_WindowsHooks_windows.cpp +118 -0
  1443. package/ios/juce_modules/juce_gui_basics/native/juce_WindowsHooks_windows.h +55 -0
  1444. package/ios/juce_modules/juce_gui_basics/native/juce_XSymbols_linux.cpp +249 -0
  1445. package/ios/juce_modules/juce_gui_basics/native/juce_XSymbols_linux.h +629 -0
  1446. package/ios/juce_modules/juce_gui_basics/native/juce_XWindowSystem_linux.cpp +4036 -0
  1447. package/ios/juce_modules/juce_gui_basics/native/juce_XWindowSystem_linux.h +364 -0
  1448. package/ios/juce_modules/juce_gui_basics/positioning/juce_MarkerList.cpp +293 -0
  1449. package/ios/juce_modules/juce_gui_basics/positioning/juce_MarkerList.h +204 -0
  1450. package/ios/juce_modules/juce_gui_basics/positioning/juce_RelativeCoordinate.cpp +162 -0
  1451. package/ios/juce_modules/juce_gui_basics/positioning/juce_RelativeCoordinate.h +190 -0
  1452. package/ios/juce_modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.cpp +344 -0
  1453. package/ios/juce_modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.h +99 -0
  1454. package/ios/juce_modules/juce_gui_basics/positioning/juce_RelativeParallelogram.cpp +149 -0
  1455. package/ios/juce_modules/juce_gui_basics/positioning/juce_RelativeParallelogram.h +75 -0
  1456. package/ios/juce_modules/juce_gui_basics/positioning/juce_RelativePoint.cpp +110 -0
  1457. package/ios/juce_modules/juce_gui_basics/positioning/juce_RelativePoint.h +100 -0
  1458. package/ios/juce_modules/juce_gui_basics/positioning/juce_RelativePointPath.cpp +271 -0
  1459. package/ios/juce_modules/juce_gui_basics/positioning/juce_RelativePointPath.h +202 -0
  1460. package/ios/juce_modules/juce_gui_basics/positioning/juce_RelativeRectangle.cpp +286 -0
  1461. package/ios/juce_modules/juce_gui_basics/positioning/juce_RelativeRectangle.h +117 -0
  1462. package/ios/juce_modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.cpp +95 -0
  1463. package/ios/juce_modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.h +118 -0
  1464. package/ios/juce_modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.cpp +55 -0
  1465. package/ios/juce_modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.h +85 -0
  1466. package/ios/juce_modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.cpp +284 -0
  1467. package/ios/juce_modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.h +162 -0
  1468. package/ios/juce_modules/juce_gui_basics/properties/juce_MultiChoicePropertyComponent.cpp +367 -0
  1469. package/ios/juce_modules/juce_gui_basics/properties/juce_MultiChoicePropertyComponent.h +150 -0
  1470. package/ios/juce_modules/juce_gui_basics/properties/juce_PropertyComponent.cpp +65 -0
  1471. package/ios/juce_modules/juce_gui_basics/properties/juce_PropertyComponent.h +154 -0
  1472. package/ios/juce_modules/juce_gui_basics/properties/juce_PropertyPanel.cpp +405 -0
  1473. package/ios/juce_modules/juce_gui_basics/properties/juce_PropertyPanel.h +186 -0
  1474. package/ios/juce_modules/juce_gui_basics/properties/juce_SliderPropertyComponent.cpp +95 -0
  1475. package/ios/juce_modules/juce_gui_basics/properties/juce_SliderPropertyComponent.h +116 -0
  1476. package/ios/juce_modules/juce_gui_basics/properties/juce_TextPropertyComponent.cpp +271 -0
  1477. package/ios/juce_modules/juce_gui_basics/properties/juce_TextPropertyComponent.h +196 -0
  1478. package/ios/juce_modules/juce_gui_basics/widgets/juce_ComboBox.cpp +721 -0
  1479. package/ios/juce_modules/juce_gui_basics/widgets/juce_ComboBox.h +473 -0
  1480. package/ios/juce_modules/juce_gui_basics/widgets/juce_ImageComponent.cpp +116 -0
  1481. package/ios/juce_modules/juce_gui_basics/widgets/juce_ImageComponent.h +90 -0
  1482. package/ios/juce_modules/juce_gui_basics/widgets/juce_Label.cpp +592 -0
  1483. package/ios/juce_modules/juce_gui_basics/widgets/juce_Label.h +377 -0
  1484. package/ios/juce_modules/juce_gui_basics/widgets/juce_ListBox.cpp +1263 -0
  1485. package/ios/juce_modules/juce_gui_basics/widgets/juce_ListBox.h +656 -0
  1486. package/ios/juce_modules/juce_gui_basics/widgets/juce_ProgressBar.cpp +189 -0
  1487. package/ios/juce_modules/juce_gui_basics/widgets/juce_ProgressBar.h +215 -0
  1488. package/ios/juce_modules/juce_gui_basics/widgets/juce_Slider.cpp +1839 -0
  1489. package/ios/juce_modules/juce_gui_basics/widgets/juce_Slider.h +1048 -0
  1490. package/ios/juce_modules/juce_gui_basics/widgets/juce_TableHeaderComponent.cpp +935 -0
  1491. package/ios/juce_modules/juce_gui_basics/widgets/juce_TableHeaderComponent.h +472 -0
  1492. package/ios/juce_modules/juce_gui_basics/widgets/juce_TableListBox.cpp +688 -0
  1493. package/ios/juce_modules/juce_gui_basics/widgets/juce_TableListBox.h +365 -0
  1494. package/ios/juce_modules/juce_gui_basics/widgets/juce_TextEditor.cpp +2786 -0
  1495. package/ios/juce_modules/juce_gui_basics/widgets/juce_TextEditor.h +888 -0
  1496. package/ios/juce_modules/juce_gui_basics/widgets/juce_Toolbar.cpp +838 -0
  1497. package/ios/juce_modules/juce_gui_basics/widgets/juce_Toolbar.h +347 -0
  1498. package/ios/juce_modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.cpp +173 -0
  1499. package/ios/juce_modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.h +217 -0
  1500. package/ios/juce_modules/juce_gui_basics/widgets/juce_ToolbarItemFactory.h +118 -0
  1501. package/ios/juce_modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.cpp +125 -0
  1502. package/ios/juce_modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.h +88 -0
  1503. package/ios/juce_modules/juce_gui_basics/widgets/juce_TreeView.cpp +2286 -0
  1504. package/ios/juce_modules/juce_gui_basics/widgets/juce_TreeView.h +969 -0
  1505. package/ios/juce_modules/juce_gui_basics/windows/juce_AlertWindow.cpp +712 -0
  1506. package/ios/juce_modules/juce_gui_basics/windows/juce_AlertWindow.h +600 -0
  1507. package/ios/juce_modules/juce_gui_basics/windows/juce_CallOutBox.cpp +279 -0
  1508. package/ios/juce_modules/juce_gui_basics/windows/juce_CallOutBox.h +197 -0
  1509. package/ios/juce_modules/juce_gui_basics/windows/juce_ComponentPeer.cpp +625 -0
  1510. package/ios/juce_modules/juce_gui_basics/windows/juce_ComponentPeer.h +623 -0
  1511. package/ios/juce_modules/juce_gui_basics/windows/juce_DialogWindow.cpp +190 -0
  1512. package/ios/juce_modules/juce_gui_basics/windows/juce_DialogWindow.h +286 -0
  1513. package/ios/juce_modules/juce_gui_basics/windows/juce_DocumentWindow.cpp +423 -0
  1514. package/ios/juce_modules/juce_gui_basics/windows/juce_DocumentWindow.h +316 -0
  1515. package/ios/juce_modules/juce_gui_basics/windows/juce_MessageBoxOptions.cpp +102 -0
  1516. package/ios/juce_modules/juce_gui_basics/windows/juce_MessageBoxOptions.h +202 -0
  1517. package/ios/juce_modules/juce_gui_basics/windows/juce_NativeMessageBox.cpp +167 -0
  1518. package/ios/juce_modules/juce_gui_basics/windows/juce_NativeMessageBox.h +311 -0
  1519. package/ios/juce_modules/juce_gui_basics/windows/juce_NativeScaleFactorNotifier.cpp +75 -0
  1520. package/ios/juce_modules/juce_gui_basics/windows/juce_NativeScaleFactorNotifier.h +78 -0
  1521. package/ios/juce_modules/juce_gui_basics/windows/juce_ResizableWindow.cpp +679 -0
  1522. package/ios/juce_modules/juce_gui_basics/windows/juce_ResizableWindow.h +427 -0
  1523. package/ios/juce_modules/juce_gui_basics/windows/juce_ScopedMessageBox.cpp +67 -0
  1524. package/ios/juce_modules/juce_gui_basics/windows/juce_ScopedMessageBox.h +78 -0
  1525. package/ios/juce_modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.cpp +128 -0
  1526. package/ios/juce_modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.h +184 -0
  1527. package/ios/juce_modules/juce_gui_basics/windows/juce_TooltipWindow.cpp +264 -0
  1528. package/ios/juce_modules/juce_gui_basics/windows/juce_TooltipWindow.h +169 -0
  1529. package/ios/juce_modules/juce_gui_basics/windows/juce_TopLevelWindow.cpp +264 -0
  1530. package/ios/juce_modules/juce_gui_basics/windows/juce_TopLevelWindow.h +176 -0
  1531. package/ios/juce_modules/juce_gui_basics/windows/juce_VBlankAttachment.cpp +122 -0
  1532. package/ios/juce_modules/juce_gui_basics/windows/juce_VBlankAttachment.h +85 -0
  1533. package/ios/juce_modules/juce_gui_basics/windows/juce_WindowUtils.h +51 -0
  1534. package/ios/juce_modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.cpp +83 -0
  1535. package/ios/juce_modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.h +81 -0
  1536. package/ios/juce_modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniserFunctions.h +683 -0
  1537. package/ios/juce_modules/juce_gui_extra/code_editor/juce_CodeDocument.cpp +1306 -0
  1538. package/ios/juce_modules/juce_gui_extra/code_editor/juce_CodeDocument.h +459 -0
  1539. package/ios/juce_modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.cpp +1857 -0
  1540. package/ios/juce_modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.h +486 -0
  1541. package/ios/juce_modules/juce_gui_extra/code_editor/juce_CodeTokeniser.h +68 -0
  1542. package/ios/juce_modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.cpp +248 -0
  1543. package/ios/juce_modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.h +74 -0
  1544. package/ios/juce_modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.cpp +181 -0
  1545. package/ios/juce_modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.h +72 -0
  1546. package/ios/juce_modules/juce_gui_extra/detail/juce_WebControlRelayEvents.h +255 -0
  1547. package/ios/juce_modules/juce_gui_extra/documents/juce_FileBasedDocument.cpp +1124 -0
  1548. package/ios/juce_modules/juce_gui_extra/documents/juce_FileBasedDocument.h +440 -0
  1549. package/ios/juce_modules/juce_gui_extra/embedding/juce_ActiveXControlComponent.h +142 -0
  1550. package/ios/juce_modules/juce_gui_extra/embedding/juce_AndroidViewComponent.h +91 -0
  1551. package/ios/juce_modules/juce_gui_extra/embedding/juce_HWNDComponent.h +98 -0
  1552. package/ios/juce_modules/juce_gui_extra/embedding/juce_NSViewComponent.h +107 -0
  1553. package/ios/juce_modules/juce_gui_extra/embedding/juce_UIViewComponent.h +99 -0
  1554. package/ios/juce_modules/juce_gui_extra/embedding/juce_XEmbedComponent.h +129 -0
  1555. package/ios/juce_modules/juce_gui_extra/juce_gui_extra.cpp +210 -0
  1556. package/ios/juce_modules/juce_gui_extra/juce_gui_extra.h +161 -0
  1557. package/ios/juce_modules/juce_gui_extra/juce_gui_extra.mm +35 -0
  1558. package/ios/juce_modules/juce_gui_extra/misc/juce_AnimatedAppComponent.cpp +89 -0
  1559. package/ios/juce_modules/juce_gui_extra/misc/juce_AnimatedAppComponent.h +96 -0
  1560. package/ios/juce_modules/juce_gui_extra/misc/juce_AppleRemote.h +126 -0
  1561. package/ios/juce_modules/juce_gui_extra/misc/juce_BubbleMessageComponent.cpp +133 -0
  1562. package/ios/juce_modules/juce_gui_extra/misc/juce_BubbleMessageComponent.h +134 -0
  1563. package/ios/juce_modules/juce_gui_extra/misc/juce_ColourSelector.cpp +656 -0
  1564. package/ios/juce_modules/juce_gui_extra/misc/juce_ColourSelector.h +173 -0
  1565. package/ios/juce_modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.cpp +486 -0
  1566. package/ios/juce_modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.h +142 -0
  1567. package/ios/juce_modules/juce_gui_extra/misc/juce_LiveConstantEditor.cpp +501 -0
  1568. package/ios/juce_modules/juce_gui_extra/misc/juce_LiveConstantEditor.h +310 -0
  1569. package/ios/juce_modules/juce_gui_extra/misc/juce_PreferencesPanel.cpp +165 -0
  1570. package/ios/juce_modules/juce_gui_extra/misc/juce_PreferencesPanel.h +156 -0
  1571. package/ios/juce_modules/juce_gui_extra/misc/juce_PushNotifications.cpp +239 -0
  1572. package/ios/juce_modules/juce_gui_extra/misc/juce_PushNotifications.h +714 -0
  1573. package/ios/juce_modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.cpp +189 -0
  1574. package/ios/juce_modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.h +186 -0
  1575. package/ios/juce_modules/juce_gui_extra/misc/juce_SplashScreen.cpp +110 -0
  1576. package/ios/juce_modules/juce_gui_extra/misc/juce_SplashScreen.h +165 -0
  1577. package/ios/juce_modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.cpp +51 -0
  1578. package/ios/juce_modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.h +125 -0
  1579. package/ios/juce_modules/juce_gui_extra/misc/juce_WebBrowserComponent.cpp +722 -0
  1580. package/ios/juce_modules/juce_gui_extra/misc/juce_WebBrowserComponent.h +626 -0
  1581. package/ios/juce_modules/juce_gui_extra/misc/juce_WebControlParameterIndexReceiver.h +76 -0
  1582. package/ios/juce_modules/juce_gui_extra/misc/juce_WebControlRelays.cpp +256 -0
  1583. package/ios/juce_modules/juce_gui_extra/misc/juce_WebControlRelays.h +254 -0
  1584. package/ios/juce_modules/juce_gui_extra/native/java/app/com/rmsl/juce/JuceWebViewClasses.java +356 -0
  1585. package/ios/juce_modules/juce_gui_extra/native/javaopt/app/com/rmsl/juce/JuceFirebaseInstanceIdService.java +50 -0
  1586. package/ios/juce_modules/juce_gui_extra/native/javaopt/app/com/rmsl/juce/JuceFirebaseMessagingService.java +69 -0
  1587. package/ios/juce_modules/juce_gui_extra/native/javascript/check_native_interop.js +146 -0
  1588. package/ios/juce_modules/juce_gui_extra/native/javascript/index.js +577 -0
  1589. package/ios/juce_modules/juce_gui_extra/native/javascript/package.json +4 -0
  1590. package/ios/juce_modules/juce_gui_extra/native/juce_ActiveXComponent_windows.cpp +553 -0
  1591. package/ios/juce_modules/juce_gui_extra/native/juce_AndroidViewComponent.cpp +199 -0
  1592. package/ios/juce_modules/juce_gui_extra/native/juce_AppleRemote_mac.mm +285 -0
  1593. package/ios/juce_modules/juce_gui_extra/native/juce_HWNDComponent_windows.cpp +203 -0
  1594. package/ios/juce_modules/juce_gui_extra/native/juce_NSViewComponent_mac.mm +203 -0
  1595. package/ios/juce_modules/juce_gui_extra/native/juce_NSViewFrameWatcher_mac.h +120 -0
  1596. package/ios/juce_modules/juce_gui_extra/native/juce_PushNotifications_android.cpp +1607 -0
  1597. package/ios/juce_modules/juce_gui_extra/native/juce_PushNotifications_ios.cpp +620 -0
  1598. package/ios/juce_modules/juce_gui_extra/native/juce_PushNotifications_mac.cpp +535 -0
  1599. package/ios/juce_modules/juce_gui_extra/native/juce_SystemTrayIcon_linux.cpp +160 -0
  1600. package/ios/juce_modules/juce_gui_extra/native/juce_SystemTrayIcon_mac.cpp +451 -0
  1601. package/ios/juce_modules/juce_gui_extra/native/juce_SystemTrayIcon_windows.cpp +251 -0
  1602. package/ios/juce_modules/juce_gui_extra/native/juce_UIViewComponent_ios.mm +151 -0
  1603. package/ios/juce_modules/juce_gui_extra/native/juce_WebBrowserComponent_android.cpp +953 -0
  1604. package/ios/juce_modules/juce_gui_extra/native/juce_WebBrowserComponent_linux.cpp +1659 -0
  1605. package/ios/juce_modules/juce_gui_extra/native/juce_WebBrowserComponent_mac.mm +1113 -0
  1606. package/ios/juce_modules/juce_gui_extra/native/juce_WebBrowserComponent_windows.cpp +1298 -0
  1607. package/ios/juce_modules/juce_gui_extra/native/juce_XEmbedComponent_linux.cpp +739 -0
  1608. package/package.json +1 -1
  1609. package/ios/JuceModules.mm +0 -14
  1610. package/ios/JuceToneGenerator.h +0 -39
  1611. package/ios/JuceToneGenerator.mm +0 -613
@@ -0,0 +1,3069 @@
1
+ /*
2
+ * Copyright © 2009 Red Hat, Inc.
3
+ * Copyright © 2012 Google, Inc.
4
+ *
5
+ * This is part of HarfBuzz, a text shaping library.
6
+ *
7
+ * Permission is hereby granted, without written agreement and without
8
+ * license or royalty fees, to use, copy, modify, and distribute this
9
+ * software and its documentation for any purpose, provided that the
10
+ * above copyright notice and the following two paragraphs appear in
11
+ * all copies of this software.
12
+ *
13
+ * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR
14
+ * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
15
+ * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN
16
+ * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
17
+ * DAMAGE.
18
+ *
19
+ * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING,
20
+ * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
21
+ * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
22
+ * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO
23
+ * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
24
+ *
25
+ * Red Hat Author(s): Behdad Esfahbod
26
+ * Google Author(s): Behdad Esfahbod
27
+ */
28
+
29
+ #include "hb.hh"
30
+
31
+ #include "hb-font.hh"
32
+ #include "hb-draw.hh"
33
+ #include "hb-paint.hh"
34
+ #include "hb-machinery.hh"
35
+
36
+ #include "hb-ot.h"
37
+
38
+ #include "hb-ot-var-avar-table.hh"
39
+ #include "hb-ot-var-fvar-table.hh"
40
+
41
+
42
+ /**
43
+ * SECTION:hb-font
44
+ * @title: hb-font
45
+ * @short_description: Font objects
46
+ * @include: hb.h
47
+ *
48
+ * Functions for working with font objects.
49
+ *
50
+ * A font object represents a font face at a specific size and with
51
+ * certain other parameters (pixels-per-em, points-per-em, variation
52
+ * settings) specified. Font objects are created from font face
53
+ * objects, and are used as input to hb_shape(), among other things.
54
+ *
55
+ * Client programs can optionally pass in their own functions that
56
+ * implement the basic, lower-level queries of font objects. This set
57
+ * of font functions is defined by the virtual methods in
58
+ * #hb_font_funcs_t.
59
+ *
60
+ * HarfBuzz provides a built-in set of lightweight default
61
+ * functions for each method in #hb_font_funcs_t.
62
+ *
63
+ * The default font functions are implemented in terms of the
64
+ * #hb_font_funcs_t methods of the parent font object. This allows
65
+ * client programs to override only the methods they need to, and
66
+ * otherwise inherit the parent font's implementation, if any.
67
+ **/
68
+
69
+
70
+ /*
71
+ * hb_font_funcs_t
72
+ */
73
+
74
+ static hb_bool_t
75
+ hb_font_get_font_h_extents_nil (hb_font_t *font HB_UNUSED,
76
+ void *font_data HB_UNUSED,
77
+ hb_font_extents_t *extents,
78
+ void *user_data HB_UNUSED)
79
+ {
80
+ hb_memset (extents, 0, sizeof (*extents));
81
+ return false;
82
+ }
83
+
84
+ static hb_bool_t
85
+ hb_font_get_font_h_extents_default (hb_font_t *font,
86
+ void *font_data HB_UNUSED,
87
+ hb_font_extents_t *extents,
88
+ void *user_data HB_UNUSED)
89
+ {
90
+ hb_bool_t ret = font->parent->get_font_h_extents (extents);
91
+ if (ret) {
92
+ extents->ascender = font->parent_scale_y_distance (extents->ascender);
93
+ extents->descender = font->parent_scale_y_distance (extents->descender);
94
+ extents->line_gap = font->parent_scale_y_distance (extents->line_gap);
95
+ }
96
+ return ret;
97
+ }
98
+
99
+ static hb_bool_t
100
+ hb_font_get_font_v_extents_nil (hb_font_t *font HB_UNUSED,
101
+ void *font_data HB_UNUSED,
102
+ hb_font_extents_t *extents,
103
+ void *user_data HB_UNUSED)
104
+ {
105
+ hb_memset (extents, 0, sizeof (*extents));
106
+ return false;
107
+ }
108
+
109
+ static hb_bool_t
110
+ hb_font_get_font_v_extents_default (hb_font_t *font,
111
+ void *font_data HB_UNUSED,
112
+ hb_font_extents_t *extents,
113
+ void *user_data HB_UNUSED)
114
+ {
115
+ hb_bool_t ret = font->parent->get_font_v_extents (extents);
116
+ if (ret) {
117
+ extents->ascender = font->parent_scale_x_distance (extents->ascender);
118
+ extents->descender = font->parent_scale_x_distance (extents->descender);
119
+ extents->line_gap = font->parent_scale_x_distance (extents->line_gap);
120
+ }
121
+ return ret;
122
+ }
123
+
124
+ static hb_bool_t
125
+ hb_font_get_nominal_glyph_nil (hb_font_t *font HB_UNUSED,
126
+ void *font_data HB_UNUSED,
127
+ hb_codepoint_t unicode HB_UNUSED,
128
+ hb_codepoint_t *glyph,
129
+ void *user_data HB_UNUSED)
130
+ {
131
+ *glyph = 0;
132
+ return false;
133
+ }
134
+
135
+ static hb_bool_t
136
+ hb_font_get_nominal_glyph_default (hb_font_t *font,
137
+ void *font_data HB_UNUSED,
138
+ hb_codepoint_t unicode,
139
+ hb_codepoint_t *glyph,
140
+ void *user_data HB_UNUSED)
141
+ {
142
+ if (font->has_nominal_glyphs_func_set ())
143
+ {
144
+ return font->get_nominal_glyphs (1, &unicode, 0, glyph, 0);
145
+ }
146
+ return font->parent->get_nominal_glyph (unicode, glyph);
147
+ }
148
+
149
+ #define hb_font_get_nominal_glyphs_nil hb_font_get_nominal_glyphs_default
150
+
151
+ static unsigned int
152
+ hb_font_get_nominal_glyphs_default (hb_font_t *font,
153
+ void *font_data HB_UNUSED,
154
+ unsigned int count,
155
+ const hb_codepoint_t *first_unicode,
156
+ unsigned int unicode_stride,
157
+ hb_codepoint_t *first_glyph,
158
+ unsigned int glyph_stride,
159
+ void *user_data HB_UNUSED)
160
+ {
161
+ if (font->has_nominal_glyph_func_set ())
162
+ {
163
+ for (unsigned int i = 0; i < count; i++)
164
+ {
165
+ if (!font->get_nominal_glyph (*first_unicode, first_glyph))
166
+ return i;
167
+
168
+ first_unicode = &StructAtOffsetUnaligned<hb_codepoint_t> (first_unicode, unicode_stride);
169
+ first_glyph = &StructAtOffsetUnaligned<hb_codepoint_t> (first_glyph, glyph_stride);
170
+ }
171
+ return count;
172
+ }
173
+
174
+ return font->parent->get_nominal_glyphs (count,
175
+ first_unicode, unicode_stride,
176
+ first_glyph, glyph_stride);
177
+ }
178
+
179
+ static hb_bool_t
180
+ hb_font_get_variation_glyph_nil (hb_font_t *font HB_UNUSED,
181
+ void *font_data HB_UNUSED,
182
+ hb_codepoint_t unicode HB_UNUSED,
183
+ hb_codepoint_t variation_selector HB_UNUSED,
184
+ hb_codepoint_t *glyph,
185
+ void *user_data HB_UNUSED)
186
+ {
187
+ *glyph = 0;
188
+ return false;
189
+ }
190
+
191
+ static hb_bool_t
192
+ hb_font_get_variation_glyph_default (hb_font_t *font,
193
+ void *font_data HB_UNUSED,
194
+ hb_codepoint_t unicode,
195
+ hb_codepoint_t variation_selector,
196
+ hb_codepoint_t *glyph,
197
+ void *user_data HB_UNUSED)
198
+ {
199
+ return font->parent->get_variation_glyph (unicode, variation_selector, glyph);
200
+ }
201
+
202
+
203
+ static hb_position_t
204
+ hb_font_get_glyph_h_advance_nil (hb_font_t *font,
205
+ void *font_data HB_UNUSED,
206
+ hb_codepoint_t glyph HB_UNUSED,
207
+ void *user_data HB_UNUSED)
208
+ {
209
+ return font->x_scale;
210
+ }
211
+
212
+ static hb_position_t
213
+ hb_font_get_glyph_h_advance_default (hb_font_t *font,
214
+ void *font_data HB_UNUSED,
215
+ hb_codepoint_t glyph,
216
+ void *user_data HB_UNUSED)
217
+ {
218
+ if (font->has_glyph_h_advances_func_set ())
219
+ {
220
+ hb_position_t ret;
221
+ font->get_glyph_h_advances (1, &glyph, 0, &ret, 0);
222
+ return ret;
223
+ }
224
+ return font->parent_scale_x_distance (font->parent->get_glyph_h_advance (glyph));
225
+ }
226
+
227
+ static hb_position_t
228
+ hb_font_get_glyph_v_advance_nil (hb_font_t *font,
229
+ void *font_data HB_UNUSED,
230
+ hb_codepoint_t glyph HB_UNUSED,
231
+ void *user_data HB_UNUSED)
232
+ {
233
+ /* TODO use font_extents.ascender+descender */
234
+ return font->y_scale;
235
+ }
236
+
237
+ static hb_position_t
238
+ hb_font_get_glyph_v_advance_default (hb_font_t *font,
239
+ void *font_data HB_UNUSED,
240
+ hb_codepoint_t glyph,
241
+ void *user_data HB_UNUSED)
242
+ {
243
+ if (font->has_glyph_v_advances_func_set ())
244
+ {
245
+ hb_position_t ret;
246
+ font->get_glyph_v_advances (1, &glyph, 0, &ret, 0);
247
+ return ret;
248
+ }
249
+ return font->parent_scale_y_distance (font->parent->get_glyph_v_advance (glyph));
250
+ }
251
+
252
+ #define hb_font_get_glyph_h_advances_nil hb_font_get_glyph_h_advances_default
253
+
254
+ static void
255
+ hb_font_get_glyph_h_advances_default (hb_font_t* font,
256
+ void* font_data HB_UNUSED,
257
+ unsigned int count,
258
+ const hb_codepoint_t *first_glyph,
259
+ unsigned int glyph_stride,
260
+ hb_position_t *first_advance,
261
+ unsigned int advance_stride,
262
+ void *user_data HB_UNUSED)
263
+ {
264
+ if (font->has_glyph_h_advance_func_set ())
265
+ {
266
+ for (unsigned int i = 0; i < count; i++)
267
+ {
268
+ *first_advance = font->get_glyph_h_advance (*first_glyph);
269
+ first_glyph = &StructAtOffsetUnaligned<hb_codepoint_t> (first_glyph, glyph_stride);
270
+ first_advance = &StructAtOffsetUnaligned<hb_position_t> (first_advance, advance_stride);
271
+ }
272
+ return;
273
+ }
274
+
275
+ font->parent->get_glyph_h_advances (count,
276
+ first_glyph, glyph_stride,
277
+ first_advance, advance_stride);
278
+ for (unsigned int i = 0; i < count; i++)
279
+ {
280
+ *first_advance = font->parent_scale_x_distance (*first_advance);
281
+ first_advance = &StructAtOffsetUnaligned<hb_position_t> (first_advance, advance_stride);
282
+ }
283
+ }
284
+
285
+ #define hb_font_get_glyph_v_advances_nil hb_font_get_glyph_v_advances_default
286
+ static void
287
+ hb_font_get_glyph_v_advances_default (hb_font_t* font,
288
+ void* font_data HB_UNUSED,
289
+ unsigned int count,
290
+ const hb_codepoint_t *first_glyph,
291
+ unsigned int glyph_stride,
292
+ hb_position_t *first_advance,
293
+ unsigned int advance_stride,
294
+ void *user_data HB_UNUSED)
295
+ {
296
+ if (font->has_glyph_v_advance_func_set ())
297
+ {
298
+ for (unsigned int i = 0; i < count; i++)
299
+ {
300
+ *first_advance = font->get_glyph_v_advance (*first_glyph);
301
+ first_glyph = &StructAtOffsetUnaligned<hb_codepoint_t> (first_glyph, glyph_stride);
302
+ first_advance = &StructAtOffsetUnaligned<hb_position_t> (first_advance, advance_stride);
303
+ }
304
+ return;
305
+ }
306
+
307
+ font->parent->get_glyph_v_advances (count,
308
+ first_glyph, glyph_stride,
309
+ first_advance, advance_stride);
310
+ for (unsigned int i = 0; i < count; i++)
311
+ {
312
+ *first_advance = font->parent_scale_y_distance (*first_advance);
313
+ first_advance = &StructAtOffsetUnaligned<hb_position_t> (first_advance, advance_stride);
314
+ }
315
+ }
316
+
317
+ static hb_bool_t
318
+ hb_font_get_glyph_h_origin_nil (hb_font_t *font HB_UNUSED,
319
+ void *font_data HB_UNUSED,
320
+ hb_codepoint_t glyph HB_UNUSED,
321
+ hb_position_t *x,
322
+ hb_position_t *y,
323
+ void *user_data HB_UNUSED)
324
+ {
325
+ *x = *y = 0;
326
+ return true;
327
+ }
328
+
329
+ static hb_bool_t
330
+ hb_font_get_glyph_h_origin_default (hb_font_t *font,
331
+ void *font_data HB_UNUSED,
332
+ hb_codepoint_t glyph,
333
+ hb_position_t *x,
334
+ hb_position_t *y,
335
+ void *user_data HB_UNUSED)
336
+ {
337
+ hb_bool_t ret = font->parent->get_glyph_h_origin (glyph, x, y);
338
+ if (ret)
339
+ font->parent_scale_position (x, y);
340
+ return ret;
341
+ }
342
+
343
+ static hb_bool_t
344
+ hb_font_get_glyph_v_origin_nil (hb_font_t *font HB_UNUSED,
345
+ void *font_data HB_UNUSED,
346
+ hb_codepoint_t glyph HB_UNUSED,
347
+ hb_position_t *x,
348
+ hb_position_t *y,
349
+ void *user_data HB_UNUSED)
350
+ {
351
+ *x = *y = 0;
352
+ return false;
353
+ }
354
+
355
+ static hb_bool_t
356
+ hb_font_get_glyph_v_origin_default (hb_font_t *font,
357
+ void *font_data HB_UNUSED,
358
+ hb_codepoint_t glyph,
359
+ hb_position_t *x,
360
+ hb_position_t *y,
361
+ void *user_data HB_UNUSED)
362
+ {
363
+ hb_bool_t ret = font->parent->get_glyph_v_origin (glyph, x, y);
364
+ if (ret)
365
+ font->parent_scale_position (x, y);
366
+ return ret;
367
+ }
368
+
369
+ static hb_position_t
370
+ hb_font_get_glyph_h_kerning_nil (hb_font_t *font HB_UNUSED,
371
+ void *font_data HB_UNUSED,
372
+ hb_codepoint_t left_glyph HB_UNUSED,
373
+ hb_codepoint_t right_glyph HB_UNUSED,
374
+ void *user_data HB_UNUSED)
375
+ {
376
+ return 0;
377
+ }
378
+
379
+ static hb_position_t
380
+ hb_font_get_glyph_h_kerning_default (hb_font_t *font,
381
+ void *font_data HB_UNUSED,
382
+ hb_codepoint_t left_glyph,
383
+ hb_codepoint_t right_glyph,
384
+ void *user_data HB_UNUSED)
385
+ {
386
+ return font->parent_scale_x_distance (font->parent->get_glyph_h_kerning (left_glyph, right_glyph));
387
+ }
388
+
389
+ #ifndef HB_DISABLE_DEPRECATED
390
+ static hb_position_t
391
+ hb_font_get_glyph_v_kerning_nil (hb_font_t *font HB_UNUSED,
392
+ void *font_data HB_UNUSED,
393
+ hb_codepoint_t top_glyph HB_UNUSED,
394
+ hb_codepoint_t bottom_glyph HB_UNUSED,
395
+ void *user_data HB_UNUSED)
396
+ {
397
+ return 0;
398
+ }
399
+
400
+ static hb_position_t
401
+ hb_font_get_glyph_v_kerning_default (hb_font_t *font,
402
+ void *font_data HB_UNUSED,
403
+ hb_codepoint_t top_glyph,
404
+ hb_codepoint_t bottom_glyph,
405
+ void *user_data HB_UNUSED)
406
+ {
407
+ return font->parent_scale_y_distance (font->parent->get_glyph_v_kerning (top_glyph, bottom_glyph));
408
+ }
409
+ #endif
410
+
411
+ static hb_bool_t
412
+ hb_font_get_glyph_extents_nil (hb_font_t *font HB_UNUSED,
413
+ void *font_data HB_UNUSED,
414
+ hb_codepoint_t glyph HB_UNUSED,
415
+ hb_glyph_extents_t *extents,
416
+ void *user_data HB_UNUSED)
417
+ {
418
+ hb_memset (extents, 0, sizeof (*extents));
419
+ return false;
420
+ }
421
+
422
+ static hb_bool_t
423
+ hb_font_get_glyph_extents_default (hb_font_t *font,
424
+ void *font_data HB_UNUSED,
425
+ hb_codepoint_t glyph,
426
+ hb_glyph_extents_t *extents,
427
+ void *user_data HB_UNUSED)
428
+ {
429
+ hb_bool_t ret = font->parent->get_glyph_extents (glyph, extents);
430
+ if (ret) {
431
+ font->parent_scale_position (&extents->x_bearing, &extents->y_bearing);
432
+ font->parent_scale_distance (&extents->width, &extents->height);
433
+ }
434
+ return ret;
435
+ }
436
+
437
+ static hb_bool_t
438
+ hb_font_get_glyph_contour_point_nil (hb_font_t *font HB_UNUSED,
439
+ void *font_data HB_UNUSED,
440
+ hb_codepoint_t glyph HB_UNUSED,
441
+ unsigned int point_index HB_UNUSED,
442
+ hb_position_t *x,
443
+ hb_position_t *y,
444
+ void *user_data HB_UNUSED)
445
+ {
446
+ *x = *y = 0;
447
+ return false;
448
+ }
449
+
450
+ static hb_bool_t
451
+ hb_font_get_glyph_contour_point_default (hb_font_t *font,
452
+ void *font_data HB_UNUSED,
453
+ hb_codepoint_t glyph,
454
+ unsigned int point_index,
455
+ hb_position_t *x,
456
+ hb_position_t *y,
457
+ void *user_data HB_UNUSED)
458
+ {
459
+ hb_bool_t ret = font->parent->get_glyph_contour_point (glyph, point_index, x, y);
460
+ if (ret)
461
+ font->parent_scale_position (x, y);
462
+ return ret;
463
+ }
464
+
465
+ static hb_bool_t
466
+ hb_font_get_glyph_name_nil (hb_font_t *font HB_UNUSED,
467
+ void *font_data HB_UNUSED,
468
+ hb_codepoint_t glyph HB_UNUSED,
469
+ char *name,
470
+ unsigned int size,
471
+ void *user_data HB_UNUSED)
472
+ {
473
+ if (size) *name = '\0';
474
+ return false;
475
+ }
476
+
477
+ static hb_bool_t
478
+ hb_font_get_glyph_name_default (hb_font_t *font,
479
+ void *font_data HB_UNUSED,
480
+ hb_codepoint_t glyph,
481
+ char *name,
482
+ unsigned int size,
483
+ void *user_data HB_UNUSED)
484
+ {
485
+ return font->parent->get_glyph_name (glyph, name, size);
486
+ }
487
+
488
+ static hb_bool_t
489
+ hb_font_get_glyph_from_name_nil (hb_font_t *font HB_UNUSED,
490
+ void *font_data HB_UNUSED,
491
+ const char *name HB_UNUSED,
492
+ int len HB_UNUSED, /* -1 means nul-terminated */
493
+ hb_codepoint_t *glyph,
494
+ void *user_data HB_UNUSED)
495
+ {
496
+ *glyph = 0;
497
+ return false;
498
+ }
499
+
500
+ static hb_bool_t
501
+ hb_font_get_glyph_from_name_default (hb_font_t *font,
502
+ void *font_data HB_UNUSED,
503
+ const char *name,
504
+ int len, /* -1 means nul-terminated */
505
+ hb_codepoint_t *glyph,
506
+ void *user_data HB_UNUSED)
507
+ {
508
+ return font->parent->get_glyph_from_name (name, len, glyph);
509
+ }
510
+
511
+ static void
512
+ hb_font_draw_glyph_nil (hb_font_t *font HB_UNUSED,
513
+ void *font_data HB_UNUSED,
514
+ hb_codepoint_t glyph,
515
+ hb_draw_funcs_t *draw_funcs,
516
+ void *draw_data,
517
+ void *user_data HB_UNUSED)
518
+ {
519
+ }
520
+
521
+ static void
522
+ hb_font_paint_glyph_nil (hb_font_t *font HB_UNUSED,
523
+ void *font_data HB_UNUSED,
524
+ hb_codepoint_t glyph HB_UNUSED,
525
+ hb_paint_funcs_t *paint_funcs HB_UNUSED,
526
+ void *paint_data HB_UNUSED,
527
+ unsigned int palette HB_UNUSED,
528
+ hb_color_t foreground HB_UNUSED,
529
+ void *user_data HB_UNUSED)
530
+ {
531
+ }
532
+
533
+ typedef struct hb_font_draw_glyph_default_adaptor_t {
534
+ hb_draw_funcs_t *draw_funcs;
535
+ void *draw_data;
536
+ float x_scale;
537
+ float y_scale;
538
+ float slant;
539
+ } hb_font_draw_glyph_default_adaptor_t;
540
+
541
+ static void
542
+ hb_draw_move_to_default (hb_draw_funcs_t *dfuncs HB_UNUSED,
543
+ void *draw_data,
544
+ hb_draw_state_t *st,
545
+ float to_x, float to_y,
546
+ void *user_data HB_UNUSED)
547
+ {
548
+ hb_font_draw_glyph_default_adaptor_t *adaptor = (hb_font_draw_glyph_default_adaptor_t *) draw_data;
549
+ float x_scale = adaptor->x_scale;
550
+ float y_scale = adaptor->y_scale;
551
+ float slant = adaptor->slant;
552
+
553
+ adaptor->draw_funcs->emit_move_to (adaptor->draw_data, *st,
554
+ x_scale * to_x + slant * to_y, y_scale * to_y);
555
+ }
556
+
557
+ static void
558
+ hb_draw_line_to_default (hb_draw_funcs_t *dfuncs HB_UNUSED, void *draw_data,
559
+ hb_draw_state_t *st,
560
+ float to_x, float to_y,
561
+ void *user_data HB_UNUSED)
562
+ {
563
+ hb_font_draw_glyph_default_adaptor_t *adaptor = (hb_font_draw_glyph_default_adaptor_t *) draw_data;
564
+ float x_scale = adaptor->x_scale;
565
+ float y_scale = adaptor->y_scale;
566
+ float slant = adaptor->slant;
567
+
568
+ st->current_x = st->current_x * x_scale + st->current_y * slant;
569
+ st->current_y = st->current_y * y_scale;
570
+
571
+ adaptor->draw_funcs->emit_line_to (adaptor->draw_data, *st,
572
+ x_scale * to_x + slant * to_y, y_scale * to_y);
573
+ }
574
+
575
+ static void
576
+ hb_draw_quadratic_to_default (hb_draw_funcs_t *dfuncs HB_UNUSED, void *draw_data,
577
+ hb_draw_state_t *st,
578
+ float control_x, float control_y,
579
+ float to_x, float to_y,
580
+ void *user_data HB_UNUSED)
581
+ {
582
+ hb_font_draw_glyph_default_adaptor_t *adaptor = (hb_font_draw_glyph_default_adaptor_t *) draw_data;
583
+ float x_scale = adaptor->x_scale;
584
+ float y_scale = adaptor->y_scale;
585
+ float slant = adaptor->slant;
586
+
587
+ st->current_x = st->current_x * x_scale + st->current_y * slant;
588
+ st->current_y = st->current_y * y_scale;
589
+
590
+ adaptor->draw_funcs->emit_quadratic_to (adaptor->draw_data, *st,
591
+ x_scale * control_x + slant * control_y, y_scale * control_y,
592
+ x_scale * to_x + slant * to_y, y_scale * to_y);
593
+ }
594
+
595
+ static void
596
+ hb_draw_cubic_to_default (hb_draw_funcs_t *dfuncs HB_UNUSED, void *draw_data,
597
+ hb_draw_state_t *st,
598
+ float control1_x, float control1_y,
599
+ float control2_x, float control2_y,
600
+ float to_x, float to_y,
601
+ void *user_data HB_UNUSED)
602
+ {
603
+ hb_font_draw_glyph_default_adaptor_t *adaptor = (hb_font_draw_glyph_default_adaptor_t *) draw_data;
604
+ float x_scale = adaptor->x_scale;
605
+ float y_scale = adaptor->y_scale;
606
+ float slant = adaptor->slant;
607
+
608
+ st->current_x = st->current_x * x_scale + st->current_y * slant;
609
+ st->current_y = st->current_y * y_scale;
610
+
611
+ adaptor->draw_funcs->emit_cubic_to (adaptor->draw_data, *st,
612
+ x_scale * control1_x + slant * control1_y, y_scale * control1_y,
613
+ x_scale * control2_x + slant * control2_y, y_scale * control2_y,
614
+ x_scale * to_x + slant * to_y, y_scale * to_y);
615
+ }
616
+
617
+ static void
618
+ hb_draw_close_path_default (hb_draw_funcs_t *dfuncs HB_UNUSED, void *draw_data,
619
+ hb_draw_state_t *st,
620
+ void *user_data HB_UNUSED)
621
+ {
622
+ hb_font_draw_glyph_default_adaptor_t *adaptor = (hb_font_draw_glyph_default_adaptor_t *) draw_data;
623
+
624
+ adaptor->draw_funcs->emit_close_path (adaptor->draw_data, *st);
625
+ }
626
+
627
+ static const hb_draw_funcs_t _hb_draw_funcs_default = {
628
+ HB_OBJECT_HEADER_STATIC,
629
+
630
+ {
631
+ #define HB_DRAW_FUNC_IMPLEMENT(name) hb_draw_##name##_default,
632
+ HB_DRAW_FUNCS_IMPLEMENT_CALLBACKS
633
+ #undef HB_DRAW_FUNC_IMPLEMENT
634
+ }
635
+ };
636
+
637
+ static void
638
+ hb_font_draw_glyph_default (hb_font_t *font,
639
+ void *font_data HB_UNUSED,
640
+ hb_codepoint_t glyph,
641
+ hb_draw_funcs_t *draw_funcs,
642
+ void *draw_data,
643
+ void *user_data HB_UNUSED)
644
+ {
645
+ hb_font_draw_glyph_default_adaptor_t adaptor = {
646
+ draw_funcs,
647
+ draw_data,
648
+ font->parent->x_scale ? (float) font->x_scale / (float) font->parent->x_scale : 0.f,
649
+ font->parent->y_scale ? (float) font->y_scale / (float) font->parent->y_scale : 0.f,
650
+ font->parent->y_scale ? (font->slant - font->parent->slant) *
651
+ (float) font->x_scale / (float) font->parent->y_scale : 0.f
652
+ };
653
+
654
+ font->parent->draw_glyph (glyph,
655
+ const_cast<hb_draw_funcs_t *> (&_hb_draw_funcs_default),
656
+ &adaptor);
657
+ }
658
+
659
+ static void
660
+ hb_font_paint_glyph_default (hb_font_t *font,
661
+ void *font_data,
662
+ hb_codepoint_t glyph,
663
+ hb_paint_funcs_t *paint_funcs,
664
+ void *paint_data,
665
+ unsigned int palette,
666
+ hb_color_t foreground,
667
+ void *user_data)
668
+ {
669
+ paint_funcs->push_transform (paint_data,
670
+ font->parent->x_scale ? (float) font->x_scale / (float) font->parent->x_scale : 0.f,
671
+ font->parent->y_scale ? (font->slant - font->parent->slant) *
672
+ (float) font->x_scale / (float) font->parent->y_scale : 0.f,
673
+ 0.f,
674
+ font->parent->y_scale ? (float) font->y_scale / (float) font->parent->y_scale : 0.f,
675
+ 0.f, 0.f);
676
+
677
+ font->parent->paint_glyph (glyph, paint_funcs, paint_data, palette, foreground);
678
+
679
+ paint_funcs->pop_transform (paint_data);
680
+ }
681
+
682
+ DEFINE_NULL_INSTANCE (hb_font_funcs_t) =
683
+ {
684
+ HB_OBJECT_HEADER_STATIC,
685
+
686
+ nullptr,
687
+ nullptr,
688
+ {
689
+ {
690
+ #define HB_FONT_FUNC_IMPLEMENT(get_,name) hb_font_##get_##name##_nil,
691
+ HB_FONT_FUNCS_IMPLEMENT_CALLBACKS
692
+ #undef HB_FONT_FUNC_IMPLEMENT
693
+ }
694
+ }
695
+ };
696
+
697
+ static const hb_font_funcs_t _hb_font_funcs_default = {
698
+ HB_OBJECT_HEADER_STATIC,
699
+
700
+ nullptr,
701
+ nullptr,
702
+ {
703
+ {
704
+ #define HB_FONT_FUNC_IMPLEMENT(get_,name) hb_font_##get_##name##_default,
705
+ HB_FONT_FUNCS_IMPLEMENT_CALLBACKS
706
+ #undef HB_FONT_FUNC_IMPLEMENT
707
+ }
708
+ }
709
+ };
710
+
711
+
712
+ /**
713
+ * hb_font_funcs_create:
714
+ *
715
+ * Creates a new #hb_font_funcs_t structure of font functions.
716
+ *
717
+ * Return value: (transfer full): The font-functions structure
718
+ *
719
+ * Since: 0.9.2
720
+ **/
721
+ hb_font_funcs_t *
722
+ hb_font_funcs_create ()
723
+ {
724
+ hb_font_funcs_t *ffuncs;
725
+
726
+ if (!(ffuncs = hb_object_create<hb_font_funcs_t> ()))
727
+ return hb_font_funcs_get_empty ();
728
+
729
+ ffuncs->get = _hb_font_funcs_default.get;
730
+
731
+ return ffuncs;
732
+ }
733
+
734
+ /**
735
+ * hb_font_funcs_get_empty:
736
+ *
737
+ * Fetches an empty font-functions structure.
738
+ *
739
+ * Return value: (transfer full): The font-functions structure
740
+ *
741
+ * Since: 0.9.2
742
+ **/
743
+ hb_font_funcs_t *
744
+ hb_font_funcs_get_empty ()
745
+ {
746
+ return const_cast<hb_font_funcs_t *> (&_hb_font_funcs_default);
747
+ }
748
+
749
+ /**
750
+ * hb_font_funcs_reference: (skip)
751
+ * @ffuncs: The font-functions structure
752
+ *
753
+ * Increases the reference count on a font-functions structure.
754
+ *
755
+ * Return value: The font-functions structure
756
+ *
757
+ * Since: 0.9.2
758
+ **/
759
+ hb_font_funcs_t *
760
+ hb_font_funcs_reference (hb_font_funcs_t *ffuncs)
761
+ {
762
+ return hb_object_reference (ffuncs);
763
+ }
764
+
765
+ /**
766
+ * hb_font_funcs_destroy: (skip)
767
+ * @ffuncs: The font-functions structure
768
+ *
769
+ * Decreases the reference count on a font-functions structure. When
770
+ * the reference count reaches zero, the font-functions structure is
771
+ * destroyed, freeing all memory.
772
+ *
773
+ * Since: 0.9.2
774
+ **/
775
+ void
776
+ hb_font_funcs_destroy (hb_font_funcs_t *ffuncs)
777
+ {
778
+ if (!hb_object_destroy (ffuncs)) return;
779
+
780
+ if (ffuncs->destroy)
781
+ {
782
+ #define HB_FONT_FUNC_IMPLEMENT(get_,name) if (ffuncs->destroy->name) \
783
+ ffuncs->destroy->name (!ffuncs->user_data ? nullptr : ffuncs->user_data->name);
784
+ HB_FONT_FUNCS_IMPLEMENT_CALLBACKS
785
+ #undef HB_FONT_FUNC_IMPLEMENT
786
+ }
787
+
788
+ hb_free (ffuncs->destroy);
789
+ hb_free (ffuncs->user_data);
790
+
791
+ hb_free (ffuncs);
792
+ }
793
+
794
+ /**
795
+ * hb_font_funcs_set_user_data: (skip)
796
+ * @ffuncs: The font-functions structure
797
+ * @key: The user-data key to set
798
+ * @data: A pointer to the user data set
799
+ * @destroy: (nullable): A callback to call when @data is not needed anymore
800
+ * @replace: Whether to replace an existing data with the same key
801
+ *
802
+ * Attaches a user-data key/data pair to the specified font-functions structure.
803
+ *
804
+ * Return value: `true` if success, `false` otherwise
805
+ *
806
+ * Since: 0.9.2
807
+ **/
808
+ hb_bool_t
809
+ hb_font_funcs_set_user_data (hb_font_funcs_t *ffuncs,
810
+ hb_user_data_key_t *key,
811
+ void * data,
812
+ hb_destroy_func_t destroy /* May be NULL. */,
813
+ hb_bool_t replace)
814
+ {
815
+ return hb_object_set_user_data (ffuncs, key, data, destroy, replace);
816
+ }
817
+
818
+ /**
819
+ * hb_font_funcs_get_user_data: (skip)
820
+ * @ffuncs: The font-functions structure
821
+ * @key: The user-data key to query
822
+ *
823
+ * Fetches the user data associated with the specified key,
824
+ * attached to the specified font-functions structure.
825
+ *
826
+ * Return value: (transfer none): A pointer to the user data
827
+ *
828
+ * Since: 0.9.2
829
+ **/
830
+ void *
831
+ hb_font_funcs_get_user_data (const hb_font_funcs_t *ffuncs,
832
+ hb_user_data_key_t *key)
833
+ {
834
+ return hb_object_get_user_data (ffuncs, key);
835
+ }
836
+
837
+
838
+ /**
839
+ * hb_font_funcs_make_immutable:
840
+ * @ffuncs: The font-functions structure
841
+ *
842
+ * Makes a font-functions structure immutable.
843
+ *
844
+ * Since: 0.9.2
845
+ **/
846
+ void
847
+ hb_font_funcs_make_immutable (hb_font_funcs_t *ffuncs)
848
+ {
849
+ if (hb_object_is_immutable (ffuncs))
850
+ return;
851
+
852
+ hb_object_make_immutable (ffuncs);
853
+ }
854
+
855
+ /**
856
+ * hb_font_funcs_is_immutable:
857
+ * @ffuncs: The font-functions structure
858
+ *
859
+ * Tests whether a font-functions structure is immutable.
860
+ *
861
+ * Return value: `true` if @ffuncs is immutable, `false` otherwise
862
+ *
863
+ * Since: 0.9.2
864
+ **/
865
+ hb_bool_t
866
+ hb_font_funcs_is_immutable (hb_font_funcs_t *ffuncs)
867
+ {
868
+ return hb_object_is_immutable (ffuncs);
869
+ }
870
+
871
+
872
+ static bool
873
+ _hb_font_funcs_set_preamble (hb_font_funcs_t *ffuncs,
874
+ bool func_is_null,
875
+ void **user_data,
876
+ hb_destroy_func_t *destroy)
877
+ {
878
+ if (hb_object_is_immutable (ffuncs))
879
+ {
880
+ if (*destroy)
881
+ (*destroy) (*user_data);
882
+ return false;
883
+ }
884
+
885
+ if (func_is_null)
886
+ {
887
+ if (*destroy)
888
+ (*destroy) (*user_data);
889
+ *destroy = nullptr;
890
+ *user_data = nullptr;
891
+ }
892
+
893
+ return true;
894
+ }
895
+
896
+ static bool
897
+ _hb_font_funcs_set_middle (hb_font_funcs_t *ffuncs,
898
+ void *user_data,
899
+ hb_destroy_func_t destroy)
900
+ {
901
+ if (user_data && !ffuncs->user_data)
902
+ {
903
+ ffuncs->user_data = (decltype (ffuncs->user_data)) hb_calloc (1, sizeof (*ffuncs->user_data));
904
+ if (unlikely (!ffuncs->user_data))
905
+ goto fail;
906
+ }
907
+ if (destroy && !ffuncs->destroy)
908
+ {
909
+ ffuncs->destroy = (decltype (ffuncs->destroy)) hb_calloc (1, sizeof (*ffuncs->destroy));
910
+ if (unlikely (!ffuncs->destroy))
911
+ goto fail;
912
+ }
913
+
914
+ return true;
915
+
916
+ fail:
917
+ if (destroy)
918
+ (destroy) (user_data);
919
+ return false;
920
+ }
921
+
922
+ #define HB_FONT_FUNC_IMPLEMENT(get_,name) \
923
+ \
924
+ void \
925
+ hb_font_funcs_set_##name##_func (hb_font_funcs_t *ffuncs, \
926
+ hb_font_##get_##name##_func_t func, \
927
+ void *user_data, \
928
+ hb_destroy_func_t destroy) \
929
+ { \
930
+ if (!_hb_font_funcs_set_preamble (ffuncs, !func, &user_data, &destroy))\
931
+ return; \
932
+ \
933
+ if (ffuncs->destroy && ffuncs->destroy->name) \
934
+ ffuncs->destroy->name (!ffuncs->user_data ? nullptr : ffuncs->user_data->name); \
935
+ \
936
+ if (!_hb_font_funcs_set_middle (ffuncs, user_data, destroy)) \
937
+ return; \
938
+ \
939
+ if (func) \
940
+ ffuncs->get.f.name = func; \
941
+ else \
942
+ ffuncs->get.f.name = hb_font_##get_##name##_default; \
943
+ \
944
+ if (ffuncs->user_data) \
945
+ ffuncs->user_data->name = user_data; \
946
+ if (ffuncs->destroy) \
947
+ ffuncs->destroy->name = destroy; \
948
+ }
949
+
950
+ HB_FONT_FUNCS_IMPLEMENT_CALLBACKS
951
+ #undef HB_FONT_FUNC_IMPLEMENT
952
+
953
+ bool
954
+ hb_font_t::has_func_set (unsigned int i)
955
+ {
956
+ return this->klass->get.array[i] != _hb_font_funcs_default.get.array[i];
957
+ }
958
+
959
+ bool
960
+ hb_font_t::has_func (unsigned int i)
961
+ {
962
+ return has_func_set (i) ||
963
+ (parent && parent != &_hb_Null_hb_font_t && parent->has_func (i));
964
+ }
965
+
966
+ /* Public getters */
967
+
968
+ /**
969
+ * hb_font_get_h_extents:
970
+ * @font: #hb_font_t to work upon
971
+ * @extents: (out): The font extents retrieved
972
+ *
973
+ * Fetches the extents for a specified font, for horizontal
974
+ * text segments.
975
+ *
976
+ * Return value: `true` if data found, `false` otherwise
977
+ *
978
+ * Since: 1.1.3
979
+ **/
980
+ hb_bool_t
981
+ hb_font_get_h_extents (hb_font_t *font,
982
+ hb_font_extents_t *extents)
983
+ {
984
+ return font->get_font_h_extents (extents);
985
+ }
986
+
987
+ /**
988
+ * hb_font_get_v_extents:
989
+ * @font: #hb_font_t to work upon
990
+ * @extents: (out): The font extents retrieved
991
+ *
992
+ * Fetches the extents for a specified font, for vertical
993
+ * text segments.
994
+ *
995
+ * Return value: `true` if data found, `false` otherwise
996
+ *
997
+ * Since: 1.1.3
998
+ **/
999
+ hb_bool_t
1000
+ hb_font_get_v_extents (hb_font_t *font,
1001
+ hb_font_extents_t *extents)
1002
+ {
1003
+ return font->get_font_v_extents (extents);
1004
+ }
1005
+
1006
+ /**
1007
+ * hb_font_get_glyph:
1008
+ * @font: #hb_font_t to work upon
1009
+ * @unicode: The Unicode code point to query
1010
+ * @variation_selector: A variation-selector code point
1011
+ * @glyph: (out): The glyph ID retrieved
1012
+ *
1013
+ * Fetches the glyph ID for a Unicode code point in the specified
1014
+ * font, with an optional variation selector.
1015
+ *
1016
+ * If @variation_selector is 0, calls hb_font_get_nominal_glyph();
1017
+ * otherwise calls hb_font_get_variation_glyph().
1018
+ *
1019
+ * Return value: `true` if data found, `false` otherwise
1020
+ *
1021
+ * Since: 0.9.2
1022
+ **/
1023
+ hb_bool_t
1024
+ hb_font_get_glyph (hb_font_t *font,
1025
+ hb_codepoint_t unicode,
1026
+ hb_codepoint_t variation_selector,
1027
+ hb_codepoint_t *glyph)
1028
+ {
1029
+ if (unlikely (variation_selector))
1030
+ return font->get_variation_glyph (unicode, variation_selector, glyph);
1031
+ return font->get_nominal_glyph (unicode, glyph);
1032
+ }
1033
+
1034
+ /**
1035
+ * hb_font_get_nominal_glyph:
1036
+ * @font: #hb_font_t to work upon
1037
+ * @unicode: The Unicode code point to query
1038
+ * @glyph: (out): The glyph ID retrieved
1039
+ *
1040
+ * Fetches the nominal glyph ID for a Unicode code point in the
1041
+ * specified font.
1042
+ *
1043
+ * This version of the function should not be used to fetch glyph IDs
1044
+ * for code points modified by variation selectors. For variation-selector
1045
+ * support, user hb_font_get_variation_glyph() or use hb_font_get_glyph().
1046
+ *
1047
+ * Return value: `true` if data found, `false` otherwise
1048
+ *
1049
+ * Since: 1.2.3
1050
+ **/
1051
+ hb_bool_t
1052
+ hb_font_get_nominal_glyph (hb_font_t *font,
1053
+ hb_codepoint_t unicode,
1054
+ hb_codepoint_t *glyph)
1055
+ {
1056
+ return font->get_nominal_glyph (unicode, glyph);
1057
+ }
1058
+
1059
+ /**
1060
+ * hb_font_get_nominal_glyphs:
1061
+ * @font: #hb_font_t to work upon
1062
+ * @count: number of code points to query
1063
+ * @first_unicode: The first Unicode code point to query
1064
+ * @unicode_stride: The stride between successive code points
1065
+ * @first_glyph: (out): The first glyph ID retrieved
1066
+ * @glyph_stride: The stride between successive glyph IDs
1067
+ *
1068
+ * Fetches the nominal glyph IDs for a sequence of Unicode code points. Glyph
1069
+ * IDs must be returned in a #hb_codepoint_t output parameter. Stops at the
1070
+ * first unsupported glyph ID.
1071
+ *
1072
+ * Return value: the number of code points processed
1073
+ *
1074
+ * Since: 2.6.3
1075
+ **/
1076
+ unsigned int
1077
+ hb_font_get_nominal_glyphs (hb_font_t *font,
1078
+ unsigned int count,
1079
+ const hb_codepoint_t *first_unicode,
1080
+ unsigned int unicode_stride,
1081
+ hb_codepoint_t *first_glyph,
1082
+ unsigned int glyph_stride)
1083
+ {
1084
+ return font->get_nominal_glyphs (count,
1085
+ first_unicode, unicode_stride,
1086
+ first_glyph, glyph_stride);
1087
+ }
1088
+
1089
+ /**
1090
+ * hb_font_get_variation_glyph:
1091
+ * @font: #hb_font_t to work upon
1092
+ * @unicode: The Unicode code point to query
1093
+ * @variation_selector: The variation-selector code point to query
1094
+ * @glyph: (out): The glyph ID retrieved
1095
+ *
1096
+ * Fetches the glyph ID for a Unicode code point when followed by
1097
+ * by the specified variation-selector code point, in the specified
1098
+ * font.
1099
+ *
1100
+ * Return value: `true` if data found, `false` otherwise
1101
+ *
1102
+ * Since: 1.2.3
1103
+ **/
1104
+ hb_bool_t
1105
+ hb_font_get_variation_glyph (hb_font_t *font,
1106
+ hb_codepoint_t unicode,
1107
+ hb_codepoint_t variation_selector,
1108
+ hb_codepoint_t *glyph)
1109
+ {
1110
+ return font->get_variation_glyph (unicode, variation_selector, glyph);
1111
+ }
1112
+
1113
+ /**
1114
+ * hb_font_get_glyph_h_advance:
1115
+ * @font: #hb_font_t to work upon
1116
+ * @glyph: The glyph ID to query
1117
+ *
1118
+ * Fetches the advance for a glyph ID in the specified font,
1119
+ * for horizontal text segments.
1120
+ *
1121
+ * Return value: The advance of @glyph within @font
1122
+ *
1123
+ * Since: 0.9.2
1124
+ **/
1125
+ hb_position_t
1126
+ hb_font_get_glyph_h_advance (hb_font_t *font,
1127
+ hb_codepoint_t glyph)
1128
+ {
1129
+ return font->get_glyph_h_advance (glyph);
1130
+ }
1131
+
1132
+ /**
1133
+ * hb_font_get_glyph_v_advance:
1134
+ * @font: #hb_font_t to work upon
1135
+ * @glyph: The glyph ID to query
1136
+ *
1137
+ * Fetches the advance for a glyph ID in the specified font,
1138
+ * for vertical text segments.
1139
+ *
1140
+ * Return value: The advance of @glyph within @font
1141
+ *
1142
+ * Since: 0.9.2
1143
+ **/
1144
+ hb_position_t
1145
+ hb_font_get_glyph_v_advance (hb_font_t *font,
1146
+ hb_codepoint_t glyph)
1147
+ {
1148
+ return font->get_glyph_v_advance (glyph);
1149
+ }
1150
+
1151
+ /**
1152
+ * hb_font_get_glyph_h_advances:
1153
+ * @font: #hb_font_t to work upon
1154
+ * @count: The number of glyph IDs in the sequence queried
1155
+ * @first_glyph: The first glyph ID to query
1156
+ * @glyph_stride: The stride between successive glyph IDs
1157
+ * @first_advance: (out): The first advance retrieved
1158
+ * @advance_stride: The stride between successive advances
1159
+ *
1160
+ * Fetches the advances for a sequence of glyph IDs in the specified
1161
+ * font, for horizontal text segments.
1162
+ *
1163
+ * Since: 1.8.6
1164
+ **/
1165
+ void
1166
+ hb_font_get_glyph_h_advances (hb_font_t* font,
1167
+ unsigned int count,
1168
+ const hb_codepoint_t *first_glyph,
1169
+ unsigned glyph_stride,
1170
+ hb_position_t *first_advance,
1171
+ unsigned advance_stride)
1172
+ {
1173
+ font->get_glyph_h_advances (count, first_glyph, glyph_stride, first_advance, advance_stride);
1174
+ }
1175
+ /**
1176
+ * hb_font_get_glyph_v_advances:
1177
+ * @font: #hb_font_t to work upon
1178
+ * @count: The number of glyph IDs in the sequence queried
1179
+ * @first_glyph: The first glyph ID to query
1180
+ * @glyph_stride: The stride between successive glyph IDs
1181
+ * @first_advance: (out): The first advance retrieved
1182
+ * @advance_stride: (out): The stride between successive advances
1183
+ *
1184
+ * Fetches the advances for a sequence of glyph IDs in the specified
1185
+ * font, for vertical text segments.
1186
+ *
1187
+ * Since: 1.8.6
1188
+ **/
1189
+ void
1190
+ hb_font_get_glyph_v_advances (hb_font_t* font,
1191
+ unsigned int count,
1192
+ const hb_codepoint_t *first_glyph,
1193
+ unsigned glyph_stride,
1194
+ hb_position_t *first_advance,
1195
+ unsigned advance_stride)
1196
+ {
1197
+ font->get_glyph_v_advances (count, first_glyph, glyph_stride, first_advance, advance_stride);
1198
+ }
1199
+
1200
+ /**
1201
+ * hb_font_get_glyph_h_origin:
1202
+ * @font: #hb_font_t to work upon
1203
+ * @glyph: The glyph ID to query
1204
+ * @x: (out): The X coordinate of the origin
1205
+ * @y: (out): The Y coordinate of the origin
1206
+ *
1207
+ * Fetches the (X,Y) coordinates of the origin for a glyph ID
1208
+ * in the specified font, for horizontal text segments.
1209
+ *
1210
+ * Return value: `true` if data found, `false` otherwise
1211
+ *
1212
+ * Since: 0.9.2
1213
+ **/
1214
+ hb_bool_t
1215
+ hb_font_get_glyph_h_origin (hb_font_t *font,
1216
+ hb_codepoint_t glyph,
1217
+ hb_position_t *x,
1218
+ hb_position_t *y)
1219
+ {
1220
+ return font->get_glyph_h_origin (glyph, x, y);
1221
+ }
1222
+
1223
+ /**
1224
+ * hb_font_get_glyph_v_origin:
1225
+ * @font: #hb_font_t to work upon
1226
+ * @glyph: The glyph ID to query
1227
+ * @x: (out): The X coordinate of the origin
1228
+ * @y: (out): The Y coordinate of the origin
1229
+ *
1230
+ * Fetches the (X,Y) coordinates of the origin for a glyph ID
1231
+ * in the specified font, for vertical text segments.
1232
+ *
1233
+ * Return value: `true` if data found, `false` otherwise
1234
+ *
1235
+ * Since: 0.9.2
1236
+ **/
1237
+ hb_bool_t
1238
+ hb_font_get_glyph_v_origin (hb_font_t *font,
1239
+ hb_codepoint_t glyph,
1240
+ hb_position_t *x,
1241
+ hb_position_t *y)
1242
+ {
1243
+ return font->get_glyph_v_origin (glyph, x, y);
1244
+ }
1245
+
1246
+ /**
1247
+ * hb_font_get_glyph_h_kerning:
1248
+ * @font: #hb_font_t to work upon
1249
+ * @left_glyph: The glyph ID of the left glyph in the glyph pair
1250
+ * @right_glyph: The glyph ID of the right glyph in the glyph pair
1251
+ *
1252
+ * Fetches the kerning-adjustment value for a glyph-pair in
1253
+ * the specified font, for horizontal text segments.
1254
+ *
1255
+ * <note>It handles legacy kerning only (as returned by the corresponding
1256
+ * #hb_font_funcs_t function).</note>
1257
+ *
1258
+ * Return value: The kerning adjustment value
1259
+ *
1260
+ * Since: 0.9.2
1261
+ **/
1262
+ hb_position_t
1263
+ hb_font_get_glyph_h_kerning (hb_font_t *font,
1264
+ hb_codepoint_t left_glyph,
1265
+ hb_codepoint_t right_glyph)
1266
+ {
1267
+ return font->get_glyph_h_kerning (left_glyph, right_glyph);
1268
+ }
1269
+
1270
+ #ifndef HB_DISABLE_DEPRECATED
1271
+ /**
1272
+ * hb_font_get_glyph_v_kerning:
1273
+ * @font: #hb_font_t to work upon
1274
+ * @top_glyph: The glyph ID of the top glyph in the glyph pair
1275
+ * @bottom_glyph: The glyph ID of the bottom glyph in the glyph pair
1276
+ *
1277
+ * Fetches the kerning-adjustment value for a glyph-pair in
1278
+ * the specified font, for vertical text segments.
1279
+ *
1280
+ * <note>It handles legacy kerning only (as returned by the corresponding
1281
+ * #hb_font_funcs_t function).</note>
1282
+ *
1283
+ * Return value: The kerning adjustment value
1284
+ *
1285
+ * Since: 0.9.2
1286
+ * Deprecated: 2.0.0
1287
+ **/
1288
+ hb_position_t
1289
+ hb_font_get_glyph_v_kerning (hb_font_t *font,
1290
+ hb_codepoint_t top_glyph,
1291
+ hb_codepoint_t bottom_glyph)
1292
+ {
1293
+ return font->get_glyph_v_kerning (top_glyph, bottom_glyph);
1294
+ }
1295
+ #endif
1296
+
1297
+ /**
1298
+ * hb_font_get_glyph_extents:
1299
+ * @font: #hb_font_t to work upon
1300
+ * @glyph: The glyph ID to query
1301
+ * @extents: (out): The #hb_glyph_extents_t retrieved
1302
+ *
1303
+ * Fetches the #hb_glyph_extents_t data for a glyph ID
1304
+ * in the specified font.
1305
+ *
1306
+ * Return value: `true` if data found, `false` otherwise
1307
+ *
1308
+ * Since: 0.9.2
1309
+ **/
1310
+ hb_bool_t
1311
+ hb_font_get_glyph_extents (hb_font_t *font,
1312
+ hb_codepoint_t glyph,
1313
+ hb_glyph_extents_t *extents)
1314
+ {
1315
+ return font->get_glyph_extents (glyph, extents);
1316
+ }
1317
+
1318
+ /**
1319
+ * hb_font_get_glyph_contour_point:
1320
+ * @font: #hb_font_t to work upon
1321
+ * @glyph: The glyph ID to query
1322
+ * @point_index: The contour-point index to query
1323
+ * @x: (out): The X value retrieved for the contour point
1324
+ * @y: (out): The Y value retrieved for the contour point
1325
+ *
1326
+ * Fetches the (x,y) coordinates of a specified contour-point index
1327
+ * in the specified glyph, within the specified font.
1328
+ *
1329
+ * Return value: `true` if data found, `false` otherwise
1330
+ *
1331
+ * Since: 0.9.2
1332
+ **/
1333
+ hb_bool_t
1334
+ hb_font_get_glyph_contour_point (hb_font_t *font,
1335
+ hb_codepoint_t glyph,
1336
+ unsigned int point_index,
1337
+ hb_position_t *x,
1338
+ hb_position_t *y)
1339
+ {
1340
+ return font->get_glyph_contour_point (glyph, point_index, x, y);
1341
+ }
1342
+
1343
+ /**
1344
+ * hb_font_get_glyph_name:
1345
+ * @font: #hb_font_t to work upon
1346
+ * @glyph: The glyph ID to query
1347
+ * @name: (out) (array length=size): Name string retrieved for the glyph ID
1348
+ * @size: Length of the glyph-name string retrieved
1349
+ *
1350
+ * Fetches the glyph-name string for a glyph ID in the specified @font.
1351
+ *
1352
+ * According to the OpenType specification, glyph names are limited to 63
1353
+ * characters and can only contain (a subset of) ASCII.
1354
+ *
1355
+ * Return value: `true` if data found, `false` otherwise
1356
+ *
1357
+ * Since: 0.9.2
1358
+ **/
1359
+ hb_bool_t
1360
+ hb_font_get_glyph_name (hb_font_t *font,
1361
+ hb_codepoint_t glyph,
1362
+ char *name,
1363
+ unsigned int size)
1364
+ {
1365
+ return font->get_glyph_name (glyph, name, size);
1366
+ }
1367
+
1368
+ /**
1369
+ * hb_font_get_glyph_from_name:
1370
+ * @font: #hb_font_t to work upon
1371
+ * @name: (array length=len): The name string to query
1372
+ * @len: The length of the name queried
1373
+ * @glyph: (out): The glyph ID retrieved
1374
+ *
1375
+ * Fetches the glyph ID that corresponds to a name string in the specified @font.
1376
+ *
1377
+ * <note>Note: @len == -1 means the name string is null-terminated.</note>
1378
+ *
1379
+ * Return value: `true` if data found, `false` otherwise
1380
+ *
1381
+ * Since: 0.9.2
1382
+ **/
1383
+ hb_bool_t
1384
+ hb_font_get_glyph_from_name (hb_font_t *font,
1385
+ const char *name,
1386
+ int len, /* -1 means nul-terminated */
1387
+ hb_codepoint_t *glyph)
1388
+ {
1389
+ return font->get_glyph_from_name (name, len, glyph);
1390
+ }
1391
+
1392
+ #ifndef HB_DISABLE_DEPRECATED
1393
+ /**
1394
+ * hb_font_get_glyph_shape:
1395
+ * @font: #hb_font_t to work upon
1396
+ * @glyph: The glyph ID
1397
+ * @dfuncs: #hb_draw_funcs_t to draw to
1398
+ * @draw_data: User data to pass to draw callbacks
1399
+ *
1400
+ * Fetches the glyph shape that corresponds to a glyph in the specified @font.
1401
+ * The shape is returned by way of calls to the callbacks of the @dfuncs
1402
+ * objects, with @draw_data passed to them.
1403
+ *
1404
+ * Since: 4.0.0
1405
+ * Deprecated: 7.0.0: Use hb_font_draw_glyph() instead
1406
+ */
1407
+ void
1408
+ hb_font_get_glyph_shape (hb_font_t *font,
1409
+ hb_codepoint_t glyph,
1410
+ hb_draw_funcs_t *dfuncs, void *draw_data)
1411
+ {
1412
+ hb_font_draw_glyph (font, glyph, dfuncs, draw_data);
1413
+ }
1414
+ #endif
1415
+
1416
+ /**
1417
+ * hb_font_draw_glyph:
1418
+ * @font: #hb_font_t to work upon
1419
+ * @glyph: The glyph ID
1420
+ * @dfuncs: #hb_draw_funcs_t to draw to
1421
+ * @draw_data: User data to pass to draw callbacks
1422
+ *
1423
+ * Draws the outline that corresponds to a glyph in the specified @font.
1424
+ *
1425
+ * The outline is returned by way of calls to the callbacks of the @dfuncs
1426
+ * objects, with @draw_data passed to them.
1427
+ *
1428
+ * Since: 7.0.0
1429
+ **/
1430
+ void
1431
+ hb_font_draw_glyph (hb_font_t *font,
1432
+ hb_codepoint_t glyph,
1433
+ hb_draw_funcs_t *dfuncs, void *draw_data)
1434
+ {
1435
+ font->draw_glyph (glyph, dfuncs, draw_data);
1436
+ }
1437
+
1438
+ /**
1439
+ * hb_font_paint_glyph:
1440
+ * @font: #hb_font_t to work upon
1441
+ * @glyph: The glyph ID
1442
+ * @pfuncs: #hb_paint_funcs_t to paint with
1443
+ * @paint_data: User data to pass to paint callbacks
1444
+ * @palette_index: The index of the font's color palette to use
1445
+ * @foreground: The foreground color, unpremultipled
1446
+ *
1447
+ * Paints the glyph.
1448
+ *
1449
+ * The painting instructions are returned by way of calls to
1450
+ * the callbacks of the @funcs object, with @paint_data passed
1451
+ * to them.
1452
+ *
1453
+ * If the font has color palettes (see hb_ot_color_has_palettes()),
1454
+ * then @palette_index selects the palette to use. If the font only
1455
+ * has one palette, this will be 0.
1456
+ *
1457
+ * Since: 7.0.0
1458
+ */
1459
+ void
1460
+ hb_font_paint_glyph (hb_font_t *font,
1461
+ hb_codepoint_t glyph,
1462
+ hb_paint_funcs_t *pfuncs, void *paint_data,
1463
+ unsigned int palette_index,
1464
+ hb_color_t foreground)
1465
+ {
1466
+ font->paint_glyph (glyph, pfuncs, paint_data, palette_index, foreground);
1467
+ }
1468
+
1469
+ /* A bit higher-level, and with fallback */
1470
+
1471
+ /**
1472
+ * hb_font_get_extents_for_direction:
1473
+ * @font: #hb_font_t to work upon
1474
+ * @direction: The direction of the text segment
1475
+ * @extents: (out): The #hb_font_extents_t retrieved
1476
+ *
1477
+ * Fetches the extents for a font in a text segment of the
1478
+ * specified direction.
1479
+ *
1480
+ * Calls the appropriate direction-specific variant (horizontal
1481
+ * or vertical) depending on the value of @direction.
1482
+ *
1483
+ * Since: 1.1.3
1484
+ **/
1485
+ void
1486
+ hb_font_get_extents_for_direction (hb_font_t *font,
1487
+ hb_direction_t direction,
1488
+ hb_font_extents_t *extents)
1489
+ {
1490
+ font->get_extents_for_direction (direction, extents);
1491
+ }
1492
+ /**
1493
+ * hb_font_get_glyph_advance_for_direction:
1494
+ * @font: #hb_font_t to work upon
1495
+ * @glyph: The glyph ID to query
1496
+ * @direction: The direction of the text segment
1497
+ * @x: (out): The horizontal advance retrieved
1498
+ * @y: (out): The vertical advance retrieved
1499
+ *
1500
+ * Fetches the advance for a glyph ID from the specified font,
1501
+ * in a text segment of the specified direction.
1502
+ *
1503
+ * Calls the appropriate direction-specific variant (horizontal
1504
+ * or vertical) depending on the value of @direction.
1505
+ *
1506
+ * Since: 0.9.2
1507
+ **/
1508
+ void
1509
+ hb_font_get_glyph_advance_for_direction (hb_font_t *font,
1510
+ hb_codepoint_t glyph,
1511
+ hb_direction_t direction,
1512
+ hb_position_t *x,
1513
+ hb_position_t *y)
1514
+ {
1515
+ font->get_glyph_advance_for_direction (glyph, direction, x, y);
1516
+ }
1517
+ /**
1518
+ * hb_font_get_glyph_advances_for_direction:
1519
+ * @font: #hb_font_t to work upon
1520
+ * @direction: The direction of the text segment
1521
+ * @count: The number of glyph IDs in the sequence queried
1522
+ * @first_glyph: The first glyph ID to query
1523
+ * @glyph_stride: The stride between successive glyph IDs
1524
+ * @first_advance: (out): The first advance retrieved
1525
+ * @advance_stride: (out): The stride between successive advances
1526
+ *
1527
+ * Fetches the advances for a sequence of glyph IDs in the specified
1528
+ * font, in a text segment of the specified direction.
1529
+ *
1530
+ * Calls the appropriate direction-specific variant (horizontal
1531
+ * or vertical) depending on the value of @direction.
1532
+ *
1533
+ * Since: 1.8.6
1534
+ **/
1535
+ HB_EXTERN void
1536
+ hb_font_get_glyph_advances_for_direction (hb_font_t* font,
1537
+ hb_direction_t direction,
1538
+ unsigned int count,
1539
+ const hb_codepoint_t *first_glyph,
1540
+ unsigned glyph_stride,
1541
+ hb_position_t *first_advance,
1542
+ unsigned advance_stride)
1543
+ {
1544
+ font->get_glyph_advances_for_direction (direction, count, first_glyph, glyph_stride, first_advance, advance_stride);
1545
+ }
1546
+
1547
+ /**
1548
+ * hb_font_get_glyph_origin_for_direction:
1549
+ * @font: #hb_font_t to work upon
1550
+ * @glyph: The glyph ID to query
1551
+ * @direction: The direction of the text segment
1552
+ * @x: (out): The X coordinate retrieved for the origin
1553
+ * @y: (out): The Y coordinate retrieved for the origin
1554
+ *
1555
+ * Fetches the (X,Y) coordinates of the origin for a glyph in
1556
+ * the specified font.
1557
+ *
1558
+ * Calls the appropriate direction-specific variant (horizontal
1559
+ * or vertical) depending on the value of @direction.
1560
+ *
1561
+ * Since: 0.9.2
1562
+ **/
1563
+ void
1564
+ hb_font_get_glyph_origin_for_direction (hb_font_t *font,
1565
+ hb_codepoint_t glyph,
1566
+ hb_direction_t direction,
1567
+ hb_position_t *x,
1568
+ hb_position_t *y)
1569
+ {
1570
+ return font->get_glyph_origin_for_direction (glyph, direction, x, y);
1571
+ }
1572
+
1573
+ /**
1574
+ * hb_font_add_glyph_origin_for_direction:
1575
+ * @font: #hb_font_t to work upon
1576
+ * @glyph: The glyph ID to query
1577
+ * @direction: The direction of the text segment
1578
+ * @x: (inout): Input = The original X coordinate
1579
+ * Output = The X coordinate plus the X-coordinate of the origin
1580
+ * @y: (inout): Input = The original Y coordinate
1581
+ * Output = The Y coordinate plus the Y-coordinate of the origin
1582
+ *
1583
+ * Adds the origin coordinates to an (X,Y) point coordinate, in
1584
+ * the specified glyph ID in the specified font.
1585
+ *
1586
+ * Calls the appropriate direction-specific variant (horizontal
1587
+ * or vertical) depending on the value of @direction.
1588
+ *
1589
+ * Since: 0.9.2
1590
+ **/
1591
+ void
1592
+ hb_font_add_glyph_origin_for_direction (hb_font_t *font,
1593
+ hb_codepoint_t glyph,
1594
+ hb_direction_t direction,
1595
+ hb_position_t *x,
1596
+ hb_position_t *y)
1597
+ {
1598
+ return font->add_glyph_origin_for_direction (glyph, direction, x, y);
1599
+ }
1600
+
1601
+ /**
1602
+ * hb_font_subtract_glyph_origin_for_direction:
1603
+ * @font: #hb_font_t to work upon
1604
+ * @glyph: The glyph ID to query
1605
+ * @direction: The direction of the text segment
1606
+ * @x: (inout): Input = The original X coordinate
1607
+ * Output = The X coordinate minus the X-coordinate of the origin
1608
+ * @y: (inout): Input = The original Y coordinate
1609
+ * Output = The Y coordinate minus the Y-coordinate of the origin
1610
+ *
1611
+ * Subtracts the origin coordinates from an (X,Y) point coordinate,
1612
+ * in the specified glyph ID in the specified font.
1613
+ *
1614
+ * Calls the appropriate direction-specific variant (horizontal
1615
+ * or vertical) depending on the value of @direction.
1616
+ *
1617
+ * Since: 0.9.2
1618
+ **/
1619
+ void
1620
+ hb_font_subtract_glyph_origin_for_direction (hb_font_t *font,
1621
+ hb_codepoint_t glyph,
1622
+ hb_direction_t direction,
1623
+ hb_position_t *x,
1624
+ hb_position_t *y)
1625
+ {
1626
+ return font->subtract_glyph_origin_for_direction (glyph, direction, x, y);
1627
+ }
1628
+
1629
+ /**
1630
+ * hb_font_get_glyph_kerning_for_direction:
1631
+ * @font: #hb_font_t to work upon
1632
+ * @first_glyph: The glyph ID of the first glyph in the glyph pair to query
1633
+ * @second_glyph: The glyph ID of the second glyph in the glyph pair to query
1634
+ * @direction: The direction of the text segment
1635
+ * @x: (out): The horizontal kerning-adjustment value retrieved
1636
+ * @y: (out): The vertical kerning-adjustment value retrieved
1637
+ *
1638
+ * Fetches the kerning-adjustment value for a glyph-pair in the specified font.
1639
+ *
1640
+ * Calls the appropriate direction-specific variant (horizontal
1641
+ * or vertical) depending on the value of @direction.
1642
+ *
1643
+ * Since: 0.9.2
1644
+ **/
1645
+ void
1646
+ hb_font_get_glyph_kerning_for_direction (hb_font_t *font,
1647
+ hb_codepoint_t first_glyph,
1648
+ hb_codepoint_t second_glyph,
1649
+ hb_direction_t direction,
1650
+ hb_position_t *x,
1651
+ hb_position_t *y)
1652
+ {
1653
+ return font->get_glyph_kerning_for_direction (first_glyph, second_glyph, direction, x, y);
1654
+ }
1655
+
1656
+ /**
1657
+ * hb_font_get_glyph_extents_for_origin:
1658
+ * @font: #hb_font_t to work upon
1659
+ * @glyph: The glyph ID to query
1660
+ * @direction: The direction of the text segment
1661
+ * @extents: (out): The #hb_glyph_extents_t retrieved
1662
+ *
1663
+ * Fetches the #hb_glyph_extents_t data for a glyph ID
1664
+ * in the specified font, with respect to the origin in
1665
+ * a text segment in the specified direction.
1666
+ *
1667
+ * Calls the appropriate direction-specific variant (horizontal
1668
+ * or vertical) depending on the value of @direction.
1669
+ *
1670
+ * Return value: `true` if data found, `false` otherwise
1671
+ *
1672
+ * Since: 0.9.2
1673
+ **/
1674
+ hb_bool_t
1675
+ hb_font_get_glyph_extents_for_origin (hb_font_t *font,
1676
+ hb_codepoint_t glyph,
1677
+ hb_direction_t direction,
1678
+ hb_glyph_extents_t *extents)
1679
+ {
1680
+ return font->get_glyph_extents_for_origin (glyph, direction, extents);
1681
+ }
1682
+
1683
+ /**
1684
+ * hb_font_get_glyph_contour_point_for_origin:
1685
+ * @font: #hb_font_t to work upon
1686
+ * @glyph: The glyph ID to query
1687
+ * @point_index: The contour-point index to query
1688
+ * @direction: The direction of the text segment
1689
+ * @x: (out): The X value retrieved for the contour point
1690
+ * @y: (out): The Y value retrieved for the contour point
1691
+ *
1692
+ * Fetches the (X,Y) coordinates of a specified contour-point index
1693
+ * in the specified glyph ID in the specified font, with respect
1694
+ * to the origin in a text segment in the specified direction.
1695
+ *
1696
+ * Calls the appropriate direction-specific variant (horizontal
1697
+ * or vertical) depending on the value of @direction.
1698
+ *
1699
+ * Return value: `true` if data found, `false` otherwise
1700
+ *
1701
+ * Since: 0.9.2
1702
+ **/
1703
+ hb_bool_t
1704
+ hb_font_get_glyph_contour_point_for_origin (hb_font_t *font,
1705
+ hb_codepoint_t glyph,
1706
+ unsigned int point_index,
1707
+ hb_direction_t direction,
1708
+ hb_position_t *x,
1709
+ hb_position_t *y)
1710
+ {
1711
+ return font->get_glyph_contour_point_for_origin (glyph, point_index, direction, x, y);
1712
+ }
1713
+
1714
+ /**
1715
+ * hb_font_glyph_to_string:
1716
+ * @font: #hb_font_t to work upon
1717
+ * @glyph: The glyph ID to query
1718
+ * @s: (out) (array length=size): The string containing the glyph name
1719
+ * @size: Length of string @s
1720
+ *
1721
+ * Fetches the name of the specified glyph ID in @font and returns
1722
+ * it in string @s.
1723
+ *
1724
+ * If the glyph ID has no name in @font, a string of the form `gidDDD` is
1725
+ * generated, with `DDD` being the glyph ID.
1726
+ *
1727
+ * According to the OpenType specification, glyph names are limited to 63
1728
+ * characters and can only contain (a subset of) ASCII.
1729
+ *
1730
+ * Since: 0.9.2
1731
+ **/
1732
+ void
1733
+ hb_font_glyph_to_string (hb_font_t *font,
1734
+ hb_codepoint_t glyph,
1735
+ char *s,
1736
+ unsigned int size)
1737
+ {
1738
+ font->glyph_to_string (glyph, s, size);
1739
+ }
1740
+
1741
+ /**
1742
+ * hb_font_glyph_from_string:
1743
+ * @font: #hb_font_t to work upon
1744
+ * @s: (array length=len) (element-type uint8_t): string to query
1745
+ * @len: The length of the string @s
1746
+ * @glyph: (out): The glyph ID corresponding to the string requested
1747
+ *
1748
+ * Fetches the glyph ID from @font that matches the specified string.
1749
+ * Strings of the format `gidDDD` or `uniUUUU` are parsed automatically.
1750
+ *
1751
+ * <note>Note: @len == -1 means the string is null-terminated.</note>
1752
+ *
1753
+ * Return value: `true` if data found, `false` otherwise
1754
+ *
1755
+ * Since: 0.9.2
1756
+ **/
1757
+ hb_bool_t
1758
+ hb_font_glyph_from_string (hb_font_t *font,
1759
+ const char *s,
1760
+ int len,
1761
+ hb_codepoint_t *glyph)
1762
+ {
1763
+ return font->glyph_from_string (s, len, glyph);
1764
+ }
1765
+
1766
+
1767
+ /*
1768
+ * hb_font_t
1769
+ */
1770
+
1771
+ DEFINE_NULL_INSTANCE (hb_font_t) =
1772
+ {
1773
+ HB_OBJECT_HEADER_STATIC,
1774
+
1775
+ 0, /* serial */
1776
+ 0, /* serial_coords */
1777
+
1778
+ nullptr, /* parent */
1779
+ const_cast<hb_face_t *> (&_hb_Null_hb_face_t),
1780
+
1781
+ 1000, /* x_scale */
1782
+ 1000, /* y_scale */
1783
+ 0.f, /* x_embolden */
1784
+ 0.f, /* y_embolden */
1785
+ true, /* embolden_in_place */
1786
+ 0, /* x_strength */
1787
+ 0, /* y_strength */
1788
+ 0.f, /* slant */
1789
+ 0.f, /* slant_xy; */
1790
+ 1.f, /* x_multf */
1791
+ 1.f, /* y_multf */
1792
+ 1<<16, /* x_mult */
1793
+ 1<<16, /* y_mult */
1794
+
1795
+ 0, /* x_ppem */
1796
+ 0, /* y_ppem */
1797
+ 0, /* ptem */
1798
+
1799
+ HB_FONT_NO_VAR_NAMED_INSTANCE, /* instance_index */
1800
+ 0, /* num_coords */
1801
+ nullptr, /* coords */
1802
+ nullptr, /* design_coords */
1803
+
1804
+ const_cast<hb_font_funcs_t *> (&_hb_Null_hb_font_funcs_t),
1805
+
1806
+ /* Zero for the rest is fine. */
1807
+ };
1808
+
1809
+
1810
+ static hb_font_t *
1811
+ _hb_font_create (hb_face_t *face)
1812
+ {
1813
+ hb_font_t *font;
1814
+
1815
+ if (unlikely (!face))
1816
+ face = hb_face_get_empty ();
1817
+
1818
+ if (!(font = hb_object_create<hb_font_t> ()))
1819
+ return hb_font_get_empty ();
1820
+
1821
+ hb_face_make_immutable (face);
1822
+ font->parent = hb_font_get_empty ();
1823
+ font->face = hb_face_reference (face);
1824
+ font->klass = hb_font_funcs_get_empty ();
1825
+ font->data.init0 (font);
1826
+ font->x_scale = font->y_scale = face->get_upem ();
1827
+ font->embolden_in_place = true;
1828
+ font->x_multf = font->y_multf = 1.f;
1829
+ font->x_mult = font->y_mult = 1 << 16;
1830
+ font->instance_index = HB_FONT_NO_VAR_NAMED_INSTANCE;
1831
+
1832
+ return font;
1833
+ }
1834
+
1835
+ /**
1836
+ * hb_font_create:
1837
+ * @face: a face.
1838
+ *
1839
+ * Constructs a new font object from the specified face.
1840
+ *
1841
+ * <note>Note: If @face's index value (as passed to hb_face_create()
1842
+ * has non-zero top 16-bits, those bits minus one are passed to
1843
+ * hb_font_set_var_named_instance(), effectively loading a named-instance
1844
+ * of a variable font, instead of the default-instance. This allows
1845
+ * specifying which named-instance to load by default when creating the
1846
+ * face.</note>
1847
+ *
1848
+ * Return value: (transfer full): The new font object
1849
+ *
1850
+ * Since: 0.9.2
1851
+ **/
1852
+ hb_font_t *
1853
+ hb_font_create (hb_face_t *face)
1854
+ {
1855
+ hb_font_t *font = _hb_font_create (face);
1856
+
1857
+ #ifndef HB_NO_OT_FONT
1858
+ /* Install our in-house, very lightweight, funcs. */
1859
+ hb_ot_font_set_funcs (font);
1860
+ #endif
1861
+
1862
+ #ifndef HB_NO_VAR
1863
+ if (face && face->index >> 16)
1864
+ hb_font_set_var_named_instance (font, (face->index >> 16) - 1);
1865
+ #endif
1866
+
1867
+ return font;
1868
+ }
1869
+
1870
+ static void
1871
+ _hb_font_adopt_var_coords (hb_font_t *font,
1872
+ int *coords, /* 2.14 normalized */
1873
+ float *design_coords,
1874
+ unsigned int coords_length)
1875
+ {
1876
+ hb_free (font->coords);
1877
+ hb_free (font->design_coords);
1878
+
1879
+ font->coords = coords;
1880
+ font->design_coords = design_coords;
1881
+ font->num_coords = coords_length;
1882
+
1883
+ font->mults_changed (); // Easiest to call this to drop cached data
1884
+ }
1885
+
1886
+ /**
1887
+ * hb_font_create_sub_font:
1888
+ * @parent: The parent font object
1889
+ *
1890
+ * Constructs a sub-font font object from the specified @parent font,
1891
+ * replicating the parent's properties.
1892
+ *
1893
+ * Return value: (transfer full): The new sub-font font object
1894
+ *
1895
+ * Since: 0.9.2
1896
+ **/
1897
+ hb_font_t *
1898
+ hb_font_create_sub_font (hb_font_t *parent)
1899
+ {
1900
+ if (unlikely (!parent))
1901
+ parent = hb_font_get_empty ();
1902
+
1903
+ hb_font_t *font = _hb_font_create (parent->face);
1904
+
1905
+ if (unlikely (hb_object_is_immutable (font)))
1906
+ return font;
1907
+
1908
+ font->parent = hb_font_reference (parent);
1909
+
1910
+ font->x_scale = parent->x_scale;
1911
+ font->y_scale = parent->y_scale;
1912
+ font->x_embolden = parent->x_embolden;
1913
+ font->y_embolden = parent->y_embolden;
1914
+ font->embolden_in_place = parent->embolden_in_place;
1915
+ font->slant = parent->slant;
1916
+ font->x_ppem = parent->x_ppem;
1917
+ font->y_ppem = parent->y_ppem;
1918
+ font->ptem = parent->ptem;
1919
+
1920
+ unsigned int num_coords = parent->num_coords;
1921
+ if (num_coords)
1922
+ {
1923
+ int *coords = (int *) hb_calloc (num_coords, sizeof (parent->coords[0]));
1924
+ float *design_coords = (float *) hb_calloc (num_coords, sizeof (parent->design_coords[0]));
1925
+ if (likely (coords && design_coords))
1926
+ {
1927
+ hb_memcpy (coords, parent->coords, num_coords * sizeof (parent->coords[0]));
1928
+ hb_memcpy (design_coords, parent->design_coords, num_coords * sizeof (parent->design_coords[0]));
1929
+ _hb_font_adopt_var_coords (font, coords, design_coords, num_coords);
1930
+ }
1931
+ else
1932
+ {
1933
+ hb_free (coords);
1934
+ hb_free (design_coords);
1935
+ }
1936
+ }
1937
+
1938
+ font->mults_changed ();
1939
+
1940
+ return font;
1941
+ }
1942
+
1943
+ /**
1944
+ * hb_font_get_empty:
1945
+ *
1946
+ * Fetches the empty font object.
1947
+ *
1948
+ * Return value: (transfer full): The empty font object
1949
+ *
1950
+ * Since: 0.9.2
1951
+ **/
1952
+ hb_font_t *
1953
+ hb_font_get_empty ()
1954
+ {
1955
+ return const_cast<hb_font_t *> (&Null (hb_font_t));
1956
+ }
1957
+
1958
+ /**
1959
+ * hb_font_reference: (skip)
1960
+ * @font: #hb_font_t to work upon
1961
+ *
1962
+ * Increases the reference count on the given font object.
1963
+ *
1964
+ * Return value: (transfer full): The @font object
1965
+ *
1966
+ * Since: 0.9.2
1967
+ **/
1968
+ hb_font_t *
1969
+ hb_font_reference (hb_font_t *font)
1970
+ {
1971
+ return hb_object_reference (font);
1972
+ }
1973
+
1974
+ /**
1975
+ * hb_font_destroy: (skip)
1976
+ * @font: #hb_font_t to work upon
1977
+ *
1978
+ * Decreases the reference count on the given font object. When the
1979
+ * reference count reaches zero, the font is destroyed,
1980
+ * freeing all memory.
1981
+ *
1982
+ * Since: 0.9.2
1983
+ **/
1984
+ void
1985
+ hb_font_destroy (hb_font_t *font)
1986
+ {
1987
+ if (!hb_object_destroy (font)) return;
1988
+
1989
+ font->data.fini ();
1990
+
1991
+ if (font->destroy)
1992
+ font->destroy (font->user_data);
1993
+
1994
+ hb_font_destroy (font->parent);
1995
+ hb_face_destroy (font->face);
1996
+ hb_font_funcs_destroy (font->klass);
1997
+
1998
+ hb_free (font->coords);
1999
+ hb_free (font->design_coords);
2000
+
2001
+ hb_free (font);
2002
+ }
2003
+
2004
+ /**
2005
+ * hb_font_set_user_data: (skip)
2006
+ * @font: #hb_font_t to work upon
2007
+ * @key: The user-data key
2008
+ * @data: A pointer to the user data
2009
+ * @destroy: (nullable): A callback to call when @data is not needed anymore
2010
+ * @replace: Whether to replace an existing data with the same key
2011
+ *
2012
+ * Attaches a user-data key/data pair to the specified font object.
2013
+ *
2014
+ * Return value: `true` if success, `false` otherwise
2015
+ *
2016
+ * Since: 0.9.2
2017
+ **/
2018
+ hb_bool_t
2019
+ hb_font_set_user_data (hb_font_t *font,
2020
+ hb_user_data_key_t *key,
2021
+ void * data,
2022
+ hb_destroy_func_t destroy /* May be NULL. */,
2023
+ hb_bool_t replace)
2024
+ {
2025
+ if (!hb_object_is_immutable (font))
2026
+ font->serial++;
2027
+
2028
+ return hb_object_set_user_data (font, key, data, destroy, replace);
2029
+ }
2030
+
2031
+ /**
2032
+ * hb_font_get_user_data: (skip)
2033
+ * @font: #hb_font_t to work upon
2034
+ * @key: The user-data key to query
2035
+ *
2036
+ * Fetches the user-data object associated with the specified key,
2037
+ * attached to the specified font object.
2038
+ *
2039
+ * Return value: (transfer none): Pointer to the user data
2040
+ *
2041
+ * Since: 0.9.2
2042
+ **/
2043
+ void *
2044
+ hb_font_get_user_data (const hb_font_t *font,
2045
+ hb_user_data_key_t *key)
2046
+ {
2047
+ return hb_object_get_user_data (font, key);
2048
+ }
2049
+
2050
+ /**
2051
+ * hb_font_make_immutable:
2052
+ * @font: #hb_font_t to work upon
2053
+ *
2054
+ * Makes @font immutable.
2055
+ *
2056
+ * Since: 0.9.2
2057
+ **/
2058
+ void
2059
+ hb_font_make_immutable (hb_font_t *font)
2060
+ {
2061
+ if (hb_object_is_immutable (font))
2062
+ return;
2063
+
2064
+ if (font->parent)
2065
+ hb_font_make_immutable (font->parent);
2066
+
2067
+ hb_object_make_immutable (font);
2068
+ }
2069
+
2070
+ /**
2071
+ * hb_font_is_immutable:
2072
+ * @font: #hb_font_t to work upon
2073
+ *
2074
+ * Tests whether a font object is immutable.
2075
+ *
2076
+ * Return value: `true` if @font is immutable, `false` otherwise
2077
+ *
2078
+ * Since: 0.9.2
2079
+ **/
2080
+ hb_bool_t
2081
+ hb_font_is_immutable (hb_font_t *font)
2082
+ {
2083
+ return hb_object_is_immutable (font);
2084
+ }
2085
+
2086
+ /**
2087
+ * hb_font_get_serial:
2088
+ * @font: #hb_font_t to work upon
2089
+ *
2090
+ * Returns the internal serial number of the font. The serial
2091
+ * number is increased every time a setting on the font is
2092
+ * changed, using a setter function.
2093
+ *
2094
+ * Return value: serial number
2095
+ *
2096
+ * Since: 4.4.0
2097
+ **/
2098
+ unsigned int
2099
+ hb_font_get_serial (hb_font_t *font)
2100
+ {
2101
+ return font->serial;
2102
+ }
2103
+
2104
+ /**
2105
+ * hb_font_changed:
2106
+ * @font: #hb_font_t to work upon
2107
+ *
2108
+ * Notifies the @font that underlying font data has changed.
2109
+ * This has the effect of increasing the serial as returned
2110
+ * by hb_font_get_serial(), which invalidates internal caches.
2111
+ *
2112
+ * Since: 4.4.0
2113
+ **/
2114
+ void
2115
+ hb_font_changed (hb_font_t *font)
2116
+ {
2117
+ if (hb_object_is_immutable (font))
2118
+ return;
2119
+
2120
+ font->serial++;
2121
+
2122
+ font->mults_changed ();
2123
+ }
2124
+
2125
+ /**
2126
+ * hb_font_set_parent:
2127
+ * @font: #hb_font_t to work upon
2128
+ * @parent: The parent font object to assign
2129
+ *
2130
+ * Sets the parent font of @font.
2131
+ *
2132
+ * Since: 1.0.5
2133
+ **/
2134
+ void
2135
+ hb_font_set_parent (hb_font_t *font,
2136
+ hb_font_t *parent)
2137
+ {
2138
+ if (hb_object_is_immutable (font))
2139
+ return;
2140
+
2141
+ if (parent == font->parent)
2142
+ return;
2143
+
2144
+ font->serial++;
2145
+
2146
+ if (!parent)
2147
+ parent = hb_font_get_empty ();
2148
+
2149
+ hb_font_t *old = font->parent;
2150
+
2151
+ font->parent = hb_font_reference (parent);
2152
+
2153
+ hb_font_destroy (old);
2154
+ }
2155
+
2156
+ /**
2157
+ * hb_font_get_parent:
2158
+ * @font: #hb_font_t to work upon
2159
+ *
2160
+ * Fetches the parent font of @font.
2161
+ *
2162
+ * Return value: (transfer none): The parent font object
2163
+ *
2164
+ * Since: 0.9.2
2165
+ **/
2166
+ hb_font_t *
2167
+ hb_font_get_parent (hb_font_t *font)
2168
+ {
2169
+ return font->parent;
2170
+ }
2171
+
2172
+ /**
2173
+ * hb_font_set_face:
2174
+ * @font: #hb_font_t to work upon
2175
+ * @face: The #hb_face_t to assign
2176
+ *
2177
+ * Sets @face as the font-face value of @font.
2178
+ *
2179
+ * Since: 1.4.3
2180
+ **/
2181
+ void
2182
+ hb_font_set_face (hb_font_t *font,
2183
+ hb_face_t *face)
2184
+ {
2185
+ if (hb_object_is_immutable (font))
2186
+ return;
2187
+
2188
+ if (face == font->face)
2189
+ return;
2190
+
2191
+ font->serial++;
2192
+
2193
+ if (unlikely (!face))
2194
+ face = hb_face_get_empty ();
2195
+
2196
+ hb_face_t *old = font->face;
2197
+
2198
+ hb_face_make_immutable (face);
2199
+ font->face = hb_face_reference (face);
2200
+ font->mults_changed ();
2201
+
2202
+ hb_face_destroy (old);
2203
+ }
2204
+
2205
+ /**
2206
+ * hb_font_get_face:
2207
+ * @font: #hb_font_t to work upon
2208
+ *
2209
+ * Fetches the face associated with the specified font object.
2210
+ *
2211
+ * Return value: (transfer none): The #hb_face_t value
2212
+ *
2213
+ * Since: 0.9.2
2214
+ **/
2215
+ hb_face_t *
2216
+ hb_font_get_face (hb_font_t *font)
2217
+ {
2218
+ return font->face;
2219
+ }
2220
+
2221
+
2222
+ /**
2223
+ * hb_font_set_funcs:
2224
+ * @font: #hb_font_t to work upon
2225
+ * @klass: (closure font_data) (destroy destroy) (scope notified): The font-functions structure.
2226
+ * @font_data: Data to attach to @font
2227
+ * @destroy: (nullable): The function to call when @font_data is not needed anymore
2228
+ *
2229
+ * Replaces the font-functions structure attached to a font, updating
2230
+ * the font's user-data with @font-data and the @destroy callback.
2231
+ *
2232
+ * Since: 0.9.2
2233
+ **/
2234
+ void
2235
+ hb_font_set_funcs (hb_font_t *font,
2236
+ hb_font_funcs_t *klass,
2237
+ void *font_data,
2238
+ hb_destroy_func_t destroy /* May be NULL. */)
2239
+ {
2240
+ if (hb_object_is_immutable (font))
2241
+ {
2242
+ if (destroy)
2243
+ destroy (font_data);
2244
+ return;
2245
+ }
2246
+
2247
+ font->serial++;
2248
+
2249
+ if (font->destroy)
2250
+ font->destroy (font->user_data);
2251
+
2252
+ if (!klass)
2253
+ klass = hb_font_funcs_get_empty ();
2254
+
2255
+ hb_font_funcs_reference (klass);
2256
+ hb_font_funcs_destroy (font->klass);
2257
+ font->klass = klass;
2258
+ font->user_data = font_data;
2259
+ font->destroy = destroy;
2260
+ }
2261
+
2262
+ /**
2263
+ * hb_font_set_funcs_data:
2264
+ * @font: #hb_font_t to work upon
2265
+ * @font_data: (destroy destroy) (scope notified): Data to attach to @font
2266
+ * @destroy: (nullable): The function to call when @font_data is not needed anymore
2267
+ *
2268
+ * Replaces the user data attached to a font, updating the font's
2269
+ * @destroy callback.
2270
+ *
2271
+ * Since: 0.9.2
2272
+ **/
2273
+ void
2274
+ hb_font_set_funcs_data (hb_font_t *font,
2275
+ void *font_data,
2276
+ hb_destroy_func_t destroy /* May be NULL. */)
2277
+ {
2278
+ /* Destroy user_data? */
2279
+ if (hb_object_is_immutable (font))
2280
+ {
2281
+ if (destroy)
2282
+ destroy (font_data);
2283
+ return;
2284
+ }
2285
+
2286
+ font->serial++;
2287
+
2288
+ if (font->destroy)
2289
+ font->destroy (font->user_data);
2290
+
2291
+ font->user_data = font_data;
2292
+ font->destroy = destroy;
2293
+ }
2294
+
2295
+
2296
+ /**
2297
+ * hb_font_set_scale:
2298
+ * @font: #hb_font_t to work upon
2299
+ * @x_scale: Horizontal scale value to assign
2300
+ * @y_scale: Vertical scale value to assign
2301
+ *
2302
+ * Sets the horizontal and vertical scale of a font.
2303
+ *
2304
+ * The font scale is a number related to, but not the same as,
2305
+ * font size. Typically the client establishes a scale factor
2306
+ * to be used between the two. For example, 64, or 256, which
2307
+ * would be the fractional-precision part of the font scale.
2308
+ * This is necessary because #hb_position_t values are integer
2309
+ * types and you need to leave room for fractional values
2310
+ * in there.
2311
+ *
2312
+ * For example, to set the font size to 20, with 64
2313
+ * levels of fractional precision you would call
2314
+ * `hb_font_set_scale(font, 20 * 64, 20 * 64)`.
2315
+ *
2316
+ * In the example above, even what font size 20 means is up to
2317
+ * you. It might be 20 pixels, or 20 points, or 20 millimeters.
2318
+ * HarfBuzz does not care about that. You can set the point
2319
+ * size of the font using hb_font_set_ptem(), and the pixel
2320
+ * size using hb_font_set_ppem().
2321
+ *
2322
+ * The choice of scale is yours but needs to be consistent between
2323
+ * what you set here, and what you expect out of #hb_position_t
2324
+ * as well has draw / paint API output values.
2325
+ *
2326
+ * Fonts default to a scale equal to the UPEM value of their face.
2327
+ * A font with this setting is sometimes called an "unscaled" font.
2328
+ *
2329
+ * Since: 0.9.2
2330
+ **/
2331
+ void
2332
+ hb_font_set_scale (hb_font_t *font,
2333
+ int x_scale,
2334
+ int y_scale)
2335
+ {
2336
+ if (hb_object_is_immutable (font))
2337
+ return;
2338
+
2339
+ if (font->x_scale == x_scale && font->y_scale == y_scale)
2340
+ return;
2341
+
2342
+ font->serial++;
2343
+
2344
+ font->x_scale = x_scale;
2345
+ font->y_scale = y_scale;
2346
+ font->mults_changed ();
2347
+ }
2348
+
2349
+ /**
2350
+ * hb_font_get_scale:
2351
+ * @font: #hb_font_t to work upon
2352
+ * @x_scale: (out): Horizontal scale value
2353
+ * @y_scale: (out): Vertical scale value
2354
+ *
2355
+ * Fetches the horizontal and vertical scale of a font.
2356
+ *
2357
+ * Since: 0.9.2
2358
+ **/
2359
+ void
2360
+ hb_font_get_scale (hb_font_t *font,
2361
+ int *x_scale,
2362
+ int *y_scale)
2363
+ {
2364
+ if (x_scale) *x_scale = font->x_scale;
2365
+ if (y_scale) *y_scale = font->y_scale;
2366
+ }
2367
+
2368
+ /**
2369
+ * hb_font_set_ppem:
2370
+ * @font: #hb_font_t to work upon
2371
+ * @x_ppem: Horizontal ppem value to assign
2372
+ * @y_ppem: Vertical ppem value to assign
2373
+ *
2374
+ * Sets the horizontal and vertical pixels-per-em (PPEM) of a font.
2375
+ *
2376
+ * These values are used for pixel-size-specific adjustment to
2377
+ * shaping and draw results, though for the most part they are
2378
+ * unused and can be left unset.
2379
+ *
2380
+ * Since: 0.9.2
2381
+ **/
2382
+ void
2383
+ hb_font_set_ppem (hb_font_t *font,
2384
+ unsigned int x_ppem,
2385
+ unsigned int y_ppem)
2386
+ {
2387
+ if (hb_object_is_immutable (font))
2388
+ return;
2389
+
2390
+ if (font->x_ppem == x_ppem && font->y_ppem == y_ppem)
2391
+ return;
2392
+
2393
+ font->serial++;
2394
+
2395
+ font->x_ppem = x_ppem;
2396
+ font->y_ppem = y_ppem;
2397
+ }
2398
+
2399
+ /**
2400
+ * hb_font_get_ppem:
2401
+ * @font: #hb_font_t to work upon
2402
+ * @x_ppem: (out): Horizontal ppem value
2403
+ * @y_ppem: (out): Vertical ppem value
2404
+ *
2405
+ * Fetches the horizontal and vertical points-per-em (ppem) of a font.
2406
+ *
2407
+ * Since: 0.9.2
2408
+ **/
2409
+ void
2410
+ hb_font_get_ppem (hb_font_t *font,
2411
+ unsigned int *x_ppem,
2412
+ unsigned int *y_ppem)
2413
+ {
2414
+ if (x_ppem) *x_ppem = font->x_ppem;
2415
+ if (y_ppem) *y_ppem = font->y_ppem;
2416
+ }
2417
+
2418
+ /**
2419
+ * hb_font_set_ptem:
2420
+ * @font: #hb_font_t to work upon
2421
+ * @ptem: font size in points.
2422
+ *
2423
+ * Sets the "point size" of a font. Set to zero to unset.
2424
+ * Used in CoreText to implement optical sizing.
2425
+ *
2426
+ * <note>Note: There are 72 points in an inch.</note>
2427
+ *
2428
+ * Since: 1.6.0
2429
+ **/
2430
+ void
2431
+ hb_font_set_ptem (hb_font_t *font,
2432
+ float ptem)
2433
+ {
2434
+ if (hb_object_is_immutable (font))
2435
+ return;
2436
+
2437
+ if (font->ptem == ptem)
2438
+ return;
2439
+
2440
+ font->serial++;
2441
+
2442
+ font->ptem = ptem;
2443
+ }
2444
+
2445
+ /**
2446
+ * hb_font_get_ptem:
2447
+ * @font: #hb_font_t to work upon
2448
+ *
2449
+ * Fetches the "point size" of a font. Used in CoreText to
2450
+ * implement optical sizing.
2451
+ *
2452
+ * Return value: Point size. A value of zero means "not set."
2453
+ *
2454
+ * Since: 1.6.0
2455
+ **/
2456
+ float
2457
+ hb_font_get_ptem (hb_font_t *font)
2458
+ {
2459
+ return font->ptem;
2460
+ }
2461
+
2462
+ /**
2463
+ * hb_font_set_synthetic_bold:
2464
+ * @font: #hb_font_t to work upon
2465
+ * @x_embolden: the amount to embolden horizontally
2466
+ * @y_embolden: the amount to embolden vertically
2467
+ * @in_place: whether to embolden glyphs in-place
2468
+ *
2469
+ * Sets the "synthetic boldness" of a font.
2470
+ *
2471
+ * Positive values for @x_embolden / @y_embolden make a font
2472
+ * bolder, negative values thinner. Typical values are in the
2473
+ * 0.01 to 0.05 range. The default value is zero.
2474
+ *
2475
+ * Synthetic boldness is applied by offsetting the contour
2476
+ * points of the glyph shape.
2477
+ *
2478
+ * Synthetic boldness is applied when rendering a glyph via
2479
+ * hb_font_draw_glyph().
2480
+ *
2481
+ * If @in_place is `false`, then glyph advance-widths are also
2482
+ * adjusted, otherwise they are not. The in-place mode is
2483
+ * useful for simulating [font grading](https://fonts.google.com/knowledge/glossary/grade).
2484
+ *
2485
+ *
2486
+ * Since: 7.0.0
2487
+ **/
2488
+ void
2489
+ hb_font_set_synthetic_bold (hb_font_t *font,
2490
+ float x_embolden,
2491
+ float y_embolden,
2492
+ hb_bool_t in_place)
2493
+ {
2494
+ if (hb_object_is_immutable (font))
2495
+ return;
2496
+
2497
+ if (font->x_embolden == x_embolden &&
2498
+ font->y_embolden == y_embolden &&
2499
+ font->embolden_in_place == (bool) in_place)
2500
+ return;
2501
+
2502
+ font->serial++;
2503
+
2504
+ font->x_embolden = x_embolden;
2505
+ font->y_embolden = y_embolden;
2506
+ font->embolden_in_place = in_place;
2507
+ font->mults_changed ();
2508
+ }
2509
+
2510
+ /**
2511
+ * hb_font_get_synthetic_bold:
2512
+ * @font: #hb_font_t to work upon
2513
+ * @x_embolden: (out): return location for horizontal value
2514
+ * @y_embolden: (out): return location for vertical value
2515
+ * @in_place: (out): return location for in-place value
2516
+ *
2517
+ * Fetches the "synthetic boldness" parameters of a font.
2518
+ *
2519
+ * Since: 7.0.0
2520
+ **/
2521
+ void
2522
+ hb_font_get_synthetic_bold (hb_font_t *font,
2523
+ float *x_embolden,
2524
+ float *y_embolden,
2525
+ hb_bool_t *in_place)
2526
+ {
2527
+ if (x_embolden) *x_embolden = font->x_embolden;
2528
+ if (y_embolden) *y_embolden = font->y_embolden;
2529
+ if (in_place) *in_place = font->embolden_in_place;
2530
+ }
2531
+
2532
+ /**
2533
+ * hb_font_set_synthetic_slant:
2534
+ * @font: #hb_font_t to work upon
2535
+ * @slant: synthetic slant value.
2536
+ *
2537
+ * Sets the "synthetic slant" of a font. By default is zero.
2538
+ * Synthetic slant is the graphical skew applied to the font
2539
+ * at rendering time.
2540
+ *
2541
+ * HarfBuzz needs to know this value to adjust shaping results,
2542
+ * metrics, and style values to match the slanted rendering.
2543
+ *
2544
+ * <note>Note: The glyph shape fetched via the hb_font_draw_glyph()
2545
+ * function is slanted to reflect this value as well.</note>
2546
+ *
2547
+ * <note>Note: The slant value is a ratio. For example, a
2548
+ * 20% slant would be represented as a 0.2 value.</note>
2549
+ *
2550
+ * Since: 3.3.0
2551
+ **/
2552
+ HB_EXTERN void
2553
+ hb_font_set_synthetic_slant (hb_font_t *font, float slant)
2554
+ {
2555
+ if (hb_object_is_immutable (font))
2556
+ return;
2557
+
2558
+ if (font->slant == slant)
2559
+ return;
2560
+
2561
+ font->serial++;
2562
+
2563
+ font->slant = slant;
2564
+ font->mults_changed ();
2565
+ }
2566
+
2567
+ /**
2568
+ * hb_font_get_synthetic_slant:
2569
+ * @font: #hb_font_t to work upon
2570
+ *
2571
+ * Fetches the "synthetic slant" of a font.
2572
+ *
2573
+ * Return value: Synthetic slant. By default is zero.
2574
+ *
2575
+ * Since: 3.3.0
2576
+ **/
2577
+ HB_EXTERN float
2578
+ hb_font_get_synthetic_slant (hb_font_t *font)
2579
+ {
2580
+ return font->slant;
2581
+ }
2582
+
2583
+ #ifndef HB_NO_VAR
2584
+ /*
2585
+ * Variations
2586
+ */
2587
+
2588
+ /**
2589
+ * hb_font_set_variations:
2590
+ * @font: #hb_font_t to work upon
2591
+ * @variations: (array length=variations_length): Array of variation settings to apply
2592
+ * @variations_length: Number of variations to apply
2593
+ *
2594
+ * Applies a list of font-variation settings to a font.
2595
+ *
2596
+ * Note that this overrides all existing variations set on @font.
2597
+ * Axes not included in @variations will be effectively set to their
2598
+ * default values.
2599
+ *
2600
+ * Since: 1.4.2
2601
+ */
2602
+ void
2603
+ hb_font_set_variations (hb_font_t *font,
2604
+ const hb_variation_t *variations,
2605
+ unsigned int variations_length)
2606
+ {
2607
+ if (hb_object_is_immutable (font))
2608
+ return;
2609
+
2610
+ font->serial_coords = ++font->serial;
2611
+
2612
+ if (!variations_length && font->instance_index == HB_FONT_NO_VAR_NAMED_INSTANCE)
2613
+ {
2614
+ hb_font_set_var_coords_normalized (font, nullptr, 0);
2615
+ return;
2616
+ }
2617
+
2618
+ const OT::fvar &fvar = *font->face->table.fvar;
2619
+ auto axes = fvar.get_axes ();
2620
+ const unsigned coords_length = axes.length;
2621
+
2622
+ int *normalized = coords_length ? (int *) hb_calloc (coords_length, sizeof (int)) : nullptr;
2623
+ float *design_coords = coords_length ? (float *) hb_calloc (coords_length, sizeof (float)) : nullptr;
2624
+
2625
+ if (unlikely (coords_length && !(normalized && design_coords)))
2626
+ {
2627
+ hb_free (normalized);
2628
+ hb_free (design_coords);
2629
+ return;
2630
+ }
2631
+
2632
+ /* Initialize design coords. */
2633
+ for (unsigned int i = 0; i < coords_length; i++)
2634
+ design_coords[i] = axes[i].get_default ();
2635
+ if (font->instance_index != HB_FONT_NO_VAR_NAMED_INSTANCE)
2636
+ {
2637
+ unsigned count = coords_length;
2638
+ /* This may fail if index is out-of-range;
2639
+ * That's why we initialize design_coords from fvar above
2640
+ * unconditionally. */
2641
+ hb_ot_var_named_instance_get_design_coords (font->face, font->instance_index,
2642
+ &count, design_coords);
2643
+ }
2644
+
2645
+ for (unsigned int i = 0; i < variations_length; i++)
2646
+ {
2647
+ const auto tag = variations[i].tag;
2648
+ const auto v = variations[i].value;
2649
+ for (unsigned axis_index = 0; axis_index < coords_length; axis_index++)
2650
+ if (axes[axis_index].axisTag == tag)
2651
+ design_coords[axis_index] = v;
2652
+ }
2653
+
2654
+ hb_ot_var_normalize_coords (font->face, coords_length, design_coords, normalized);
2655
+ _hb_font_adopt_var_coords (font, normalized, design_coords, coords_length);
2656
+ }
2657
+
2658
+ /**
2659
+ * hb_font_set_variation:
2660
+ * @font: #hb_font_t to work upon
2661
+ * @tag: The #hb_tag_t tag of the variation-axis name
2662
+ * @value: The value of the variation axis
2663
+ *
2664
+ * Change the value of one variation axis on the font.
2665
+ *
2666
+ * Note: This function is expensive to be called repeatedly.
2667
+ * If you want to set multiple variation axes at the same time,
2668
+ * use hb_font_set_variations() instead.
2669
+ *
2670
+ * Since: 7.1.0
2671
+ */
2672
+ void
2673
+ hb_font_set_variation (hb_font_t *font,
2674
+ hb_tag_t tag,
2675
+ float value)
2676
+ {
2677
+ if (hb_object_is_immutable (font))
2678
+ return;
2679
+
2680
+ font->serial_coords = ++font->serial;
2681
+
2682
+ // TODO Share some of this code with set_variations()
2683
+
2684
+ const OT::fvar &fvar = *font->face->table.fvar;
2685
+ auto axes = fvar.get_axes ();
2686
+ const unsigned coords_length = axes.length;
2687
+
2688
+ int *normalized = coords_length ? (int *) hb_calloc (coords_length, sizeof (int)) : nullptr;
2689
+ float *design_coords = coords_length ? (float *) hb_calloc (coords_length, sizeof (float)) : nullptr;
2690
+
2691
+ if (unlikely (coords_length && !(normalized && design_coords)))
2692
+ {
2693
+ hb_free (normalized);
2694
+ hb_free (design_coords);
2695
+ return;
2696
+ }
2697
+
2698
+ /* Initialize design coords. */
2699
+ if (font->design_coords)
2700
+ {
2701
+ assert (coords_length == font->num_coords);
2702
+ for (unsigned int i = 0; i < coords_length; i++)
2703
+ design_coords[i] = font->design_coords[i];
2704
+ }
2705
+ else
2706
+ {
2707
+ for (unsigned int i = 0; i < coords_length; i++)
2708
+ design_coords[i] = axes[i].get_default ();
2709
+ if (font->instance_index != HB_FONT_NO_VAR_NAMED_INSTANCE)
2710
+ {
2711
+ unsigned count = coords_length;
2712
+ /* This may fail if index is out-of-range;
2713
+ * That's why we initialize design_coords from fvar above
2714
+ * unconditionally. */
2715
+ hb_ot_var_named_instance_get_design_coords (font->face, font->instance_index,
2716
+ &count, design_coords);
2717
+ }
2718
+ }
2719
+
2720
+ for (unsigned axis_index = 0; axis_index < coords_length; axis_index++)
2721
+ if (axes[axis_index].axisTag == tag)
2722
+ design_coords[axis_index] = value;
2723
+
2724
+ hb_ot_var_normalize_coords (font->face, coords_length, design_coords, normalized);
2725
+ _hb_font_adopt_var_coords (font, normalized, design_coords, coords_length);
2726
+
2727
+ }
2728
+
2729
+ /**
2730
+ * hb_font_set_var_coords_design:
2731
+ * @font: #hb_font_t to work upon
2732
+ * @coords: (array length=coords_length): Array of variation coordinates to apply
2733
+ * @coords_length: Number of coordinates to apply
2734
+ *
2735
+ * Applies a list of variation coordinates (in design-space units)
2736
+ * to a font.
2737
+ *
2738
+ * Note that this overrides all existing variations set on @font.
2739
+ * Axes not included in @coords will be effectively set to their
2740
+ * default values.
2741
+ *
2742
+ * Since: 1.4.2
2743
+ */
2744
+ void
2745
+ hb_font_set_var_coords_design (hb_font_t *font,
2746
+ const float *coords,
2747
+ unsigned int coords_length)
2748
+ {
2749
+ if (hb_object_is_immutable (font))
2750
+ return;
2751
+
2752
+ font->serial_coords = ++font->serial;
2753
+
2754
+ int *normalized = coords_length ? (int *) hb_calloc (coords_length, sizeof (int)) : nullptr;
2755
+ float *design_coords = coords_length ? (float *) hb_calloc (coords_length, sizeof (float)) : nullptr;
2756
+
2757
+ if (unlikely (coords_length && !(normalized && design_coords)))
2758
+ {
2759
+ hb_free (normalized);
2760
+ hb_free (design_coords);
2761
+ return;
2762
+ }
2763
+
2764
+ if (coords_length)
2765
+ hb_memcpy (design_coords, coords, coords_length * sizeof (font->design_coords[0]));
2766
+
2767
+ hb_ot_var_normalize_coords (font->face, coords_length, coords, normalized);
2768
+ _hb_font_adopt_var_coords (font, normalized, design_coords, coords_length);
2769
+ }
2770
+
2771
+ /**
2772
+ * hb_font_set_var_named_instance:
2773
+ * @font: a font.
2774
+ * @instance_index: named instance index.
2775
+ *
2776
+ * Sets design coords of a font from a named-instance index.
2777
+ *
2778
+ * Since: 2.6.0
2779
+ */
2780
+ void
2781
+ hb_font_set_var_named_instance (hb_font_t *font,
2782
+ unsigned int instance_index)
2783
+ {
2784
+ if (hb_object_is_immutable (font))
2785
+ return;
2786
+
2787
+ if (font->instance_index == instance_index)
2788
+ return;
2789
+
2790
+ font->serial_coords = ++font->serial;
2791
+
2792
+ font->instance_index = instance_index;
2793
+ hb_font_set_variations (font, nullptr, 0);
2794
+ }
2795
+
2796
+ /**
2797
+ * hb_font_get_var_named_instance:
2798
+ * @font: a font.
2799
+ *
2800
+ * Returns the currently-set named-instance index of the font.
2801
+ *
2802
+ * Return value: Named-instance index or %HB_FONT_NO_VAR_NAMED_INSTANCE.
2803
+ *
2804
+ * Since: 7.0.0
2805
+ **/
2806
+ unsigned int
2807
+ hb_font_get_var_named_instance (hb_font_t *font)
2808
+ {
2809
+ return font->instance_index;
2810
+ }
2811
+
2812
+ /**
2813
+ * hb_font_set_var_coords_normalized:
2814
+ * @font: #hb_font_t to work upon
2815
+ * @coords: (array length=coords_length): Array of variation coordinates to apply
2816
+ * @coords_length: Number of coordinates to apply
2817
+ *
2818
+ * Applies a list of variation coordinates (in normalized units)
2819
+ * to a font.
2820
+ *
2821
+ * Note that this overrides all existing variations set on @font.
2822
+ * Axes not included in @coords will be effectively set to their
2823
+ * default values.
2824
+ *
2825
+ * <note>Note: Coordinates should be normalized to 2.14.</note>
2826
+ *
2827
+ * Since: 1.4.2
2828
+ */
2829
+ void
2830
+ hb_font_set_var_coords_normalized (hb_font_t *font,
2831
+ const int *coords, /* 2.14 normalized */
2832
+ unsigned int coords_length)
2833
+ {
2834
+ if (hb_object_is_immutable (font))
2835
+ return;
2836
+
2837
+ font->serial_coords = ++font->serial;
2838
+
2839
+ int *copy = coords_length ? (int *) hb_calloc (coords_length, sizeof (coords[0])) : nullptr;
2840
+ int *unmapped = coords_length ? (int *) hb_calloc (coords_length, sizeof (coords[0])) : nullptr;
2841
+ float *design_coords = coords_length ? (float *) hb_calloc (coords_length, sizeof (design_coords[0])) : nullptr;
2842
+
2843
+ if (unlikely (coords_length && !(copy && unmapped && design_coords)))
2844
+ {
2845
+ hb_free (copy);
2846
+ hb_free (unmapped);
2847
+ hb_free (design_coords);
2848
+ return;
2849
+ }
2850
+
2851
+ if (coords_length)
2852
+ {
2853
+ hb_memcpy (copy, coords, coords_length * sizeof (coords[0]));
2854
+ hb_memcpy (unmapped, coords, coords_length * sizeof (coords[0]));
2855
+ }
2856
+
2857
+ /* Best effort design coords simulation */
2858
+ font->face->table.avar->unmap_coords (unmapped, coords_length);
2859
+ for (unsigned int i = 0; i < coords_length; ++i)
2860
+ design_coords[i] = font->face->table.fvar->unnormalize_axis_value (i, unmapped[i]);
2861
+ hb_free (unmapped);
2862
+
2863
+ _hb_font_adopt_var_coords (font, copy, design_coords, coords_length);
2864
+ }
2865
+
2866
+ /**
2867
+ * hb_font_get_var_coords_normalized:
2868
+ * @font: #hb_font_t to work upon
2869
+ * @length: (out): Number of coordinates retrieved
2870
+ *
2871
+ * Fetches the list of normalized variation coordinates currently
2872
+ * set on a font.
2873
+ *
2874
+ * Note that this returned array may only contain values for some
2875
+ * (or none) of the axes; omitted axes effectively have zero values.
2876
+ *
2877
+ * Return value is valid as long as variation coordinates of the font
2878
+ * are not modified.
2879
+ *
2880
+ * Return value: coordinates array
2881
+ *
2882
+ * Since: 1.4.2
2883
+ */
2884
+ const int *
2885
+ hb_font_get_var_coords_normalized (hb_font_t *font,
2886
+ unsigned int *length)
2887
+ {
2888
+ if (length)
2889
+ *length = font->num_coords;
2890
+
2891
+ return font->coords;
2892
+ }
2893
+
2894
+ /**
2895
+ * hb_font_get_var_coords_design:
2896
+ * @font: #hb_font_t to work upon
2897
+ * @length: (out): Number of coordinates retrieved
2898
+ *
2899
+ * Fetches the list of variation coordinates (in design-space units) currently
2900
+ * set on a font.
2901
+ *
2902
+ * Note that this returned array may only contain values for some
2903
+ * (or none) of the axes; omitted axes effectively have their default
2904
+ * values.
2905
+ *
2906
+ * Return value is valid as long as variation coordinates of the font
2907
+ * are not modified.
2908
+ *
2909
+ * Return value: coordinates array
2910
+ *
2911
+ * Since: 3.3.0
2912
+ */
2913
+ const float *
2914
+ hb_font_get_var_coords_design (hb_font_t *font,
2915
+ unsigned int *length)
2916
+ {
2917
+ if (length)
2918
+ *length = font->num_coords;
2919
+
2920
+ return font->design_coords;
2921
+ }
2922
+ #endif
2923
+
2924
+ #ifndef HB_DISABLE_DEPRECATED
2925
+ /*
2926
+ * Deprecated get_glyph_func():
2927
+ */
2928
+
2929
+ struct hb_trampoline_closure_t
2930
+ {
2931
+ void *user_data;
2932
+ hb_destroy_func_t destroy;
2933
+ unsigned int ref_count;
2934
+ };
2935
+
2936
+ template <typename FuncType>
2937
+ struct hb_trampoline_t
2938
+ {
2939
+ hb_trampoline_closure_t closure; /* Must be first. */
2940
+ FuncType func;
2941
+ };
2942
+
2943
+ template <typename FuncType>
2944
+ static hb_trampoline_t<FuncType> *
2945
+ trampoline_create (FuncType func,
2946
+ void *user_data,
2947
+ hb_destroy_func_t destroy)
2948
+ {
2949
+ typedef hb_trampoline_t<FuncType> trampoline_t;
2950
+
2951
+ trampoline_t *trampoline = (trampoline_t *) hb_calloc (1, sizeof (trampoline_t));
2952
+
2953
+ if (unlikely (!trampoline))
2954
+ return nullptr;
2955
+
2956
+ trampoline->closure.user_data = user_data;
2957
+ trampoline->closure.destroy = destroy;
2958
+ trampoline->closure.ref_count = 1;
2959
+ trampoline->func = func;
2960
+
2961
+ return trampoline;
2962
+ }
2963
+
2964
+ static void
2965
+ trampoline_reference (hb_trampoline_closure_t *closure)
2966
+ {
2967
+ closure->ref_count++;
2968
+ }
2969
+
2970
+ static void
2971
+ trampoline_destroy (void *user_data)
2972
+ {
2973
+ hb_trampoline_closure_t *closure = (hb_trampoline_closure_t *) user_data;
2974
+
2975
+ if (--closure->ref_count)
2976
+ return;
2977
+
2978
+ if (closure->destroy)
2979
+ closure->destroy (closure->user_data);
2980
+ hb_free (closure);
2981
+ }
2982
+
2983
+ typedef hb_trampoline_t<hb_font_get_glyph_func_t> hb_font_get_glyph_trampoline_t;
2984
+
2985
+ static hb_bool_t
2986
+ hb_font_get_nominal_glyph_trampoline (hb_font_t *font,
2987
+ void *font_data,
2988
+ hb_codepoint_t unicode,
2989
+ hb_codepoint_t *glyph,
2990
+ void *user_data)
2991
+ {
2992
+ hb_font_get_glyph_trampoline_t *trampoline = (hb_font_get_glyph_trampoline_t *) user_data;
2993
+ return trampoline->func (font, font_data, unicode, 0, glyph, trampoline->closure.user_data);
2994
+ }
2995
+
2996
+ static hb_bool_t
2997
+ hb_font_get_variation_glyph_trampoline (hb_font_t *font,
2998
+ void *font_data,
2999
+ hb_codepoint_t unicode,
3000
+ hb_codepoint_t variation_selector,
3001
+ hb_codepoint_t *glyph,
3002
+ void *user_data)
3003
+ {
3004
+ hb_font_get_glyph_trampoline_t *trampoline = (hb_font_get_glyph_trampoline_t *) user_data;
3005
+ return trampoline->func (font, font_data, unicode, variation_selector, glyph, trampoline->closure.user_data);
3006
+ }
3007
+
3008
+ /**
3009
+ * hb_font_funcs_set_glyph_func:
3010
+ * @ffuncs: The font-functions structure
3011
+ * @func: (closure user_data) (destroy destroy) (scope notified): callback function
3012
+ * @user_data: data to pass to @func
3013
+ * @destroy: (nullable): function to call when @user_data is not needed anymore
3014
+ *
3015
+ * Deprecated. Use hb_font_funcs_set_nominal_glyph_func() and
3016
+ * hb_font_funcs_set_variation_glyph_func() instead.
3017
+ *
3018
+ * Since: 0.9.2
3019
+ * Deprecated: 1.2.3
3020
+ **/
3021
+ void
3022
+ hb_font_funcs_set_glyph_func (hb_font_funcs_t *ffuncs,
3023
+ hb_font_get_glyph_func_t func,
3024
+ void *user_data,
3025
+ hb_destroy_func_t destroy /* May be NULL. */)
3026
+ {
3027
+ if (hb_object_is_immutable (ffuncs))
3028
+ {
3029
+ if (destroy)
3030
+ destroy (user_data);
3031
+ return;
3032
+ }
3033
+
3034
+ hb_font_get_glyph_trampoline_t *trampoline;
3035
+
3036
+ trampoline = trampoline_create (func, user_data, destroy);
3037
+ if (unlikely (!trampoline))
3038
+ {
3039
+ if (destroy)
3040
+ destroy (user_data);
3041
+ return;
3042
+ }
3043
+
3044
+ /* Since we pass it to two destroying functions. */
3045
+ trampoline_reference (&trampoline->closure);
3046
+
3047
+ hb_font_funcs_set_nominal_glyph_func (ffuncs,
3048
+ hb_font_get_nominal_glyph_trampoline,
3049
+ trampoline,
3050
+ trampoline_destroy);
3051
+
3052
+ hb_font_funcs_set_variation_glyph_func (ffuncs,
3053
+ hb_font_get_variation_glyph_trampoline,
3054
+ trampoline,
3055
+ trampoline_destroy);
3056
+ }
3057
+ #endif
3058
+
3059
+
3060
+ #ifndef HB_DISABLE_DEPRECATED
3061
+ void
3062
+ hb_font_funcs_set_glyph_shape_func (hb_font_funcs_t *ffuncs,
3063
+ hb_font_get_glyph_shape_func_t func,
3064
+ void *user_data,
3065
+ hb_destroy_func_t destroy /* May be NULL. */)
3066
+ {
3067
+ hb_font_funcs_set_draw_glyph_func (ffuncs, func, user_data, destroy);
3068
+ }
3069
+ #endif