react-native-tgfx 0.0.0 → 0.0.2-alpha.0

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 (1792) hide show
  1. package/LICENSE +21 -0
  2. package/NOTICE +141 -0
  3. package/NitroTgfx.podspec +69 -0
  4. package/README.md +147 -2
  5. package/android/CMakeLists.txt +122 -0
  6. package/android/build.gradle +172 -0
  7. package/android/consumer-rules.pro +7 -0
  8. package/android/fix-prefab.gradle +51 -0
  9. package/android/gradle.properties +5 -0
  10. package/android/src/main/AndroidManifest.xml +2 -0
  11. package/android/src/main/cpp/TgfxAndroid.cpp +347 -0
  12. package/android/src/main/cpp/cpp-adapter.cpp +11 -0
  13. package/android/src/main/java/com/margelo/nitro/tgfx/HybridTgfxView.kt +139 -0
  14. package/android/src/main/java/com/margelo/nitro/tgfx/NitroTgfxPackage.kt +24 -0
  15. package/android/src/main/java/com/margelo/nitro/tgfx/TgfxNative.kt +49 -0
  16. package/android/src/main/java/com/margelo/nitro/tgfx/TgfxRenderTarget.kt +158 -0
  17. package/android/src/main/java/com/margelo/nitro/tgfx/TgfxSurfaceView.kt +43 -0
  18. package/android/src/main/java/com/margelo/nitro/tgfx/TgfxTextureView.kt +37 -0
  19. package/cpp/Base64.hpp +49 -0
  20. package/cpp/FontRegistry.cpp +379 -0
  21. package/cpp/FontRegistry.hpp +80 -0
  22. package/cpp/HybridTgfxFonts.cpp +135 -0
  23. package/cpp/HybridTgfxFonts.hpp +29 -0
  24. package/cpp/HybridTgfxImage.hpp +54 -0
  25. package/cpp/HybridTgfxImageFactory.cpp +126 -0
  26. package/cpp/HybridTgfxImageFactory.hpp +27 -0
  27. package/cpp/HybridTgfxSlotsFactory.hpp +37 -0
  28. package/cpp/IdleGate.hpp +46 -0
  29. package/cpp/ImageRegistry.cpp +306 -0
  30. package/cpp/ImageRegistry.hpp +120 -0
  31. package/cpp/Log.hpp +18 -0
  32. package/cpp/SceneHash.hpp +55 -0
  33. package/cpp/SceneStrings.hpp +45 -0
  34. package/cpp/Snapshot.hpp +110 -0
  35. package/cpp/SvgPath.cpp +315 -0
  36. package/cpp/SvgPath.hpp +13 -0
  37. package/cpp/TextLayout.cpp +568 -0
  38. package/cpp/TextLayout.hpp +102 -0
  39. package/cpp/TgfxFrameSink.cpp +46 -0
  40. package/cpp/TgfxFrameSink.hpp +29 -0
  41. package/cpp/TgfxRenderer.cpp +439 -0
  42. package/cpp/TgfxRenderer.hpp +125 -0
  43. package/cpp/TgfxScene.cpp +1119 -0
  44. package/cpp/TgfxScene.hpp +207 -0
  45. package/cpp/Trace.hpp +26 -0
  46. package/cpp/third_party/tgfx/CMakeLists.txt +909 -0
  47. package/cpp/third_party/tgfx/DEPS +123 -0
  48. package/cpp/third_party/tgfx/LICENSE.txt +825 -0
  49. package/cpp/third_party/tgfx/README.md +488 -0
  50. package/cpp/third_party/tgfx/android/.idea/fileTemplates/includes/TGFX File Header.h +17 -0
  51. package/cpp/third_party/tgfx/android/.idea/misc.xml +14 -0
  52. package/cpp/third_party/tgfx/android/app/CMakeLists.txt +25 -0
  53. package/cpp/third_party/tgfx/android/app/build.gradle.kts +84 -0
  54. package/cpp/third_party/tgfx/android/app/proguard-rules.pro +21 -0
  55. package/cpp/third_party/tgfx/android/app/src/androidTest/java/org/tgfx/hello/ExampleInstrumentedTest.kt +24 -0
  56. package/cpp/third_party/tgfx/android/app/src/main/AndroidManifest.xml +24 -0
  57. package/cpp/third_party/tgfx/android/app/src/main/cpp/JNIHelper.cpp +29 -0
  58. package/cpp/third_party/tgfx/android/app/src/main/cpp/JTGFXView.cpp +251 -0
  59. package/cpp/third_party/tgfx/android/app/src/main/cpp/JTGFXView.h +66 -0
  60. package/cpp/third_party/tgfx/android/app/src/main/ic_launcher-playstore.png +0 -0
  61. package/cpp/third_party/tgfx/android/app/src/main/java/org/tgfx/hello2d/MainActivity.kt +100 -0
  62. package/cpp/third_party/tgfx/android/app/src/main/java/org/tgfx/hello2d/TGFXView.kt +176 -0
  63. package/cpp/third_party/tgfx/android/app/src/main/res/drawable/ic_launcher_background.xml +74 -0
  64. package/cpp/third_party/tgfx/android/app/src/main/res/layout/activity_main.xml +12 -0
  65. package/cpp/third_party/tgfx/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml +5 -0
  66. package/cpp/third_party/tgfx/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml +5 -0
  67. package/cpp/third_party/tgfx/android/app/src/main/res/mipmap-hdpi/ic_launcher.webp +0 -0
  68. package/cpp/third_party/tgfx/android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.webp +0 -0
  69. package/cpp/third_party/tgfx/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp +0 -0
  70. package/cpp/third_party/tgfx/android/app/src/main/res/mipmap-mdpi/ic_launcher.webp +0 -0
  71. package/cpp/third_party/tgfx/android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.webp +0 -0
  72. package/cpp/third_party/tgfx/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp +0 -0
  73. package/cpp/third_party/tgfx/android/app/src/main/res/mipmap-xhdpi/ic_launcher.webp +0 -0
  74. package/cpp/third_party/tgfx/android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.webp +0 -0
  75. package/cpp/third_party/tgfx/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp +0 -0
  76. package/cpp/third_party/tgfx/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp +0 -0
  77. package/cpp/third_party/tgfx/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.webp +0 -0
  78. package/cpp/third_party/tgfx/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp +0 -0
  79. package/cpp/third_party/tgfx/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp +0 -0
  80. package/cpp/third_party/tgfx/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.webp +0 -0
  81. package/cpp/third_party/tgfx/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp +0 -0
  82. package/cpp/third_party/tgfx/android/app/src/main/res/values/colors.xml +10 -0
  83. package/cpp/third_party/tgfx/android/app/src/main/res/values/strings.xml +3 -0
  84. package/cpp/third_party/tgfx/android/app/src/main/res/values/themes.xml +5 -0
  85. package/cpp/third_party/tgfx/android/app/src/main/res/xml/backup_rules.xml +13 -0
  86. package/cpp/third_party/tgfx/android/app/src/main/res/xml/data_extraction_rules.xml +19 -0
  87. package/cpp/third_party/tgfx/android/app/src/test/java/io/pag/tgfxdemo/ExampleUnitTest.kt +17 -0
  88. package/cpp/third_party/tgfx/android/build.gradle.kts +5 -0
  89. package/cpp/third_party/tgfx/android/gradle/wrapper/gradle-wrapper.jar +0 -0
  90. package/cpp/third_party/tgfx/android/gradle/wrapper/gradle-wrapper.properties +7 -0
  91. package/cpp/third_party/tgfx/android/gradle.properties +24 -0
  92. package/cpp/third_party/tgfx/android/gradlew +252 -0
  93. package/cpp/third_party/tgfx/android/gradlew.bat +94 -0
  94. package/cpp/third_party/tgfx/android/settings.gradle.kts +17 -0
  95. package/cpp/third_party/tgfx/include/tgfx/core/AlphaType.h +43 -0
  96. package/cpp/third_party/tgfx/include/tgfx/core/Bitmap.h +249 -0
  97. package/cpp/third_party/tgfx/include/tgfx/core/BlendMode.h +148 -0
  98. package/cpp/third_party/tgfx/include/tgfx/core/Brush.h +92 -0
  99. package/cpp/third_party/tgfx/include/tgfx/core/Buffer.h +144 -0
  100. package/cpp/third_party/tgfx/include/tgfx/core/BytesKey.h +117 -0
  101. package/cpp/third_party/tgfx/include/tgfx/core/Canvas.h +557 -0
  102. package/cpp/third_party/tgfx/include/tgfx/core/Clock.h +72 -0
  103. package/cpp/third_party/tgfx/include/tgfx/core/Color.h +232 -0
  104. package/cpp/third_party/tgfx/include/tgfx/core/ColorFilter.h +137 -0
  105. package/cpp/third_party/tgfx/include/tgfx/core/ColorSpace.h +491 -0
  106. package/cpp/third_party/tgfx/include/tgfx/core/ColorType.h +72 -0
  107. package/cpp/third_party/tgfx/include/tgfx/core/CustomTypeface.h +174 -0
  108. package/cpp/third_party/tgfx/include/tgfx/core/Data.h +118 -0
  109. package/cpp/third_party/tgfx/include/tgfx/core/DataView.h +260 -0
  110. package/cpp/third_party/tgfx/include/tgfx/core/EncodedFormat.h +28 -0
  111. package/cpp/third_party/tgfx/include/tgfx/core/Font.h +176 -0
  112. package/cpp/third_party/tgfx/include/tgfx/core/FontMetrics.h +69 -0
  113. package/cpp/third_party/tgfx/include/tgfx/core/FontStyle.h +125 -0
  114. package/cpp/third_party/tgfx/include/tgfx/core/GlyphRun.h +91 -0
  115. package/cpp/third_party/tgfx/include/tgfx/core/GradientType.h +52 -0
  116. package/cpp/third_party/tgfx/include/tgfx/core/Image.h +387 -0
  117. package/cpp/third_party/tgfx/include/tgfx/core/ImageBuffer.h +129 -0
  118. package/cpp/third_party/tgfx/include/tgfx/core/ImageCodec.h +136 -0
  119. package/cpp/third_party/tgfx/include/tgfx/core/ImageFilter.h +196 -0
  120. package/cpp/third_party/tgfx/include/tgfx/core/ImageGenerator.h +100 -0
  121. package/cpp/third_party/tgfx/include/tgfx/core/ImageInfo.h +215 -0
  122. package/cpp/third_party/tgfx/include/tgfx/core/MapDirection.h +39 -0
  123. package/cpp/third_party/tgfx/include/tgfx/core/MaskFilter.h +67 -0
  124. package/cpp/third_party/tgfx/include/tgfx/core/Matrix.h +1025 -0
  125. package/cpp/third_party/tgfx/include/tgfx/core/Matrix3D.h +395 -0
  126. package/cpp/third_party/tgfx/include/tgfx/core/Mesh.h +93 -0
  127. package/cpp/third_party/tgfx/include/tgfx/core/Orientation.h +74 -0
  128. package/cpp/third_party/tgfx/include/tgfx/core/Paint.h +266 -0
  129. package/cpp/third_party/tgfx/include/tgfx/core/Path.h +500 -0
  130. package/cpp/third_party/tgfx/include/tgfx/core/PathEffect.h +79 -0
  131. package/cpp/third_party/tgfx/include/tgfx/core/PathMeasure.h +70 -0
  132. package/cpp/third_party/tgfx/include/tgfx/core/PathProvider.h +57 -0
  133. package/cpp/third_party/tgfx/include/tgfx/core/PathTypes.h +124 -0
  134. package/cpp/third_party/tgfx/include/tgfx/core/Picture.h +115 -0
  135. package/cpp/third_party/tgfx/include/tgfx/core/PictureRecorder.h +59 -0
  136. package/cpp/third_party/tgfx/include/tgfx/core/Pixmap.h +226 -0
  137. package/cpp/third_party/tgfx/include/tgfx/core/Point.h +199 -0
  138. package/cpp/third_party/tgfx/include/tgfx/core/RRect.h +182 -0
  139. package/cpp/third_party/tgfx/include/tgfx/core/RSXform.h +118 -0
  140. package/cpp/third_party/tgfx/include/tgfx/core/Rect.h +504 -0
  141. package/cpp/third_party/tgfx/include/tgfx/core/RenderFlags.h +41 -0
  142. package/cpp/third_party/tgfx/include/tgfx/core/SamplingOptions.h +50 -0
  143. package/cpp/third_party/tgfx/include/tgfx/core/Shader.h +272 -0
  144. package/cpp/third_party/tgfx/include/tgfx/core/Shape.h +210 -0
  145. package/cpp/third_party/tgfx/include/tgfx/core/Size.h +204 -0
  146. package/cpp/third_party/tgfx/include/tgfx/core/SrcRectConstraint.h +37 -0
  147. package/cpp/third_party/tgfx/include/tgfx/core/Stream.h +109 -0
  148. package/cpp/third_party/tgfx/include/tgfx/core/Stroke.h +118 -0
  149. package/cpp/third_party/tgfx/include/tgfx/core/Surface.h +227 -0
  150. package/cpp/third_party/tgfx/include/tgfx/core/SurfaceReadback.h +93 -0
  151. package/cpp/third_party/tgfx/include/tgfx/core/Task.h +152 -0
  152. package/cpp/third_party/tgfx/include/tgfx/core/TextBlob.h +162 -0
  153. package/cpp/third_party/tgfx/include/tgfx/core/TextBlobBuilder.h +141 -0
  154. package/cpp/third_party/tgfx/include/tgfx/core/TileMode.h +47 -0
  155. package/cpp/third_party/tgfx/include/tgfx/core/Typeface.h +203 -0
  156. package/cpp/third_party/tgfx/include/tgfx/core/UTF.h +52 -0
  157. package/cpp/third_party/tgfx/include/tgfx/core/Vec.h +525 -0
  158. package/cpp/third_party/tgfx/include/tgfx/core/WriteStream.h +146 -0
  159. package/cpp/third_party/tgfx/include/tgfx/core/YUVColorSpace.h +62 -0
  160. package/cpp/third_party/tgfx/include/tgfx/core/YUVData.h +92 -0
  161. package/cpp/third_party/tgfx/include/tgfx/gpu/Attribute.h +90 -0
  162. package/cpp/third_party/tgfx/include/tgfx/gpu/Backend.h +352 -0
  163. package/cpp/third_party/tgfx/include/tgfx/gpu/BlendFactor.h +101 -0
  164. package/cpp/third_party/tgfx/include/tgfx/gpu/BlendOperation.h +57 -0
  165. package/cpp/third_party/tgfx/include/tgfx/gpu/ColorWriteMask.h +54 -0
  166. package/cpp/third_party/tgfx/include/tgfx/gpu/CommandBuffer.h +31 -0
  167. package/cpp/third_party/tgfx/include/tgfx/gpu/CommandEncoder.h +100 -0
  168. package/cpp/third_party/tgfx/include/tgfx/gpu/CommandQueue.h +105 -0
  169. package/cpp/third_party/tgfx/include/tgfx/gpu/CompareFunction.h +67 -0
  170. package/cpp/third_party/tgfx/include/tgfx/gpu/Context.h +222 -0
  171. package/cpp/third_party/tgfx/include/tgfx/gpu/Device.h +79 -0
  172. package/cpp/third_party/tgfx/include/tgfx/gpu/FilterMode.h +36 -0
  173. package/cpp/third_party/tgfx/include/tgfx/gpu/GPU.h +162 -0
  174. package/cpp/third_party/tgfx/include/tgfx/gpu/GPUBuffer.h +122 -0
  175. package/cpp/third_party/tgfx/include/tgfx/gpu/GPUFeatures.h +51 -0
  176. package/cpp/third_party/tgfx/include/tgfx/gpu/GPUInfo.h +56 -0
  177. package/cpp/third_party/tgfx/include/tgfx/gpu/GPULimits.h +55 -0
  178. package/cpp/third_party/tgfx/include/tgfx/gpu/ImageOrigin.h +41 -0
  179. package/cpp/third_party/tgfx/include/tgfx/gpu/MipmapMode.h +39 -0
  180. package/cpp/third_party/tgfx/include/tgfx/gpu/PixelFormat.h +61 -0
  181. package/cpp/third_party/tgfx/include/tgfx/gpu/Recording.h +44 -0
  182. package/cpp/third_party/tgfx/include/tgfx/gpu/RenderPass.h +363 -0
  183. package/cpp/third_party/tgfx/include/tgfx/gpu/RenderPipeline.h +440 -0
  184. package/cpp/third_party/tgfx/include/tgfx/gpu/RuntimeEffect.h +74 -0
  185. package/cpp/third_party/tgfx/include/tgfx/gpu/Sampler.h +108 -0
  186. package/cpp/third_party/tgfx/include/tgfx/gpu/Semaphore.h +37 -0
  187. package/cpp/third_party/tgfx/include/tgfx/gpu/ShaderModule.h +50 -0
  188. package/cpp/third_party/tgfx/include/tgfx/gpu/ShaderStage.h +36 -0
  189. package/cpp/third_party/tgfx/include/tgfx/gpu/ShaderVisibility.h +46 -0
  190. package/cpp/third_party/tgfx/include/tgfx/gpu/StencilOperation.h +74 -0
  191. package/cpp/third_party/tgfx/include/tgfx/gpu/Texture.h +183 -0
  192. package/cpp/third_party/tgfx/include/tgfx/gpu/Window.h +75 -0
  193. package/cpp/third_party/tgfx/include/tgfx/gpu/metal/MetalDevice.h +56 -0
  194. package/cpp/third_party/tgfx/include/tgfx/gpu/metal/MetalTypes.h +53 -0
  195. package/cpp/third_party/tgfx/include/tgfx/gpu/metal/MetalWindow.h +66 -0
  196. package/cpp/third_party/tgfx/include/tgfx/gpu/opengl/GLDevice.h +78 -0
  197. package/cpp/third_party/tgfx/include/tgfx/gpu/opengl/GLTypes.h +64 -0
  198. package/cpp/third_party/tgfx/include/tgfx/gpu/opengl/cgl/CGLDevice.h +57 -0
  199. package/cpp/third_party/tgfx/include/tgfx/gpu/opengl/cgl/CGLWindow.h +45 -0
  200. package/cpp/third_party/tgfx/include/tgfx/gpu/opengl/eagl/EAGLDevice.h +63 -0
  201. package/cpp/third_party/tgfx/include/tgfx/gpu/opengl/eagl/EAGLWindow.h +47 -0
  202. package/cpp/third_party/tgfx/include/tgfx/gpu/opengl/egl/EGLDevice.h +89 -0
  203. package/cpp/third_party/tgfx/include/tgfx/gpu/opengl/egl/EGLGlobals.h +53 -0
  204. package/cpp/third_party/tgfx/include/tgfx/gpu/opengl/egl/EGLWindow.h +59 -0
  205. package/cpp/third_party/tgfx/include/tgfx/gpu/opengl/qt/QGLDevice.h +88 -0
  206. package/cpp/third_party/tgfx/include/tgfx/gpu/opengl/qt/QGLWindow.h +92 -0
  207. package/cpp/third_party/tgfx/include/tgfx/gpu/opengl/webgl/WebGLDevice.h +54 -0
  208. package/cpp/third_party/tgfx/include/tgfx/gpu/opengl/webgl/WebGLWindow.h +42 -0
  209. package/cpp/third_party/tgfx/include/tgfx/gpu/opengl/wgl/WGLDevice.h +62 -0
  210. package/cpp/third_party/tgfx/include/tgfx/gpu/opengl/wgl/WGLWindow.h +43 -0
  211. package/cpp/third_party/tgfx/include/tgfx/gpu/vulkan/VulkanDevice.h +62 -0
  212. package/cpp/third_party/tgfx/include/tgfx/gpu/vulkan/VulkanTypes.h +69 -0
  213. package/cpp/third_party/tgfx/include/tgfx/gpu/vulkan/VulkanWindow.h +103 -0
  214. package/cpp/third_party/tgfx/include/tgfx/gpu/webgpu/WebGPUDevice.h +60 -0
  215. package/cpp/third_party/tgfx/include/tgfx/gpu/webgpu/WebGPUTypes.h +55 -0
  216. package/cpp/third_party/tgfx/include/tgfx/gpu/webgpu/WebGPUWindow.h +55 -0
  217. package/cpp/third_party/tgfx/include/tgfx/layers/DisplayList.h +407 -0
  218. package/cpp/third_party/tgfx/include/tgfx/layers/ImageLayer.h +74 -0
  219. package/cpp/third_party/tgfx/include/tgfx/layers/Layer.h +789 -0
  220. package/cpp/third_party/tgfx/include/tgfx/layers/LayerMaskType.h +39 -0
  221. package/cpp/third_party/tgfx/include/tgfx/layers/LayerPaint.h +119 -0
  222. package/cpp/third_party/tgfx/include/tgfx/layers/LayerProperty.h +66 -0
  223. package/cpp/third_party/tgfx/include/tgfx/layers/LayerRecorder.h +143 -0
  224. package/cpp/third_party/tgfx/include/tgfx/layers/LayerType.h +55 -0
  225. package/cpp/third_party/tgfx/include/tgfx/layers/MeshLayer.h +95 -0
  226. package/cpp/third_party/tgfx/include/tgfx/layers/ShapeLayer.h +265 -0
  227. package/cpp/third_party/tgfx/include/tgfx/layers/ShapeStyle.h +92 -0
  228. package/cpp/third_party/tgfx/include/tgfx/layers/SolidLayer.h +114 -0
  229. package/cpp/third_party/tgfx/include/tgfx/layers/StrokeAlign.h +39 -0
  230. package/cpp/third_party/tgfx/include/tgfx/layers/TextAlign.h +47 -0
  231. package/cpp/third_party/tgfx/include/tgfx/layers/TextLayer.h +166 -0
  232. package/cpp/third_party/tgfx/include/tgfx/layers/VectorLayer.h +72 -0
  233. package/cpp/third_party/tgfx/include/tgfx/layers/filters/BlendFilter.h +76 -0
  234. package/cpp/third_party/tgfx/include/tgfx/layers/filters/BlurFilter.h +90 -0
  235. package/cpp/third_party/tgfx/include/tgfx/layers/filters/ColorMatrixFilter.h +79 -0
  236. package/cpp/third_party/tgfx/include/tgfx/layers/filters/DropShadowFilter.h +132 -0
  237. package/cpp/third_party/tgfx/include/tgfx/layers/filters/InnerShadowFilter.h +133 -0
  238. package/cpp/third_party/tgfx/include/tgfx/layers/filters/LayerFilter.h +101 -0
  239. package/cpp/third_party/tgfx/include/tgfx/layers/filters/LayerImageFilter.h +55 -0
  240. package/cpp/third_party/tgfx/include/tgfx/layers/filters/NoiseFilter.h +285 -0
  241. package/cpp/third_party/tgfx/include/tgfx/layers/layerstyles/BackgroundBlurStyle.h +106 -0
  242. package/cpp/third_party/tgfx/include/tgfx/layers/layerstyles/DropShadowStyle.h +165 -0
  243. package/cpp/third_party/tgfx/include/tgfx/layers/layerstyles/GlassStyle.h +168 -0
  244. package/cpp/third_party/tgfx/include/tgfx/layers/layerstyles/InnerShadowStyle.h +149 -0
  245. package/cpp/third_party/tgfx/include/tgfx/layers/layerstyles/LayerStyle.h +166 -0
  246. package/cpp/third_party/tgfx/include/tgfx/layers/layerstyles/LayerStyleInput.h +139 -0
  247. package/cpp/third_party/tgfx/include/tgfx/layers/layerstyles/NoiseStyle.h +241 -0
  248. package/cpp/third_party/tgfx/include/tgfx/layers/layerstyles/StyledShape.h +84 -0
  249. package/cpp/third_party/tgfx/include/tgfx/layers/vectors/ColorSource.h +64 -0
  250. package/cpp/third_party/tgfx/include/tgfx/layers/vectors/Ellipse.h +91 -0
  251. package/cpp/third_party/tgfx/include/tgfx/layers/vectors/FillStyle.h +135 -0
  252. package/cpp/third_party/tgfx/include/tgfx/layers/vectors/Gradient.h +418 -0
  253. package/cpp/third_party/tgfx/include/tgfx/layers/vectors/ImagePattern.h +160 -0
  254. package/cpp/third_party/tgfx/include/tgfx/layers/vectors/MergePath.h +87 -0
  255. package/cpp/third_party/tgfx/include/tgfx/layers/vectors/Polystar.h +182 -0
  256. package/cpp/third_party/tgfx/include/tgfx/layers/vectors/Rectangle.h +118 -0
  257. package/cpp/third_party/tgfx/include/tgfx/layers/vectors/Repeater.h +184 -0
  258. package/cpp/third_party/tgfx/include/tgfx/layers/vectors/RoundCorner.h +65 -0
  259. package/cpp/third_party/tgfx/include/tgfx/layers/vectors/ScaleMode.h +54 -0
  260. package/cpp/third_party/tgfx/include/tgfx/layers/vectors/ShapePath.h +91 -0
  261. package/cpp/third_party/tgfx/include/tgfx/layers/vectors/SolidColor.h +71 -0
  262. package/cpp/third_party/tgfx/include/tgfx/layers/vectors/StrokeStyle.h +216 -0
  263. package/cpp/third_party/tgfx/include/tgfx/layers/vectors/Text.h +97 -0
  264. package/cpp/third_party/tgfx/include/tgfx/layers/vectors/TextModifier.h +215 -0
  265. package/cpp/third_party/tgfx/include/tgfx/layers/vectors/TextPath.h +165 -0
  266. package/cpp/third_party/tgfx/include/tgfx/layers/vectors/TextSelector.h +289 -0
  267. package/cpp/third_party/tgfx/include/tgfx/layers/vectors/TrimPath.h +117 -0
  268. package/cpp/third_party/tgfx/include/tgfx/layers/vectors/VectorElement.h +81 -0
  269. package/cpp/third_party/tgfx/include/tgfx/layers/vectors/VectorGroup.h +171 -0
  270. package/cpp/third_party/tgfx/include/tgfx/pdf/PDFDocument.h +75 -0
  271. package/cpp/third_party/tgfx/include/tgfx/pdf/PDFMetadata.h +252 -0
  272. package/cpp/third_party/tgfx/include/tgfx/platform/HardwareBuffer.h +158 -0
  273. package/cpp/third_party/tgfx/include/tgfx/platform/ImageReader.h +92 -0
  274. package/cpp/third_party/tgfx/include/tgfx/platform/NativeImage.h +53 -0
  275. package/cpp/third_party/tgfx/include/tgfx/platform/Print.h +31 -0
  276. package/cpp/third_party/tgfx/include/tgfx/platform/android/AndroidBitmap.h +56 -0
  277. package/cpp/third_party/tgfx/include/tgfx/platform/android/Global.h +82 -0
  278. package/cpp/third_party/tgfx/include/tgfx/platform/android/HardwareBufferJNI.h +37 -0
  279. package/cpp/third_party/tgfx/include/tgfx/platform/android/JNIEnvironment.h +67 -0
  280. package/cpp/third_party/tgfx/include/tgfx/platform/android/SurfaceTextureReader.h +58 -0
  281. package/cpp/third_party/tgfx/include/tgfx/platform/apple/CTTypeface.h +43 -0
  282. package/cpp/third_party/tgfx/include/tgfx/platform/ohos/OHOSPixelMap.h +42 -0
  283. package/cpp/third_party/tgfx/include/tgfx/platform/web/VideoElementReader.h +40 -0
  284. package/cpp/third_party/tgfx/include/tgfx/svg/SVGAttribute.h +122 -0
  285. package/cpp/third_party/tgfx/include/tgfx/svg/SVGCustomParser.h +42 -0
  286. package/cpp/third_party/tgfx/include/tgfx/svg/SVGCustomWriter.h +59 -0
  287. package/cpp/third_party/tgfx/include/tgfx/svg/SVGDOM.h +108 -0
  288. package/cpp/third_party/tgfx/include/tgfx/svg/SVGExporter.h +150 -0
  289. package/cpp/third_party/tgfx/include/tgfx/svg/SVGLengthContext.h +109 -0
  290. package/cpp/third_party/tgfx/include/tgfx/svg/SVGPathParser.h +55 -0
  291. package/cpp/third_party/tgfx/include/tgfx/svg/SVGTypes.h +939 -0
  292. package/cpp/third_party/tgfx/include/tgfx/svg/SVGValue.h +95 -0
  293. package/cpp/third_party/tgfx/include/tgfx/svg/TextShaper.h +53 -0
  294. package/cpp/third_party/tgfx/include/tgfx/svg/node/SVGCircle.h +65 -0
  295. package/cpp/third_party/tgfx/include/tgfx/svg/node/SVGClipPath.h +51 -0
  296. package/cpp/third_party/tgfx/include/tgfx/svg/node/SVGContainer.h +61 -0
  297. package/cpp/third_party/tgfx/include/tgfx/svg/node/SVGDefs.h +39 -0
  298. package/cpp/third_party/tgfx/include/tgfx/svg/node/SVGEllipse.h +63 -0
  299. package/cpp/third_party/tgfx/include/tgfx/svg/node/SVGFe.h +104 -0
  300. package/cpp/third_party/tgfx/include/tgfx/svg/node/SVGFeBlend.h +64 -0
  301. package/cpp/third_party/tgfx/include/tgfx/svg/node/SVGFeColorMatrix.h +67 -0
  302. package/cpp/third_party/tgfx/include/tgfx/svg/node/SVGFeComponentTransfer.h +95 -0
  303. package/cpp/third_party/tgfx/include/tgfx/svg/node/SVGFeComposite.h +61 -0
  304. package/cpp/third_party/tgfx/include/tgfx/svg/node/SVGFeDisplacementMap.h +70 -0
  305. package/cpp/third_party/tgfx/include/tgfx/svg/node/SVGFeFlood.h +56 -0
  306. package/cpp/third_party/tgfx/include/tgfx/svg/node/SVGFeGaussianBlur.h +62 -0
  307. package/cpp/third_party/tgfx/include/tgfx/svg/node/SVGFeImage.h +58 -0
  308. package/cpp/third_party/tgfx/include/tgfx/svg/node/SVGFeLightSource.h +105 -0
  309. package/cpp/third_party/tgfx/include/tgfx/svg/node/SVGFeLighting.h +100 -0
  310. package/cpp/third_party/tgfx/include/tgfx/svg/node/SVGFeMerge.h +71 -0
  311. package/cpp/third_party/tgfx/include/tgfx/svg/node/SVGFeMorphology.h +65 -0
  312. package/cpp/third_party/tgfx/include/tgfx/svg/node/SVGFeOffset.h +58 -0
  313. package/cpp/third_party/tgfx/include/tgfx/svg/node/SVGFeTurbulence.h +59 -0
  314. package/cpp/third_party/tgfx/include/tgfx/svg/node/SVGFilter.h +64 -0
  315. package/cpp/third_party/tgfx/include/tgfx/svg/node/SVGGradient.h +61 -0
  316. package/cpp/third_party/tgfx/include/tgfx/svg/node/SVGGroup.h +37 -0
  317. package/cpp/third_party/tgfx/include/tgfx/svg/node/SVGHiddenContainer.h +37 -0
  318. package/cpp/third_party/tgfx/include/tgfx/svg/node/SVGImage.h +75 -0
  319. package/cpp/third_party/tgfx/include/tgfx/svg/node/SVGLine.h +63 -0
  320. package/cpp/third_party/tgfx/include/tgfx/svg/node/SVGLinearGradient.h +53 -0
  321. package/cpp/third_party/tgfx/include/tgfx/svg/node/SVGMask.h +60 -0
  322. package/cpp/third_party/tgfx/include/tgfx/svg/node/SVGNode.h +302 -0
  323. package/cpp/third_party/tgfx/include/tgfx/svg/node/SVGPath.h +56 -0
  324. package/cpp/third_party/tgfx/include/tgfx/svg/node/SVGPattern.h +68 -0
  325. package/cpp/third_party/tgfx/include/tgfx/svg/node/SVGPoly.h +64 -0
  326. package/cpp/third_party/tgfx/include/tgfx/svg/node/SVGRadialGradient.h +55 -0
  327. package/cpp/third_party/tgfx/include/tgfx/svg/node/SVGRect.h +67 -0
  328. package/cpp/third_party/tgfx/include/tgfx/svg/node/SVGRoot.h +69 -0
  329. package/cpp/third_party/tgfx/include/tgfx/svg/node/SVGShape.h +54 -0
  330. package/cpp/third_party/tgfx/include/tgfx/svg/node/SVGStop.h +47 -0
  331. package/cpp/third_party/tgfx/include/tgfx/svg/node/SVGText.h +158 -0
  332. package/cpp/third_party/tgfx/include/tgfx/svg/node/SVGTransformableNode.h +58 -0
  333. package/cpp/third_party/tgfx/include/tgfx/svg/node/SVGUse.h +61 -0
  334. package/cpp/third_party/tgfx/include/tgfx/svg/xml/XMLDOM.h +115 -0
  335. package/cpp/third_party/tgfx/ios/gen_ios +18 -0
  336. package/cpp/third_party/tgfx/ios/gen_simulator +18 -0
  337. package/cpp/third_party/tgfx/ios/metal/Hello2D/AppDelegate.h +23 -0
  338. package/cpp/third_party/tgfx/ios/metal/Hello2D/AppDelegate.m +52 -0
  339. package/cpp/third_party/tgfx/ios/metal/Hello2D/Assets.xcassets/AccentColor.colorset/Contents.json +11 -0
  340. package/cpp/third_party/tgfx/ios/metal/Hello2D/Assets.xcassets/AppIcon.appiconset/Contents.json +14 -0
  341. package/cpp/third_party/tgfx/ios/metal/Hello2D/Assets.xcassets/AppIcon.appiconset/tgfx.png +0 -0
  342. package/cpp/third_party/tgfx/ios/metal/Hello2D/Assets.xcassets/Contents.json +6 -0
  343. package/cpp/third_party/tgfx/ios/metal/Hello2D/Base.lproj/LaunchScreen.storyboard +25 -0
  344. package/cpp/third_party/tgfx/ios/metal/Hello2D/Base.lproj/Main.storyboard +48 -0
  345. package/cpp/third_party/tgfx/ios/metal/Hello2D/Info.plist +25 -0
  346. package/cpp/third_party/tgfx/ios/metal/Hello2D/SceneDelegate.h +25 -0
  347. package/cpp/third_party/tgfx/ios/metal/Hello2D/SceneDelegate.m +66 -0
  348. package/cpp/third_party/tgfx/ios/metal/Hello2D/TGFXView.h +31 -0
  349. package/cpp/third_party/tgfx/ios/metal/Hello2D/TGFXView.mm +187 -0
  350. package/cpp/third_party/tgfx/ios/metal/Hello2D/ViewController.h +23 -0
  351. package/cpp/third_party/tgfx/ios/metal/Hello2D/ViewController.mm +165 -0
  352. package/cpp/third_party/tgfx/ios/metal/Hello2D/main.m +29 -0
  353. package/cpp/third_party/tgfx/ios/metal/Hello2D.xcodeproj/project.pbxproj +441 -0
  354. package/cpp/third_party/tgfx/ios/opengl/Hello2D/AppDelegate.h +23 -0
  355. package/cpp/third_party/tgfx/ios/opengl/Hello2D/AppDelegate.m +52 -0
  356. package/cpp/third_party/tgfx/ios/opengl/Hello2D/Assets.xcassets/AccentColor.colorset/Contents.json +11 -0
  357. package/cpp/third_party/tgfx/ios/opengl/Hello2D/Assets.xcassets/AppIcon.appiconset/Contents.json +14 -0
  358. package/cpp/third_party/tgfx/ios/opengl/Hello2D/Assets.xcassets/AppIcon.appiconset/tgfx.png +0 -0
  359. package/cpp/third_party/tgfx/ios/opengl/Hello2D/Assets.xcassets/Contents.json +6 -0
  360. package/cpp/third_party/tgfx/ios/opengl/Hello2D/Base.lproj/LaunchScreen.storyboard +25 -0
  361. package/cpp/third_party/tgfx/ios/opengl/Hello2D/Base.lproj/Main.storyboard +48 -0
  362. package/cpp/third_party/tgfx/ios/opengl/Hello2D/Info.plist +25 -0
  363. package/cpp/third_party/tgfx/ios/opengl/Hello2D/SceneDelegate.h +25 -0
  364. package/cpp/third_party/tgfx/ios/opengl/Hello2D/SceneDelegate.m +66 -0
  365. package/cpp/third_party/tgfx/ios/opengl/Hello2D/TGFXView.h +31 -0
  366. package/cpp/third_party/tgfx/ios/opengl/Hello2D/TGFXView.mm +181 -0
  367. package/cpp/third_party/tgfx/ios/opengl/Hello2D/ViewController.h +23 -0
  368. package/cpp/third_party/tgfx/ios/opengl/Hello2D/ViewController.mm +165 -0
  369. package/cpp/third_party/tgfx/ios/opengl/Hello2D/main.m +29 -0
  370. package/cpp/third_party/tgfx/ios/opengl/Hello2D.xcodeproj/project.pbxproj +442 -0
  371. package/cpp/third_party/tgfx/mac/gen_mac +18 -0
  372. package/cpp/third_party/tgfx/mac/metal/Hello2D/AppDelegate.h +23 -0
  373. package/cpp/third_party/tgfx/mac/metal/Hello2D/AppDelegate.m +35 -0
  374. package/cpp/third_party/tgfx/mac/metal/Hello2D/Assets.xcassets/AppIcon.appiconset/1024.png +0 -0
  375. package/cpp/third_party/tgfx/mac/metal/Hello2D/Assets.xcassets/AppIcon.appiconset/128.png +0 -0
  376. package/cpp/third_party/tgfx/mac/metal/Hello2D/Assets.xcassets/AppIcon.appiconset/16.png +0 -0
  377. package/cpp/third_party/tgfx/mac/metal/Hello2D/Assets.xcassets/AppIcon.appiconset/256.png +0 -0
  378. package/cpp/third_party/tgfx/mac/metal/Hello2D/Assets.xcassets/AppIcon.appiconset/32.png +0 -0
  379. package/cpp/third_party/tgfx/mac/metal/Hello2D/Assets.xcassets/AppIcon.appiconset/512.png +0 -0
  380. package/cpp/third_party/tgfx/mac/metal/Hello2D/Assets.xcassets/AppIcon.appiconset/64.png +0 -0
  381. package/cpp/third_party/tgfx/mac/metal/Hello2D/Assets.xcassets/AppIcon.appiconset/Contents.json +68 -0
  382. package/cpp/third_party/tgfx/mac/metal/Hello2D/Assets.xcassets/Contents.json +6 -0
  383. package/cpp/third_party/tgfx/mac/metal/Hello2D/Base.lproj/Main.storyboard +718 -0
  384. package/cpp/third_party/tgfx/mac/metal/Hello2D/Hello2D.entitlements +10 -0
  385. package/cpp/third_party/tgfx/mac/metal/Hello2D/Info.plist +36 -0
  386. package/cpp/third_party/tgfx/mac/metal/Hello2D/TGFXView.h +37 -0
  387. package/cpp/third_party/tgfx/mac/metal/Hello2D/TGFXView.mm +251 -0
  388. package/cpp/third_party/tgfx/mac/metal/Hello2D/ViewController.h +23 -0
  389. package/cpp/third_party/tgfx/mac/metal/Hello2D/ViewController.mm +60 -0
  390. package/cpp/third_party/tgfx/mac/metal/Hello2D/WindowController.h +27 -0
  391. package/cpp/third_party/tgfx/mac/metal/Hello2D/WindowController.mm +35 -0
  392. package/cpp/third_party/tgfx/mac/metal/Hello2D/main.m +26 -0
  393. package/cpp/third_party/tgfx/mac/metal/Hello2D.xcodeproj/project.pbxproj +405 -0
  394. package/cpp/third_party/tgfx/mac/opengl/Hello2D/AppDelegate.h +23 -0
  395. package/cpp/third_party/tgfx/mac/opengl/Hello2D/AppDelegate.m +35 -0
  396. package/cpp/third_party/tgfx/mac/opengl/Hello2D/Assets.xcassets/AppIcon.appiconset/1024.png +0 -0
  397. package/cpp/third_party/tgfx/mac/opengl/Hello2D/Assets.xcassets/AppIcon.appiconset/128.png +0 -0
  398. package/cpp/third_party/tgfx/mac/opengl/Hello2D/Assets.xcassets/AppIcon.appiconset/16.png +0 -0
  399. package/cpp/third_party/tgfx/mac/opengl/Hello2D/Assets.xcassets/AppIcon.appiconset/256.png +0 -0
  400. package/cpp/third_party/tgfx/mac/opengl/Hello2D/Assets.xcassets/AppIcon.appiconset/32.png +0 -0
  401. package/cpp/third_party/tgfx/mac/opengl/Hello2D/Assets.xcassets/AppIcon.appiconset/512.png +0 -0
  402. package/cpp/third_party/tgfx/mac/opengl/Hello2D/Assets.xcassets/AppIcon.appiconset/64.png +0 -0
  403. package/cpp/third_party/tgfx/mac/opengl/Hello2D/Assets.xcassets/AppIcon.appiconset/Contents.json +68 -0
  404. package/cpp/third_party/tgfx/mac/opengl/Hello2D/Assets.xcassets/Contents.json +6 -0
  405. package/cpp/third_party/tgfx/mac/opengl/Hello2D/Base.lproj/Main.storyboard +718 -0
  406. package/cpp/third_party/tgfx/mac/opengl/Hello2D/Hello2D.entitlements +10 -0
  407. package/cpp/third_party/tgfx/mac/opengl/Hello2D/Info.plist +36 -0
  408. package/cpp/third_party/tgfx/mac/opengl/Hello2D/TGFXView.h +39 -0
  409. package/cpp/third_party/tgfx/mac/opengl/Hello2D/TGFXView.mm +316 -0
  410. package/cpp/third_party/tgfx/mac/opengl/Hello2D/ViewController.h +23 -0
  411. package/cpp/third_party/tgfx/mac/opengl/Hello2D/ViewController.mm +61 -0
  412. package/cpp/third_party/tgfx/mac/opengl/Hello2D/WindowController.h +27 -0
  413. package/cpp/third_party/tgfx/mac/opengl/Hello2D/WindowController.mm +35 -0
  414. package/cpp/third_party/tgfx/mac/opengl/Hello2D/main.m +26 -0
  415. package/cpp/third_party/tgfx/mac/opengl/Hello2D.xcodeproj/project.pbxproj +402 -0
  416. package/cpp/third_party/tgfx/src/core/AdaptiveDashEffect.cpp +245 -0
  417. package/cpp/third_party/tgfx/src/core/AdaptiveDashEffect.h +37 -0
  418. package/cpp/third_party/tgfx/src/core/AdvancedTypefaceInfo.h +86 -0
  419. package/cpp/third_party/tgfx/src/core/Atlas.cpp +262 -0
  420. package/cpp/third_party/tgfx/src/core/Atlas.h +95 -0
  421. package/cpp/third_party/tgfx/src/core/AtlasManager.cpp +99 -0
  422. package/cpp/third_party/tgfx/src/core/AtlasManager.h +60 -0
  423. package/cpp/third_party/tgfx/src/core/AtlasStrikeCache.cpp +108 -0
  424. package/cpp/third_party/tgfx/src/core/AtlasStrikeCache.h +99 -0
  425. package/cpp/third_party/tgfx/src/core/AtlasTypes.cpp +82 -0
  426. package/cpp/third_party/tgfx/src/core/AtlasTypes.h +279 -0
  427. package/cpp/third_party/tgfx/src/core/Bitmap.cpp +131 -0
  428. package/cpp/third_party/tgfx/src/core/BoxFilterDownsample.cpp +449 -0
  429. package/cpp/third_party/tgfx/src/core/BoxFilterDownsample.h +49 -0
  430. package/cpp/third_party/tgfx/src/core/BoxFilterDownsampleSIMD.cpp +416 -0
  431. package/cpp/third_party/tgfx/src/core/BoxFilterDownsampleSIMD.h +40 -0
  432. package/cpp/third_party/tgfx/src/core/Brush.cpp +76 -0
  433. package/cpp/third_party/tgfx/src/core/Canvas.cpp +781 -0
  434. package/cpp/third_party/tgfx/src/core/CanvasState.cpp +30 -0
  435. package/cpp/third_party/tgfx/src/core/CanvasState.h +46 -0
  436. package/cpp/third_party/tgfx/src/core/Checksum.cpp +127 -0
  437. package/cpp/third_party/tgfx/src/core/Checksum.h +35 -0
  438. package/cpp/third_party/tgfx/src/core/ClipStack.cpp +720 -0
  439. package/cpp/third_party/tgfx/src/core/ClipStack.h +252 -0
  440. package/cpp/third_party/tgfx/src/core/Color.cpp +54 -0
  441. package/cpp/third_party/tgfx/src/core/ColorSpace.cpp +836 -0
  442. package/cpp/third_party/tgfx/src/core/ColorSpaceXformSteps.cpp +286 -0
  443. package/cpp/third_party/tgfx/src/core/ColorSpaceXformSteps.h +91 -0
  444. package/cpp/third_party/tgfx/src/core/CustomTypeface.cpp +104 -0
  445. package/cpp/third_party/tgfx/src/core/Data.cpp +95 -0
  446. package/cpp/third_party/tgfx/src/core/DataSource.h +140 -0
  447. package/cpp/third_party/tgfx/src/core/DrawContext.h +114 -0
  448. package/cpp/third_party/tgfx/src/core/Font.cpp +144 -0
  449. package/cpp/third_party/tgfx/src/core/GeometryShape.cpp +202 -0
  450. package/cpp/third_party/tgfx/src/core/GeometryShape.h +136 -0
  451. package/cpp/third_party/tgfx/src/core/GlyphRasterizer.cpp +58 -0
  452. package/cpp/third_party/tgfx/src/core/GlyphRasterizer.h +63 -0
  453. package/cpp/third_party/tgfx/src/core/GlyphTransform.cpp +110 -0
  454. package/cpp/third_party/tgfx/src/core/GlyphTransform.h +57 -0
  455. package/cpp/third_party/tgfx/src/core/GradientGenerator.cpp +78 -0
  456. package/cpp/third_party/tgfx/src/core/GradientGenerator.h +42 -0
  457. package/cpp/third_party/tgfx/src/core/HairlineTriangulator.cpp +569 -0
  458. package/cpp/third_party/tgfx/src/core/HairlineTriangulator.h +52 -0
  459. package/cpp/third_party/tgfx/src/core/ImageBuffer.cpp +95 -0
  460. package/cpp/third_party/tgfx/src/core/ImageCodec.cpp +221 -0
  461. package/cpp/third_party/tgfx/src/core/ImageFilter.cpp +116 -0
  462. package/cpp/third_party/tgfx/src/core/ImageInfo.cpp +118 -0
  463. package/cpp/third_party/tgfx/src/core/ImageSource.cpp +43 -0
  464. package/cpp/third_party/tgfx/src/core/ImageSource.h +48 -0
  465. package/cpp/third_party/tgfx/src/core/ImageUserTypeface.cpp +144 -0
  466. package/cpp/third_party/tgfx/src/core/ImageUserTypeface.h +54 -0
  467. package/cpp/third_party/tgfx/src/core/LayerUnrollContext.cpp +103 -0
  468. package/cpp/third_party/tgfx/src/core/LayerUnrollContext.h +80 -0
  469. package/cpp/third_party/tgfx/src/core/Matrix.cpp +610 -0
  470. package/cpp/third_party/tgfx/src/core/Matrix3D.cpp +469 -0
  471. package/cpp/third_party/tgfx/src/core/Matrix3DUtils.cpp +67 -0
  472. package/cpp/third_party/tgfx/src/core/Matrix3DUtils.h +89 -0
  473. package/cpp/third_party/tgfx/src/core/MatrixSIMD.cpp +350 -0
  474. package/cpp/third_party/tgfx/src/core/MatrixUtils.cpp +45 -0
  475. package/cpp/third_party/tgfx/src/core/MatrixUtils.h +33 -0
  476. package/cpp/third_party/tgfx/src/core/MeasureContext.cpp +131 -0
  477. package/cpp/third_party/tgfx/src/core/MeasureContext.h +72 -0
  478. package/cpp/third_party/tgfx/src/core/Mesh.cpp +44 -0
  479. package/cpp/third_party/tgfx/src/core/MeshBase.h +66 -0
  480. package/cpp/third_party/tgfx/src/core/NoConicsPathIterator.cpp +153 -0
  481. package/cpp/third_party/tgfx/src/core/NoConicsPathIterator.h +91 -0
  482. package/cpp/third_party/tgfx/src/core/Orientation.cpp +49 -0
  483. package/cpp/third_party/tgfx/src/core/Paint.cpp +40 -0
  484. package/cpp/third_party/tgfx/src/core/Path.cpp +716 -0
  485. package/cpp/third_party/tgfx/src/core/PathEffect.cpp +63 -0
  486. package/cpp/third_party/tgfx/src/core/PathMeasure.cpp +76 -0
  487. package/cpp/third_party/tgfx/src/core/PathProvider.cpp +43 -0
  488. package/cpp/third_party/tgfx/src/core/PathRasterizer.cpp +49 -0
  489. package/cpp/third_party/tgfx/src/core/PathRasterizer.h +61 -0
  490. package/cpp/third_party/tgfx/src/core/PathRef.cpp +58 -0
  491. package/cpp/third_party/tgfx/src/core/PathRef.h +59 -0
  492. package/cpp/third_party/tgfx/src/core/PathTriangulator.cpp +89 -0
  493. package/cpp/third_party/tgfx/src/core/PathTriangulator.h +60 -0
  494. package/cpp/third_party/tgfx/src/core/PathUserTypeface.cpp +217 -0
  495. package/cpp/third_party/tgfx/src/core/PathUserTypeface.h +53 -0
  496. package/cpp/third_party/tgfx/src/core/Picture.cpp +260 -0
  497. package/cpp/third_party/tgfx/src/core/PictureContext.cpp +263 -0
  498. package/cpp/third_party/tgfx/src/core/PictureContext.h +92 -0
  499. package/cpp/third_party/tgfx/src/core/PictureRecorder.cpp +51 -0
  500. package/cpp/third_party/tgfx/src/core/PictureRecords.h +419 -0
  501. package/cpp/third_party/tgfx/src/core/PixelBuffer.cpp +158 -0
  502. package/cpp/third_party/tgfx/src/core/PixelBuffer.h +113 -0
  503. package/cpp/third_party/tgfx/src/core/PixelBufferCodec.cpp +46 -0
  504. package/cpp/third_party/tgfx/src/core/PixelBufferCodec.h +43 -0
  505. package/cpp/third_party/tgfx/src/core/PixelRef.cpp +68 -0
  506. package/cpp/third_party/tgfx/src/core/PixelRef.h +111 -0
  507. package/cpp/third_party/tgfx/src/core/Pixmap.cpp +186 -0
  508. package/cpp/third_party/tgfx/src/core/PlaybackContext.cpp +117 -0
  509. package/cpp/third_party/tgfx/src/core/PlaybackContext.h +78 -0
  510. package/cpp/third_party/tgfx/src/core/Point.cpp +28 -0
  511. package/cpp/third_party/tgfx/src/core/RRect.cpp +154 -0
  512. package/cpp/third_party/tgfx/src/core/RRectUtils.cpp +334 -0
  513. package/cpp/third_party/tgfx/src/core/RRectUtils.h +79 -0
  514. package/cpp/third_party/tgfx/src/core/RSXform.cpp +31 -0
  515. package/cpp/third_party/tgfx/src/core/RawPixelCodec.cpp +89 -0
  516. package/cpp/third_party/tgfx/src/core/RawPixelCodec.h +49 -0
  517. package/cpp/third_party/tgfx/src/core/Rect.cpp +68 -0
  518. package/cpp/third_party/tgfx/src/core/RectPackSkyline.cpp +104 -0
  519. package/cpp/third_party/tgfx/src/core/RectPackSkyline.h +67 -0
  520. package/cpp/third_party/tgfx/src/core/RectSIMD.cpp +91 -0
  521. package/cpp/third_party/tgfx/src/core/RunRecord.cpp +76 -0
  522. package/cpp/third_party/tgfx/src/core/RunRecord.h +61 -0
  523. package/cpp/third_party/tgfx/src/core/ScaledImageGenerator.cpp +47 -0
  524. package/cpp/third_party/tgfx/src/core/ScaledImageGenerator.h +46 -0
  525. package/cpp/third_party/tgfx/src/core/ScalerContext.cpp +81 -0
  526. package/cpp/third_party/tgfx/src/core/ScalerContext.h +98 -0
  527. package/cpp/third_party/tgfx/src/core/Shader.cpp +38 -0
  528. package/cpp/third_party/tgfx/src/core/ShapeMesh.cpp +48 -0
  529. package/cpp/third_party/tgfx/src/core/ShapeMesh.h +62 -0
  530. package/cpp/third_party/tgfx/src/core/ShapeRasterizer.cpp +83 -0
  531. package/cpp/third_party/tgfx/src/core/ShapeRasterizer.h +71 -0
  532. package/cpp/third_party/tgfx/src/core/ShapeVertexSource.cpp +57 -0
  533. package/cpp/third_party/tgfx/src/core/ShapeVertexSource.h +42 -0
  534. package/cpp/third_party/tgfx/src/core/StencilCoverPathTessellator.cpp +258 -0
  535. package/cpp/third_party/tgfx/src/core/StencilCoverPathTessellator.h +100 -0
  536. package/cpp/third_party/tgfx/src/core/Stroke.cpp +65 -0
  537. package/cpp/third_party/tgfx/src/core/Surface.cpp +292 -0
  538. package/cpp/third_party/tgfx/src/core/SurfaceReadback.cpp +143 -0
  539. package/cpp/third_party/tgfx/src/core/TextBlob.cpp +330 -0
  540. package/cpp/third_party/tgfx/src/core/TextBlobBuilder.cpp +215 -0
  541. package/cpp/third_party/tgfx/src/core/TrimPathEffect.cpp +188 -0
  542. package/cpp/third_party/tgfx/src/core/TrimPathEffect.h +35 -0
  543. package/cpp/third_party/tgfx/src/core/Typeface.cpp +170 -0
  544. package/cpp/third_party/tgfx/src/core/UserScalerContext.h +66 -0
  545. package/cpp/third_party/tgfx/src/core/UserTypeface.h +95 -0
  546. package/cpp/third_party/tgfx/src/core/Vec.cpp +53 -0
  547. package/cpp/third_party/tgfx/src/core/VecSIMD.cpp +325 -0
  548. package/cpp/third_party/tgfx/src/core/VertexMesh.cpp +111 -0
  549. package/cpp/third_party/tgfx/src/core/VertexMesh.h +107 -0
  550. package/cpp/third_party/tgfx/src/core/YUVColorSpace.cpp +33 -0
  551. package/cpp/third_party/tgfx/src/core/YUVData.cpp +81 -0
  552. package/cpp/third_party/tgfx/src/core/YUVHardwareBuffer.cpp +98 -0
  553. package/cpp/third_party/tgfx/src/core/YUVHardwareBuffer.h +63 -0
  554. package/cpp/third_party/tgfx/src/core/codecs/jpeg/JpegCodec.cpp +445 -0
  555. package/cpp/third_party/tgfx/src/core/codecs/jpeg/JpegCodec.h +61 -0
  556. package/cpp/third_party/tgfx/src/core/codecs/png/PngCodec.cpp +457 -0
  557. package/cpp/third_party/tgfx/src/core/codecs/png/PngCodec.h +57 -0
  558. package/cpp/third_party/tgfx/src/core/codecs/webp/WebpCodec.cpp +253 -0
  559. package/cpp/third_party/tgfx/src/core/codecs/webp/WebpCodec.h +56 -0
  560. package/cpp/third_party/tgfx/src/core/codecs/webp/WebpUtility.cpp +376 -0
  561. package/cpp/third_party/tgfx/src/core/codecs/webp/WebpUtility.h +41 -0
  562. package/cpp/third_party/tgfx/src/core/filters/AlphaThresholdColorFilter.cpp +44 -0
  563. package/cpp/third_party/tgfx/src/core/filters/AlphaThresholdColorFilter.h +46 -0
  564. package/cpp/third_party/tgfx/src/core/filters/BlendImageFilter.cpp +72 -0
  565. package/cpp/third_party/tgfx/src/core/filters/BlendImageFilter.h +45 -0
  566. package/cpp/third_party/tgfx/src/core/filters/ColorImageFilter.cpp +59 -0
  567. package/cpp/third_party/tgfx/src/core/filters/ColorImageFilter.h +41 -0
  568. package/cpp/third_party/tgfx/src/core/filters/ComposeColorFilter.cpp +70 -0
  569. package/cpp/third_party/tgfx/src/core/filters/ComposeColorFilter.h +47 -0
  570. package/cpp/third_party/tgfx/src/core/filters/ComposeImageFilter.cpp +98 -0
  571. package/cpp/third_party/tgfx/src/core/filters/ComposeImageFilter.h +45 -0
  572. package/cpp/third_party/tgfx/src/core/filters/DropShadowImageFilter.cpp +128 -0
  573. package/cpp/third_party/tgfx/src/core/filters/DropShadowImageFilter.h +60 -0
  574. package/cpp/third_party/tgfx/src/core/filters/GaussianBlurImageFilter.cpp +226 -0
  575. package/cpp/third_party/tgfx/src/core/filters/GaussianBlurImageFilter.h +62 -0
  576. package/cpp/third_party/tgfx/src/core/filters/InnerShadowImageFilter.cpp +104 -0
  577. package/cpp/third_party/tgfx/src/core/filters/InnerShadowImageFilter.h +58 -0
  578. package/cpp/third_party/tgfx/src/core/filters/LumaColorFilter.cpp +33 -0
  579. package/cpp/third_party/tgfx/src/core/filters/LumaColorFilter.h +42 -0
  580. package/cpp/third_party/tgfx/src/core/filters/MatrixColorFilter.cpp +60 -0
  581. package/cpp/third_party/tgfx/src/core/filters/MatrixColorFilter.h +48 -0
  582. package/cpp/third_party/tgfx/src/core/filters/ModeColorFilter.cpp +101 -0
  583. package/cpp/third_party/tgfx/src/core/filters/ModeColorFilter.h +50 -0
  584. package/cpp/third_party/tgfx/src/core/filters/RuntimeImageFilter.cpp +82 -0
  585. package/cpp/third_party/tgfx/src/core/filters/RuntimeImageFilter.h +48 -0
  586. package/cpp/third_party/tgfx/src/core/filters/ShaderMaskFilter.cpp +55 -0
  587. package/cpp/third_party/tgfx/src/core/filters/ShaderMaskFilter.h +56 -0
  588. package/cpp/third_party/tgfx/src/core/images/BufferImage.cpp +80 -0
  589. package/cpp/third_party/tgfx/src/core/images/BufferImage.h +62 -0
  590. package/cpp/third_party/tgfx/src/core/images/CodecImage.cpp +67 -0
  591. package/cpp/third_party/tgfx/src/core/images/CodecImage.h +65 -0
  592. package/cpp/third_party/tgfx/src/core/images/DecodedImage.cpp +62 -0
  593. package/cpp/third_party/tgfx/src/core/images/DecodedImage.h +69 -0
  594. package/cpp/third_party/tgfx/src/core/images/FilterImage.cpp +158 -0
  595. package/cpp/third_party/tgfx/src/core/images/FilterImage.h +80 -0
  596. package/cpp/third_party/tgfx/src/core/images/GeneratorImage.cpp +44 -0
  597. package/cpp/third_party/tgfx/src/core/images/GeneratorImage.h +64 -0
  598. package/cpp/third_party/tgfx/src/core/images/Image.cpp +249 -0
  599. package/cpp/third_party/tgfx/src/core/images/OrientImage.cpp +170 -0
  600. package/cpp/third_party/tgfx/src/core/images/OrientImage.h +59 -0
  601. package/cpp/third_party/tgfx/src/core/images/PictureImage.cpp +180 -0
  602. package/cpp/third_party/tgfx/src/core/images/PictureImage.h +84 -0
  603. package/cpp/third_party/tgfx/src/core/images/PixelImage.cpp +43 -0
  604. package/cpp/third_party/tgfx/src/core/images/PixelImage.h +42 -0
  605. package/cpp/third_party/tgfx/src/core/images/RGBAAAImage.cpp +140 -0
  606. package/cpp/third_party/tgfx/src/core/images/RGBAAAImage.h +56 -0
  607. package/cpp/third_party/tgfx/src/core/images/RasterizedImage.cpp +132 -0
  608. package/cpp/third_party/tgfx/src/core/images/RasterizedImage.h +84 -0
  609. package/cpp/third_party/tgfx/src/core/images/ScaledImage.cpp +102 -0
  610. package/cpp/third_party/tgfx/src/core/images/ScaledImage.h +70 -0
  611. package/cpp/third_party/tgfx/src/core/images/SubsetImage.cpp +131 -0
  612. package/cpp/third_party/tgfx/src/core/images/SubsetImage.h +65 -0
  613. package/cpp/third_party/tgfx/src/core/images/TextureImage.cpp +92 -0
  614. package/cpp/third_party/tgfx/src/core/images/TextureImage.h +96 -0
  615. package/cpp/third_party/tgfx/src/core/images/TransformImage.cpp +77 -0
  616. package/cpp/third_party/tgfx/src/core/images/TransformImage.h +64 -0
  617. package/cpp/third_party/tgfx/src/core/shaders/BlendShader.cpp +74 -0
  618. package/cpp/third_party/tgfx/src/core/shaders/BlendShader.h +47 -0
  619. package/cpp/third_party/tgfx/src/core/shaders/ColorFilterShader.cpp +65 -0
  620. package/cpp/third_party/tgfx/src/core/shaders/ColorFilterShader.h +54 -0
  621. package/cpp/third_party/tgfx/src/core/shaders/ColorShader.cpp +56 -0
  622. package/cpp/third_party/tgfx/src/core/shaders/ColorShader.h +50 -0
  623. package/cpp/third_party/tgfx/src/core/shaders/GradientShader.cpp +411 -0
  624. package/cpp/third_party/tgfx/src/core/shaders/GradientShader.h +126 -0
  625. package/cpp/third_party/tgfx/src/core/shaders/ImageShader.cpp +64 -0
  626. package/cpp/third_party/tgfx/src/core/shaders/ImageShader.h +56 -0
  627. package/cpp/third_party/tgfx/src/core/shaders/MatrixShader.cpp +73 -0
  628. package/cpp/third_party/tgfx/src/core/shaders/MatrixShader.h +59 -0
  629. package/cpp/third_party/tgfx/src/core/shaders/PerlinNoiseShader.cpp +216 -0
  630. package/cpp/third_party/tgfx/src/core/shaders/PerlinNoiseShader.h +91 -0
  631. package/cpp/third_party/tgfx/src/core/shaders/RuntimeShader.cpp +51 -0
  632. package/cpp/third_party/tgfx/src/core/shaders/RuntimeShader.h +31 -0
  633. package/cpp/third_party/tgfx/src/core/shapes/AppendShape.cpp +83 -0
  634. package/cpp/third_party/tgfx/src/core/shapes/AppendShape.h +53 -0
  635. package/cpp/third_party/tgfx/src/core/shapes/EffectShape.cpp +45 -0
  636. package/cpp/third_party/tgfx/src/core/shapes/EffectShape.h +51 -0
  637. package/cpp/third_party/tgfx/src/core/shapes/FillTypeShape.cpp +53 -0
  638. package/cpp/third_party/tgfx/src/core/shapes/FillTypeShape.h +51 -0
  639. package/cpp/third_party/tgfx/src/core/shapes/GlyphShape.cpp +79 -0
  640. package/cpp/third_party/tgfx/src/core/shapes/GlyphShape.h +50 -0
  641. package/cpp/third_party/tgfx/src/core/shapes/Matrix3DShape.cpp +93 -0
  642. package/cpp/third_party/tgfx/src/core/shapes/Matrix3DShape.h +58 -0
  643. package/cpp/third_party/tgfx/src/core/shapes/MatrixShape.cpp +94 -0
  644. package/cpp/third_party/tgfx/src/core/shapes/MatrixShape.h +55 -0
  645. package/cpp/third_party/tgfx/src/core/shapes/MergeShape.cpp +90 -0
  646. package/cpp/third_party/tgfx/src/core/shapes/MergeShape.h +49 -0
  647. package/cpp/third_party/tgfx/src/core/shapes/PathShape.cpp +34 -0
  648. package/cpp/third_party/tgfx/src/core/shapes/PathShape.h +58 -0
  649. package/cpp/third_party/tgfx/src/core/shapes/ProviderShape.cpp +36 -0
  650. package/cpp/third_party/tgfx/src/core/shapes/ProviderShape.h +48 -0
  651. package/cpp/third_party/tgfx/src/core/shapes/ReverseShape.cpp +47 -0
  652. package/cpp/third_party/tgfx/src/core/shapes/ReverseShape.h +49 -0
  653. package/cpp/third_party/tgfx/src/core/shapes/Shape.cpp +51 -0
  654. package/cpp/third_party/tgfx/src/core/shapes/StrokeShape.cpp +110 -0
  655. package/cpp/third_party/tgfx/src/core/shapes/StrokeShape.h +58 -0
  656. package/cpp/third_party/tgfx/src/core/shapes/TextShape.cpp +77 -0
  657. package/cpp/third_party/tgfx/src/core/shapes/TextShape.h +49 -0
  658. package/cpp/third_party/tgfx/src/core/shapes/UniqueKeyShape.h +34 -0
  659. package/cpp/third_party/tgfx/src/core/utils/AddressOf.h +35 -0
  660. package/cpp/third_party/tgfx/src/core/utils/AtomicCache.h +52 -0
  661. package/cpp/third_party/tgfx/src/core/utils/BlockAllocator.cpp +167 -0
  662. package/cpp/third_party/tgfx/src/core/utils/BlockAllocator.h +211 -0
  663. package/cpp/third_party/tgfx/src/core/utils/Buffer.cpp +121 -0
  664. package/cpp/third_party/tgfx/src/core/utils/BytesKey.cpp +71 -0
  665. package/cpp/third_party/tgfx/src/core/utils/ClearPixels.cpp +33 -0
  666. package/cpp/third_party/tgfx/src/core/utils/ClearPixels.h +28 -0
  667. package/cpp/third_party/tgfx/src/core/utils/Clock.cpp +80 -0
  668. package/cpp/third_party/tgfx/src/core/utils/ColorHelper.cpp +65 -0
  669. package/cpp/third_party/tgfx/src/core/utils/ColorHelper.h +28 -0
  670. package/cpp/third_party/tgfx/src/core/utils/ColorSpaceHelper.cpp +207 -0
  671. package/cpp/third_party/tgfx/src/core/utils/ColorSpaceHelper.h +44 -0
  672. package/cpp/third_party/tgfx/src/core/utils/CopyPixels.cpp +110 -0
  673. package/cpp/third_party/tgfx/src/core/utils/CopyPixels.h +30 -0
  674. package/cpp/third_party/tgfx/src/core/utils/DataView.cpp +290 -0
  675. package/cpp/third_party/tgfx/src/core/utils/DecomposeRects.cpp +89 -0
  676. package/cpp/third_party/tgfx/src/core/utils/DecomposeRects.h +31 -0
  677. package/cpp/third_party/tgfx/src/core/utils/EnumHasher.h +32 -0
  678. package/cpp/third_party/tgfx/src/core/utils/FauxBoldScale.cpp +70 -0
  679. package/cpp/third_party/tgfx/src/core/utils/FauxBoldScale.h +25 -0
  680. package/cpp/third_party/tgfx/src/core/utils/FontTableTag.h +34 -0
  681. package/cpp/third_party/tgfx/src/core/utils/GammaCorrection.cpp +44 -0
  682. package/cpp/third_party/tgfx/src/core/utils/GammaCorrection.h +29 -0
  683. package/cpp/third_party/tgfx/src/core/utils/GeometryExtra.h +58 -0
  684. package/cpp/third_party/tgfx/src/core/utils/GlyphConverter.cpp +51 -0
  685. package/cpp/third_party/tgfx/src/core/utils/GlyphConverter.h +46 -0
  686. package/cpp/third_party/tgfx/src/core/utils/HardwareBufferUtil.cpp +63 -0
  687. package/cpp/third_party/tgfx/src/core/utils/HardwareBufferUtil.h +38 -0
  688. package/cpp/third_party/tgfx/src/core/utils/HashRange.cpp +29 -0
  689. package/cpp/third_party/tgfx/src/core/utils/HashRange.h +28 -0
  690. package/cpp/third_party/tgfx/src/core/utils/Log.h +63 -0
  691. package/cpp/third_party/tgfx/src/core/utils/MD5.cpp +199 -0
  692. package/cpp/third_party/tgfx/src/core/utils/MD5.h +33 -0
  693. package/cpp/third_party/tgfx/src/core/utils/MathExtra.cpp +118 -0
  694. package/cpp/third_party/tgfx/src/core/utils/MathExtra.h +177 -0
  695. package/cpp/third_party/tgfx/src/core/utils/NextCacheScaleLevel.cpp +47 -0
  696. package/cpp/third_party/tgfx/src/core/utils/NextCacheScaleLevel.h +25 -0
  697. package/cpp/third_party/tgfx/src/core/utils/OrientationHelper.h +100 -0
  698. package/cpp/third_party/tgfx/src/core/utils/PathUtils.cpp +479 -0
  699. package/cpp/third_party/tgfx/src/core/utils/PathUtils.h +120 -0
  700. package/cpp/third_party/tgfx/src/core/utils/PixelFormatUtil.cpp +80 -0
  701. package/cpp/third_party/tgfx/src/core/utils/PixelFormatUtil.h +35 -0
  702. package/cpp/third_party/tgfx/src/core/utils/PlacementArray.h +252 -0
  703. package/cpp/third_party/tgfx/src/core/utils/PlacementPtr.h +183 -0
  704. package/cpp/third_party/tgfx/src/core/utils/PointUtils.cpp +58 -0
  705. package/cpp/third_party/tgfx/src/core/utils/PointUtils.h +55 -0
  706. package/cpp/third_party/tgfx/src/core/utils/RectToRectMatrix.cpp +34 -0
  707. package/cpp/third_party/tgfx/src/core/utils/RectToRectMatrix.h +30 -0
  708. package/cpp/third_party/tgfx/src/core/utils/ReturnQueue.cpp +51 -0
  709. package/cpp/third_party/tgfx/src/core/utils/ReturnQueue.h +77 -0
  710. package/cpp/third_party/tgfx/src/core/utils/ShapeUtils.cpp +73 -0
  711. package/cpp/third_party/tgfx/src/core/utils/ShapeUtils.h +61 -0
  712. package/cpp/third_party/tgfx/src/core/utils/SingleOwner.h +64 -0
  713. package/cpp/third_party/tgfx/src/core/utils/SlidingWindowTracker.cpp +54 -0
  714. package/cpp/third_party/tgfx/src/core/utils/SlidingWindowTracker.h +51 -0
  715. package/cpp/third_party/tgfx/src/core/utils/Stream.cpp +177 -0
  716. package/cpp/third_party/tgfx/src/core/utils/StrokeUtils.cpp +140 -0
  717. package/cpp/third_party/tgfx/src/core/utils/StrokeUtils.h +73 -0
  718. package/cpp/third_party/tgfx/src/core/utils/Task.cpp +114 -0
  719. package/cpp/third_party/tgfx/src/core/utils/TaskGroup.cpp +187 -0
  720. package/cpp/third_party/tgfx/src/core/utils/TaskGroup.h +56 -0
  721. package/cpp/third_party/tgfx/src/core/utils/TileSortCompareFunc.h +38 -0
  722. package/cpp/third_party/tgfx/src/core/utils/TileSortCompareFuncSIMD.cpp +67 -0
  723. package/cpp/third_party/tgfx/src/core/utils/Types.h +88 -0
  724. package/cpp/third_party/tgfx/src/core/utils/USE.h +46 -0
  725. package/cpp/third_party/tgfx/src/core/utils/UTF.cpp +151 -0
  726. package/cpp/third_party/tgfx/src/core/utils/UniqueID.cpp +32 -0
  727. package/cpp/third_party/tgfx/src/core/utils/UniqueID.h +28 -0
  728. package/cpp/third_party/tgfx/src/core/utils/VecUtils.h +97 -0
  729. package/cpp/third_party/tgfx/src/core/utils/WeakMap.h +61 -0
  730. package/cpp/third_party/tgfx/src/core/utils/WriteStream.cpp +160 -0
  731. package/cpp/third_party/tgfx/src/core/vectors/coregraphics/CGPathRasterizer.cpp +205 -0
  732. package/cpp/third_party/tgfx/src/core/vectors/coregraphics/CGPathRasterizer.h +35 -0
  733. package/cpp/third_party/tgfx/src/core/vectors/coregraphics/CGScalerContext.cpp +381 -0
  734. package/cpp/third_party/tgfx/src/core/vectors/coregraphics/CGScalerContext.h +56 -0
  735. package/cpp/third_party/tgfx/src/core/vectors/coregraphics/CGTypeface.cpp +448 -0
  736. package/cpp/third_party/tgfx/src/core/vectors/coregraphics/CGTypeface.h +88 -0
  737. package/cpp/third_party/tgfx/src/core/vectors/freetype/FTFontData.h +36 -0
  738. package/cpp/third_party/tgfx/src/core/vectors/freetype/FTLibrary.cpp +36 -0
  739. package/cpp/third_party/tgfx/src/core/vectors/freetype/FTLibrary.h +45 -0
  740. package/cpp/third_party/tgfx/src/core/vectors/freetype/FTPath.cpp +118 -0
  741. package/cpp/third_party/tgfx/src/core/vectors/freetype/FTPath.h +58 -0
  742. package/cpp/third_party/tgfx/src/core/vectors/freetype/FTPathRasterizer.cpp +135 -0
  743. package/cpp/third_party/tgfx/src/core/vectors/freetype/FTPathRasterizer.h +35 -0
  744. package/cpp/third_party/tgfx/src/core/vectors/freetype/FTRasterTarget.cpp +54 -0
  745. package/cpp/third_party/tgfx/src/core/vectors/freetype/FTRasterTarget.h +33 -0
  746. package/cpp/third_party/tgfx/src/core/vectors/freetype/FTScalerContext.cpp +970 -0
  747. package/cpp/third_party/tgfx/src/core/vectors/freetype/FTScalerContext.h +99 -0
  748. package/cpp/third_party/tgfx/src/core/vectors/freetype/FTTypeface.cpp +310 -0
  749. package/cpp/third_party/tgfx/src/core/vectors/freetype/FTTypeface.h +99 -0
  750. package/cpp/third_party/tgfx/src/core/vectors/freetype/FTUtil.h +45 -0
  751. package/cpp/third_party/tgfx/src/core/vectors/freetype/SystemFont.cpp +279 -0
  752. package/cpp/third_party/tgfx/src/core/vectors/freetype/SystemFont.h +31 -0
  753. package/cpp/third_party/tgfx/src/gpu/AAType.h +30 -0
  754. package/cpp/third_party/tgfx/src/gpu/AlignTo.cpp +28 -0
  755. package/cpp/third_party/tgfx/src/gpu/AlignTo.h +24 -0
  756. package/cpp/third_party/tgfx/src/gpu/Attribute.cpp +59 -0
  757. package/cpp/third_party/tgfx/src/gpu/Backend.cpp +275 -0
  758. package/cpp/third_party/tgfx/src/gpu/BackingFit.h +37 -0
  759. package/cpp/third_party/tgfx/src/gpu/BlendFormula.cpp +162 -0
  760. package/cpp/third_party/tgfx/src/gpu/BlendFormula.h +121 -0
  761. package/cpp/third_party/tgfx/src/gpu/ColorSpaceXformHelper.cpp +89 -0
  762. package/cpp/third_party/tgfx/src/gpu/ColorSpaceXformHelper.h +103 -0
  763. package/cpp/third_party/tgfx/src/gpu/CommandEncoder.cpp +43 -0
  764. package/cpp/third_party/tgfx/src/gpu/Context.cpp +204 -0
  765. package/cpp/third_party/tgfx/src/gpu/CoordTransform.cpp +39 -0
  766. package/cpp/third_party/tgfx/src/gpu/CoordTransform.h +40 -0
  767. package/cpp/third_party/tgfx/src/gpu/Device.cpp +70 -0
  768. package/cpp/third_party/tgfx/src/gpu/DrawingBuffer.cpp +85 -0
  769. package/cpp/third_party/tgfx/src/gpu/DrawingBuffer.h +89 -0
  770. package/cpp/third_party/tgfx/src/gpu/DrawingManager.cpp +211 -0
  771. package/cpp/third_party/tgfx/src/gpu/DrawingManager.h +111 -0
  772. package/cpp/third_party/tgfx/src/gpu/FragmentShaderBuilder.cpp +61 -0
  773. package/cpp/third_party/tgfx/src/gpu/FragmentShaderBuilder.h +61 -0
  774. package/cpp/third_party/tgfx/src/gpu/GlobalCache.cpp +705 -0
  775. package/cpp/third_party/tgfx/src/gpu/GlobalCache.h +156 -0
  776. package/cpp/third_party/tgfx/src/gpu/InstanceProvider.cpp +75 -0
  777. package/cpp/third_party/tgfx/src/gpu/InstanceProvider.h +78 -0
  778. package/cpp/third_party/tgfx/src/gpu/OpsCompositor.cpp +1198 -0
  779. package/cpp/third_party/tgfx/src/gpu/OpsCompositor.h +229 -0
  780. package/cpp/third_party/tgfx/src/gpu/Program.cpp +38 -0
  781. package/cpp/third_party/tgfx/src/gpu/Program.h +47 -0
  782. package/cpp/third_party/tgfx/src/gpu/ProgramBuilder.cpp +208 -0
  783. package/cpp/third_party/tgfx/src/gpu/ProgramBuilder.h +105 -0
  784. package/cpp/third_party/tgfx/src/gpu/ProgramInfo.cpp +339 -0
  785. package/cpp/third_party/tgfx/src/gpu/ProgramInfo.h +173 -0
  786. package/cpp/third_party/tgfx/src/gpu/ProxyProvider.cpp +711 -0
  787. package/cpp/third_party/tgfx/src/gpu/ProxyProvider.h +223 -0
  788. package/cpp/third_party/tgfx/src/gpu/Quad.cpp +65 -0
  789. package/cpp/third_party/tgfx/src/gpu/Quad.h +73 -0
  790. package/cpp/third_party/tgfx/src/gpu/QuadRecord.h +71 -0
  791. package/cpp/third_party/tgfx/src/gpu/QuadsVertexProvider.cpp +603 -0
  792. package/cpp/third_party/tgfx/src/gpu/QuadsVertexProvider.h +109 -0
  793. package/cpp/third_party/tgfx/src/gpu/RRectsVertexProvider.cpp +722 -0
  794. package/cpp/third_party/tgfx/src/gpu/RRectsVertexProvider.h +108 -0
  795. package/cpp/third_party/tgfx/src/gpu/RectsVertexProvider.cpp +928 -0
  796. package/cpp/third_party/tgfx/src/gpu/RectsVertexProvider.h +153 -0
  797. package/cpp/third_party/tgfx/src/gpu/RenderContext.cpp +773 -0
  798. package/cpp/third_party/tgfx/src/gpu/RenderContext.h +113 -0
  799. package/cpp/third_party/tgfx/src/gpu/RenderPipeline.cpp +31 -0
  800. package/cpp/third_party/tgfx/src/gpu/ResourceCache.cpp +288 -0
  801. package/cpp/third_party/tgfx/src/gpu/ResourceCache.h +170 -0
  802. package/cpp/third_party/tgfx/src/gpu/SLType.h +48 -0
  803. package/cpp/third_party/tgfx/src/gpu/SamplerHandle.h +43 -0
  804. package/cpp/third_party/tgfx/src/gpu/SamplerState.h +57 -0
  805. package/cpp/third_party/tgfx/src/gpu/SamplingArgs.h +42 -0
  806. package/cpp/third_party/tgfx/src/gpu/ShaderBuilder.cpp +354 -0
  807. package/cpp/third_party/tgfx/src/gpu/ShaderBuilder.h +133 -0
  808. package/cpp/third_party/tgfx/src/gpu/ShaderCaps.cpp +104 -0
  809. package/cpp/third_party/tgfx/src/gpu/ShaderCaps.h +101 -0
  810. package/cpp/third_party/tgfx/src/gpu/ShaderCompiler.cpp +171 -0
  811. package/cpp/third_party/tgfx/src/gpu/ShaderCompiler.h +42 -0
  812. package/cpp/third_party/tgfx/src/gpu/ShaderVar.cpp +103 -0
  813. package/cpp/third_party/tgfx/src/gpu/ShaderVar.h +59 -0
  814. package/cpp/third_party/tgfx/src/gpu/Swizzle.cpp +77 -0
  815. package/cpp/third_party/tgfx/src/gpu/Swizzle.h +116 -0
  816. package/cpp/third_party/tgfx/src/gpu/TPArgs.h +64 -0
  817. package/cpp/third_party/tgfx/src/gpu/Texture.cpp +33 -0
  818. package/cpp/third_party/tgfx/src/gpu/Uniform.cpp +52 -0
  819. package/cpp/third_party/tgfx/src/gpu/Uniform.h +90 -0
  820. package/cpp/third_party/tgfx/src/gpu/UniformData.cpp +160 -0
  821. package/cpp/third_party/tgfx/src/gpu/UniformData.h +158 -0
  822. package/cpp/third_party/tgfx/src/gpu/UniformHandler.cpp +96 -0
  823. package/cpp/third_party/tgfx/src/gpu/UniformHandler.h +83 -0
  824. package/cpp/third_party/tgfx/src/gpu/UniqueDomain.cpp +49 -0
  825. package/cpp/third_party/tgfx/src/gpu/UniqueDomain.h +55 -0
  826. package/cpp/third_party/tgfx/src/gpu/VaryingHandler.cpp +79 -0
  827. package/cpp/third_party/tgfx/src/gpu/VaryingHandler.h +87 -0
  828. package/cpp/third_party/tgfx/src/gpu/VertexProvider.cpp +45 -0
  829. package/cpp/third_party/tgfx/src/gpu/VertexProvider.h +83 -0
  830. package/cpp/third_party/tgfx/src/gpu/VertexShaderBuilder.h +48 -0
  831. package/cpp/third_party/tgfx/src/gpu/Window.cpp +38 -0
  832. package/cpp/third_party/tgfx/src/gpu/YUVFormat.h +39 -0
  833. package/cpp/third_party/tgfx/src/gpu/glsl/GLSLBlend.cpp +551 -0
  834. package/cpp/third_party/tgfx/src/gpu/glsl/GLSLBlend.h +31 -0
  835. package/cpp/third_party/tgfx/src/gpu/glsl/GLSLFragmentShaderBuilder.cpp +67 -0
  836. package/cpp/third_party/tgfx/src/gpu/glsl/GLSLFragmentShaderBuilder.h +37 -0
  837. package/cpp/third_party/tgfx/src/gpu/glsl/GLSLProgramBuilder.cpp +240 -0
  838. package/cpp/third_party/tgfx/src/gpu/glsl/GLSLProgramBuilder.h +70 -0
  839. package/cpp/third_party/tgfx/src/gpu/glsl/GLSLVertexShaderBuilder.cpp +51 -0
  840. package/cpp/third_party/tgfx/src/gpu/glsl/GLSLVertexShaderBuilder.h +33 -0
  841. package/cpp/third_party/tgfx/src/gpu/glsl/processors/GLSLAlphaThresholdFragmentProcessor.cpp +49 -0
  842. package/cpp/third_party/tgfx/src/gpu/glsl/processors/GLSLAlphaThresholdFragmentProcessor.h +34 -0
  843. package/cpp/third_party/tgfx/src/gpu/glsl/processors/GLSLAtlasTextGeometryProcessor.cpp +99 -0
  844. package/cpp/third_party/tgfx/src/gpu/glsl/processors/GLSLAtlasTextGeometryProcessor.h +38 -0
  845. package/cpp/third_party/tgfx/src/gpu/glsl/processors/GLSLClampedGradientEffect.cpp +90 -0
  846. package/cpp/third_party/tgfx/src/gpu/glsl/processors/GLSLClampedGradientEffect.h +37 -0
  847. package/cpp/third_party/tgfx/src/gpu/glsl/processors/GLSLColorMatrixFragmentProcessor.cpp +66 -0
  848. package/cpp/third_party/tgfx/src/gpu/glsl/processors/GLSLColorMatrixFragmentProcessor.h +35 -0
  849. package/cpp/third_party/tgfx/src/gpu/glsl/processors/GLSLComplexEllipseGeometryProcessor.cpp +163 -0
  850. package/cpp/third_party/tgfx/src/gpu/glsl/processors/GLSLComplexEllipseGeometryProcessor.h +34 -0
  851. package/cpp/third_party/tgfx/src/gpu/glsl/processors/GLSLComplexNonAARRectGeometryProcessor.cpp +161 -0
  852. package/cpp/third_party/tgfx/src/gpu/glsl/processors/GLSLComplexNonAARRectGeometryProcessor.h +34 -0
  853. package/cpp/third_party/tgfx/src/gpu/glsl/processors/GLSLComposeFragmentProcessor.cpp +48 -0
  854. package/cpp/third_party/tgfx/src/gpu/glsl/processors/GLSLComposeFragmentProcessor.h +30 -0
  855. package/cpp/third_party/tgfx/src/gpu/glsl/processors/GLSLConicGradientLayout.cpp +50 -0
  856. package/cpp/third_party/tgfx/src/gpu/glsl/processors/GLSLConicGradientLayout.h +34 -0
  857. package/cpp/third_party/tgfx/src/gpu/glsl/processors/GLSLConstColorProcessor.cpp +52 -0
  858. package/cpp/third_party/tgfx/src/gpu/glsl/processors/GLSLConstColorProcessor.h +34 -0
  859. package/cpp/third_party/tgfx/src/gpu/glsl/processors/GLSLDefaultGeometryProcessor.cpp +77 -0
  860. package/cpp/third_party/tgfx/src/gpu/glsl/processors/GLSLDefaultGeometryProcessor.h +35 -0
  861. package/cpp/third_party/tgfx/src/gpu/glsl/processors/GLSLDeviceSpaceTextureEffect.cpp +66 -0
  862. package/cpp/third_party/tgfx/src/gpu/glsl/processors/GLSLDeviceSpaceTextureEffect.h +34 -0
  863. package/cpp/third_party/tgfx/src/gpu/glsl/processors/GLSLDiamondGradientLayout.cpp +39 -0
  864. package/cpp/third_party/tgfx/src/gpu/glsl/processors/GLSLDiamondGradientLayout.h +30 -0
  865. package/cpp/third_party/tgfx/src/gpu/glsl/processors/GLSLDualIntervalGradientColorizer.cpp +84 -0
  866. package/cpp/third_party/tgfx/src/gpu/glsl/processors/GLSLDualIntervalGradientColorizer.h +36 -0
  867. package/cpp/third_party/tgfx/src/gpu/glsl/processors/GLSLEllipseGeometryProcessor.cpp +109 -0
  868. package/cpp/third_party/tgfx/src/gpu/glsl/processors/GLSLEllipseGeometryProcessor.h +34 -0
  869. package/cpp/third_party/tgfx/src/gpu/glsl/processors/GLSLEmptyXferProcessor.cpp +31 -0
  870. package/cpp/third_party/tgfx/src/gpu/glsl/processors/GLSLEmptyXferProcessor.h +28 -0
  871. package/cpp/third_party/tgfx/src/gpu/glsl/processors/GLSLGaussianBlur1DFragmentProcessor.cpp +94 -0
  872. package/cpp/third_party/tgfx/src/gpu/glsl/processors/GLSLGaussianBlur1DFragmentProcessor.h +37 -0
  873. package/cpp/third_party/tgfx/src/gpu/glsl/processors/GLSLHairlineLineGeometryProcessor.cpp +92 -0
  874. package/cpp/third_party/tgfx/src/gpu/glsl/processors/GLSLHairlineLineGeometryProcessor.h +38 -0
  875. package/cpp/third_party/tgfx/src/gpu/glsl/processors/GLSLHairlineQuadGeometryProcessor.cpp +109 -0
  876. package/cpp/third_party/tgfx/src/gpu/glsl/processors/GLSLHairlineQuadGeometryProcessor.h +38 -0
  877. package/cpp/third_party/tgfx/src/gpu/glsl/processors/GLSLLinearGradientLayout.cpp +36 -0
  878. package/cpp/third_party/tgfx/src/gpu/glsl/processors/GLSLLinearGradientLayout.h +30 -0
  879. package/cpp/third_party/tgfx/src/gpu/glsl/processors/GLSLLumaFragmentProcessor.cpp +45 -0
  880. package/cpp/third_party/tgfx/src/gpu/glsl/processors/GLSLLumaFragmentProcessor.h +33 -0
  881. package/cpp/third_party/tgfx/src/gpu/glsl/processors/GLSLMeshGeometryProcessor.cpp +105 -0
  882. package/cpp/third_party/tgfx/src/gpu/glsl/processors/GLSLMeshGeometryProcessor.h +36 -0
  883. package/cpp/third_party/tgfx/src/gpu/glsl/processors/GLSLNonAARRectGeometryProcessor.cpp +131 -0
  884. package/cpp/third_party/tgfx/src/gpu/glsl/processors/GLSLNonAARRectGeometryProcessor.h +34 -0
  885. package/cpp/third_party/tgfx/src/gpu/glsl/processors/GLSLPerlinNoiseFragmentProcessor.cpp +240 -0
  886. package/cpp/third_party/tgfx/src/gpu/glsl/processors/GLSLPerlinNoiseFragmentProcessor.h +36 -0
  887. package/cpp/third_party/tgfx/src/gpu/glsl/processors/GLSLPorterDuffXferProcessor.cpp +102 -0
  888. package/cpp/third_party/tgfx/src/gpu/glsl/processors/GLSLPorterDuffXferProcessor.h +32 -0
  889. package/cpp/third_party/tgfx/src/gpu/glsl/processors/GLSLQuadPerEdgeAAGeometryProcessor.cpp +116 -0
  890. package/cpp/third_party/tgfx/src/gpu/glsl/processors/GLSLQuadPerEdgeAAGeometryProcessor.h +47 -0
  891. package/cpp/third_party/tgfx/src/gpu/glsl/processors/GLSLRRectEffect.cpp +158 -0
  892. package/cpp/third_party/tgfx/src/gpu/glsl/processors/GLSLRRectEffect.h +36 -0
  893. package/cpp/third_party/tgfx/src/gpu/glsl/processors/GLSLRadialGradientLayout.cpp +36 -0
  894. package/cpp/third_party/tgfx/src/gpu/glsl/processors/GLSLRadialGradientLayout.h +30 -0
  895. package/cpp/third_party/tgfx/src/gpu/glsl/processors/GLSLRectEffect.cpp +105 -0
  896. package/cpp/third_party/tgfx/src/gpu/glsl/processors/GLSLRectEffect.h +35 -0
  897. package/cpp/third_party/tgfx/src/gpu/glsl/processors/GLSLRoundStrokeRectGeometryProcessor.cpp +101 -0
  898. package/cpp/third_party/tgfx/src/gpu/glsl/processors/GLSLRoundStrokeRectGeometryProcessor.h +34 -0
  899. package/cpp/third_party/tgfx/src/gpu/glsl/processors/GLSLRuntimeShaderProcessor.cpp +210 -0
  900. package/cpp/third_party/tgfx/src/gpu/glsl/processors/GLSLRuntimeShaderProcessor.h +21 -0
  901. package/cpp/third_party/tgfx/src/gpu/glsl/processors/GLSLShapeInstancedGeometryProcessor.cpp +98 -0
  902. package/cpp/third_party/tgfx/src/gpu/glsl/processors/GLSLShapeInstancedGeometryProcessor.h +34 -0
  903. package/cpp/third_party/tgfx/src/gpu/glsl/processors/GLSLSingleIntervalGradientColorizer.cpp +47 -0
  904. package/cpp/third_party/tgfx/src/gpu/glsl/processors/GLSLSingleIntervalGradientColorizer.h +35 -0
  905. package/cpp/third_party/tgfx/src/gpu/glsl/processors/GLSLStencilCoverCoverPassGeometryProcessor.cpp +71 -0
  906. package/cpp/third_party/tgfx/src/gpu/glsl/processors/GLSLStencilCoverCoverPassGeometryProcessor.h +33 -0
  907. package/cpp/third_party/tgfx/src/gpu/glsl/processors/GLSLStencilCoverStencilPassGeometryProcessor.cpp +85 -0
  908. package/cpp/third_party/tgfx/src/gpu/glsl/processors/GLSLStencilCoverStencilPassGeometryProcessor.h +34 -0
  909. package/cpp/third_party/tgfx/src/gpu/glsl/processors/GLSLTextureEffect.cpp +295 -0
  910. package/cpp/third_party/tgfx/src/gpu/glsl/processors/GLSLTextureEffect.h +41 -0
  911. package/cpp/third_party/tgfx/src/gpu/glsl/processors/GLSLTextureGradientColorizer.cpp +41 -0
  912. package/cpp/third_party/tgfx/src/gpu/glsl/processors/GLSLTextureGradientColorizer.h +30 -0
  913. package/cpp/third_party/tgfx/src/gpu/glsl/processors/GLSLTiledTextureEffect.cpp +480 -0
  914. package/cpp/third_party/tgfx/src/gpu/glsl/processors/GLSLTiledTextureEffect.h +65 -0
  915. package/cpp/third_party/tgfx/src/gpu/glsl/processors/GLSLUnrolledBinaryGradientColorizer.cpp +291 -0
  916. package/cpp/third_party/tgfx/src/gpu/glsl/processors/GLSLUnrolledBinaryGradientColorizer.h +49 -0
  917. package/cpp/third_party/tgfx/src/gpu/glsl/processors/GLSLXfermodeFragmentProcessor.cpp +74 -0
  918. package/cpp/third_party/tgfx/src/gpu/glsl/processors/GLSLXfermodeFragmentProcessor.h +31 -0
  919. package/cpp/third_party/tgfx/src/gpu/metal/MetalBuffer.h +64 -0
  920. package/cpp/third_party/tgfx/src/gpu/metal/MetalBuffer.mm +112 -0
  921. package/cpp/third_party/tgfx/src/gpu/metal/MetalCaps.h +117 -0
  922. package/cpp/third_party/tgfx/src/gpu/metal/MetalCaps.mm +177 -0
  923. package/cpp/third_party/tgfx/src/gpu/metal/MetalCommandBuffer.h +45 -0
  924. package/cpp/third_party/tgfx/src/gpu/metal/MetalCommandBuffer.mm +31 -0
  925. package/cpp/third_party/tgfx/src/gpu/metal/MetalCommandEncoder.h +71 -0
  926. package/cpp/third_party/tgfx/src/gpu/metal/MetalCommandEncoder.mm +173 -0
  927. package/cpp/third_party/tgfx/src/gpu/metal/MetalCommandQueue.h +86 -0
  928. package/cpp/third_party/tgfx/src/gpu/metal/MetalCommandQueue.mm +208 -0
  929. package/cpp/third_party/tgfx/src/gpu/metal/MetalDefines.h +54 -0
  930. package/cpp/third_party/tgfx/src/gpu/metal/MetalDevice.h +30 -0
  931. package/cpp/third_party/tgfx/src/gpu/metal/MetalDevice.mm +72 -0
  932. package/cpp/third_party/tgfx/src/gpu/metal/MetalDrawableProxy.h +52 -0
  933. package/cpp/third_party/tgfx/src/gpu/metal/MetalDrawableProxy.mm +94 -0
  934. package/cpp/third_party/tgfx/src/gpu/metal/MetalExternalTexture.h +37 -0
  935. package/cpp/third_party/tgfx/src/gpu/metal/MetalGPU.h +159 -0
  936. package/cpp/third_party/tgfx/src/gpu/metal/MetalGPU.mm +267 -0
  937. package/cpp/third_party/tgfx/src/gpu/metal/MetalHardwareTexture.h +60 -0
  938. package/cpp/third_party/tgfx/src/gpu/metal/MetalHardwareTexture.mm +146 -0
  939. package/cpp/third_party/tgfx/src/gpu/metal/MetalRenderPass.h +110 -0
  940. package/cpp/third_party/tgfx/src/gpu/metal/MetalRenderPass.mm +386 -0
  941. package/cpp/third_party/tgfx/src/gpu/metal/MetalRenderPipeline.h +91 -0
  942. package/cpp/third_party/tgfx/src/gpu/metal/MetalRenderPipeline.mm +310 -0
  943. package/cpp/third_party/tgfx/src/gpu/metal/MetalResource.h +47 -0
  944. package/cpp/third_party/tgfx/src/gpu/metal/MetalResource.mm +21 -0
  945. package/cpp/third_party/tgfx/src/gpu/metal/MetalSampler.h +55 -0
  946. package/cpp/third_party/tgfx/src/gpu/metal/MetalSampler.mm +73 -0
  947. package/cpp/third_party/tgfx/src/gpu/metal/MetalSemaphore.h +81 -0
  948. package/cpp/third_party/tgfx/src/gpu/metal/MetalSemaphore.mm +66 -0
  949. package/cpp/third_party/tgfx/src/gpu/metal/MetalShaderModule.h +106 -0
  950. package/cpp/third_party/tgfx/src/gpu/metal/MetalShaderModule.mm +244 -0
  951. package/cpp/third_party/tgfx/src/gpu/metal/MetalTexture.h +67 -0
  952. package/cpp/third_party/tgfx/src/gpu/metal/MetalTexture.mm +157 -0
  953. package/cpp/third_party/tgfx/src/gpu/metal/MetalUtil.h +66 -0
  954. package/cpp/third_party/tgfx/src/gpu/metal/MetalUtil.mm +337 -0
  955. package/cpp/third_party/tgfx/src/gpu/metal/MetalWindow.mm +122 -0
  956. package/cpp/third_party/tgfx/src/gpu/opengl/GLBuffer.cpp +117 -0
  957. package/cpp/third_party/tgfx/src/gpu/opengl/GLBuffer.h +64 -0
  958. package/cpp/third_party/tgfx/src/gpu/opengl/GLCaps.cpp +325 -0
  959. package/cpp/third_party/tgfx/src/gpu/opengl/GLCaps.h +118 -0
  960. package/cpp/third_party/tgfx/src/gpu/opengl/GLCommandEncoder.cpp +178 -0
  961. package/cpp/third_party/tgfx/src/gpu/opengl/GLCommandEncoder.h +50 -0
  962. package/cpp/third_party/tgfx/src/gpu/opengl/GLCommandQueue.cpp +122 -0
  963. package/cpp/third_party/tgfx/src/gpu/opengl/GLCommandQueue.h +52 -0
  964. package/cpp/third_party/tgfx/src/gpu/opengl/GLCoreFunctions.h +112 -0
  965. package/cpp/third_party/tgfx/src/gpu/opengl/GLDefines.h +925 -0
  966. package/cpp/third_party/tgfx/src/gpu/opengl/GLDepthStencilTexture.cpp +66 -0
  967. package/cpp/third_party/tgfx/src/gpu/opengl/GLDepthStencilTexture.h +44 -0
  968. package/cpp/third_party/tgfx/src/gpu/opengl/GLDevice.cpp +104 -0
  969. package/cpp/third_party/tgfx/src/gpu/opengl/GLExternalTexture.h +42 -0
  970. package/cpp/third_party/tgfx/src/gpu/opengl/GLFunctions.h +293 -0
  971. package/cpp/third_party/tgfx/src/gpu/opengl/GLGPU.cpp +336 -0
  972. package/cpp/third_party/tgfx/src/gpu/opengl/GLGPU.h +119 -0
  973. package/cpp/third_party/tgfx/src/gpu/opengl/GLInterface.cpp +276 -0
  974. package/cpp/third_party/tgfx/src/gpu/opengl/GLInterface.h +48 -0
  975. package/cpp/third_party/tgfx/src/gpu/opengl/GLMultisampleTexture.cpp +98 -0
  976. package/cpp/third_party/tgfx/src/gpu/opengl/GLMultisampleTexture.h +46 -0
  977. package/cpp/third_party/tgfx/src/gpu/opengl/GLProcGetter.h +32 -0
  978. package/cpp/third_party/tgfx/src/gpu/opengl/GLRenderPass.cpp +293 -0
  979. package/cpp/third_party/tgfx/src/gpu/opengl/GLRenderPass.h +96 -0
  980. package/cpp/third_party/tgfx/src/gpu/opengl/GLRenderPipeline.cpp +336 -0
  981. package/cpp/third_party/tgfx/src/gpu/opengl/GLRenderPipeline.h +106 -0
  982. package/cpp/third_party/tgfx/src/gpu/opengl/GLResource.h +45 -0
  983. package/cpp/third_party/tgfx/src/gpu/opengl/GLSampler.h +53 -0
  984. package/cpp/third_party/tgfx/src/gpu/opengl/GLSemaphore.cpp +41 -0
  985. package/cpp/third_party/tgfx/src/gpu/opengl/GLSemaphore.h +47 -0
  986. package/cpp/third_party/tgfx/src/gpu/opengl/GLShaderModule.cpp +33 -0
  987. package/cpp/third_party/tgfx/src/gpu/opengl/GLShaderModule.h +40 -0
  988. package/cpp/third_party/tgfx/src/gpu/opengl/GLStandard.h +23 -0
  989. package/cpp/third_party/tgfx/src/gpu/opengl/GLState.cpp +261 -0
  990. package/cpp/third_party/tgfx/src/gpu/opengl/GLState.h +125 -0
  991. package/cpp/third_party/tgfx/src/gpu/opengl/GLTexture.cpp +173 -0
  992. package/cpp/third_party/tgfx/src/gpu/opengl/GLTexture.h +95 -0
  993. package/cpp/third_party/tgfx/src/gpu/opengl/GLUtil.cpp +217 -0
  994. package/cpp/third_party/tgfx/src/gpu/opengl/GLUtil.h +68 -0
  995. package/cpp/third_party/tgfx/src/gpu/opengl/cgl/CGLDevice.mm +136 -0
  996. package/cpp/third_party/tgfx/src/gpu/opengl/cgl/CGLGPU.h +42 -0
  997. package/cpp/third_party/tgfx/src/gpu/opengl/cgl/CGLGPU.mm +52 -0
  998. package/cpp/third_party/tgfx/src/gpu/opengl/cgl/CGLHardwareTexture.h +50 -0
  999. package/cpp/third_party/tgfx/src/gpu/opengl/cgl/CGLHardwareTexture.mm +90 -0
  1000. package/cpp/third_party/tgfx/src/gpu/opengl/cgl/CGLProcGetter.h +35 -0
  1001. package/cpp/third_party/tgfx/src/gpu/opengl/cgl/CGLProcGetter.mm +42 -0
  1002. package/cpp/third_party/tgfx/src/gpu/opengl/cgl/CGLWindow.mm +91 -0
  1003. package/cpp/third_party/tgfx/src/gpu/opengl/eagl/EAGLDevice.mm +308 -0
  1004. package/cpp/third_party/tgfx/src/gpu/opengl/eagl/EAGLGPU.h +46 -0
  1005. package/cpp/third_party/tgfx/src/gpu/opengl/eagl/EAGLGPU.mm +61 -0
  1006. package/cpp/third_party/tgfx/src/gpu/opengl/eagl/EAGLHardwareTexture.h +47 -0
  1007. package/cpp/third_party/tgfx/src/gpu/opengl/eagl/EAGLHardwareTexture.mm +127 -0
  1008. package/cpp/third_party/tgfx/src/gpu/opengl/eagl/EAGLLayerTexture.h +55 -0
  1009. package/cpp/third_party/tgfx/src/gpu/opengl/eagl/EAGLLayerTexture.mm +85 -0
  1010. package/cpp/third_party/tgfx/src/gpu/opengl/eagl/EAGLProcGetter.h +35 -0
  1011. package/cpp/third_party/tgfx/src/gpu/opengl/eagl/EAGLProcGetter.mm +41 -0
  1012. package/cpp/third_party/tgfx/src/gpu/opengl/eagl/EAGLWindow.mm +79 -0
  1013. package/cpp/third_party/tgfx/src/gpu/opengl/egl/EGLDevice.cpp +384 -0
  1014. package/cpp/third_party/tgfx/src/gpu/opengl/egl/EGLDisplayWrapper.cpp +111 -0
  1015. package/cpp/third_party/tgfx/src/gpu/opengl/egl/EGLDisplayWrapper.h +31 -0
  1016. package/cpp/third_party/tgfx/src/gpu/opengl/egl/EGLGPU.cpp +82 -0
  1017. package/cpp/third_party/tgfx/src/gpu/opengl/egl/EGLGPU.h +40 -0
  1018. package/cpp/third_party/tgfx/src/gpu/opengl/egl/EGLGlobals.cpp +100 -0
  1019. package/cpp/third_party/tgfx/src/gpu/opengl/egl/EGLHardwareTexture.cpp +163 -0
  1020. package/cpp/third_party/tgfx/src/gpu/opengl/egl/EGLHardwareTexture.h +57 -0
  1021. package/cpp/third_party/tgfx/src/gpu/opengl/egl/EGLProcGetter.cpp +53 -0
  1022. package/cpp/third_party/tgfx/src/gpu/opengl/egl/EGLProcGetter.h +28 -0
  1023. package/cpp/third_party/tgfx/src/gpu/opengl/egl/EGLWindow.cpp +126 -0
  1024. package/cpp/third_party/tgfx/src/gpu/opengl/qt/QGLDevice.cpp +171 -0
  1025. package/cpp/third_party/tgfx/src/gpu/opengl/qt/QGLDrawableProxy.cpp +94 -0
  1026. package/cpp/third_party/tgfx/src/gpu/opengl/qt/QGLDrawableProxy.h +61 -0
  1027. package/cpp/third_party/tgfx/src/gpu/opengl/qt/QGLGPU.cpp +76 -0
  1028. package/cpp/third_party/tgfx/src/gpu/opengl/qt/QGLGPU.h +52 -0
  1029. package/cpp/third_party/tgfx/src/gpu/opengl/qt/QGLProcGetter.cpp +33 -0
  1030. package/cpp/third_party/tgfx/src/gpu/opengl/qt/QGLProcGetter.h +35 -0
  1031. package/cpp/third_party/tgfx/src/gpu/opengl/qt/QGLWindow.cpp +293 -0
  1032. package/cpp/third_party/tgfx/src/gpu/opengl/webgl/WebGLBuffer.cpp +93 -0
  1033. package/cpp/third_party/tgfx/src/gpu/opengl/webgl/WebGLBuffer.h +45 -0
  1034. package/cpp/third_party/tgfx/src/gpu/opengl/webgl/WebGLDevice.cpp +161 -0
  1035. package/cpp/third_party/tgfx/src/gpu/opengl/webgl/WebGLGPU.cpp +30 -0
  1036. package/cpp/third_party/tgfx/src/gpu/opengl/webgl/WebGLGPU.h +32 -0
  1037. package/cpp/third_party/tgfx/src/gpu/opengl/webgl/WebGLProcGetter.cpp +50 -0
  1038. package/cpp/third_party/tgfx/src/gpu/opengl/webgl/WebGLProcGetter.h +28 -0
  1039. package/cpp/third_party/tgfx/src/gpu/opengl/webgl/WebGLWindow.cpp +59 -0
  1040. package/cpp/third_party/tgfx/src/gpu/opengl/wgl/WGLDefines.h +113 -0
  1041. package/cpp/third_party/tgfx/src/gpu/opengl/wgl/WGLDevice.cpp +335 -0
  1042. package/cpp/third_party/tgfx/src/gpu/opengl/wgl/WGLGPU.cpp +297 -0
  1043. package/cpp/third_party/tgfx/src/gpu/opengl/wgl/WGLGPU.h +78 -0
  1044. package/cpp/third_party/tgfx/src/gpu/opengl/wgl/WGLHardwareTexture.cpp +289 -0
  1045. package/cpp/third_party/tgfx/src/gpu/opengl/wgl/WGLHardwareTexture.h +53 -0
  1046. package/cpp/third_party/tgfx/src/gpu/opengl/wgl/WGLInterface.cpp +155 -0
  1047. package/cpp/third_party/tgfx/src/gpu/opengl/wgl/WGLInterface.h +75 -0
  1048. package/cpp/third_party/tgfx/src/gpu/opengl/wgl/WGLProcGetter.cpp +47 -0
  1049. package/cpp/third_party/tgfx/src/gpu/opengl/wgl/WGLProcGetter.h +36 -0
  1050. package/cpp/third_party/tgfx/src/gpu/opengl/wgl/WGLWindow.cpp +71 -0
  1051. package/cpp/third_party/tgfx/src/gpu/ops/AtlasTextOp.cpp +99 -0
  1052. package/cpp/third_party/tgfx/src/gpu/ops/AtlasTextOp.h +62 -0
  1053. package/cpp/third_party/tgfx/src/gpu/ops/DrawOp.cpp +41 -0
  1054. package/cpp/third_party/tgfx/src/gpu/ops/DrawOp.h +125 -0
  1055. package/cpp/third_party/tgfx/src/gpu/ops/HairlineLineOp.cpp +91 -0
  1056. package/cpp/third_party/tgfx/src/gpu/ops/HairlineLineOp.h +66 -0
  1057. package/cpp/third_party/tgfx/src/gpu/ops/HairlineQuadOp.cpp +91 -0
  1058. package/cpp/third_party/tgfx/src/gpu/ops/HairlineQuadOp.h +66 -0
  1059. package/cpp/third_party/tgfx/src/gpu/ops/MeshDrawOp.cpp +75 -0
  1060. package/cpp/third_party/tgfx/src/gpu/ops/MeshDrawOp.h +53 -0
  1061. package/cpp/third_party/tgfx/src/gpu/ops/Quads3DDrawOp.cpp +98 -0
  1062. package/cpp/third_party/tgfx/src/gpu/ops/Quads3DDrawOp.h +64 -0
  1063. package/cpp/third_party/tgfx/src/gpu/ops/RRectDrawOp.cpp +101 -0
  1064. package/cpp/third_party/tgfx/src/gpu/ops/RRectDrawOp.h +88 -0
  1065. package/cpp/third_party/tgfx/src/gpu/ops/RectDrawOp.cpp +116 -0
  1066. package/cpp/third_party/tgfx/src/gpu/ops/RectDrawOp.h +103 -0
  1067. package/cpp/third_party/tgfx/src/gpu/ops/ShapeDrawOp.cpp +104 -0
  1068. package/cpp/third_party/tgfx/src/gpu/ops/ShapeDrawOp.h +53 -0
  1069. package/cpp/third_party/tgfx/src/gpu/ops/ShapeInstancedDrawOp.cpp +136 -0
  1070. package/cpp/third_party/tgfx/src/gpu/ops/ShapeInstancedDrawOp.h +69 -0
  1071. package/cpp/third_party/tgfx/src/gpu/ops/StandardDrawOp.cpp +61 -0
  1072. package/cpp/third_party/tgfx/src/gpu/ops/StandardDrawOp.h +94 -0
  1073. package/cpp/third_party/tgfx/src/gpu/ops/StencilCoverPathDrawOp.cpp +302 -0
  1074. package/cpp/third_party/tgfx/src/gpu/ops/StencilCoverPathDrawOp.h +149 -0
  1075. package/cpp/third_party/tgfx/src/gpu/processors/AlphaThresholdFragmentProcessor.h +42 -0
  1076. package/cpp/third_party/tgfx/src/gpu/processors/AtlasTextGeometryProcessor.cpp +46 -0
  1077. package/cpp/third_party/tgfx/src/gpu/processors/AtlasTextGeometryProcessor.h +65 -0
  1078. package/cpp/third_party/tgfx/src/gpu/processors/ClampedGradientEffect.cpp +30 -0
  1079. package/cpp/third_party/tgfx/src/gpu/processors/ClampedGradientEffect.h +49 -0
  1080. package/cpp/third_party/tgfx/src/gpu/processors/ColorMatrixFragmentProcessor.h +43 -0
  1081. package/cpp/third_party/tgfx/src/gpu/processors/ColorSpaceXFormEffect.cpp +58 -0
  1082. package/cpp/third_party/tgfx/src/gpu/processors/ColorSpaceXFormEffect.h +52 -0
  1083. package/cpp/third_party/tgfx/src/gpu/processors/ComplexEllipseGeometryProcessor.cpp +44 -0
  1084. package/cpp/third_party/tgfx/src/gpu/processors/ComplexEllipseGeometryProcessor.h +66 -0
  1085. package/cpp/third_party/tgfx/src/gpu/processors/ComplexNonAARRectGeometryProcessor.cpp +45 -0
  1086. package/cpp/third_party/tgfx/src/gpu/processors/ComplexNonAARRectGeometryProcessor.h +62 -0
  1087. package/cpp/third_party/tgfx/src/gpu/processors/ComposeFragmentProcessor.cpp +58 -0
  1088. package/cpp/third_party/tgfx/src/gpu/processors/ComposeFragmentProcessor.h +42 -0
  1089. package/cpp/third_party/tgfx/src/gpu/processors/ConicGradientLayout.cpp +31 -0
  1090. package/cpp/third_party/tgfx/src/gpu/processors/ConicGradientLayout.h +44 -0
  1091. package/cpp/third_party/tgfx/src/gpu/processors/ConstColorProcessor.cpp +25 -0
  1092. package/cpp/third_party/tgfx/src/gpu/processors/ConstColorProcessor.h +48 -0
  1093. package/cpp/third_party/tgfx/src/gpu/processors/DefaultGeometryProcessor.cpp +37 -0
  1094. package/cpp/third_party/tgfx/src/gpu/processors/DefaultGeometryProcessor.h +58 -0
  1095. package/cpp/third_party/tgfx/src/gpu/processors/DeviceSpaceTextureEffect.cpp +35 -0
  1096. package/cpp/third_party/tgfx/src/gpu/processors/DeviceSpaceTextureEffect.h +46 -0
  1097. package/cpp/third_party/tgfx/src/gpu/processors/DiamondGradientLayout.cpp +31 -0
  1098. package/cpp/third_party/tgfx/src/gpu/processors/DiamondGradientLayout.h +41 -0
  1099. package/cpp/third_party/tgfx/src/gpu/processors/DualIntervalGradientColorizer.h +50 -0
  1100. package/cpp/third_party/tgfx/src/gpu/processors/EllipseGeometryProcessor.cpp +40 -0
  1101. package/cpp/third_party/tgfx/src/gpu/processors/EllipseGeometryProcessor.h +60 -0
  1102. package/cpp/third_party/tgfx/src/gpu/processors/EmptyXferProcessor.cpp +25 -0
  1103. package/cpp/third_party/tgfx/src/gpu/processors/EmptyXferProcessor.h +44 -0
  1104. package/cpp/third_party/tgfx/src/gpu/processors/FragmentProcessor.cpp +213 -0
  1105. package/cpp/third_party/tgfx/src/gpu/processors/FragmentProcessor.h +339 -0
  1106. package/cpp/third_party/tgfx/src/gpu/processors/GaussianBlur1DFragmentProcessor.cpp +35 -0
  1107. package/cpp/third_party/tgfx/src/gpu/processors/GaussianBlur1DFragmentProcessor.h +51 -0
  1108. package/cpp/third_party/tgfx/src/gpu/processors/GeometryProcessor.cpp +109 -0
  1109. package/cpp/third_party/tgfx/src/gpu/processors/GeometryProcessor.h +165 -0
  1110. package/cpp/third_party/tgfx/src/gpu/processors/HairlineLineGeometryProcessor.cpp +40 -0
  1111. package/cpp/third_party/tgfx/src/gpu/processors/HairlineLineGeometryProcessor.h +65 -0
  1112. package/cpp/third_party/tgfx/src/gpu/processors/HairlineQuadGeometryProcessor.cpp +40 -0
  1113. package/cpp/third_party/tgfx/src/gpu/processors/HairlineQuadGeometryProcessor.h +65 -0
  1114. package/cpp/third_party/tgfx/src/gpu/processors/LinearGradientLayout.cpp +31 -0
  1115. package/cpp/third_party/tgfx/src/gpu/processors/LinearGradientLayout.h +41 -0
  1116. package/cpp/third_party/tgfx/src/gpu/processors/LumaFragmentProcessor.cpp +55 -0
  1117. package/cpp/third_party/tgfx/src/gpu/processors/LumaFragmentProcessor.h +52 -0
  1118. package/cpp/third_party/tgfx/src/gpu/processors/MeshGeometryProcessor.cpp +54 -0
  1119. package/cpp/third_party/tgfx/src/gpu/processors/MeshGeometryProcessor.h +59 -0
  1120. package/cpp/third_party/tgfx/src/gpu/processors/NonAARRectGeometryProcessor.cpp +44 -0
  1121. package/cpp/third_party/tgfx/src/gpu/processors/NonAARRectGeometryProcessor.h +61 -0
  1122. package/cpp/third_party/tgfx/src/gpu/processors/PerlinNoiseFragmentProcessor.cpp +62 -0
  1123. package/cpp/third_party/tgfx/src/gpu/processors/PerlinNoiseFragmentProcessor.h +67 -0
  1124. package/cpp/third_party/tgfx/src/gpu/processors/PorterDuffXferProcessor.cpp +33 -0
  1125. package/cpp/third_party/tgfx/src/gpu/processors/PorterDuffXferProcessor.h +49 -0
  1126. package/cpp/third_party/tgfx/src/gpu/processors/Processor.h +54 -0
  1127. package/cpp/third_party/tgfx/src/gpu/processors/QuadPerEdgeAAGeometryProcessor.cpp +53 -0
  1128. package/cpp/third_party/tgfx/src/gpu/processors/QuadPerEdgeAAGeometryProcessor.h +63 -0
  1129. package/cpp/third_party/tgfx/src/gpu/processors/RRectEffect.cpp +32 -0
  1130. package/cpp/third_party/tgfx/src/gpu/processors/RRectEffect.h +82 -0
  1131. package/cpp/third_party/tgfx/src/gpu/processors/RadialGradientLayout.cpp +31 -0
  1132. package/cpp/third_party/tgfx/src/gpu/processors/RadialGradientLayout.h +41 -0
  1133. package/cpp/third_party/tgfx/src/gpu/processors/RectEffect.cpp +32 -0
  1134. package/cpp/third_party/tgfx/src/gpu/processors/RectEffect.h +76 -0
  1135. package/cpp/third_party/tgfx/src/gpu/processors/RoundStrokeRectGeometryProcessor.cpp +49 -0
  1136. package/cpp/third_party/tgfx/src/gpu/processors/RoundStrokeRectGeometryProcessor.h +58 -0
  1137. package/cpp/third_party/tgfx/src/gpu/processors/RuntimeShaderProcessor.cpp +35 -0
  1138. package/cpp/third_party/tgfx/src/gpu/processors/RuntimeShaderProcessor.h +40 -0
  1139. package/cpp/third_party/tgfx/src/gpu/processors/ShapeInstancedGeometryProcessor.cpp +47 -0
  1140. package/cpp/third_party/tgfx/src/gpu/processors/ShapeInstancedGeometryProcessor.h +56 -0
  1141. package/cpp/third_party/tgfx/src/gpu/processors/SingleIntervalGradientColorizer.h +44 -0
  1142. package/cpp/third_party/tgfx/src/gpu/processors/StencilCoverCoverPassGeometryProcessor.cpp +28 -0
  1143. package/cpp/third_party/tgfx/src/gpu/processors/StencilCoverCoverPassGeometryProcessor.h +61 -0
  1144. package/cpp/third_party/tgfx/src/gpu/processors/StencilCoverStencilPassGeometryProcessor.cpp +35 -0
  1145. package/cpp/third_party/tgfx/src/gpu/processors/StencilCoverStencilPassGeometryProcessor.h +62 -0
  1146. package/cpp/third_party/tgfx/src/gpu/processors/TextureEffect.cpp +117 -0
  1147. package/cpp/third_party/tgfx/src/gpu/processors/TextureEffect.h +76 -0
  1148. package/cpp/third_party/tgfx/src/gpu/processors/TextureGradientColorizer.h +52 -0
  1149. package/cpp/third_party/tgfx/src/gpu/processors/TiledTextureEffect.cpp +190 -0
  1150. package/cpp/third_party/tgfx/src/gpu/processors/TiledTextureEffect.h +85 -0
  1151. package/cpp/third_party/tgfx/src/gpu/processors/UnrolledBinaryGradientColorizer.cpp +25 -0
  1152. package/cpp/third_party/tgfx/src/gpu/processors/UnrolledBinaryGradientColorizer.h +72 -0
  1153. package/cpp/third_party/tgfx/src/gpu/processors/XferProcessor.h +64 -0
  1154. package/cpp/third_party/tgfx/src/gpu/processors/XfermodeFragmentProcessor.cpp +65 -0
  1155. package/cpp/third_party/tgfx/src/gpu/processors/XfermodeFragmentProcessor.h +68 -0
  1156. package/cpp/third_party/tgfx/src/gpu/proxies/DefaultTextureProxy.cpp +42 -0
  1157. package/cpp/third_party/tgfx/src/gpu/proxies/DefaultTextureProxy.h +37 -0
  1158. package/cpp/third_party/tgfx/src/gpu/proxies/ExternalRenderTargetProxy.h +71 -0
  1159. package/cpp/third_party/tgfx/src/gpu/proxies/ExternalTextureRenderTargetProxy.cpp +40 -0
  1160. package/cpp/third_party/tgfx/src/gpu/proxies/ExternalTextureRenderTargetProxy.h +36 -0
  1161. package/cpp/third_party/tgfx/src/gpu/proxies/GPUBufferProxy.h +42 -0
  1162. package/cpp/third_party/tgfx/src/gpu/proxies/GPUHairlineProxy.h +61 -0
  1163. package/cpp/third_party/tgfx/src/gpu/proxies/GPUMeshProxy.cpp +102 -0
  1164. package/cpp/third_party/tgfx/src/gpu/proxies/GPUMeshProxy.h +97 -0
  1165. package/cpp/third_party/tgfx/src/gpu/proxies/GPUShapeProxy.h +58 -0
  1166. package/cpp/third_party/tgfx/src/gpu/proxies/HardwareRenderTargetProxy.cpp +43 -0
  1167. package/cpp/third_party/tgfx/src/gpu/proxies/HardwareRenderTargetProxy.h +43 -0
  1168. package/cpp/third_party/tgfx/src/gpu/proxies/HardwareTextureProxy.cpp +41 -0
  1169. package/cpp/third_party/tgfx/src/gpu/proxies/HardwareTextureProxy.h +42 -0
  1170. package/cpp/third_party/tgfx/src/gpu/proxies/RenderTargetProxy.cpp +91 -0
  1171. package/cpp/third_party/tgfx/src/gpu/proxies/RenderTargetProxy.h +179 -0
  1172. package/cpp/third_party/tgfx/src/gpu/proxies/ResourceProxy.h +63 -0
  1173. package/cpp/third_party/tgfx/src/gpu/proxies/StencilCoverPathProxy.h +60 -0
  1174. package/cpp/third_party/tgfx/src/gpu/proxies/TextureProxy.h +124 -0
  1175. package/cpp/third_party/tgfx/src/gpu/proxies/TextureRenderTargetProxy.cpp +46 -0
  1176. package/cpp/third_party/tgfx/src/gpu/proxies/TextureRenderTargetProxy.h +87 -0
  1177. package/cpp/third_party/tgfx/src/gpu/proxies/VertexBufferView.h +60 -0
  1178. package/cpp/third_party/tgfx/src/gpu/resources/BufferResource.cpp +45 -0
  1179. package/cpp/third_party/tgfx/src/gpu/resources/BufferResource.h +76 -0
  1180. package/cpp/third_party/tgfx/src/gpu/resources/DefaultTextureView.cpp +36 -0
  1181. package/cpp/third_party/tgfx/src/gpu/resources/DefaultTextureView.h +42 -0
  1182. package/cpp/third_party/tgfx/src/gpu/resources/ExternalRenderTarget.cpp +37 -0
  1183. package/cpp/third_party/tgfx/src/gpu/resources/ExternalRenderTarget.h +61 -0
  1184. package/cpp/third_party/tgfx/src/gpu/resources/RenderTarget.h +142 -0
  1185. package/cpp/third_party/tgfx/src/gpu/resources/Resource.cpp +37 -0
  1186. package/cpp/third_party/tgfx/src/gpu/resources/Resource.h +103 -0
  1187. package/cpp/third_party/tgfx/src/gpu/resources/ResourceKey.cpp +210 -0
  1188. package/cpp/third_party/tgfx/src/gpu/resources/ResourceKey.h +222 -0
  1189. package/cpp/third_party/tgfx/src/gpu/resources/TextureRenderTarget.cpp +131 -0
  1190. package/cpp/third_party/tgfx/src/gpu/resources/TextureRenderTarget.h +73 -0
  1191. package/cpp/third_party/tgfx/src/gpu/resources/TextureView.cpp +154 -0
  1192. package/cpp/third_party/tgfx/src/gpu/resources/TextureView.h +235 -0
  1193. package/cpp/third_party/tgfx/src/gpu/resources/YUVTextureView.cpp +132 -0
  1194. package/cpp/third_party/tgfx/src/gpu/resources/YUVTextureView.h +92 -0
  1195. package/cpp/third_party/tgfx/src/gpu/tasks/AtlasUploadTask.cpp +154 -0
  1196. package/cpp/third_party/tgfx/src/gpu/tasks/AtlasUploadTask.h +62 -0
  1197. package/cpp/third_party/tgfx/src/gpu/tasks/GPUBufferUploadTask.cpp +50 -0
  1198. package/cpp/third_party/tgfx/src/gpu/tasks/GPUBufferUploadTask.h +43 -0
  1199. package/cpp/third_party/tgfx/src/gpu/tasks/GenerateMipmapsTask.cpp +36 -0
  1200. package/cpp/third_party/tgfx/src/gpu/tasks/GenerateMipmapsTask.h +34 -0
  1201. package/cpp/third_party/tgfx/src/gpu/tasks/HairlineBufferUploadTask.cpp +93 -0
  1202. package/cpp/third_party/tgfx/src/gpu/tasks/HairlineBufferUploadTask.h +49 -0
  1203. package/cpp/third_party/tgfx/src/gpu/tasks/MeshBufferUploadTask.cpp +148 -0
  1204. package/cpp/third_party/tgfx/src/gpu/tasks/MeshBufferUploadTask.h +78 -0
  1205. package/cpp/third_party/tgfx/src/gpu/tasks/OpsRenderTask.cpp +81 -0
  1206. package/cpp/third_party/tgfx/src/gpu/tasks/OpsRenderTask.h +41 -0
  1207. package/cpp/third_party/tgfx/src/gpu/tasks/ReadbackBufferCreateTask.cpp +38 -0
  1208. package/cpp/third_party/tgfx/src/gpu/tasks/ReadbackBufferCreateTask.h +35 -0
  1209. package/cpp/third_party/tgfx/src/gpu/tasks/RenderTargetCopyTask.cpp +48 -0
  1210. package/cpp/third_party/tgfx/src/gpu/tasks/RenderTargetCopyTask.h +38 -0
  1211. package/cpp/third_party/tgfx/src/gpu/tasks/RenderTask.h +37 -0
  1212. package/cpp/third_party/tgfx/src/gpu/tasks/ResourceTask.cpp +40 -0
  1213. package/cpp/third_party/tgfx/src/gpu/tasks/ResourceTask.h +48 -0
  1214. package/cpp/third_party/tgfx/src/gpu/tasks/RuntimeDrawTask.cpp +150 -0
  1215. package/cpp/third_party/tgfx/src/gpu/tasks/RuntimeDrawTask.h +52 -0
  1216. package/cpp/third_party/tgfx/src/gpu/tasks/ShapeBufferUploadTask.cpp +63 -0
  1217. package/cpp/third_party/tgfx/src/gpu/tasks/ShapeBufferUploadTask.h +39 -0
  1218. package/cpp/third_party/tgfx/src/gpu/tasks/StencilCoverPathUploadTask.cpp +55 -0
  1219. package/cpp/third_party/tgfx/src/gpu/tasks/StencilCoverPathUploadTask.h +43 -0
  1220. package/cpp/third_party/tgfx/src/gpu/tasks/TextureUploadTask.cpp +47 -0
  1221. package/cpp/third_party/tgfx/src/gpu/tasks/TextureUploadTask.h +36 -0
  1222. package/cpp/third_party/tgfx/src/gpu/tasks/TransferPixelsTask.cpp +42 -0
  1223. package/cpp/third_party/tgfx/src/gpu/tasks/TransferPixelsTask.h +38 -0
  1224. package/cpp/third_party/tgfx/src/gpu/vulkan/VulkanAPI.h +43 -0
  1225. package/cpp/third_party/tgfx/src/gpu/vulkan/VulkanBuffer.cpp +137 -0
  1226. package/cpp/third_party/tgfx/src/gpu/vulkan/VulkanBuffer.h +66 -0
  1227. package/cpp/third_party/tgfx/src/gpu/vulkan/VulkanCaps.cpp +172 -0
  1228. package/cpp/third_party/tgfx/src/gpu/vulkan/VulkanCaps.h +116 -0
  1229. package/cpp/third_party/tgfx/src/gpu/vulkan/VulkanCommandBuffer.cpp +34 -0
  1230. package/cpp/third_party/tgfx/src/gpu/vulkan/VulkanCommandBuffer.h +68 -0
  1231. package/cpp/third_party/tgfx/src/gpu/vulkan/VulkanCommandEncoder.cpp +361 -0
  1232. package/cpp/third_party/tgfx/src/gpu/vulkan/VulkanCommandEncoder.h +95 -0
  1233. package/cpp/third_party/tgfx/src/gpu/vulkan/VulkanCommandQueue.cpp +393 -0
  1234. package/cpp/third_party/tgfx/src/gpu/vulkan/VulkanCommandQueue.h +102 -0
  1235. package/cpp/third_party/tgfx/src/gpu/vulkan/VulkanDefines.h +56 -0
  1236. package/cpp/third_party/tgfx/src/gpu/vulkan/VulkanDevice.cpp +55 -0
  1237. package/cpp/third_party/tgfx/src/gpu/vulkan/VulkanDevice.h +24 -0
  1238. package/cpp/third_party/tgfx/src/gpu/vulkan/VulkanExtensions.cpp +224 -0
  1239. package/cpp/third_party/tgfx/src/gpu/vulkan/VulkanExtensions.h +93 -0
  1240. package/cpp/third_party/tgfx/src/gpu/vulkan/VulkanFrameSession.h +96 -0
  1241. package/cpp/third_party/tgfx/src/gpu/vulkan/VulkanGPU.cpp +970 -0
  1242. package/cpp/third_party/tgfx/src/gpu/vulkan/VulkanGPU.h +293 -0
  1243. package/cpp/third_party/tgfx/src/gpu/vulkan/VulkanHardwareTexture.cpp +306 -0
  1244. package/cpp/third_party/tgfx/src/gpu/vulkan/VulkanHardwareTexture.h +62 -0
  1245. package/cpp/third_party/tgfx/src/gpu/vulkan/VulkanRenderPass.cpp +551 -0
  1246. package/cpp/third_party/tgfx/src/gpu/vulkan/VulkanRenderPass.h +115 -0
  1247. package/cpp/third_party/tgfx/src/gpu/vulkan/VulkanRenderPipeline.cpp +596 -0
  1248. package/cpp/third_party/tgfx/src/gpu/vulkan/VulkanRenderPipeline.h +108 -0
  1249. package/cpp/third_party/tgfx/src/gpu/vulkan/VulkanResource.cpp +21 -0
  1250. package/cpp/third_party/tgfx/src/gpu/vulkan/VulkanResource.h +43 -0
  1251. package/cpp/third_party/tgfx/src/gpu/vulkan/VulkanSampler.cpp +108 -0
  1252. package/cpp/third_party/tgfx/src/gpu/vulkan/VulkanSampler.h +52 -0
  1253. package/cpp/third_party/tgfx/src/gpu/vulkan/VulkanSemaphore.cpp +82 -0
  1254. package/cpp/third_party/tgfx/src/gpu/vulkan/VulkanSemaphore.h +71 -0
  1255. package/cpp/third_party/tgfx/src/gpu/vulkan/VulkanShaderModule.cpp +65 -0
  1256. package/cpp/third_party/tgfx/src/gpu/vulkan/VulkanShaderModule.h +54 -0
  1257. package/cpp/third_party/tgfx/src/gpu/vulkan/VulkanSwapchainProxy.cpp +110 -0
  1258. package/cpp/third_party/tgfx/src/gpu/vulkan/VulkanSwapchainProxy.h +84 -0
  1259. package/cpp/third_party/tgfx/src/gpu/vulkan/VulkanTexture.cpp +208 -0
  1260. package/cpp/third_party/tgfx/src/gpu/vulkan/VulkanTexture.h +90 -0
  1261. package/cpp/third_party/tgfx/src/gpu/vulkan/VulkanUtil.cpp +236 -0
  1262. package/cpp/third_party/tgfx/src/gpu/vulkan/VulkanUtil.h +73 -0
  1263. package/cpp/third_party/tgfx/src/gpu/vulkan/VulkanWindow.cpp +764 -0
  1264. package/cpp/third_party/tgfx/src/gpu/webgpu/WebGPUBuffer.cpp +171 -0
  1265. package/cpp/third_party/tgfx/src/gpu/webgpu/WebGPUBuffer.h +72 -0
  1266. package/cpp/third_party/tgfx/src/gpu/webgpu/WebGPUCaps.cpp +109 -0
  1267. package/cpp/third_party/tgfx/src/gpu/webgpu/WebGPUCaps.h +78 -0
  1268. package/cpp/third_party/tgfx/src/gpu/webgpu/WebGPUCommandBuffer.h +45 -0
  1269. package/cpp/third_party/tgfx/src/gpu/webgpu/WebGPUCommandEncoder.cpp +223 -0
  1270. package/cpp/third_party/tgfx/src/gpu/webgpu/WebGPUCommandEncoder.h +60 -0
  1271. package/cpp/third_party/tgfx/src/gpu/webgpu/WebGPUCommandQueue.cpp +104 -0
  1272. package/cpp/third_party/tgfx/src/gpu/webgpu/WebGPUCommandQueue.h +63 -0
  1273. package/cpp/third_party/tgfx/src/gpu/webgpu/WebGPUDefines.h +58 -0
  1274. package/cpp/third_party/tgfx/src/gpu/webgpu/WebGPUDevice.cpp +98 -0
  1275. package/cpp/third_party/tgfx/src/gpu/webgpu/WebGPUDevice.h +24 -0
  1276. package/cpp/third_party/tgfx/src/gpu/webgpu/WebGPUDrawableProxy.cpp +117 -0
  1277. package/cpp/third_party/tgfx/src/gpu/webgpu/WebGPUDrawableProxy.h +58 -0
  1278. package/cpp/third_party/tgfx/src/gpu/webgpu/WebGPUGPU.cpp +294 -0
  1279. package/cpp/third_party/tgfx/src/gpu/webgpu/WebGPUGPU.h +136 -0
  1280. package/cpp/third_party/tgfx/src/gpu/webgpu/WebGPURenderPass.cpp +305 -0
  1281. package/cpp/third_party/tgfx/src/gpu/webgpu/WebGPURenderPass.h +97 -0
  1282. package/cpp/third_party/tgfx/src/gpu/webgpu/WebGPURenderPipeline.cpp +305 -0
  1283. package/cpp/third_party/tgfx/src/gpu/webgpu/WebGPURenderPipeline.h +72 -0
  1284. package/cpp/third_party/tgfx/src/gpu/webgpu/WebGPUResource.cpp +21 -0
  1285. package/cpp/third_party/tgfx/src/gpu/webgpu/WebGPUResource.h +43 -0
  1286. package/cpp/third_party/tgfx/src/gpu/webgpu/WebGPUSampler.cpp +57 -0
  1287. package/cpp/third_party/tgfx/src/gpu/webgpu/WebGPUSampler.h +47 -0
  1288. package/cpp/third_party/tgfx/src/gpu/webgpu/WebGPUSemaphore.cpp +28 -0
  1289. package/cpp/third_party/tgfx/src/gpu/webgpu/WebGPUSemaphore.h +33 -0
  1290. package/cpp/third_party/tgfx/src/gpu/webgpu/WebGPUShaderModule.cpp +275 -0
  1291. package/cpp/third_party/tgfx/src/gpu/webgpu/WebGPUShaderModule.h +57 -0
  1292. package/cpp/third_party/tgfx/src/gpu/webgpu/WebGPUTexture.cpp +144 -0
  1293. package/cpp/third_party/tgfx/src/gpu/webgpu/WebGPUTexture.h +73 -0
  1294. package/cpp/third_party/tgfx/src/gpu/webgpu/WebGPUUtil.cpp +364 -0
  1295. package/cpp/third_party/tgfx/src/gpu/webgpu/WebGPUUtil.h +72 -0
  1296. package/cpp/third_party/tgfx/src/gpu/webgpu/WebGPUWindow.cpp +156 -0
  1297. package/cpp/third_party/tgfx/src/layers/BackgroundHandler.cpp +363 -0
  1298. package/cpp/third_party/tgfx/src/layers/BackgroundHandler.h +217 -0
  1299. package/cpp/third_party/tgfx/src/layers/BackgroundSnapshotMap.h +102 -0
  1300. package/cpp/third_party/tgfx/src/layers/BackgroundSource.cpp +285 -0
  1301. package/cpp/third_party/tgfx/src/layers/BackgroundSource.h +104 -0
  1302. package/cpp/third_party/tgfx/src/layers/DashEffect.cpp +41 -0
  1303. package/cpp/third_party/tgfx/src/layers/DashEffect.h +33 -0
  1304. package/cpp/third_party/tgfx/src/layers/DisplayList.cpp +1250 -0
  1305. package/cpp/third_party/tgfx/src/layers/DrawArgs.h +76 -0
  1306. package/cpp/third_party/tgfx/src/layers/ImageLayer.cpp +50 -0
  1307. package/cpp/third_party/tgfx/src/layers/Layer.cpp +2257 -0
  1308. package/cpp/third_party/tgfx/src/layers/LayerProperty.cpp +62 -0
  1309. package/cpp/third_party/tgfx/src/layers/LayerRecorder.cpp +405 -0
  1310. package/cpp/third_party/tgfx/src/layers/LayerStyleSource.h +102 -0
  1311. package/cpp/third_party/tgfx/src/layers/MaskContext.cpp +225 -0
  1312. package/cpp/third_party/tgfx/src/layers/MaskContext.h +104 -0
  1313. package/cpp/third_party/tgfx/src/layers/MeshLayer.cpp +88 -0
  1314. package/cpp/third_party/tgfx/src/layers/NoiseDensityUtils.cpp +88 -0
  1315. package/cpp/third_party/tgfx/src/layers/NoiseDensityUtils.h +47 -0
  1316. package/cpp/third_party/tgfx/src/layers/OffscreenRenderer.cpp +265 -0
  1317. package/cpp/third_party/tgfx/src/layers/OffscreenRenderer.h +78 -0
  1318. package/cpp/third_party/tgfx/src/layers/OpaqueContext.cpp +477 -0
  1319. package/cpp/third_party/tgfx/src/layers/OpaqueContext.h +176 -0
  1320. package/cpp/third_party/tgfx/src/layers/OpaqueThreshold.h +23 -0
  1321. package/cpp/third_party/tgfx/src/layers/RegionTransformer.cpp +234 -0
  1322. package/cpp/third_party/tgfx/src/layers/RegionTransformer.h +109 -0
  1323. package/cpp/third_party/tgfx/src/layers/RootLayer.cpp +117 -0
  1324. package/cpp/third_party/tgfx/src/layers/RootLayer.h +91 -0
  1325. package/cpp/third_party/tgfx/src/layers/ShapeLayer.cpp +275 -0
  1326. package/cpp/third_party/tgfx/src/layers/ShapeStyle.cpp +37 -0
  1327. package/cpp/third_party/tgfx/src/layers/SolidLayer.cpp +95 -0
  1328. package/cpp/third_party/tgfx/src/layers/SpreadUtils.cpp +233 -0
  1329. package/cpp/third_party/tgfx/src/layers/SpreadUtils.h +71 -0
  1330. package/cpp/third_party/tgfx/src/layers/SubtreeCache.cpp +90 -0
  1331. package/cpp/third_party/tgfx/src/layers/SubtreeCache.h +62 -0
  1332. package/cpp/third_party/tgfx/src/layers/TextLayer.cpp +498 -0
  1333. package/cpp/third_party/tgfx/src/layers/TileCache.cpp +120 -0
  1334. package/cpp/third_party/tgfx/src/layers/TileCache.h +124 -0
  1335. package/cpp/third_party/tgfx/src/layers/VectorLayer.cpp +159 -0
  1336. package/cpp/third_party/tgfx/src/layers/compositing3d/BspTree.cpp +89 -0
  1337. package/cpp/third_party/tgfx/src/layers/compositing3d/BspTree.h +112 -0
  1338. package/cpp/third_party/tgfx/src/layers/compositing3d/Context3DCompositor.cpp +287 -0
  1339. package/cpp/third_party/tgfx/src/layers/compositing3d/Context3DCompositor.h +121 -0
  1340. package/cpp/third_party/tgfx/src/layers/compositing3d/DrawPolygon3D.cpp +269 -0
  1341. package/cpp/third_party/tgfx/src/layers/compositing3d/DrawPolygon3D.h +158 -0
  1342. package/cpp/third_party/tgfx/src/layers/compositing3d/Layer3DContext.cpp +85 -0
  1343. package/cpp/third_party/tgfx/src/layers/compositing3d/Layer3DContext.h +110 -0
  1344. package/cpp/third_party/tgfx/src/layers/compositing3d/Opaque3DContext.cpp +114 -0
  1345. package/cpp/third_party/tgfx/src/layers/compositing3d/Opaque3DContext.h +55 -0
  1346. package/cpp/third_party/tgfx/src/layers/compositing3d/Render3DContext.cpp +277 -0
  1347. package/cpp/third_party/tgfx/src/layers/compositing3d/Render3DContext.h +87 -0
  1348. package/cpp/third_party/tgfx/src/layers/contents/ComposeContent.cpp +109 -0
  1349. package/cpp/third_party/tgfx/src/layers/contents/ComposeContent.h +57 -0
  1350. package/cpp/third_party/tgfx/src/layers/contents/DrawContent.cpp +127 -0
  1351. package/cpp/third_party/tgfx/src/layers/contents/DrawContent.h +70 -0
  1352. package/cpp/third_party/tgfx/src/layers/contents/GeometryContent.h +44 -0
  1353. package/cpp/third_party/tgfx/src/layers/contents/LayerContent.h +107 -0
  1354. package/cpp/third_party/tgfx/src/layers/contents/MatrixContent.cpp +86 -0
  1355. package/cpp/third_party/tgfx/src/layers/contents/MatrixContent.h +53 -0
  1356. package/cpp/third_party/tgfx/src/layers/contents/MeshContent.cpp +48 -0
  1357. package/cpp/third_party/tgfx/src/layers/contents/MeshContent.h +45 -0
  1358. package/cpp/third_party/tgfx/src/layers/contents/PathContent.cpp +76 -0
  1359. package/cpp/third_party/tgfx/src/layers/contents/PathContent.h +49 -0
  1360. package/cpp/third_party/tgfx/src/layers/contents/RRectContent.cpp +66 -0
  1361. package/cpp/third_party/tgfx/src/layers/contents/RRectContent.h +48 -0
  1362. package/cpp/third_party/tgfx/src/layers/contents/RRectsContent.cpp +97 -0
  1363. package/cpp/third_party/tgfx/src/layers/contents/RRectsContent.h +49 -0
  1364. package/cpp/third_party/tgfx/src/layers/contents/RectContent.cpp +67 -0
  1365. package/cpp/third_party/tgfx/src/layers/contents/RectContent.h +48 -0
  1366. package/cpp/third_party/tgfx/src/layers/contents/RectsContent.cpp +94 -0
  1367. package/cpp/third_party/tgfx/src/layers/contents/RectsContent.h +48 -0
  1368. package/cpp/third_party/tgfx/src/layers/contents/ShapeContent.cpp +193 -0
  1369. package/cpp/third_party/tgfx/src/layers/contents/ShapeContent.h +81 -0
  1370. package/cpp/third_party/tgfx/src/layers/contents/TextContent.cpp +56 -0
  1371. package/cpp/third_party/tgfx/src/layers/contents/TextContent.h +46 -0
  1372. package/cpp/third_party/tgfx/src/layers/filters/BlendFilter.cpp +51 -0
  1373. package/cpp/third_party/tgfx/src/layers/filters/BlurFilter.cpp +60 -0
  1374. package/cpp/third_party/tgfx/src/layers/filters/ColorMatrixFilter.cpp +43 -0
  1375. package/cpp/third_party/tgfx/src/layers/filters/DropShadowFilter.cpp +92 -0
  1376. package/cpp/third_party/tgfx/src/layers/filters/InnerShadowFilter.cpp +93 -0
  1377. package/cpp/third_party/tgfx/src/layers/filters/LayerFilter.cpp +43 -0
  1378. package/cpp/third_party/tgfx/src/layers/filters/LayerImageFilter.cpp +56 -0
  1379. package/cpp/third_party/tgfx/src/layers/filters/NoiseFilter.cpp +356 -0
  1380. package/cpp/third_party/tgfx/src/layers/imagefilters/GlassRefractionImageFilter.cpp +81 -0
  1381. package/cpp/third_party/tgfx/src/layers/imagefilters/GlassRefractionImageFilter.h +48 -0
  1382. package/cpp/third_party/tgfx/src/layers/layerstyles/BackgroundBlurStyle.cpp +103 -0
  1383. package/cpp/third_party/tgfx/src/layers/layerstyles/DropShadowStyle.cpp +180 -0
  1384. package/cpp/third_party/tgfx/src/layers/layerstyles/GlassStyle.cpp +413 -0
  1385. package/cpp/third_party/tgfx/src/layers/layerstyles/InnerShadowStyle.cpp +219 -0
  1386. package/cpp/third_party/tgfx/src/layers/layerstyles/LayerStyle.cpp +42 -0
  1387. package/cpp/third_party/tgfx/src/layers/layerstyles/NoiseStyle.cpp +280 -0
  1388. package/cpp/third_party/tgfx/src/layers/layerstyles/StyledShape.cpp +51 -0
  1389. package/cpp/third_party/tgfx/src/layers/processors/GLSLGlassRefractionFragmentProcessor.cpp +282 -0
  1390. package/cpp/third_party/tgfx/src/layers/processors/GLSLGlassRefractionFragmentProcessor.h +39 -0
  1391. package/cpp/third_party/tgfx/src/layers/processors/GLSLTentBlur1DFragmentProcessor.cpp +134 -0
  1392. package/cpp/third_party/tgfx/src/layers/processors/GLSLTentBlur1DFragmentProcessor.h +37 -0
  1393. package/cpp/third_party/tgfx/src/layers/processors/GlassRefractionFragmentProcessor.cpp +78 -0
  1394. package/cpp/third_party/tgfx/src/layers/processors/GlassRefractionFragmentProcessor.h +94 -0
  1395. package/cpp/third_party/tgfx/src/layers/processors/TentBlur1DFragmentProcessor.cpp +37 -0
  1396. package/cpp/third_party/tgfx/src/layers/processors/TentBlur1DFragmentProcessor.h +54 -0
  1397. package/cpp/third_party/tgfx/src/layers/vectors/Ellipse.cpp +81 -0
  1398. package/cpp/third_party/tgfx/src/layers/vectors/FillStyle.cpp +173 -0
  1399. package/cpp/third_party/tgfx/src/layers/vectors/Geometry.cpp +304 -0
  1400. package/cpp/third_party/tgfx/src/layers/vectors/Geometry.h +142 -0
  1401. package/cpp/third_party/tgfx/src/layers/vectors/Gradient.cpp +196 -0
  1402. package/cpp/third_party/tgfx/src/layers/vectors/ImagePattern.cpp +147 -0
  1403. package/cpp/third_party/tgfx/src/layers/vectors/MergePath.cpp +78 -0
  1404. package/cpp/third_party/tgfx/src/layers/vectors/Painter.cpp +112 -0
  1405. package/cpp/third_party/tgfx/src/layers/vectors/Painter.h +158 -0
  1406. package/cpp/third_party/tgfx/src/layers/vectors/Polystar.cpp +285 -0
  1407. package/cpp/third_party/tgfx/src/layers/vectors/Rectangle.cpp +101 -0
  1408. package/cpp/third_party/tgfx/src/layers/vectors/Repeater.cpp +174 -0
  1409. package/cpp/third_party/tgfx/src/layers/vectors/RoundCorner.cpp +56 -0
  1410. package/cpp/third_party/tgfx/src/layers/vectors/ShapePath.cpp +68 -0
  1411. package/cpp/third_party/tgfx/src/layers/vectors/SolidColor.cpp +37 -0
  1412. package/cpp/third_party/tgfx/src/layers/vectors/StrokeStyle.cpp +260 -0
  1413. package/cpp/third_party/tgfx/src/layers/vectors/Text.cpp +77 -0
  1414. package/cpp/third_party/tgfx/src/layers/vectors/TextModifier.cpp +256 -0
  1415. package/cpp/third_party/tgfx/src/layers/vectors/TextPath.cpp +258 -0
  1416. package/cpp/third_party/tgfx/src/layers/vectors/TextSelector.cpp +493 -0
  1417. package/cpp/third_party/tgfx/src/layers/vectors/TrimPath.cpp +194 -0
  1418. package/cpp/third_party/tgfx/src/layers/vectors/VectorContext.cpp +80 -0
  1419. package/cpp/third_party/tgfx/src/layers/vectors/VectorContext.h +73 -0
  1420. package/cpp/third_party/tgfx/src/layers/vectors/VectorElement.cpp +31 -0
  1421. package/cpp/third_party/tgfx/src/layers/vectors/VectorGroup.cpp +188 -0
  1422. package/cpp/third_party/tgfx/src/pdf/DeflateStream.cpp +133 -0
  1423. package/cpp/third_party/tgfx/src/pdf/DeflateStream.h +42 -0
  1424. package/cpp/third_party/tgfx/src/pdf/PDFBitmap.cpp +414 -0
  1425. package/cpp/third_party/tgfx/src/pdf/PDFBitmap.h +39 -0
  1426. package/cpp/third_party/tgfx/src/pdf/PDFDocumentImpl.cpp +517 -0
  1427. package/cpp/third_party/tgfx/src/pdf/PDFDocumentImpl.h +208 -0
  1428. package/cpp/third_party/tgfx/src/pdf/PDFExportContext.cpp +1490 -0
  1429. package/cpp/third_party/tgfx/src/pdf/PDFExportContext.h +188 -0
  1430. package/cpp/third_party/tgfx/src/pdf/PDFFont.cpp +582 -0
  1431. package/cpp/third_party/tgfx/src/pdf/PDFFont.h +183 -0
  1432. package/cpp/third_party/tgfx/src/pdf/PDFFormXObject.cpp +54 -0
  1433. package/cpp/third_party/tgfx/src/pdf/PDFFormXObject.h +33 -0
  1434. package/cpp/third_party/tgfx/src/pdf/PDFGlyphUse.h +89 -0
  1435. package/cpp/third_party/tgfx/src/pdf/PDFGradientShader.cpp +1009 -0
  1436. package/cpp/third_party/tgfx/src/pdf/PDFGradientShader.h +44 -0
  1437. package/cpp/third_party/tgfx/src/pdf/PDFGraphicStackState.cpp +175 -0
  1438. package/cpp/third_party/tgfx/src/pdf/PDFGraphicStackState.h +65 -0
  1439. package/cpp/third_party/tgfx/src/pdf/PDFGraphicState.cpp +91 -0
  1440. package/cpp/third_party/tgfx/src/pdf/PDFGraphicState.h +75 -0
  1441. package/cpp/third_party/tgfx/src/pdf/PDFMetadata.cpp +109 -0
  1442. package/cpp/third_party/tgfx/src/pdf/PDFMetadataUtils.cpp +334 -0
  1443. package/cpp/third_party/tgfx/src/pdf/PDFMetadataUtils.h +39 -0
  1444. package/cpp/third_party/tgfx/src/pdf/PDFResourceDictionary.cpp +83 -0
  1445. package/cpp/third_party/tgfx/src/pdf/PDFResourceDictionary.h +42 -0
  1446. package/cpp/third_party/tgfx/src/pdf/PDFShader.cpp +392 -0
  1447. package/cpp/third_party/tgfx/src/pdf/PDFShader.h +46 -0
  1448. package/cpp/third_party/tgfx/src/pdf/PDFTag.cpp +441 -0
  1449. package/cpp/third_party/tgfx/src/pdf/PDFTag.h +158 -0
  1450. package/cpp/third_party/tgfx/src/pdf/PDFTypes.cpp +351 -0
  1451. package/cpp/third_party/tgfx/src/pdf/PDFTypes.h +174 -0
  1452. package/cpp/third_party/tgfx/src/pdf/PDFUnion.cpp +324 -0
  1453. package/cpp/third_party/tgfx/src/pdf/PDFUnion.h +104 -0
  1454. package/cpp/third_party/tgfx/src/pdf/PDFUtils.cpp +437 -0
  1455. package/cpp/third_party/tgfx/src/pdf/PDFUtils.h +100 -0
  1456. package/cpp/third_party/tgfx/src/pdf/fontSubset/PDFMakeCIDGlyphWidthsArray.cpp +203 -0
  1457. package/cpp/third_party/tgfx/src/pdf/fontSubset/PDFMakeCIDGlyphWidthsArray.h +36 -0
  1458. package/cpp/third_party/tgfx/src/pdf/fontSubset/PDFMakeToUnicodeCmap.cpp +221 -0
  1459. package/cpp/third_party/tgfx/src/pdf/fontSubset/PDFMakeToUnicodeCmap.h +32 -0
  1460. package/cpp/third_party/tgfx/src/pdf/fontSubset/PDFSubsetFont.cpp +128 -0
  1461. package/cpp/third_party/tgfx/src/pdf/fontSubset/PDFSubsetFont.h +30 -0
  1462. package/cpp/third_party/tgfx/src/pdf/fontSubset/PDFType1Font.cpp +339 -0
  1463. package/cpp/third_party/tgfx/src/pdf/fontSubset/PDFType1Font.h +28 -0
  1464. package/cpp/third_party/tgfx/src/platform/ImageReader.cpp +124 -0
  1465. package/cpp/third_party/tgfx/src/platform/ImageStream.h +78 -0
  1466. package/cpp/third_party/tgfx/src/platform/Print.cpp +43 -0
  1467. package/cpp/third_party/tgfx/src/platform/android/AHardwareBufferFunctions.cpp +55 -0
  1468. package/cpp/third_party/tgfx/src/platform/android/AHardwareBufferFunctions.h +53 -0
  1469. package/cpp/third_party/tgfx/src/platform/android/AndroidBitmap.cpp +133 -0
  1470. package/cpp/third_party/tgfx/src/platform/android/GlyphRenderer.cpp +437 -0
  1471. package/cpp/third_party/tgfx/src/platform/android/GlyphRenderer.h +92 -0
  1472. package/cpp/third_party/tgfx/src/platform/android/HandlerThread.cpp +69 -0
  1473. package/cpp/third_party/tgfx/src/platform/android/HandlerThread.h +43 -0
  1474. package/cpp/third_party/tgfx/src/platform/android/HardwareBuffer.cpp +127 -0
  1475. package/cpp/third_party/tgfx/src/platform/android/JNIEnvironment.cpp +94 -0
  1476. package/cpp/third_party/tgfx/src/platform/android/JNIInit.cpp +49 -0
  1477. package/cpp/third_party/tgfx/src/platform/android/JNIInit.h +26 -0
  1478. package/cpp/third_party/tgfx/src/platform/android/JNIUtil.cpp +38 -0
  1479. package/cpp/third_party/tgfx/src/platform/android/JNIUtil.h +32 -0
  1480. package/cpp/third_party/tgfx/src/platform/android/NativeCodec.cpp +415 -0
  1481. package/cpp/third_party/tgfx/src/platform/android/NativeCodec.h +52 -0
  1482. package/cpp/third_party/tgfx/src/platform/android/NativeImageBuffer.cpp +70 -0
  1483. package/cpp/third_party/tgfx/src/platform/android/NativeImageBuffer.h +59 -0
  1484. package/cpp/third_party/tgfx/src/platform/android/Print.cpp +38 -0
  1485. package/cpp/third_party/tgfx/src/platform/android/SurfaceTexture.cpp +309 -0
  1486. package/cpp/third_party/tgfx/src/platform/android/SurfaceTexture.h +84 -0
  1487. package/cpp/third_party/tgfx/src/platform/android/SurfaceTextureReader.cpp +71 -0
  1488. package/cpp/third_party/tgfx/src/platform/apple/BitmapContextUtil.h +26 -0
  1489. package/cpp/third_party/tgfx/src/platform/apple/BitmapContextUtil.mm +63 -0
  1490. package/cpp/third_party/tgfx/src/platform/apple/CGColorSpaceUtil.h +29 -0
  1491. package/cpp/third_party/tgfx/src/platform/apple/CGColorSpaceUtil.mm +46 -0
  1492. package/cpp/third_party/tgfx/src/platform/apple/CTTypeface.mm +44 -0
  1493. package/cpp/third_party/tgfx/src/platform/apple/HardwareBuffer.mm +102 -0
  1494. package/cpp/third_party/tgfx/src/platform/apple/NativeCodec.h +43 -0
  1495. package/cpp/third_party/tgfx/src/platform/apple/NativeCodec.mm +197 -0
  1496. package/cpp/third_party/tgfx/src/platform/mock/HardwareBuffer.cpp +47 -0
  1497. package/cpp/third_party/tgfx/src/platform/mock/NativeCodec.cpp +33 -0
  1498. package/cpp/third_party/tgfx/src/platform/ohos/HardwareBuffer.cpp +99 -0
  1499. package/cpp/third_party/tgfx/src/platform/ohos/NativeCodec.cpp +230 -0
  1500. package/cpp/third_party/tgfx/src/platform/ohos/NativeCodec.h +49 -0
  1501. package/cpp/third_party/tgfx/src/platform/ohos/OHOSImageInfo.cpp +85 -0
  1502. package/cpp/third_party/tgfx/src/platform/ohos/OHOSImageInfo.h +52 -0
  1503. package/cpp/third_party/tgfx/src/platform/ohos/OHOSPixelMap.cpp +66 -0
  1504. package/cpp/third_party/tgfx/src/platform/ohos/Print.cpp +45 -0
  1505. package/cpp/third_party/tgfx/src/platform/web/HardwareBuffer.cpp +51 -0
  1506. package/cpp/third_party/tgfx/src/platform/web/NativeCodec.cpp +113 -0
  1507. package/cpp/third_party/tgfx/src/platform/web/NativeCodec.h +45 -0
  1508. package/cpp/third_party/tgfx/src/platform/web/ReadPixelsFromCanvasImage.cpp +54 -0
  1509. package/cpp/third_party/tgfx/src/platform/web/ReadPixelsFromCanvasImage.h +31 -0
  1510. package/cpp/third_party/tgfx/src/platform/web/TGFXWasmBindings.cpp +79 -0
  1511. package/cpp/third_party/tgfx/src/platform/web/TGFXWasmBindings.h +23 -0
  1512. package/cpp/third_party/tgfx/src/platform/web/VideoElement.cpp +84 -0
  1513. package/cpp/third_party/tgfx/src/platform/web/VideoElement.h +51 -0
  1514. package/cpp/third_party/tgfx/src/platform/web/VideoElementReader.cpp +42 -0
  1515. package/cpp/third_party/tgfx/src/platform/web/WebAtlasUploadTask.cpp +67 -0
  1516. package/cpp/third_party/tgfx/src/platform/web/WebAtlasUploadTask.h +31 -0
  1517. package/cpp/third_party/tgfx/src/platform/web/WebGlyphRasterizer.cpp +47 -0
  1518. package/cpp/third_party/tgfx/src/platform/web/WebGlyphRasterizer.h +35 -0
  1519. package/cpp/third_party/tgfx/src/platform/web/WebImageBuffer.cpp +185 -0
  1520. package/cpp/third_party/tgfx/src/platform/web/WebImageBuffer.h +85 -0
  1521. package/cpp/third_party/tgfx/src/platform/web/WebImageInfo.cpp +134 -0
  1522. package/cpp/third_party/tgfx/src/platform/web/WebImageInfo.h +33 -0
  1523. package/cpp/third_party/tgfx/src/platform/web/WebPathRasterizer.cpp +108 -0
  1524. package/cpp/third_party/tgfx/src/platform/web/WebPathRasterizer.h +35 -0
  1525. package/cpp/third_party/tgfx/src/platform/web/WebScalerContext.cpp +118 -0
  1526. package/cpp/third_party/tgfx/src/platform/web/WebScalerContext.h +62 -0
  1527. package/cpp/third_party/tgfx/src/platform/web/WebTypeface.cpp +146 -0
  1528. package/cpp/third_party/tgfx/src/platform/web/WebTypeface.h +97 -0
  1529. package/cpp/third_party/tgfx/src/platform/win/D3D11Defines.h +129 -0
  1530. package/cpp/third_party/tgfx/src/platform/win/D3D11Util.cpp +69 -0
  1531. package/cpp/third_party/tgfx/src/platform/win/D3D11Util.h +47 -0
  1532. package/cpp/third_party/tgfx/src/platform/win/HardwareBuffer.cpp +215 -0
  1533. package/cpp/third_party/tgfx/src/platform/win/NativeCodec.cpp +351 -0
  1534. package/cpp/third_party/tgfx/src/platform/win/NativeCodec.h +47 -0
  1535. package/cpp/third_party/tgfx/src/svg/ElementWriter.cpp +1569 -0
  1536. package/cpp/third_party/tgfx/src/svg/ElementWriter.h +199 -0
  1537. package/cpp/third_party/tgfx/src/svg/ResourceStore.h +82 -0
  1538. package/cpp/third_party/tgfx/src/svg/SVGAttribute.cpp +63 -0
  1539. package/cpp/third_party/tgfx/src/svg/SVGAttributeParser.cpp +1293 -0
  1540. package/cpp/third_party/tgfx/src/svg/SVGAttributeParser.h +182 -0
  1541. package/cpp/third_party/tgfx/src/svg/SVGDOM.cpp +126 -0
  1542. package/cpp/third_party/tgfx/src/svg/SVGExportContext.cpp +894 -0
  1543. package/cpp/third_party/tgfx/src/svg/SVGExportContext.h +169 -0
  1544. package/cpp/third_party/tgfx/src/svg/SVGExporter.cpp +76 -0
  1545. package/cpp/third_party/tgfx/src/svg/SVGFilterContext.cpp +132 -0
  1546. package/cpp/third_party/tgfx/src/svg/SVGFilterContext.h +86 -0
  1547. package/cpp/third_party/tgfx/src/svg/SVGLengthContext.cpp +124 -0
  1548. package/cpp/third_party/tgfx/src/svg/SVGNodeConstructor.cpp +490 -0
  1549. package/cpp/third_party/tgfx/src/svg/SVGNodeConstructor.h +94 -0
  1550. package/cpp/third_party/tgfx/src/svg/SVGParseColor.cpp +363 -0
  1551. package/cpp/third_party/tgfx/src/svg/SVGPathParser.cpp +292 -0
  1552. package/cpp/third_party/tgfx/src/svg/SVGRenderContext.cpp +505 -0
  1553. package/cpp/third_party/tgfx/src/svg/SVGRenderContext.h +250 -0
  1554. package/cpp/third_party/tgfx/src/svg/SVGTextBuilder.cpp +112 -0
  1555. package/cpp/third_party/tgfx/src/svg/SVGTextBuilder.h +43 -0
  1556. package/cpp/third_party/tgfx/src/svg/SVGUtils.cpp +508 -0
  1557. package/cpp/third_party/tgfx/src/svg/SVGUtils.h +89 -0
  1558. package/cpp/third_party/tgfx/src/svg/TextShaper.cpp +119 -0
  1559. package/cpp/third_party/tgfx/src/svg/node/SVGCircle.cpp +86 -0
  1560. package/cpp/third_party/tgfx/src/svg/node/SVGClipPath.cpp +47 -0
  1561. package/cpp/third_party/tgfx/src/svg/node/SVGContainer.cpp +74 -0
  1562. package/cpp/third_party/tgfx/src/svg/node/SVGEllipse.cpp +79 -0
  1563. package/cpp/third_party/tgfx/src/svg/node/SVGFe.cpp +145 -0
  1564. package/cpp/third_party/tgfx/src/svg/node/SVGFeBlend.cpp +55 -0
  1565. package/cpp/third_party/tgfx/src/svg/node/SVGFeColorMatrix.cpp +159 -0
  1566. package/cpp/third_party/tgfx/src/svg/node/SVGFeComponentTransfer.cpp +140 -0
  1567. package/cpp/third_party/tgfx/src/svg/node/SVGFeComposite.cpp +78 -0
  1568. package/cpp/third_party/tgfx/src/svg/node/SVGFeDisplacementMap.cpp +64 -0
  1569. package/cpp/third_party/tgfx/src/svg/node/SVGFeGaussianBlur.cpp +54 -0
  1570. package/cpp/third_party/tgfx/src/svg/node/SVGFeImage.cpp +36 -0
  1571. package/cpp/third_party/tgfx/src/svg/node/SVGFeLightSource.cpp +50 -0
  1572. package/cpp/third_party/tgfx/src/svg/node/SVGFeLighting.cpp +60 -0
  1573. package/cpp/third_party/tgfx/src/svg/node/SVGFeMerge.cpp +53 -0
  1574. package/cpp/third_party/tgfx/src/svg/node/SVGFeMorphology.cpp +60 -0
  1575. package/cpp/third_party/tgfx/src/svg/node/SVGFeOffset.cpp +37 -0
  1576. package/cpp/third_party/tgfx/src/svg/node/SVGFeTurbulence.cpp +100 -0
  1577. package/cpp/third_party/tgfx/src/svg/node/SVGFilter.cpp +219 -0
  1578. package/cpp/third_party/tgfx/src/svg/node/SVGGradient.cpp +117 -0
  1579. package/cpp/third_party/tgfx/src/svg/node/SVGImage.cpp +126 -0
  1580. package/cpp/third_party/tgfx/src/svg/node/SVGLine.cpp +82 -0
  1581. package/cpp/third_party/tgfx/src/svg/node/SVGLinearGradient.cpp +56 -0
  1582. package/cpp/third_party/tgfx/src/svg/node/SVGMask.cpp +80 -0
  1583. package/cpp/third_party/tgfx/src/svg/node/SVGNode.cpp +201 -0
  1584. package/cpp/third_party/tgfx/src/svg/node/SVGPath.cpp +84 -0
  1585. package/cpp/third_party/tgfx/src/svg/node/SVGPattern.cpp +161 -0
  1586. package/cpp/third_party/tgfx/src/svg/node/SVGPoly.cpp +83 -0
  1587. package/cpp/third_party/tgfx/src/svg/node/SVGRadialGradient.cpp +63 -0
  1588. package/cpp/third_party/tgfx/src/svg/node/SVGRect.cpp +104 -0
  1589. package/cpp/third_party/tgfx/src/svg/node/SVGRoot.cpp +133 -0
  1590. package/cpp/third_party/tgfx/src/svg/node/SVGShape.cpp +59 -0
  1591. package/cpp/third_party/tgfx/src/svg/node/SVGStop.cpp +31 -0
  1592. package/cpp/third_party/tgfx/src/svg/node/SVGText.cpp +190 -0
  1593. package/cpp/third_party/tgfx/src/svg/node/SVGTransformableNode.cpp +71 -0
  1594. package/cpp/third_party/tgfx/src/svg/node/SVGUse.cpp +90 -0
  1595. package/cpp/third_party/tgfx/src/svg/xml/DOMParser.cpp +107 -0
  1596. package/cpp/third_party/tgfx/src/svg/xml/DOMParser.h +62 -0
  1597. package/cpp/third_party/tgfx/src/svg/xml/XMLDOM.cpp +156 -0
  1598. package/cpp/third_party/tgfx/src/svg/xml/XMLParser.cpp +187 -0
  1599. package/cpp/third_party/tgfx/src/svg/xml/XMLParser.h +59 -0
  1600. package/cpp/third_party/tgfx/src/svg/xml/XMLWriter.cpp +289 -0
  1601. package/cpp/third_party/tgfx/src/svg/xml/XMLWriter.h +132 -0
  1602. package/cpp/third_party/tgfx/vendor.json +434 -0
  1603. package/ios/HybridTgfxView.swift +95 -0
  1604. package/ios/TgfxMetalView.h +42 -0
  1605. package/ios/TgfxMetalView.mm +267 -0
  1606. package/ios/libs/libtgfx.xcframework/Info.plist +43 -0
  1607. package/ios/libs/libtgfx.xcframework/ios-arm64/libtgfx-ios.a +0 -0
  1608. package/ios/libs/libtgfx.xcframework/ios-arm64-simulator/libtgfx-ios.a +0 -0
  1609. package/lib/compiler/colors.d.ts +26 -0
  1610. package/lib/compiler/colors.js +364 -0
  1611. package/lib/compiler/compile.d.ts +17 -0
  1612. package/lib/compiler/compile.js +474 -0
  1613. package/lib/compiler/filters.d.ts +43 -0
  1614. package/lib/compiler/filters.js +98 -0
  1615. package/lib/compiler/image.d.ts +31 -0
  1616. package/lib/compiler/image.js +71 -0
  1617. package/lib/compiler/paint.d.ts +65 -0
  1618. package/lib/compiler/paint.js +207 -0
  1619. package/lib/compiler/sksl.d.ts +10 -0
  1620. package/lib/compiler/sksl.js +180 -0
  1621. package/lib/compiler/text.d.ts +37 -0
  1622. package/lib/compiler/text.js +77 -0
  1623. package/lib/compiler/transform.d.ts +34 -0
  1624. package/lib/compiler/transform.js +11 -0
  1625. package/lib/compiler/values.d.ts +22 -0
  1626. package/lib/compiler/values.js +22 -0
  1627. package/lib/compiler/writer.d.ts +70 -0
  1628. package/lib/compiler/writer.js +142 -0
  1629. package/lib/components/Canvas.d.ts +10 -0
  1630. package/lib/components/Canvas.js +139 -0
  1631. package/lib/components/Group.d.ts +7 -0
  1632. package/lib/components/Group.js +6 -0
  1633. package/lib/components/Paint.d.ts +45 -0
  1634. package/lib/components/Paint.js +44 -0
  1635. package/lib/components/drawings.d.ts +56 -0
  1636. package/lib/components/drawings.js +55 -0
  1637. package/lib/hooks/source.d.ts +18 -0
  1638. package/lib/hooks/source.js +47 -0
  1639. package/lib/hooks/useCameraFrame.d.ts +94 -0
  1640. package/lib/hooks/useCameraFrame.js +139 -0
  1641. package/lib/hooks/useClock.d.ts +13 -0
  1642. package/lib/hooks/useClock.js +27 -0
  1643. package/lib/hooks/useFonts.d.ts +81 -0
  1644. package/lib/hooks/useFonts.js +117 -0
  1645. package/lib/hooks/useImage.d.ts +70 -0
  1646. package/lib/hooks/useImage.js +116 -0
  1647. package/lib/imperative.d.ts +59 -0
  1648. package/lib/imperative.js +582 -0
  1649. package/lib/index.d.ts +17 -0
  1650. package/lib/index.js +11 -0
  1651. package/lib/reanimated/AnimationDriver.d.ts +9 -0
  1652. package/lib/reanimated/AnimationDriver.js +24 -0
  1653. package/lib/reanimated/liveValue.d.ts +28 -0
  1654. package/lib/reanimated/liveValue.js +44 -0
  1655. package/lib/reanimated/moduleNotFound.d.ts +2 -0
  1656. package/lib/reanimated/moduleNotFound.js +13 -0
  1657. package/lib/reanimated/peer.d.ts +40 -0
  1658. package/lib/reanimated/peer.js +55 -0
  1659. package/lib/reanimated/slotFlags.d.ts +16 -0
  1660. package/lib/reanimated/slotFlags.js +50 -0
  1661. package/lib/reconciler/Container.d.ts +24 -0
  1662. package/lib/reconciler/Container.js +56 -0
  1663. package/lib/reconciler/Reconciler.d.ts +14 -0
  1664. package/lib/reconciler/Reconciler.js +159 -0
  1665. package/lib/reconciler/directNodes.d.ts +19 -0
  1666. package/lib/reconciler/directNodes.js +68 -0
  1667. package/lib/reconciler/types.d.ts +43 -0
  1668. package/lib/reconciler/types.js +38 -0
  1669. package/lib/specs/TgfxFonts.nitro.d.ts +92 -0
  1670. package/lib/specs/TgfxFonts.nitro.js +1 -0
  1671. package/lib/specs/TgfxImage.nitro.d.ts +85 -0
  1672. package/lib/specs/TgfxImage.nitro.js +1 -0
  1673. package/lib/specs/TgfxSlots.nitro.d.ts +44 -0
  1674. package/lib/specs/TgfxSlots.nitro.js +1 -0
  1675. package/lib/specs/TgfxView.nitro.d.ts +98 -0
  1676. package/lib/specs/TgfxView.nitro.js +1 -0
  1677. package/lib/types.d.ts +399 -0
  1678. package/lib/types.js +1 -0
  1679. package/lib/views/TgfxNativeView.d.ts +9 -0
  1680. package/lib/views/TgfxNativeView.js +8 -0
  1681. package/nitro.json +48 -0
  1682. package/nitrogen/generated/.gitattributes +1 -0
  1683. package/nitrogen/generated/android/NitroTgfx+autolinking.cmake +88 -0
  1684. package/nitrogen/generated/android/NitroTgfx+autolinking.gradle +27 -0
  1685. package/nitrogen/generated/android/NitroTgfxOnLoad.cpp +86 -0
  1686. package/nitrogen/generated/android/NitroTgfxOnLoad.hpp +34 -0
  1687. package/nitrogen/generated/android/c++/JHybridTgfxViewSpec.cpp +135 -0
  1688. package/nitrogen/generated/android/c++/JHybridTgfxViewSpec.hpp +70 -0
  1689. package/nitrogen/generated/android/c++/JNativeSnapshot.hpp +71 -0
  1690. package/nitrogen/generated/android/c++/JNativeSnapshotOptions.hpp +81 -0
  1691. package/nitrogen/generated/android/c++/views/JHybridTgfxViewStateUpdater.cpp +60 -0
  1692. package/nitrogen/generated/android/c++/views/JHybridTgfxViewStateUpdater.hpp +49 -0
  1693. package/nitrogen/generated/android/kotlin/com/margelo/nitro/tgfx/HybridTgfxViewSpec.kt +83 -0
  1694. package/nitrogen/generated/android/kotlin/com/margelo/nitro/tgfx/NativeSnapshot.kt +66 -0
  1695. package/nitrogen/generated/android/kotlin/com/margelo/nitro/tgfx/NativeSnapshotOptions.kt +81 -0
  1696. package/nitrogen/generated/android/kotlin/com/margelo/nitro/tgfx/NitroTgfxOnLoad.kt +35 -0
  1697. package/nitrogen/generated/android/kotlin/com/margelo/nitro/tgfx/views/HybridTgfxViewManager.kt +80 -0
  1698. package/nitrogen/generated/android/kotlin/com/margelo/nitro/tgfx/views/HybridTgfxViewStateUpdater.kt +23 -0
  1699. package/nitrogen/generated/ios/NitroTgfx+autolinking.rb +62 -0
  1700. package/nitrogen/generated/ios/NitroTgfx-Swift-Cxx-Bridge.cpp +57 -0
  1701. package/nitrogen/generated/ios/NitroTgfx-Swift-Cxx-Bridge.hpp +193 -0
  1702. package/nitrogen/generated/ios/NitroTgfx-Swift-Cxx-Umbrella.hpp +53 -0
  1703. package/nitrogen/generated/ios/NitroTgfxAutolinking.mm +63 -0
  1704. package/nitrogen/generated/ios/NitroTgfxAutolinking.swift +26 -0
  1705. package/nitrogen/generated/ios/c++/HybridTgfxViewSpecSwift.cpp +11 -0
  1706. package/nitrogen/generated/ios/c++/HybridTgfxViewSpecSwift.hpp +130 -0
  1707. package/nitrogen/generated/ios/c++/views/HybridTgfxViewComponent.mm +127 -0
  1708. package/nitrogen/generated/ios/swift/Func_void.swift +46 -0
  1709. package/nitrogen/generated/ios/swift/Func_void_NativeSnapshot.swift +46 -0
  1710. package/nitrogen/generated/ios/swift/Func_void_std__exception_ptr.swift +46 -0
  1711. package/nitrogen/generated/ios/swift/HybridTgfxViewSpec.swift +60 -0
  1712. package/nitrogen/generated/ios/swift/HybridTgfxViewSpec_cxx.swift +238 -0
  1713. package/nitrogen/generated/ios/swift/NativeSnapshot.swift +44 -0
  1714. package/nitrogen/generated/ios/swift/NativeSnapshotOptions.swift +59 -0
  1715. package/nitrogen/generated/shared/c++/HybridTgfxFontsSpec.cpp +27 -0
  1716. package/nitrogen/generated/shared/c++/HybridTgfxFontsSpec.hpp +75 -0
  1717. package/nitrogen/generated/shared/c++/HybridTgfxImageFactorySpec.cpp +26 -0
  1718. package/nitrogen/generated/shared/c++/HybridTgfxImageFactorySpec.hpp +74 -0
  1719. package/nitrogen/generated/shared/c++/HybridTgfxImageSpec.cpp +24 -0
  1720. package/nitrogen/generated/shared/c++/HybridTgfxImageSpec.hpp +65 -0
  1721. package/nitrogen/generated/shared/c++/HybridTgfxSlotsFactorySpec.cpp +21 -0
  1722. package/nitrogen/generated/shared/c++/HybridTgfxSlotsFactorySpec.hpp +64 -0
  1723. package/nitrogen/generated/shared/c++/HybridTgfxSlotsSpec.cpp +21 -0
  1724. package/nitrogen/generated/shared/c++/HybridTgfxSlotsSpec.hpp +62 -0
  1725. package/nitrogen/generated/shared/c++/HybridTgfxViewSpec.cpp +29 -0
  1726. package/nitrogen/generated/shared/c++/HybridTgfxViewSpec.hpp +77 -0
  1727. package/nitrogen/generated/shared/c++/LineMeasurement.hpp +107 -0
  1728. package/nitrogen/generated/shared/c++/NativeSnapshot.hpp +96 -0
  1729. package/nitrogen/generated/shared/c++/NativeSnapshotOptions.hpp +107 -0
  1730. package/nitrogen/generated/shared/c++/PixelFormat.hpp +100 -0
  1731. package/nitrogen/generated/shared/c++/TextLayoutStyle.hpp +119 -0
  1732. package/nitrogen/generated/shared/c++/TextMeasurement.hpp +105 -0
  1733. package/nitrogen/generated/shared/c++/views/HybridTgfxViewComponent.cpp +94 -0
  1734. package/nitrogen/generated/shared/c++/views/HybridTgfxViewComponent.hpp +111 -0
  1735. package/nitrogen/generated/shared/json/TgfxViewConfig.json +11 -0
  1736. package/package.json +144 -8
  1737. package/react-native.config.js +16 -0
  1738. package/scripts/build-tgfx-ios.sh +60 -0
  1739. package/src/compiler/colors.test.ts +195 -0
  1740. package/src/compiler/colors.ts +402 -0
  1741. package/src/compiler/compile.test.ts +971 -0
  1742. package/src/compiler/compile.ts +565 -0
  1743. package/src/compiler/filters.ts +140 -0
  1744. package/src/compiler/image.ts +109 -0
  1745. package/src/compiler/paint.ts +321 -0
  1746. package/src/compiler/sceneHash.test.ts +70 -0
  1747. package/src/compiler/sksl.test.ts +219 -0
  1748. package/src/compiler/sksl.ts +218 -0
  1749. package/src/compiler/stringTable.test.ts +136 -0
  1750. package/src/compiler/svgPath.test.ts +147 -0
  1751. package/src/compiler/text.ts +97 -0
  1752. package/src/compiler/transform.ts +34 -0
  1753. package/src/compiler/values.ts +44 -0
  1754. package/src/compiler/writer.ts +159 -0
  1755. package/src/components/Canvas.test.tsx +735 -0
  1756. package/src/components/Canvas.tsx +199 -0
  1757. package/src/components/Group.ts +9 -0
  1758. package/src/components/Paint.ts +77 -0
  1759. package/src/components/drawings.ts +86 -0
  1760. package/src/hooks/source.ts +64 -0
  1761. package/src/hooks/useCameraFrame.test.tsx +286 -0
  1762. package/src/hooks/useCameraFrame.ts +222 -0
  1763. package/src/hooks/useClock.test.ts +50 -0
  1764. package/src/hooks/useClock.ts +36 -0
  1765. package/src/hooks/useFonts.test.tsx +186 -0
  1766. package/src/hooks/useFonts.ts +163 -0
  1767. package/src/hooks/useImage.test.tsx +236 -0
  1768. package/src/hooks/useImage.ts +143 -0
  1769. package/src/imperative.ts +697 -0
  1770. package/src/index.ts +125 -0
  1771. package/src/reanimated/AnimationDriver.test.ts +12 -0
  1772. package/src/reanimated/AnimationDriver.tsx +34 -0
  1773. package/src/reanimated/liveValue.ts +53 -0
  1774. package/src/reanimated/moduleNotFound.test.ts +54 -0
  1775. package/src/reanimated/moduleNotFound.ts +16 -0
  1776. package/src/reanimated/peer.ts +92 -0
  1777. package/src/reanimated/slotFlags.ts +73 -0
  1778. package/src/reconciler/Container.ts +78 -0
  1779. package/src/reconciler/Reconciler.test.ts +28 -0
  1780. package/src/reconciler/Reconciler.ts +210 -0
  1781. package/src/reconciler/directNodes.test.tsx +150 -0
  1782. package/src/reconciler/directNodes.ts +73 -0
  1783. package/src/reconciler/types.ts +51 -0
  1784. package/src/specs/TgfxFonts.nitro.ts +102 -0
  1785. package/src/specs/TgfxImage.nitro.ts +106 -0
  1786. package/src/specs/TgfxSlots.nitro.ts +46 -0
  1787. package/src/specs/TgfxView.nitro.ts +112 -0
  1788. package/src/testing/cppHarness.ts +116 -0
  1789. package/src/testing/nativeMocks.ts +21 -0
  1790. package/src/types.ts +441 -0
  1791. package/src/views/TgfxNativeView.ts +15 -0
  1792. package/src/views/idleGate.test.ts +58 -0
@@ -0,0 +1,286 @@
1
+ import { afterAll, beforeEach, expect, mock, test } from 'bun:test'
2
+ import React, { useState } from 'react'
3
+ import TestRenderer, { act } from 'react-test-renderer'
4
+ import { compileScene } from '../compiler/compile'
5
+ import { SceneWriter } from '../compiler/writer'
6
+ import { NodeType, type Node } from '../reconciler/types'
7
+ import { nativeMocks } from '../testing/nativeMocks'
8
+ import type {
9
+ CameraFrameOptions,
10
+ CameraFrameSource,
11
+ FrameLike,
12
+ } from './useCameraFrame'
13
+
14
+ // A real SharedValue is stable per hook instance; a fresh object would hide the identity bugs.
15
+ mock.module('react-native-reanimated', () => ({
16
+ useSharedValue: <T,>(initial: T) => useState(() => ({ value: initial }))[0],
17
+ }))
18
+ mock.module('react-native-worklets', () => ({
19
+ scheduleOnRN: <A extends unknown[]>(fn: (...a: A) => void, ...a: A) => {
20
+ fn(...a)
21
+ },
22
+ }))
23
+
24
+ class FakeImage {
25
+ handle = 7
26
+ width = 720
27
+ height = 1280
28
+ buffers: [bigint, string][] = []
29
+ disposed = false
30
+ setNativeBuffer(pointer: bigint, format: string): void {
31
+ this.buffers.push([pointer, format])
32
+ }
33
+ dispose(): void {
34
+ this.disposed = true
35
+ }
36
+ }
37
+
38
+ let made: FakeImage[] = []
39
+ let imported: [bigint, string][] = []
40
+ let released = 0
41
+ let disposed = 0
42
+ let importThrows = false
43
+
44
+ const previousHybrid = nativeMocks.hybridObject
45
+ afterAll(() => {
46
+ nativeMocks.hybridObject = previousHybrid
47
+ })
48
+
49
+ beforeEach(() => {
50
+ made = []
51
+ imported = []
52
+ released = 0
53
+ disposed = 0
54
+ importThrows = false
55
+ nativeMocks.hybridObject = () => ({
56
+ fromNativeBuffer(pointer: bigint, format: string) {
57
+ if (importThrows) {
58
+ throw new Error('import failed')
59
+ }
60
+ imported.push([pointer, format])
61
+ const image = new FakeImage()
62
+ made.push(image)
63
+ return image
64
+ },
65
+ })
66
+ })
67
+
68
+ const { useCameraFrame } =
69
+ require('./useCameraFrame') as typeof import('./useCameraFrame')
70
+
71
+ function frame(over: Partial<FrameLike> = {}): FrameLike {
72
+ return {
73
+ getNativeBuffer: () => ({
74
+ pointer: 0x1000n as never,
75
+ release: () => {
76
+ released++
77
+ },
78
+ }),
79
+ pixelFormat: 'yuv-420-8-bit-video',
80
+ orientation: 'up',
81
+ isMirrored: false,
82
+ width: 720,
83
+ height: 1280,
84
+ dispose: () => {
85
+ disposed++
86
+ },
87
+ ...over,
88
+ }
89
+ }
90
+
91
+ async function mount(
92
+ onEachFrame?: (f: FrameLike) => void,
93
+ options?: CameraFrameOptions
94
+ ) {
95
+ let seen!: CameraFrameSource
96
+ function Probe(): null {
97
+ seen = useCameraFrame(onEachFrame, options)
98
+ return null
99
+ }
100
+ let tree!: TestRenderer.ReactTestRenderer
101
+ await act(async () => {
102
+ tree = TestRenderer.create(<Probe />)
103
+ })
104
+ return {
105
+ get current() {
106
+ return seen
107
+ },
108
+ async push(over: Partial<FrameLike> = {}) {
109
+ await act(async () => {
110
+ seen.onFrame(frame(over))
111
+ })
112
+ },
113
+ async unmount() {
114
+ await act(async () => {
115
+ tree.unmount()
116
+ })
117
+ },
118
+ }
119
+ }
120
+
121
+ function quarterTurns(rotation: number): number {
122
+ const node = {
123
+ type: NodeType.CameraFrame,
124
+ props: { image: { handle: 1 }, rotation },
125
+ children: [],
126
+ } as unknown as Node
127
+ const result = compileScene([node], new SceneWriter())
128
+ return new Float64Array(result.buffer)[8]!
129
+ }
130
+
131
+ // A ROTATION map with left and right transposed passes everything else and is 180° out on device.
132
+ test('an orientation reaches the draw program as the turns that cancel it', async () => {
133
+ const probe = await mount()
134
+ // 'right' means the pixels are +90 from upright, so it takes 270 to undo.
135
+ const cases: [string, number, number][] = [
136
+ ['up', 0, 0],
137
+ ['right', 270, 3],
138
+ ['down', 180, 2],
139
+ ['left', 90, 1],
140
+ ]
141
+ for (const [orientation, rotation, turns] of cases) {
142
+ await probe.push({ orientation })
143
+ expect(probe.current.posture.rotation).toBe(rotation)
144
+ expect(quarterTurns(probe.current.posture.rotation)).toBe(turns)
145
+ }
146
+ await probe.push({ orientation: 'sideways' })
147
+ expect(probe.current.posture.rotation).toBe(0)
148
+ })
149
+
150
+ test('mirror and frame size come off the frame, and only re-render on a change', async () => {
151
+ let renders = 0
152
+ function Counter(): null {
153
+ renders++
154
+ return null
155
+ }
156
+ let seen!: CameraFrameSource
157
+ function Probe(): null {
158
+ seen = useCameraFrame()
159
+ Counter()
160
+ return null
161
+ }
162
+ await act(async () => {
163
+ TestRenderer.create(<Probe />)
164
+ })
165
+ await act(async () => {
166
+ seen.onFrame(frame({ isMirrored: true }))
167
+ })
168
+ expect(seen.posture).toEqual({
169
+ rotation: 0,
170
+ mirror: true,
171
+ width: 720,
172
+ height: 1280,
173
+ })
174
+ const after = renders
175
+ for (let i = 0; i < 10; i++) {
176
+ await act(async () => {
177
+ seen.onFrame(frame({ isMirrored: true }))
178
+ })
179
+ }
180
+ expect(renders).toBe(after)
181
+ })
182
+
183
+ test('the first frame creates the handle and every later one re-points it', async () => {
184
+ const probe = await mount()
185
+ await probe.push()
186
+ expect(made).toHaveLength(1)
187
+ expect(probe.current.image).toBe(made[0] as never)
188
+
189
+ await probe.push()
190
+ await probe.push()
191
+ expect(made).toHaveLength(1)
192
+ expect(made[0]!.buffers).toHaveLength(2)
193
+ })
194
+
195
+ // An external entry is never evicted, so every mount would leak a texture and its buffer.
196
+ test('the handle is disposed on unmount', async () => {
197
+ const probe = await mount()
198
+ await probe.push()
199
+ expect(made[0]!.disposed).toBe(false)
200
+
201
+ await probe.unmount()
202
+ expect(made[0]!.disposed).toBe(true)
203
+
204
+ const empty = await mount()
205
+ await empty.unmount()
206
+ })
207
+
208
+ test('the range suffix is read off the frame, not hardcoded', async () => {
209
+ const probe = await mount()
210
+ await probe.push({ pixelFormat: 'yuv-420-8-bit-full' })
211
+ expect(imported[0]![1]).toBe('bt601-full')
212
+ await probe.push({ pixelFormat: 'yuv-420-8-bit-video' })
213
+ expect(made[0]!.buffers[0]![1]).toBe('bt601-limited')
214
+ })
215
+
216
+ // A screen recorder or decoder hands over RGBA, and importing that as BT.601 reads it as luma.
217
+ test('a non-YUV producer is not imported as BT.601', async () => {
218
+ const probe = await mount()
219
+ await probe.push({ pixelFormat: 'rgba-8-bit' })
220
+ expect(imported[0]![1]).toBe('rgba')
221
+ })
222
+
223
+ test('the colour matrix follows the producer, not a default', async () => {
224
+ const p709 = await mount()
225
+ await p709.push({ pixelFormat: 'yuv-420-10-bit-bt709-full' })
226
+ expect(imported[0]![1]).toBe('bt709-full')
227
+
228
+ imported.length = 0
229
+ made.length = 0
230
+ const p2020 = await mount()
231
+ await p2020.push({ pixelFormat: 'yuv-420-10-bit-bt2020-video' })
232
+ expect(imported[0]![1]).toBe('bt2020-limited')
233
+ })
234
+
235
+ test('the caller can override the format mapping entirely', async () => {
236
+ const probe = await mount(undefined, { format: () => 'jpeg-full' })
237
+ await probe.push({ pixelFormat: 'yuv-420-8-bit-video' })
238
+ expect(imported[0]![1]).toBe('jpeg-full')
239
+ })
240
+
241
+ test('the caller can override the rotation mapping', async () => {
242
+ const probe = await mount(undefined, { rotation: () => 90 })
243
+ await probe.push({ orientation: 'up' })
244
+ expect(probe.current.posture.rotation).toBe(90)
245
+ })
246
+
247
+ test('the caller callback runs while the frame is still alive', async () => {
248
+ const aliveAt: number[] = []
249
+ const probe = await mount(() => {
250
+ aliveAt.push(disposed)
251
+ })
252
+ await probe.push()
253
+ expect(aliveAt).toEqual([0])
254
+ expect(disposed).toBe(1)
255
+ })
256
+
257
+ test('a throw inside still releases the buffer and disposes the frame', async () => {
258
+ const probe = await mount()
259
+
260
+ importThrows = true
261
+ await expect(probe.push()).rejects.toThrow('import failed')
262
+ expect(released).toBe(1)
263
+ expect(disposed).toBe(1)
264
+
265
+ // A leaked frame stalls the producer's bounded pool, which is what kills the stream.
266
+ importThrows = false
267
+ const boom = await mount(() => {
268
+ throw new Error('detector failed')
269
+ })
270
+ await expect(boom.push()).rejects.toThrow('detector failed')
271
+ expect(released).toBe(2)
272
+ expect(disposed).toBe(2)
273
+ })
274
+
275
+ test('getNativeBuffer throwing still disposes the frame', async () => {
276
+ const probe = await mount()
277
+ await expect(
278
+ probe.push({
279
+ getNativeBuffer: () => {
280
+ throw new Error('no buffer')
281
+ },
282
+ })
283
+ ).rejects.toThrow('no buffer')
284
+ expect(released).toBe(0)
285
+ expect(disposed).toBe(1)
286
+ })
@@ -0,0 +1,222 @@
1
+ import { useCallback, useEffect, useState } from 'react'
2
+ import type { UInt64 } from 'react-native-nitro-modules'
3
+ import { requireReanimated, worklets } from '../reanimated/peer'
4
+ import type { PixelFormat, TgfxImage } from '../specs/TgfxImage.nitro'
5
+ import { imageFromNativeBuffer } from './useImage'
6
+
7
+ /** The buffer a {@link FrameLike} hands over, valid only inside the callback. */
8
+ export interface NativeBufferLike {
9
+ pointer: UInt64
10
+ release(): void
11
+ }
12
+
13
+ /**
14
+ * What {@link useCameraFrame} needs of a frame, structurally — so it works for
15
+ * a VisionCamera `Frame` and for any other producer, and costs this package no
16
+ * dependency on either.
17
+ */
18
+ export interface FrameLike {
19
+ getNativeBuffer(): NativeBufferLike
20
+ pixelFormat: string
21
+ orientation: string
22
+ isMirrored: boolean
23
+ width: number
24
+ height: number
25
+ dispose(): void
26
+ }
27
+
28
+ /** How the buffer is oriented, read off the frame rather than assumed. */
29
+ export interface CameraFramePosture {
30
+ rotation: number
31
+ mirror: boolean
32
+ width: number
33
+ height: number
34
+ }
35
+
36
+ export interface CameraFrameSource<F extends FrameLike = FrameLike> {
37
+ image: TgfxImage | null
38
+ posture: CameraFramePosture
39
+ onFrame: (frame: F) => void
40
+ }
41
+
42
+ export interface CameraFrameOptions<F extends FrameLike = FrameLike> {
43
+ /**
44
+ * Map the producer's `pixelFormat` to the one tgfx imports with. A worklet —
45
+ * it runs on the frame thread.
46
+ *
47
+ * The default reads the string: `rgb`/`rgba`/`bgra` import as `'rgba'`,
48
+ * `709`/`2020` pick that matrix, anything else is BT.601, and a `-full`
49
+ * suffix selects the full-range variant. Override it for a producer that
50
+ * names its formats differently, or to pin one.
51
+ */
52
+ format?: (frame: F) => PixelFormat
53
+ /**
54
+ * Map the producer's `orientation` to the clockwise degrees that cancel it.
55
+ * A worklet. The default understands `'up' | 'right' | 'down' | 'left'`;
56
+ * anything else is 0, which draws the frame unrotated.
57
+ */
58
+ rotation?: (frame: F) => number
59
+ }
60
+
61
+ const ROTATION: Record<string, 0 | 90 | 180 | 270> = {
62
+ up: 0,
63
+ right: 270,
64
+ down: 180,
65
+ left: 90,
66
+ }
67
+
68
+ function defaultFormat(pixelFormat: string): PixelFormat {
69
+ 'worklet'
70
+ const f = pixelFormat.toLowerCase()
71
+ if (f.startsWith('rgb') || f.startsWith('bgra') || f.startsWith('argb')) {
72
+ return 'rgba'
73
+ }
74
+ const full = f.endsWith('-full') || f.includes('full-range')
75
+ if (f.includes('2020')) {
76
+ return full ? 'bt2020-full' : 'bt2020-limited'
77
+ }
78
+ if (f.includes('709')) {
79
+ return full ? 'bt709-full' : 'bt709-limited'
80
+ }
81
+ return full ? 'bt601-full' : 'bt601-limited'
82
+ }
83
+
84
+ const UPRIGHT: CameraFramePosture = Object.freeze({
85
+ rotation: 0,
86
+ mirror: false,
87
+ width: 0,
88
+ height: 0,
89
+ })
90
+
91
+ /**
92
+ * Turn a stream of camera frames into a `<CameraFrame>` handle.
93
+ *
94
+ * ```tsx
95
+ * const { image, posture, onFrame } = useCameraFrame()
96
+ * const output = useFrameOutput({ pixelFormat: 'yuv', onFrame })
97
+ * // ...
98
+ * <CameraFrame image={image} {...posture} />
99
+ * ```
100
+ *
101
+ * The callback is *returned* rather than registered, so this package needs no
102
+ * camera dependency at all and any producer of a {@link FrameLike} works.
103
+ *
104
+ * It owns the buffer's lifetime, which is the reason to prefer it over calling
105
+ * {@link imageFromNativeBuffer} yourself: the raw pointer never leaves this
106
+ * scope, so it cannot be stored, and a `try`/`finally` releases the buffer and
107
+ * disposes the frame on every path including a throw. A leaked frame stalls a
108
+ * bounded producer pool; a stored pointer is a use-after-free that does not
109
+ * throw.
110
+ *
111
+ * The first frame creates the handle and every later one re-points it, so the
112
+ * scene is committed once and a new frame costs one pointer swap — no React
113
+ * render, no reconciler commit, no program recompile. `posture` only reaches
114
+ * React state when it actually changes. The handle is disposed on unmount: an
115
+ * external registry entry is never evicted, so nothing else would ever free it.
116
+ *
117
+ * `onEachFrame` is your own per-frame worklet — a detector, say. It runs inside
118
+ * the same `try`, so work that throws still cannot leak the frame. Memoise it,
119
+ * or the output re-registers every render.
120
+ *
121
+ * @remarks
122
+ * **The frame `onEachFrame` receives dies when it returns.** Read from it and
123
+ * let it go: do not retain it, do not call `getNativeBuffer()` on it again —
124
+ * that is a second `+1` retain the hook will not release, and one unreleased
125
+ * buffer stalls the producer's bounded pool — and never store
126
+ * `getNativeBuffer().pointer` anywhere. A stale pointer does not throw; it
127
+ * imports whatever memory is now at that address. Everything the hook itself
128
+ * needs from the buffer is already done before your callback runs.
129
+ *
130
+ * Needs react-native-reanimated: the handle has to outlive one callback on the
131
+ * producer's worklet runtime.
132
+ */
133
+ export function useCameraFrame<F extends FrameLike = FrameLike>(
134
+ onEachFrame?: (frame: F) => void,
135
+ options?: CameraFrameOptions<F>
136
+ ): CameraFrameSource<F> {
137
+ const mod = requireReanimated('useCameraFrame', ['useSharedValue'])
138
+ const scheduleOnRN = worklets().scheduleOnRN
139
+ if (scheduleOnRN == null) {
140
+ throw new Error(
141
+ '[tgfx] react-native-worklets does not export scheduleOnRN, which useCameraFrame needs.'
142
+ )
143
+ }
144
+ // Destructured, or an inline `{}` at the call site would re-register every render.
145
+ const formatOf = options?.format
146
+ const rotationOf = options?.rotation
147
+ const [image, setImage] = useState<TgfxImage | null>(null)
148
+ const [posture, setPosture] = useState<CameraFramePosture>(UPRIGHT)
149
+ const handle = mod.useSharedValue!<TgfxImage | null>(null)
150
+ const posted = mod.useSharedValue!('')
151
+
152
+ const onImage = useCallback((h: TgfxImage) => {
153
+ setImage(h)
154
+ }, [])
155
+ const onPosture = useCallback(
156
+ (rotation: number, mirror: boolean, width: number, height: number) => {
157
+ setPosture({ rotation, mirror, width, height })
158
+ },
159
+ []
160
+ )
161
+
162
+ const onFrame = useCallback(
163
+ (frame: F) => {
164
+ 'worklet'
165
+ // Acquired inside the try: a throw would skip the dispose() and stall the bounded pool.
166
+ let buffer: NativeBufferLike | null = null
167
+ try {
168
+ buffer = frame.getNativeBuffer()
169
+ // Read off the frame: `-full` imported as limited crushes the blacks.
170
+ const format: PixelFormat =
171
+ formatOf != null ? formatOf(frame) : defaultFormat(frame.pixelFormat)
172
+ if (handle.value == null) {
173
+ handle.value = imageFromNativeBuffer(buffer.pointer, format)
174
+ scheduleOnRN(onImage, handle.value)
175
+ } else {
176
+ handle.value.setNativeBuffer(buffer.pointer, format)
177
+ }
178
+
179
+ const rotation =
180
+ rotationOf != null
181
+ ? rotationOf(frame)
182
+ : (ROTATION[frame.orientation] ?? 0)
183
+ const key = `${rotation}:${frame.isMirrored}:${frame.width}x${frame.height}`
184
+ if (posted.value !== key) {
185
+ posted.value = key
186
+ scheduleOnRN(
187
+ onPosture,
188
+ rotation,
189
+ frame.isMirrored,
190
+ frame.width,
191
+ frame.height
192
+ )
193
+ }
194
+
195
+ onEachFrame?.(frame)
196
+ } finally {
197
+ buffer?.release()
198
+ frame.dispose()
199
+ }
200
+ },
201
+ [
202
+ handle,
203
+ posted,
204
+ onImage,
205
+ onPosture,
206
+ onEachFrame,
207
+ formatOf,
208
+ rotationOf,
209
+ scheduleOnRN,
210
+ ]
211
+ )
212
+
213
+ useEffect(() => {
214
+ return () => {
215
+ // An external entry is never evicted, so an undisposed handle leaks for the process's life.
216
+ handle.value?.dispose()
217
+ handle.value = null
218
+ }
219
+ }, [handle])
220
+
221
+ return { image, posture, onFrame }
222
+ }
@@ -0,0 +1,50 @@
1
+ import { expect, mock, test } from 'bun:test'
2
+ import type * as TestRenderer from 'react-test-renderer'
3
+
4
+ // A renamed export must not look like an absent package, and it throws where the hook runs.
5
+ test('Reanimated present but missing an export throws when the hook runs', async () => {
6
+ mock.module('react-native-reanimated', () => ({ useSharedValue: () => {} }))
7
+ const { useClock } =
8
+ (await import('./useClock?broken')) as typeof import('./useClock')
9
+ expect(() => useClock()).toThrow(/does not export useFrameCallback/)
10
+ })
11
+
12
+ test('the clock reads the frame time and keeps one callback identity', async () => {
13
+ const shared = { value: 0, _isReanimatedSharedValue: true as const }
14
+ let registered: ((frame: { timeSinceFirstFrame: number }) => void) | null =
15
+ null
16
+ const seen: unknown[] = []
17
+ mock.module('react-native-reanimated', () => ({
18
+ useSharedValue: () => shared,
19
+ useFrameCallback: (
20
+ cb: (frame: { timeSinceFirstFrame: number }) => void
21
+ ) => {
22
+ registered = cb
23
+ seen.push(cb)
24
+ },
25
+ }))
26
+ const { useClock } = await import('./useClock?live')
27
+ const React = await import('react')
28
+ const TestRenderer = await import('react-test-renderer')
29
+
30
+ let got: unknown
31
+ function Probe(): null {
32
+ got = useClock()
33
+ return null
34
+ }
35
+ let tree!: TestRenderer.ReactTestRenderer
36
+ await TestRenderer.act(async () => {
37
+ tree = TestRenderer.create(React.createElement(Probe))
38
+ })
39
+ expect(got).toBe(shared)
40
+
41
+ // Seconds, not milliseconds: a ms clock overflows GLSL ES mediump in a minute.
42
+ registered!({ timeSinceFirstFrame: 250 })
43
+ expect(shared.value).toBe(0.25)
44
+
45
+ await TestRenderer.act(async () => {
46
+ tree.update(React.createElement(Probe))
47
+ })
48
+ expect(seen).toHaveLength(2)
49
+ expect(seen[1]).toBe(seen[0])
50
+ })
@@ -0,0 +1,36 @@
1
+ import { useCallback } from 'react'
2
+ import type { MaybeSharedValue } from '../compiler/values'
3
+ import { requireReanimated } from '../reanimated/peer'
4
+
5
+ interface Frame {
6
+ timeSinceFirstFrame: number
7
+ }
8
+
9
+ /**
10
+ * Seconds since the first frame, as a SharedValue.
11
+ *
12
+ * Written on the UI thread, so feeding it to a shader uniform animates without
13
+ * re-encoding the scene from JS.
14
+ *
15
+ * Seconds rather than milliseconds because the value is usually bound for a
16
+ * shader uniform, and GLSL ES mediump floats stop being representable above
17
+ * 65504: a millisecond clock turns every shader that reads it black after about
18
+ * a minute of uptime, silently. Seconds buy eighteen hours instead.
19
+ */
20
+ export function useClock(): MaybeSharedValue<number> {
21
+ const mod = requireReanimated('useClock', [
22
+ 'useSharedValue',
23
+ 'useFrameCallback',
24
+ ])
25
+ const clock = mod.useSharedValue!(0)
26
+ // Stable identity: Reanimated keys its effect on the callback, so a fresh one resets the clock.
27
+ const tick = useCallback(
28
+ (frame: Frame) => {
29
+ 'worklet'
30
+ clock.value = frame.timeSinceFirstFrame / 1000
31
+ },
32
+ [clock]
33
+ )
34
+ mod.useFrameCallback!(tick)
35
+ return clock
36
+ }