@rive-app/react-native 0.1.1-beta.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 (451) hide show
  1. package/LICENSE +20 -0
  2. package/README.md +257 -0
  3. package/RNRive.podspec +53 -0
  4. package/android/CMakeLists.txt +24 -0
  5. package/android/build.gradle +155 -0
  6. package/android/gradle.properties +5 -0
  7. package/android/src/main/AndroidManifest.xml +13 -0
  8. package/android/src/main/cpp/cpp-adapter.cpp +6 -0
  9. package/android/src/main/java/com/margelo/nitro/rive/BaseHybridViewModelProperty.kt +20 -0
  10. package/android/src/main/java/com/margelo/nitro/rive/BaseHybridViewModelPropertyImpl.kt +50 -0
  11. package/android/src/main/java/com/margelo/nitro/rive/BytesDataLoader.kt +9 -0
  12. package/android/src/main/java/com/margelo/nitro/rive/DataLoader.kt +15 -0
  13. package/android/src/main/java/com/margelo/nitro/rive/DataSource.kt +38 -0
  14. package/android/src/main/java/com/margelo/nitro/rive/DataSourceResolver.kt +36 -0
  15. package/android/src/main/java/com/margelo/nitro/rive/EventPropertiesOutputExtensions.kt +12 -0
  16. package/android/src/main/java/com/margelo/nitro/rive/FileDataLoader.kt +21 -0
  17. package/android/src/main/java/com/margelo/nitro/rive/HTTPDataLoader.kt +37 -0
  18. package/android/src/main/java/com/margelo/nitro/rive/HybridRiveFile.kt +98 -0
  19. package/android/src/main/java/com/margelo/nitro/rive/HybridRiveFileFactory.kt +123 -0
  20. package/android/src/main/java/com/margelo/nitro/rive/HybridRiveImage.kt +15 -0
  21. package/android/src/main/java/com/margelo/nitro/rive/HybridRiveImageFactory.kt +23 -0
  22. package/android/src/main/java/com/margelo/nitro/rive/HybridRiveView.kt +279 -0
  23. package/android/src/main/java/com/margelo/nitro/rive/HybridViewModel.kt +53 -0
  24. package/android/src/main/java/com/margelo/nitro/rive/HybridViewModelBooleanProperty.kt +22 -0
  25. package/android/src/main/java/com/margelo/nitro/rive/HybridViewModelColorProperty.kt +22 -0
  26. package/android/src/main/java/com/margelo/nitro/rive/HybridViewModelEnumProperty.kt +22 -0
  27. package/android/src/main/java/com/margelo/nitro/rive/HybridViewModelImageProperty.kt +21 -0
  28. package/android/src/main/java/com/margelo/nitro/rive/HybridViewModelInstance.kt +76 -0
  29. package/android/src/main/java/com/margelo/nitro/rive/HybridViewModelNumberProperty.kt +23 -0
  30. package/android/src/main/java/com/margelo/nitro/rive/HybridViewModelStringProperty.kt +22 -0
  31. package/android/src/main/java/com/margelo/nitro/rive/HybridViewModelTriggerProperty.kt +21 -0
  32. package/android/src/main/java/com/margelo/nitro/rive/ReferencedAssetLoader.kt +108 -0
  33. package/android/src/main/java/com/margelo/nitro/rive/ResourceDataLoader.kt +44 -0
  34. package/android/src/main/java/com/margelo/nitro/rive/Rive.kt +12 -0
  35. package/android/src/main/java/com/rive/RivePackage.kt +29 -0
  36. package/android/src/main/java/com/rive/RiveReactNativeView.kt +433 -0
  37. package/android/src/main/java/com/rive/RiveViewManager.kt +11 -0
  38. package/ios/BaseHybridViewModelProperty.swift +118 -0
  39. package/ios/BundleDataLoader.swift +25 -0
  40. package/ios/BytesDataLoader.swift +10 -0
  41. package/ios/DataLoader.swift +28 -0
  42. package/ios/DataSource.swift +43 -0
  43. package/ios/DataSourceResolver.swift +55 -0
  44. package/ios/EventPropertiesOutputExtensions.swift +15 -0
  45. package/ios/FileDataLoader.swift +24 -0
  46. package/ios/HTTPDataLoader.swift +31 -0
  47. package/ios/HybridRiveFile.swift +113 -0
  48. package/ios/HybridRiveFileFactory.swift +163 -0
  49. package/ios/HybridRiveImage.swift +17 -0
  50. package/ios/HybridRiveImageFactory.swift +26 -0
  51. package/ios/HybridRiveView.swift +284 -0
  52. package/ios/HybridViewModel.swift +46 -0
  53. package/ios/HybridViewModelBooleanProperty.swift +29 -0
  54. package/ios/HybridViewModelColorProperty.swift +63 -0
  55. package/ios/HybridViewModelEnumProperty.swift +29 -0
  56. package/ios/HybridViewModelImageProperty.swift +31 -0
  57. package/ios/HybridViewModelInstance.swift +51 -0
  58. package/ios/HybridViewModelNumberProperty.swift +35 -0
  59. package/ios/HybridViewModelStringProperty.swift +29 -0
  60. package/ios/HybridViewModelTriggerProperty.swift +30 -0
  61. package/ios/RCTLog.swift +29 -0
  62. package/ios/RCTSwiftLog.h +11 -0
  63. package/ios/RCTSwiftLog.m +38 -0
  64. package/ios/ReferencedAssetLoader.swift +145 -0
  65. package/ios/Rive.swift +5 -0
  66. package/ios/RiveReactNativeView.swift +325 -0
  67. package/ios/Utils.swift +15 -0
  68. package/lib/module/core/Alignment.js +42 -0
  69. package/lib/module/core/Alignment.js.map +1 -0
  70. package/lib/module/core/Errors.js +13 -0
  71. package/lib/module/core/Errors.js.map +1 -0
  72. package/lib/module/core/Events.js +8 -0
  73. package/lib/module/core/Events.js.map +1 -0
  74. package/lib/module/core/Fit.js +51 -0
  75. package/lib/module/core/Fit.js.map +1 -0
  76. package/lib/module/core/NitroRiveViewComponent.js +6 -0
  77. package/lib/module/core/NitroRiveViewComponent.js.map +1 -0
  78. package/lib/module/core/ReferencedAssets.js +4 -0
  79. package/lib/module/core/ReferencedAssets.js.map +1 -0
  80. package/lib/module/core/RiveColor.js +90 -0
  81. package/lib/module/core/RiveColor.js.map +1 -0
  82. package/lib/module/core/RiveFile.js +64 -0
  83. package/lib/module/core/RiveFile.js.map +1 -0
  84. package/lib/module/core/RiveImages.js +5 -0
  85. package/lib/module/core/RiveImages.js.map +1 -0
  86. package/lib/module/core/RiveView.js +51 -0
  87. package/lib/module/core/RiveView.js.map +1 -0
  88. package/lib/module/core/callDispose.js +15 -0
  89. package/lib/module/core/callDispose.js.map +1 -0
  90. package/lib/module/hooks/useRive.js +51 -0
  91. package/lib/module/hooks/useRive.js.map +1 -0
  92. package/lib/module/hooks/useRiveBoolean.js +23 -0
  93. package/lib/module/hooks/useRiveBoolean.js.map +1 -0
  94. package/lib/module/hooks/useRiveColor.js +30 -0
  95. package/lib/module/hooks/useRiveColor.js.map +1 -0
  96. package/lib/module/hooks/useRiveEnum.js +23 -0
  97. package/lib/module/hooks/useRiveEnum.js.map +1 -0
  98. package/lib/module/hooks/useRiveFile.js +128 -0
  99. package/lib/module/hooks/useRiveFile.js.map +1 -0
  100. package/lib/module/hooks/useRiveNumber.js +23 -0
  101. package/lib/module/hooks/useRiveNumber.js.map +1 -0
  102. package/lib/module/hooks/useRiveProperty.js +79 -0
  103. package/lib/module/hooks/useRiveProperty.js.map +1 -0
  104. package/lib/module/hooks/useRiveString.js +23 -0
  105. package/lib/module/hooks/useRiveString.js.map +1 -0
  106. package/lib/module/hooks/useRiveTrigger.js +33 -0
  107. package/lib/module/hooks/useRiveTrigger.js.map +1 -0
  108. package/lib/module/index.js +28 -0
  109. package/lib/module/index.js.map +1 -0
  110. package/lib/module/package.json +1 -0
  111. package/lib/module/specs/ArtboardBy.js +27 -0
  112. package/lib/module/specs/ArtboardBy.js.map +1 -0
  113. package/lib/module/specs/Rive.nitro.js +4 -0
  114. package/lib/module/specs/Rive.nitro.js.map +1 -0
  115. package/lib/module/specs/RiveFile.nitro.js +4 -0
  116. package/lib/module/specs/RiveFile.nitro.js.map +1 -0
  117. package/lib/module/specs/RiveImage.nitro.js +4 -0
  118. package/lib/module/specs/RiveImage.nitro.js.map +1 -0
  119. package/lib/module/specs/RiveView.nitro.js +23 -0
  120. package/lib/module/specs/RiveView.nitro.js.map +1 -0
  121. package/lib/module/specs/ViewModel.nitro.js +4 -0
  122. package/lib/module/specs/ViewModel.nitro.js.map +1 -0
  123. package/lib/module/types.js +2 -0
  124. package/lib/module/types.js.map +1 -0
  125. package/lib/nitrogen/generated/shared/json/RiveViewConfig.json +18 -0
  126. package/lib/typescript/package.json +1 -0
  127. package/lib/typescript/src/core/Alignment.d.ts +39 -0
  128. package/lib/typescript/src/core/Alignment.d.ts.map +1 -0
  129. package/lib/typescript/src/core/Errors.d.ts +14 -0
  130. package/lib/typescript/src/core/Errors.d.ts.map +1 -0
  131. package/lib/typescript/src/core/Events.d.ts +26 -0
  132. package/lib/typescript/src/core/Events.d.ts.map +1 -0
  133. package/lib/typescript/src/core/Fit.d.ts +48 -0
  134. package/lib/typescript/src/core/Fit.d.ts.map +1 -0
  135. package/lib/typescript/src/core/NitroRiveViewComponent.d.ts +4 -0
  136. package/lib/typescript/src/core/NitroRiveViewComponent.d.ts.map +1 -0
  137. package/lib/typescript/src/core/ReferencedAssets.d.ts +15 -0
  138. package/lib/typescript/src/core/ReferencedAssets.d.ts.map +1 -0
  139. package/lib/typescript/src/core/RiveColor.d.ts +53 -0
  140. package/lib/typescript/src/core/RiveColor.d.ts.map +1 -0
  141. package/lib/typescript/src/core/RiveFile.d.ts +62 -0
  142. package/lib/typescript/src/core/RiveFile.d.ts.map +1 -0
  143. package/lib/typescript/src/core/RiveImages.d.ts +3 -0
  144. package/lib/typescript/src/core/RiveImages.d.ts.map +1 -0
  145. package/lib/typescript/src/core/RiveView.d.ts +38 -0
  146. package/lib/typescript/src/core/RiveView.d.ts.map +1 -0
  147. package/lib/typescript/src/core/callDispose.d.ts +7 -0
  148. package/lib/typescript/src/core/callDispose.d.ts.map +1 -0
  149. package/lib/typescript/src/hooks/useRive.d.ts +9 -0
  150. package/lib/typescript/src/hooks/useRive.d.ts.map +1 -0
  151. package/lib/typescript/src/hooks/useRiveBoolean.d.ts +11 -0
  152. package/lib/typescript/src/hooks/useRiveBoolean.d.ts.map +1 -0
  153. package/lib/typescript/src/hooks/useRiveColor.d.ts +14 -0
  154. package/lib/typescript/src/hooks/useRiveColor.d.ts.map +1 -0
  155. package/lib/typescript/src/hooks/useRiveEnum.d.ts +11 -0
  156. package/lib/typescript/src/hooks/useRiveEnum.d.ts.map +1 -0
  157. package/lib/typescript/src/hooks/useRiveFile.d.ts +24 -0
  158. package/lib/typescript/src/hooks/useRiveFile.d.ts.map +1 -0
  159. package/lib/typescript/src/hooks/useRiveNumber.d.ts +11 -0
  160. package/lib/typescript/src/hooks/useRiveNumber.d.ts.map +1 -0
  161. package/lib/typescript/src/hooks/useRiveProperty.d.ts +22 -0
  162. package/lib/typescript/src/hooks/useRiveProperty.d.ts.map +1 -0
  163. package/lib/typescript/src/hooks/useRiveString.d.ts +11 -0
  164. package/lib/typescript/src/hooks/useRiveString.d.ts.map +1 -0
  165. package/lib/typescript/src/hooks/useRiveTrigger.d.ts +11 -0
  166. package/lib/typescript/src/hooks/useRiveTrigger.d.ts.map +1 -0
  167. package/lib/typescript/src/index.d.ts +32 -0
  168. package/lib/typescript/src/index.d.ts.map +1 -0
  169. package/lib/typescript/src/specs/ArtboardBy.d.ts +20 -0
  170. package/lib/typescript/src/specs/ArtboardBy.d.ts.map +1 -0
  171. package/lib/typescript/src/specs/Rive.nitro.d.ts +8 -0
  172. package/lib/typescript/src/specs/Rive.nitro.d.ts.map +1 -0
  173. package/lib/typescript/src/specs/RiveFile.nitro.d.ts +42 -0
  174. package/lib/typescript/src/specs/RiveFile.nitro.d.ts.map +1 -0
  175. package/lib/typescript/src/specs/RiveImage.nitro.d.ts +43 -0
  176. package/lib/typescript/src/specs/RiveImage.nitro.d.ts.map +1 -0
  177. package/lib/typescript/src/specs/RiveView.nitro.d.ts +139 -0
  178. package/lib/typescript/src/specs/RiveView.nitro.d.ts.map +1 -0
  179. package/lib/typescript/src/specs/ViewModel.nitro.d.ts +103 -0
  180. package/lib/typescript/src/specs/ViewModel.nitro.d.ts.map +1 -0
  181. package/lib/typescript/src/types.d.ts +33 -0
  182. package/lib/typescript/src/types.d.ts.map +1 -0
  183. package/nitrogen/generated/android/c++/JAlignment.hpp +80 -0
  184. package/nitrogen/generated/android/c++/JArtboardBy.hpp +68 -0
  185. package/nitrogen/generated/android/c++/JArtboardByTypes.hpp +59 -0
  186. package/nitrogen/generated/android/c++/JDataBindByName.hpp +57 -0
  187. package/nitrogen/generated/android/c++/JDataBindMode.hpp +59 -0
  188. package/nitrogen/generated/android/c++/JEventPropertiesOutput.cpp +30 -0
  189. package/nitrogen/generated/android/c++/JEventPropertiesOutput.hpp +83 -0
  190. package/nitrogen/generated/android/c++/JFit.hpp +77 -0
  191. package/nitrogen/generated/android/c++/JFunc_void.hpp +75 -0
  192. package/nitrogen/generated/android/c++/JFunc_void_RiveError.hpp +80 -0
  193. package/nitrogen/generated/android/c++/JFunc_void_UnifiedRiveEvent.hpp +84 -0
  194. package/nitrogen/generated/android/c++/JFunc_void_bool.hpp +75 -0
  195. package/nitrogen/generated/android/c++/JFunc_void_double.hpp +75 -0
  196. package/nitrogen/generated/android/c++/JFunc_void_std__string.hpp +76 -0
  197. package/nitrogen/generated/android/c++/JHybridRiveFileFactorySpec.cpp +134 -0
  198. package/nitrogen/generated/android/c++/JHybridRiveFileFactorySpec.hpp +68 -0
  199. package/nitrogen/generated/android/c++/JHybridRiveFileSpec.cpp +96 -0
  200. package/nitrogen/generated/android/c++/JHybridRiveFileSpec.hpp +68 -0
  201. package/nitrogen/generated/android/c++/JHybridRiveImageFactorySpec.cpp +104 -0
  202. package/nitrogen/generated/android/c++/JHybridRiveImageFactorySpec.hpp +67 -0
  203. package/nitrogen/generated/android/c++/JHybridRiveImageSpec.cpp +52 -0
  204. package/nitrogen/generated/android/c++/JHybridRiveImageSpec.hpp +65 -0
  205. package/nitrogen/generated/android/c++/JHybridRiveSpec.cpp +52 -0
  206. package/nitrogen/generated/android/c++/JHybridRiveSpec.hpp +65 -0
  207. package/nitrogen/generated/android/c++/JHybridRiveViewSpec.cpp +299 -0
  208. package/nitrogen/generated/android/c++/JHybridRiveViewSpec.hpp +97 -0
  209. package/nitrogen/generated/android/c++/JHybridViewModelBooleanPropertySpec.cpp +65 -0
  210. package/nitrogen/generated/android/c++/JHybridViewModelBooleanPropertySpec.hpp +68 -0
  211. package/nitrogen/generated/android/c++/JHybridViewModelColorPropertySpec.cpp +65 -0
  212. package/nitrogen/generated/android/c++/JHybridViewModelColorPropertySpec.hpp +68 -0
  213. package/nitrogen/generated/android/c++/JHybridViewModelEnumPropertySpec.cpp +66 -0
  214. package/nitrogen/generated/android/c++/JHybridViewModelEnumPropertySpec.hpp +68 -0
  215. package/nitrogen/generated/android/c++/JHybridViewModelImagePropertySpec.cpp +66 -0
  216. package/nitrogen/generated/android/c++/JHybridViewModelImagePropertySpec.hpp +68 -0
  217. package/nitrogen/generated/android/c++/JHybridViewModelInstanceSpec.cpp +115 -0
  218. package/nitrogen/generated/android/c++/JHybridViewModelInstanceSpec.hpp +71 -0
  219. package/nitrogen/generated/android/c++/JHybridViewModelNumberPropertySpec.cpp +65 -0
  220. package/nitrogen/generated/android/c++/JHybridViewModelNumberPropertySpec.hpp +68 -0
  221. package/nitrogen/generated/android/c++/JHybridViewModelPropertySpec.cpp +48 -0
  222. package/nitrogen/generated/android/c++/JHybridViewModelPropertySpec.hpp +65 -0
  223. package/nitrogen/generated/android/c++/JHybridViewModelSpec.cpp +86 -0
  224. package/nitrogen/generated/android/c++/JHybridViewModelSpec.hpp +70 -0
  225. package/nitrogen/generated/android/c++/JHybridViewModelStringPropertySpec.cpp +66 -0
  226. package/nitrogen/generated/android/c++/JHybridViewModelStringPropertySpec.hpp +68 -0
  227. package/nitrogen/generated/android/c++/JHybridViewModelTriggerPropertySpec.cpp +61 -0
  228. package/nitrogen/generated/android/c++/JHybridViewModelTriggerPropertySpec.hpp +68 -0
  229. package/nitrogen/generated/android/c++/JReferencedAssetsType.hpp +77 -0
  230. package/nitrogen/generated/android/c++/JResolvedReferencedAsset.hpp +77 -0
  231. package/nitrogen/generated/android/c++/JRiveError.hpp +63 -0
  232. package/nitrogen/generated/android/c++/JRiveErrorType.hpp +74 -0
  233. package/nitrogen/generated/android/c++/JRiveEventType.hpp +59 -0
  234. package/nitrogen/generated/android/c++/JUnifiedRiveEvent.hpp +96 -0
  235. package/nitrogen/generated/android/c++/JVariant_HybridViewModelInstanceSpec_DataBindMode_DataBindByName.cpp +30 -0
  236. package/nitrogen/generated/android/c++/JVariant_HybridViewModelInstanceSpec_DataBindMode_DataBindByName.hpp +90 -0
  237. package/nitrogen/generated/android/c++/views/JHybridRiveViewStateUpdater.cpp +88 -0
  238. package/nitrogen/generated/android/c++/views/JHybridRiveViewStateUpdater.hpp +49 -0
  239. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/Alignment.kt +28 -0
  240. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/ArtboardBy.kt +44 -0
  241. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/ArtboardByTypes.kt +21 -0
  242. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/DataBindByName.kt +38 -0
  243. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/DataBindMode.kt +21 -0
  244. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/EventPropertiesOutput.kt +72 -0
  245. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/Fit.kt +27 -0
  246. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/Func_void.kt +80 -0
  247. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/Func_void_RiveError.kt +80 -0
  248. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/Func_void_UnifiedRiveEvent.kt +80 -0
  249. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/Func_void_bool.kt +80 -0
  250. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/Func_void_double.kt +80 -0
  251. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/Func_void_std__string.kt +80 -0
  252. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridRiveFileFactorySpec.kt +71 -0
  253. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridRiveFileSpec.kt +71 -0
  254. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridRiveImageFactorySpec.kt +67 -0
  255. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridRiveImageSpec.kt +57 -0
  256. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridRiveSpec.kt +57 -0
  257. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridRiveViewSpec.kt +183 -0
  258. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelBooleanPropertySpec.kt +70 -0
  259. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelColorPropertySpec.kt +70 -0
  260. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelEnumPropertySpec.kt +70 -0
  261. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelImagePropertySpec.kt +70 -0
  262. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelInstanceSpec.kt +83 -0
  263. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelNumberPropertySpec.kt +70 -0
  264. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelPropertySpec.kt +55 -0
  265. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelSpec.kt +79 -0
  266. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelStringPropertySpec.kt +70 -0
  267. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelTriggerPropertySpec.kt +70 -0
  268. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/ReferencedAssetsType.kt +38 -0
  269. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/ResolvedReferencedAsset.kt +50 -0
  270. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/RiveError.kt +41 -0
  271. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/RiveErrorType.kt +26 -0
  272. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/RiveEventType.kt +21 -0
  273. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/UnifiedRiveEvent.kt +53 -0
  274. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/Variant_HybridViewModelInstanceSpec_DataBindMode_DataBindByName.kt +72 -0
  275. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/riveOnLoad.kt +35 -0
  276. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/views/HybridRiveViewManager.kt +50 -0
  277. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/views/HybridRiveViewStateUpdater.kt +23 -0
  278. package/nitrogen/generated/android/rive+autolinking.cmake +115 -0
  279. package/nitrogen/generated/android/rive+autolinking.gradle +27 -0
  280. package/nitrogen/generated/android/riveOnLoad.cpp +192 -0
  281. package/nitrogen/generated/android/riveOnLoad.hpp +25 -0
  282. package/nitrogen/generated/ios/RNRive+autolinking.rb +60 -0
  283. package/nitrogen/generated/ios/RNRive-Swift-Cxx-Bridge.cpp +360 -0
  284. package/nitrogen/generated/ios/RNRive-Swift-Cxx-Bridge.hpp +1180 -0
  285. package/nitrogen/generated/ios/RNRive-Swift-Cxx-Umbrella.hpp +161 -0
  286. package/nitrogen/generated/ios/RNRiveAutolinking.mm +137 -0
  287. package/nitrogen/generated/ios/RNRiveAutolinking.swift +220 -0
  288. package/nitrogen/generated/ios/c++/HybridRiveFileFactorySpecSwift.cpp +11 -0
  289. package/nitrogen/generated/ios/c++/HybridRiveFileFactorySpecSwift.hpp +119 -0
  290. package/nitrogen/generated/ios/c++/HybridRiveFileSpecSwift.cpp +11 -0
  291. package/nitrogen/generated/ios/c++/HybridRiveFileSpecSwift.hpp +121 -0
  292. package/nitrogen/generated/ios/c++/HybridRiveImageFactorySpecSwift.cpp +11 -0
  293. package/nitrogen/generated/ios/c++/HybridRiveImageFactorySpecSwift.hpp +100 -0
  294. package/nitrogen/generated/ios/c++/HybridRiveImageSpecSwift.cpp +11 -0
  295. package/nitrogen/generated/ios/c++/HybridRiveImageSpecSwift.hpp +71 -0
  296. package/nitrogen/generated/ios/c++/HybridRiveSpecSwift.cpp +11 -0
  297. package/nitrogen/generated/ios/c++/HybridRiveSpecSwift.hpp +76 -0
  298. package/nitrogen/generated/ios/c++/HybridRiveViewSpecSwift.cpp +11 -0
  299. package/nitrogen/generated/ios/c++/HybridRiveViewSpecSwift.hpp +277 -0
  300. package/nitrogen/generated/ios/c++/HybridViewModelBooleanPropertySpecSwift.cpp +11 -0
  301. package/nitrogen/generated/ios/c++/HybridViewModelBooleanPropertySpecSwift.hpp +88 -0
  302. package/nitrogen/generated/ios/c++/HybridViewModelColorPropertySpecSwift.cpp +11 -0
  303. package/nitrogen/generated/ios/c++/HybridViewModelColorPropertySpecSwift.hpp +88 -0
  304. package/nitrogen/generated/ios/c++/HybridViewModelEnumPropertySpecSwift.cpp +11 -0
  305. package/nitrogen/generated/ios/c++/HybridViewModelEnumPropertySpecSwift.hpp +90 -0
  306. package/nitrogen/generated/ios/c++/HybridViewModelImagePropertySpecSwift.cpp +11 -0
  307. package/nitrogen/generated/ios/c++/HybridViewModelImagePropertySpecSwift.hpp +94 -0
  308. package/nitrogen/generated/ios/c++/HybridViewModelInstanceSpecSwift.cpp +11 -0
  309. package/nitrogen/generated/ios/c++/HybridViewModelInstanceSpecSwift.hpp +149 -0
  310. package/nitrogen/generated/ios/c++/HybridViewModelNumberPropertySpecSwift.cpp +11 -0
  311. package/nitrogen/generated/ios/c++/HybridViewModelNumberPropertySpecSwift.hpp +88 -0
  312. package/nitrogen/generated/ios/c++/HybridViewModelPropertySpecSwift.cpp +11 -0
  313. package/nitrogen/generated/ios/c++/HybridViewModelPropertySpecSwift.hpp +69 -0
  314. package/nitrogen/generated/ios/c++/HybridViewModelSpecSwift.cpp +11 -0
  315. package/nitrogen/generated/ios/c++/HybridViewModelSpecSwift.hpp +113 -0
  316. package/nitrogen/generated/ios/c++/HybridViewModelStringPropertySpecSwift.cpp +11 -0
  317. package/nitrogen/generated/ios/c++/HybridViewModelStringPropertySpecSwift.hpp +90 -0
  318. package/nitrogen/generated/ios/c++/HybridViewModelTriggerPropertySpecSwift.cpp +11 -0
  319. package/nitrogen/generated/ios/c++/HybridViewModelTriggerPropertySpecSwift.hpp +89 -0
  320. package/nitrogen/generated/ios/c++/views/HybridRiveViewComponent.mm +136 -0
  321. package/nitrogen/generated/ios/swift/Alignment.swift +68 -0
  322. package/nitrogen/generated/ios/swift/ArtboardBy.swift +89 -0
  323. package/nitrogen/generated/ios/swift/ArtboardByTypes.swift +40 -0
  324. package/nitrogen/generated/ios/swift/DataBindByName.swift +36 -0
  325. package/nitrogen/generated/ios/swift/DataBindMode.swift +40 -0
  326. package/nitrogen/generated/ios/swift/EventPropertiesOutput.swift +19 -0
  327. package/nitrogen/generated/ios/swift/Fit.swift +64 -0
  328. package/nitrogen/generated/ios/swift/Func_void.swift +47 -0
  329. package/nitrogen/generated/ios/swift/Func_void_RiveError.swift +47 -0
  330. package/nitrogen/generated/ios/swift/Func_void_UnifiedRiveEvent.swift +47 -0
  331. package/nitrogen/generated/ios/swift/Func_void_bool.swift +47 -0
  332. package/nitrogen/generated/ios/swift/Func_void_double.swift +47 -0
  333. package/nitrogen/generated/ios/swift/Func_void_std__exception_ptr.swift +47 -0
  334. package/nitrogen/generated/ios/swift/Func_void_std__shared_ptr_HybridRiveFileSpec_.swift +51 -0
  335. package/nitrogen/generated/ios/swift/Func_void_std__shared_ptr_HybridRiveImageSpec_.swift +51 -0
  336. package/nitrogen/generated/ios/swift/Func_void_std__string.swift +47 -0
  337. package/nitrogen/generated/ios/swift/HybridRiveFileFactorySpec.swift +59 -0
  338. package/nitrogen/generated/ios/swift/HybridRiveFileFactorySpec_cxx.swift +207 -0
  339. package/nitrogen/generated/ios/swift/HybridRiveFileSpec.swift +59 -0
  340. package/nitrogen/generated/ios/swift/HybridRiveFileSpec_cxx.swift +204 -0
  341. package/nitrogen/generated/ios/swift/HybridRiveImageFactorySpec.swift +58 -0
  342. package/nitrogen/generated/ios/swift/HybridRiveImageFactorySpec_cxx.swift +185 -0
  343. package/nitrogen/generated/ios/swift/HybridRiveImageSpec.swift +56 -0
  344. package/nitrogen/generated/ios/swift/HybridRiveImageSpec_cxx.swift +126 -0
  345. package/nitrogen/generated/ios/swift/HybridRiveSpec.swift +56 -0
  346. package/nitrogen/generated/ios/swift/HybridRiveSpec_cxx.swift +131 -0
  347. package/nitrogen/generated/ios/swift/HybridRiveViewSpec.swift +79 -0
  348. package/nitrogen/generated/ios/swift/HybridRiveViewSpec_cxx.swift +623 -0
  349. package/nitrogen/generated/ios/swift/HybridViewModelBooleanPropertySpec.swift +57 -0
  350. package/nitrogen/generated/ios/swift/HybridViewModelBooleanPropertySpec_cxx.swift +158 -0
  351. package/nitrogen/generated/ios/swift/HybridViewModelColorPropertySpec.swift +57 -0
  352. package/nitrogen/generated/ios/swift/HybridViewModelColorPropertySpec_cxx.swift +158 -0
  353. package/nitrogen/generated/ios/swift/HybridViewModelEnumPropertySpec.swift +57 -0
  354. package/nitrogen/generated/ios/swift/HybridViewModelEnumPropertySpec_cxx.swift +158 -0
  355. package/nitrogen/generated/ios/swift/HybridViewModelImagePropertySpec.swift +58 -0
  356. package/nitrogen/generated/ios/swift/HybridViewModelImagePropertySpec_cxx.swift +171 -0
  357. package/nitrogen/generated/ios/swift/HybridViewModelInstanceSpec.swift +62 -0
  358. package/nitrogen/generated/ios/swift/HybridViewModelInstanceSpec_cxx.swift +271 -0
  359. package/nitrogen/generated/ios/swift/HybridViewModelNumberPropertySpec.swift +57 -0
  360. package/nitrogen/generated/ios/swift/HybridViewModelNumberPropertySpec_cxx.swift +158 -0
  361. package/nitrogen/generated/ios/swift/HybridViewModelPropertySpec.swift +56 -0
  362. package/nitrogen/generated/ios/swift/HybridViewModelPropertySpec_cxx.swift +121 -0
  363. package/nitrogen/generated/ios/swift/HybridViewModelSpec.swift +61 -0
  364. package/nitrogen/generated/ios/swift/HybridViewModelSpec_cxx.swift +222 -0
  365. package/nitrogen/generated/ios/swift/HybridViewModelStringPropertySpec.swift +57 -0
  366. package/nitrogen/generated/ios/swift/HybridViewModelStringPropertySpec_cxx.swift +158 -0
  367. package/nitrogen/generated/ios/swift/HybridViewModelTriggerPropertySpec.swift +58 -0
  368. package/nitrogen/generated/ios/swift/HybridViewModelTriggerPropertySpec_cxx.swift +160 -0
  369. package/nitrogen/generated/ios/swift/ReferencedAssetsType.swift +75 -0
  370. package/nitrogen/generated/ios/swift/ResolvedReferencedAsset.swift +185 -0
  371. package/nitrogen/generated/ios/swift/RiveError.swift +47 -0
  372. package/nitrogen/generated/ios/swift/RiveErrorType.swift +60 -0
  373. package/nitrogen/generated/ios/swift/RiveEventType.swift +40 -0
  374. package/nitrogen/generated/ios/swift/UnifiedRiveEvent.swift +213 -0
  375. package/nitrogen/generated/ios/swift/Variant__any_HybridViewModelInstanceSpec__DataBindMode_DataBindByName.swift +19 -0
  376. package/nitrogen/generated/shared/c++/Alignment.hpp +104 -0
  377. package/nitrogen/generated/shared/c++/ArtboardBy.hpp +86 -0
  378. package/nitrogen/generated/shared/c++/ArtboardByTypes.hpp +76 -0
  379. package/nitrogen/generated/shared/c++/DataBindByName.hpp +75 -0
  380. package/nitrogen/generated/shared/c++/DataBindMode.hpp +62 -0
  381. package/nitrogen/generated/shared/c++/Fit.hpp +68 -0
  382. package/nitrogen/generated/shared/c++/HybridRiveFileFactorySpec.cpp +24 -0
  383. package/nitrogen/generated/shared/c++/HybridRiveFileFactorySpec.hpp +74 -0
  384. package/nitrogen/generated/shared/c++/HybridRiveFileSpec.cpp +25 -0
  385. package/nitrogen/generated/shared/c++/HybridRiveFileSpec.hpp +75 -0
  386. package/nitrogen/generated/shared/c++/HybridRiveImageFactorySpec.cpp +23 -0
  387. package/nitrogen/generated/shared/c++/HybridRiveImageFactorySpec.hpp +69 -0
  388. package/nitrogen/generated/shared/c++/HybridRiveImageSpec.cpp +21 -0
  389. package/nitrogen/generated/shared/c++/HybridRiveImageSpec.hpp +62 -0
  390. package/nitrogen/generated/shared/c++/HybridRiveSpec.cpp +21 -0
  391. package/nitrogen/generated/shared/c++/HybridRiveSpec.hpp +62 -0
  392. package/nitrogen/generated/shared/c++/HybridRiveViewSpec.cpp +54 -0
  393. package/nitrogen/generated/shared/c++/HybridRiveViewSpec.hpp +122 -0
  394. package/nitrogen/generated/shared/c++/HybridViewModelBooleanPropertySpec.cpp +25 -0
  395. package/nitrogen/generated/shared/c++/HybridViewModelBooleanPropertySpec.hpp +67 -0
  396. package/nitrogen/generated/shared/c++/HybridViewModelColorPropertySpec.cpp +25 -0
  397. package/nitrogen/generated/shared/c++/HybridViewModelColorPropertySpec.hpp +67 -0
  398. package/nitrogen/generated/shared/c++/HybridViewModelEnumPropertySpec.cpp +25 -0
  399. package/nitrogen/generated/shared/c++/HybridViewModelEnumPropertySpec.hpp +68 -0
  400. package/nitrogen/generated/shared/c++/HybridViewModelImagePropertySpec.cpp +24 -0
  401. package/nitrogen/generated/shared/c++/HybridViewModelImagePropertySpec.hpp +71 -0
  402. package/nitrogen/generated/shared/c++/HybridViewModelInstanceSpec.cpp +28 -0
  403. package/nitrogen/generated/shared/c++/HybridViewModelInstanceSpec.hpp +90 -0
  404. package/nitrogen/generated/shared/c++/HybridViewModelNumberPropertySpec.cpp +25 -0
  405. package/nitrogen/generated/shared/c++/HybridViewModelNumberPropertySpec.hpp +67 -0
  406. package/nitrogen/generated/shared/c++/HybridViewModelPropertySpec.cpp +21 -0
  407. package/nitrogen/generated/shared/c++/HybridViewModelPropertySpec.hpp +62 -0
  408. package/nitrogen/generated/shared/c++/HybridViewModelSpec.cpp +27 -0
  409. package/nitrogen/generated/shared/c++/HybridViewModelSpec.hpp +71 -0
  410. package/nitrogen/generated/shared/c++/HybridViewModelStringPropertySpec.cpp +25 -0
  411. package/nitrogen/generated/shared/c++/HybridViewModelStringPropertySpec.hpp +68 -0
  412. package/nitrogen/generated/shared/c++/HybridViewModelTriggerPropertySpec.cpp +24 -0
  413. package/nitrogen/generated/shared/c++/HybridViewModelTriggerPropertySpec.hpp +67 -0
  414. package/nitrogen/generated/shared/c++/ReferencedAssetsType.hpp +79 -0
  415. package/nitrogen/generated/shared/c++/ResolvedReferencedAsset.hpp +95 -0
  416. package/nitrogen/generated/shared/c++/RiveError.hpp +81 -0
  417. package/nitrogen/generated/shared/c++/RiveErrorType.hpp +75 -0
  418. package/nitrogen/generated/shared/c++/RiveEventType.hpp +62 -0
  419. package/nitrogen/generated/shared/c++/UnifiedRiveEvent.hpp +100 -0
  420. package/nitrogen/generated/shared/c++/views/HybridRiveViewComponent.cpp +183 -0
  421. package/nitrogen/generated/shared/c++/views/HybridRiveViewComponent.hpp +124 -0
  422. package/nitrogen/generated/shared/json/RiveViewConfig.json +18 -0
  423. package/package.json +193 -0
  424. package/src/core/Alignment.ts +46 -0
  425. package/src/core/Errors.ts +14 -0
  426. package/src/core/Events.ts +31 -0
  427. package/src/core/Fit.ts +54 -0
  428. package/src/core/NitroRiveViewComponent.ts +18 -0
  429. package/src/core/ReferencedAssets.ts +14 -0
  430. package/src/core/RiveColor.ts +100 -0
  431. package/src/core/RiveFile.ts +149 -0
  432. package/src/core/RiveImages.ts +5 -0
  433. package/src/core/RiveView.tsx +48 -0
  434. package/src/core/callDispose.ts +18 -0
  435. package/src/hooks/useRive.ts +56 -0
  436. package/src/hooks/useRiveBoolean.ts +28 -0
  437. package/src/hooks/useRiveColor.ts +47 -0
  438. package/src/hooks/useRiveEnum.ts +27 -0
  439. package/src/hooks/useRiveFile.ts +184 -0
  440. package/src/hooks/useRiveNumber.ts +28 -0
  441. package/src/hooks/useRiveProperty.ts +110 -0
  442. package/src/hooks/useRiveString.ts +28 -0
  443. package/src/hooks/useRiveTrigger.ts +49 -0
  444. package/src/index.tsx +52 -0
  445. package/src/specs/ArtboardBy.ts +31 -0
  446. package/src/specs/Rive.nitro.ts +6 -0
  447. package/src/specs/RiveFile.nitro.ts +57 -0
  448. package/src/specs/RiveImage.nitro.ts +42 -0
  449. package/src/specs/RiveView.nitro.ts +149 -0
  450. package/src/specs/ViewModel.nitro.ts +126 -0
  451. package/src/types.tsx +34 -0
@@ -0,0 +1,80 @@
1
+ ///
2
+ /// JAlignment.hpp
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2025 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ #pragma once
9
+
10
+ #include <fbjni/fbjni.h>
11
+ #include "Alignment.hpp"
12
+
13
+ namespace margelo::nitro::rive {
14
+
15
+ using namespace facebook;
16
+
17
+ /**
18
+ * The C++ JNI bridge between the C++ enum "Alignment" and the the Kotlin enum "Alignment".
19
+ */
20
+ struct JAlignment final: public jni::JavaClass<JAlignment> {
21
+ public:
22
+ static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/rive/Alignment;";
23
+
24
+ public:
25
+ /**
26
+ * Convert this Java/Kotlin-based enum to the C++ enum Alignment.
27
+ */
28
+ [[maybe_unused]]
29
+ [[nodiscard]]
30
+ Alignment toCpp() const {
31
+ static const auto clazz = javaClassStatic();
32
+ static const auto fieldOrdinal = clazz->getField<int>("value");
33
+ int ordinal = this->getFieldValue(fieldOrdinal);
34
+ return static_cast<Alignment>(ordinal);
35
+ }
36
+
37
+ public:
38
+ /**
39
+ * Create a Java/Kotlin-based enum with the given C++ enum's value.
40
+ */
41
+ [[maybe_unused]]
42
+ static jni::alias_ref<JAlignment> fromCpp(Alignment value) {
43
+ static const auto clazz = javaClassStatic();
44
+ static const auto fieldTOPLEFT = clazz->getStaticField<JAlignment>("TOPLEFT");
45
+ static const auto fieldTOPCENTER = clazz->getStaticField<JAlignment>("TOPCENTER");
46
+ static const auto fieldTOPRIGHT = clazz->getStaticField<JAlignment>("TOPRIGHT");
47
+ static const auto fieldCENTERLEFT = clazz->getStaticField<JAlignment>("CENTERLEFT");
48
+ static const auto fieldCENTER = clazz->getStaticField<JAlignment>("CENTER");
49
+ static const auto fieldCENTERRIGHT = clazz->getStaticField<JAlignment>("CENTERRIGHT");
50
+ static const auto fieldBOTTOMLEFT = clazz->getStaticField<JAlignment>("BOTTOMLEFT");
51
+ static const auto fieldBOTTOMCENTER = clazz->getStaticField<JAlignment>("BOTTOMCENTER");
52
+ static const auto fieldBOTTOMRIGHT = clazz->getStaticField<JAlignment>("BOTTOMRIGHT");
53
+
54
+ switch (value) {
55
+ case Alignment::TOPLEFT:
56
+ return clazz->getStaticFieldValue(fieldTOPLEFT);
57
+ case Alignment::TOPCENTER:
58
+ return clazz->getStaticFieldValue(fieldTOPCENTER);
59
+ case Alignment::TOPRIGHT:
60
+ return clazz->getStaticFieldValue(fieldTOPRIGHT);
61
+ case Alignment::CENTERLEFT:
62
+ return clazz->getStaticFieldValue(fieldCENTERLEFT);
63
+ case Alignment::CENTER:
64
+ return clazz->getStaticFieldValue(fieldCENTER);
65
+ case Alignment::CENTERRIGHT:
66
+ return clazz->getStaticFieldValue(fieldCENTERRIGHT);
67
+ case Alignment::BOTTOMLEFT:
68
+ return clazz->getStaticFieldValue(fieldBOTTOMLEFT);
69
+ case Alignment::BOTTOMCENTER:
70
+ return clazz->getStaticFieldValue(fieldBOTTOMCENTER);
71
+ case Alignment::BOTTOMRIGHT:
72
+ return clazz->getStaticFieldValue(fieldBOTTOMRIGHT);
73
+ default:
74
+ std::string stringValue = std::to_string(static_cast<int>(value));
75
+ throw std::invalid_argument("Invalid enum value (" + stringValue + "!");
76
+ }
77
+ }
78
+ };
79
+
80
+ } // namespace margelo::nitro::rive
@@ -0,0 +1,68 @@
1
+ ///
2
+ /// JArtboardBy.hpp
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2025 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ #pragma once
9
+
10
+ #include <fbjni/fbjni.h>
11
+ #include "ArtboardBy.hpp"
12
+
13
+ #include "ArtboardByTypes.hpp"
14
+ #include "JArtboardByTypes.hpp"
15
+ #include <optional>
16
+ #include <string>
17
+
18
+ namespace margelo::nitro::rive {
19
+
20
+ using namespace facebook;
21
+
22
+ /**
23
+ * The C++ JNI bridge between the C++ struct "ArtboardBy" and the the Kotlin data class "ArtboardBy".
24
+ */
25
+ struct JArtboardBy final: public jni::JavaClass<JArtboardBy> {
26
+ public:
27
+ static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/rive/ArtboardBy;";
28
+
29
+ public:
30
+ /**
31
+ * Convert this Java/Kotlin-based struct to the C++ struct ArtboardBy by copying all values to C++.
32
+ */
33
+ [[maybe_unused]]
34
+ [[nodiscard]]
35
+ ArtboardBy toCpp() const {
36
+ static const auto clazz = javaClassStatic();
37
+ static const auto fieldType = clazz->getField<JArtboardByTypes>("type");
38
+ jni::local_ref<JArtboardByTypes> type = this->getFieldValue(fieldType);
39
+ static const auto fieldIndex = clazz->getField<jni::JDouble>("index");
40
+ jni::local_ref<jni::JDouble> index = this->getFieldValue(fieldIndex);
41
+ static const auto fieldName = clazz->getField<jni::JString>("name");
42
+ jni::local_ref<jni::JString> name = this->getFieldValue(fieldName);
43
+ return ArtboardBy(
44
+ type->toCpp(),
45
+ index != nullptr ? std::make_optional(index->value()) : std::nullopt,
46
+ name != nullptr ? std::make_optional(name->toStdString()) : std::nullopt
47
+ );
48
+ }
49
+
50
+ public:
51
+ /**
52
+ * Create a Java/Kotlin-based struct by copying all values from the given C++ struct to Java.
53
+ */
54
+ [[maybe_unused]]
55
+ static jni::local_ref<JArtboardBy::javaobject> fromCpp(const ArtboardBy& value) {
56
+ using JSignature = JArtboardBy(jni::alias_ref<JArtboardByTypes>, jni::alias_ref<jni::JDouble>, jni::alias_ref<jni::JString>);
57
+ static const auto clazz = javaClassStatic();
58
+ static const auto create = clazz->getStaticMethod<JSignature>("fromCpp");
59
+ return create(
60
+ clazz,
61
+ JArtboardByTypes::fromCpp(value.type),
62
+ value.index.has_value() ? jni::JDouble::valueOf(value.index.value()) : nullptr,
63
+ value.name.has_value() ? jni::make_jstring(value.name.value()) : nullptr
64
+ );
65
+ }
66
+ };
67
+
68
+ } // namespace margelo::nitro::rive
@@ -0,0 +1,59 @@
1
+ ///
2
+ /// JArtboardByTypes.hpp
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2025 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ #pragma once
9
+
10
+ #include <fbjni/fbjni.h>
11
+ #include "ArtboardByTypes.hpp"
12
+
13
+ namespace margelo::nitro::rive {
14
+
15
+ using namespace facebook;
16
+
17
+ /**
18
+ * The C++ JNI bridge between the C++ enum "ArtboardByTypes" and the the Kotlin enum "ArtboardByTypes".
19
+ */
20
+ struct JArtboardByTypes final: public jni::JavaClass<JArtboardByTypes> {
21
+ public:
22
+ static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/rive/ArtboardByTypes;";
23
+
24
+ public:
25
+ /**
26
+ * Convert this Java/Kotlin-based enum to the C++ enum ArtboardByTypes.
27
+ */
28
+ [[maybe_unused]]
29
+ [[nodiscard]]
30
+ ArtboardByTypes toCpp() const {
31
+ static const auto clazz = javaClassStatic();
32
+ static const auto fieldOrdinal = clazz->getField<int>("value");
33
+ int ordinal = this->getFieldValue(fieldOrdinal);
34
+ return static_cast<ArtboardByTypes>(ordinal);
35
+ }
36
+
37
+ public:
38
+ /**
39
+ * Create a Java/Kotlin-based enum with the given C++ enum's value.
40
+ */
41
+ [[maybe_unused]]
42
+ static jni::alias_ref<JArtboardByTypes> fromCpp(ArtboardByTypes value) {
43
+ static const auto clazz = javaClassStatic();
44
+ static const auto fieldINDEX = clazz->getStaticField<JArtboardByTypes>("INDEX");
45
+ static const auto fieldNAME = clazz->getStaticField<JArtboardByTypes>("NAME");
46
+
47
+ switch (value) {
48
+ case ArtboardByTypes::INDEX:
49
+ return clazz->getStaticFieldValue(fieldINDEX);
50
+ case ArtboardByTypes::NAME:
51
+ return clazz->getStaticFieldValue(fieldNAME);
52
+ default:
53
+ std::string stringValue = std::to_string(static_cast<int>(value));
54
+ throw std::invalid_argument("Invalid enum value (" + stringValue + "!");
55
+ }
56
+ }
57
+ };
58
+
59
+ } // namespace margelo::nitro::rive
@@ -0,0 +1,57 @@
1
+ ///
2
+ /// JDataBindByName.hpp
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2025 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ #pragma once
9
+
10
+ #include <fbjni/fbjni.h>
11
+ #include "DataBindByName.hpp"
12
+
13
+ #include <string>
14
+
15
+ namespace margelo::nitro::rive {
16
+
17
+ using namespace facebook;
18
+
19
+ /**
20
+ * The C++ JNI bridge between the C++ struct "DataBindByName" and the the Kotlin data class "DataBindByName".
21
+ */
22
+ struct JDataBindByName final: public jni::JavaClass<JDataBindByName> {
23
+ public:
24
+ static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/rive/DataBindByName;";
25
+
26
+ public:
27
+ /**
28
+ * Convert this Java/Kotlin-based struct to the C++ struct DataBindByName by copying all values to C++.
29
+ */
30
+ [[maybe_unused]]
31
+ [[nodiscard]]
32
+ DataBindByName toCpp() const {
33
+ static const auto clazz = javaClassStatic();
34
+ static const auto fieldByName = clazz->getField<jni::JString>("byName");
35
+ jni::local_ref<jni::JString> byName = this->getFieldValue(fieldByName);
36
+ return DataBindByName(
37
+ byName->toStdString()
38
+ );
39
+ }
40
+
41
+ public:
42
+ /**
43
+ * Create a Java/Kotlin-based struct by copying all values from the given C++ struct to Java.
44
+ */
45
+ [[maybe_unused]]
46
+ static jni::local_ref<JDataBindByName::javaobject> fromCpp(const DataBindByName& value) {
47
+ using JSignature = JDataBindByName(jni::alias_ref<jni::JString>);
48
+ static const auto clazz = javaClassStatic();
49
+ static const auto create = clazz->getStaticMethod<JSignature>("fromCpp");
50
+ return create(
51
+ clazz,
52
+ jni::make_jstring(value.byName)
53
+ );
54
+ }
55
+ };
56
+
57
+ } // namespace margelo::nitro::rive
@@ -0,0 +1,59 @@
1
+ ///
2
+ /// JDataBindMode.hpp
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2025 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ #pragma once
9
+
10
+ #include <fbjni/fbjni.h>
11
+ #include "DataBindMode.hpp"
12
+
13
+ namespace margelo::nitro::rive {
14
+
15
+ using namespace facebook;
16
+
17
+ /**
18
+ * The C++ JNI bridge between the C++ enum "DataBindMode" and the the Kotlin enum "DataBindMode".
19
+ */
20
+ struct JDataBindMode final: public jni::JavaClass<JDataBindMode> {
21
+ public:
22
+ static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/rive/DataBindMode;";
23
+
24
+ public:
25
+ /**
26
+ * Convert this Java/Kotlin-based enum to the C++ enum DataBindMode.
27
+ */
28
+ [[maybe_unused]]
29
+ [[nodiscard]]
30
+ DataBindMode toCpp() const {
31
+ static const auto clazz = javaClassStatic();
32
+ static const auto fieldOrdinal = clazz->getField<int>("value");
33
+ int ordinal = this->getFieldValue(fieldOrdinal);
34
+ return static_cast<DataBindMode>(ordinal);
35
+ }
36
+
37
+ public:
38
+ /**
39
+ * Create a Java/Kotlin-based enum with the given C++ enum's value.
40
+ */
41
+ [[maybe_unused]]
42
+ static jni::alias_ref<JDataBindMode> fromCpp(DataBindMode value) {
43
+ static const auto clazz = javaClassStatic();
44
+ static const auto fieldAUTO = clazz->getStaticField<JDataBindMode>("AUTO");
45
+ static const auto fieldNONE = clazz->getStaticField<JDataBindMode>("NONE");
46
+
47
+ switch (value) {
48
+ case DataBindMode::AUTO:
49
+ return clazz->getStaticFieldValue(fieldAUTO);
50
+ case DataBindMode::NONE:
51
+ return clazz->getStaticFieldValue(fieldNONE);
52
+ default:
53
+ std::string stringValue = std::to_string(static_cast<int>(value));
54
+ throw std::invalid_argument("Invalid enum value (" + stringValue + "!");
55
+ }
56
+ }
57
+ };
58
+
59
+ } // namespace margelo::nitro::rive
@@ -0,0 +1,30 @@
1
+ ///
2
+ /// JEventPropertiesOutput.cpp
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2025 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ #include "JEventPropertiesOutput.hpp"
9
+
10
+ namespace margelo::nitro::rive {
11
+ /**
12
+ * Converts JEventPropertiesOutput to std::variant<bool, std::string, double>
13
+ */
14
+ std::variant<bool, std::string, double> JEventPropertiesOutput::toCpp() const {
15
+ if (isInstanceOf(JEventPropertiesOutput_impl::First::javaClassStatic())) {
16
+ // It's a `bool`
17
+ auto jniValue = static_cast<const JEventPropertiesOutput_impl::First*>(this)->getValue();
18
+ return static_cast<bool>(jniValue);
19
+ } else if (isInstanceOf(JEventPropertiesOutput_impl::Second::javaClassStatic())) {
20
+ // It's a `std::string`
21
+ auto jniValue = static_cast<const JEventPropertiesOutput_impl::Second*>(this)->getValue();
22
+ return jniValue->toStdString();
23
+ } else if (isInstanceOf(JEventPropertiesOutput_impl::Third::javaClassStatic())) {
24
+ // It's a `double`
25
+ auto jniValue = static_cast<const JEventPropertiesOutput_impl::Third*>(this)->getValue();
26
+ return jniValue;
27
+ }
28
+ throw std::invalid_argument("Variant is unknown Kotlin instance!");
29
+ }
30
+ } // namespace margelo::nitro::rive
@@ -0,0 +1,83 @@
1
+ ///
2
+ /// JEventPropertiesOutput.hpp
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2025 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ #pragma once
9
+
10
+ #include <fbjni/fbjni.h>
11
+ #include <variant>
12
+
13
+ #include <string>
14
+ #include <variant>
15
+
16
+ namespace margelo::nitro::rive {
17
+
18
+ using namespace facebook;
19
+
20
+ /**
21
+ * The C++ JNI bridge between the C++ std::variant and the Java class "EventPropertiesOutput".
22
+ */
23
+ class JEventPropertiesOutput: public jni::JavaClass<JEventPropertiesOutput> {
24
+ public:
25
+ static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/rive/EventPropertiesOutput;";
26
+
27
+ static jni::local_ref<JEventPropertiesOutput> create_0(jboolean value) {
28
+ static const auto method = javaClassStatic()->getStaticMethod<JEventPropertiesOutput(jboolean)>("create");
29
+ return method(javaClassStatic(), value);
30
+ }
31
+ static jni::local_ref<JEventPropertiesOutput> create_1(jni::alias_ref<jni::JString> value) {
32
+ static const auto method = javaClassStatic()->getStaticMethod<JEventPropertiesOutput(jni::alias_ref<jni::JString>)>("create");
33
+ return method(javaClassStatic(), value);
34
+ }
35
+ static jni::local_ref<JEventPropertiesOutput> create_2(double value) {
36
+ static const auto method = javaClassStatic()->getStaticMethod<JEventPropertiesOutput(double)>("create");
37
+ return method(javaClassStatic(), value);
38
+ }
39
+
40
+ static jni::local_ref<JEventPropertiesOutput> fromCpp(const std::variant<bool, std::string, double>& variant) {
41
+ switch (variant.index()) {
42
+ case 0: return create_0(std::get<0>(variant));
43
+ case 1: return create_1(jni::make_jstring(std::get<1>(variant)));
44
+ case 2: return create_2(std::get<2>(variant));
45
+ default: throw std::invalid_argument("Variant holds unknown index! (" + std::to_string(variant.index()) + ")");
46
+ }
47
+ }
48
+
49
+ [[nodiscard]] std::variant<bool, std::string, double> toCpp() const;
50
+ };
51
+
52
+ namespace JEventPropertiesOutput_impl {
53
+ class First: public jni::JavaClass<First, JEventPropertiesOutput> {
54
+ public:
55
+ static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/rive/EventPropertiesOutput$First;";
56
+
57
+ [[nodiscard]] jboolean getValue() const {
58
+ static const auto field = javaClassStatic()->getField<jboolean>("value");
59
+ return getFieldValue(field);
60
+ }
61
+ };
62
+
63
+ class Second: public jni::JavaClass<Second, JEventPropertiesOutput> {
64
+ public:
65
+ static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/rive/EventPropertiesOutput$Second;";
66
+
67
+ [[nodiscard]] jni::local_ref<jni::JString> getValue() const {
68
+ static const auto field = javaClassStatic()->getField<jni::JString>("value");
69
+ return getFieldValue(field);
70
+ }
71
+ };
72
+
73
+ class Third: public jni::JavaClass<Third, JEventPropertiesOutput> {
74
+ public:
75
+ static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/rive/EventPropertiesOutput$Third;";
76
+
77
+ [[nodiscard]] double getValue() const {
78
+ static const auto field = javaClassStatic()->getField<double>("value");
79
+ return getFieldValue(field);
80
+ }
81
+ };
82
+ } // namespace JEventPropertiesOutput_impl
83
+ } // namespace margelo::nitro::rive
@@ -0,0 +1,77 @@
1
+ ///
2
+ /// JFit.hpp
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2025 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ #pragma once
9
+
10
+ #include <fbjni/fbjni.h>
11
+ #include "Fit.hpp"
12
+
13
+ namespace margelo::nitro::rive {
14
+
15
+ using namespace facebook;
16
+
17
+ /**
18
+ * The C++ JNI bridge between the C++ enum "Fit" and the the Kotlin enum "Fit".
19
+ */
20
+ struct JFit final: public jni::JavaClass<JFit> {
21
+ public:
22
+ static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/rive/Fit;";
23
+
24
+ public:
25
+ /**
26
+ * Convert this Java/Kotlin-based enum to the C++ enum Fit.
27
+ */
28
+ [[maybe_unused]]
29
+ [[nodiscard]]
30
+ Fit toCpp() const {
31
+ static const auto clazz = javaClassStatic();
32
+ static const auto fieldOrdinal = clazz->getField<int>("value");
33
+ int ordinal = this->getFieldValue(fieldOrdinal);
34
+ return static_cast<Fit>(ordinal);
35
+ }
36
+
37
+ public:
38
+ /**
39
+ * Create a Java/Kotlin-based enum with the given C++ enum's value.
40
+ */
41
+ [[maybe_unused]]
42
+ static jni::alias_ref<JFit> fromCpp(Fit value) {
43
+ static const auto clazz = javaClassStatic();
44
+ static const auto fieldFILL = clazz->getStaticField<JFit>("FILL");
45
+ static const auto fieldCONTAIN = clazz->getStaticField<JFit>("CONTAIN");
46
+ static const auto fieldCOVER = clazz->getStaticField<JFit>("COVER");
47
+ static const auto fieldFITWIDTH = clazz->getStaticField<JFit>("FITWIDTH");
48
+ static const auto fieldFITHEIGHT = clazz->getStaticField<JFit>("FITHEIGHT");
49
+ static const auto fieldNONE = clazz->getStaticField<JFit>("NONE");
50
+ static const auto fieldSCALEDOWN = clazz->getStaticField<JFit>("SCALEDOWN");
51
+ static const auto fieldLAYOUT = clazz->getStaticField<JFit>("LAYOUT");
52
+
53
+ switch (value) {
54
+ case Fit::FILL:
55
+ return clazz->getStaticFieldValue(fieldFILL);
56
+ case Fit::CONTAIN:
57
+ return clazz->getStaticFieldValue(fieldCONTAIN);
58
+ case Fit::COVER:
59
+ return clazz->getStaticFieldValue(fieldCOVER);
60
+ case Fit::FITWIDTH:
61
+ return clazz->getStaticFieldValue(fieldFITWIDTH);
62
+ case Fit::FITHEIGHT:
63
+ return clazz->getStaticFieldValue(fieldFITHEIGHT);
64
+ case Fit::NONE:
65
+ return clazz->getStaticFieldValue(fieldNONE);
66
+ case Fit::SCALEDOWN:
67
+ return clazz->getStaticFieldValue(fieldSCALEDOWN);
68
+ case Fit::LAYOUT:
69
+ return clazz->getStaticFieldValue(fieldLAYOUT);
70
+ default:
71
+ std::string stringValue = std::to_string(static_cast<int>(value));
72
+ throw std::invalid_argument("Invalid enum value (" + stringValue + "!");
73
+ }
74
+ }
75
+ };
76
+
77
+ } // namespace margelo::nitro::rive
@@ -0,0 +1,75 @@
1
+ ///
2
+ /// JFunc_void.hpp
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2025 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ #pragma once
9
+
10
+ #include <fbjni/fbjni.h>
11
+ #include <functional>
12
+
13
+ #include <functional>
14
+ #include <NitroModules/JNICallable.hpp>
15
+
16
+ namespace margelo::nitro::rive {
17
+
18
+ using namespace facebook;
19
+
20
+ /**
21
+ * Represents the Java/Kotlin callback `() -> Unit`.
22
+ * This can be passed around between C++ and Java/Kotlin.
23
+ */
24
+ struct JFunc_void: public jni::JavaClass<JFunc_void> {
25
+ public:
26
+ static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/rive/Func_void;";
27
+
28
+ public:
29
+ /**
30
+ * Invokes the function this `JFunc_void` instance holds through JNI.
31
+ */
32
+ void invoke() const {
33
+ static const auto method = javaClassStatic()->getMethod<void()>("invoke");
34
+ method(self());
35
+ }
36
+ };
37
+
38
+ /**
39
+ * An implementation of Func_void that is backed by a C++ implementation (using `std::function<...>`)
40
+ */
41
+ class JFunc_void_cxx final: public jni::HybridClass<JFunc_void_cxx, JFunc_void> {
42
+ public:
43
+ static jni::local_ref<JFunc_void::javaobject> fromCpp(const std::function<void()>& func) {
44
+ return JFunc_void_cxx::newObjectCxxArgs(func);
45
+ }
46
+
47
+ public:
48
+ /**
49
+ * Invokes the C++ `std::function<...>` this `JFunc_void_cxx` instance holds.
50
+ */
51
+ void invoke_cxx() {
52
+ _func();
53
+ }
54
+
55
+ public:
56
+ [[nodiscard]]
57
+ inline const std::function<void()>& getFunction() const {
58
+ return _func;
59
+ }
60
+
61
+ public:
62
+ static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/rive/Func_void_cxx;";
63
+ static void registerNatives() {
64
+ registerHybrid({makeNativeMethod("invoke_cxx", JFunc_void_cxx::invoke_cxx)});
65
+ }
66
+
67
+ private:
68
+ explicit JFunc_void_cxx(const std::function<void()>& func): _func(func) { }
69
+
70
+ private:
71
+ friend HybridBase;
72
+ std::function<void()> _func;
73
+ };
74
+
75
+ } // namespace margelo::nitro::rive
@@ -0,0 +1,80 @@
1
+ ///
2
+ /// JFunc_void_RiveError.hpp
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2025 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ #pragma once
9
+
10
+ #include <fbjni/fbjni.h>
11
+ #include <functional>
12
+
13
+ #include "RiveError.hpp"
14
+ #include <functional>
15
+ #include <NitroModules/JNICallable.hpp>
16
+ #include "JRiveError.hpp"
17
+ #include <string>
18
+ #include "RiveErrorType.hpp"
19
+ #include "JRiveErrorType.hpp"
20
+
21
+ namespace margelo::nitro::rive {
22
+
23
+ using namespace facebook;
24
+
25
+ /**
26
+ * Represents the Java/Kotlin callback `(error: RiveError) -> Unit`.
27
+ * This can be passed around between C++ and Java/Kotlin.
28
+ */
29
+ struct JFunc_void_RiveError: public jni::JavaClass<JFunc_void_RiveError> {
30
+ public:
31
+ static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/rive/Func_void_RiveError;";
32
+
33
+ public:
34
+ /**
35
+ * Invokes the function this `JFunc_void_RiveError` instance holds through JNI.
36
+ */
37
+ void invoke(const RiveError& error) const {
38
+ static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<JRiveError> /* error */)>("invoke");
39
+ method(self(), JRiveError::fromCpp(error));
40
+ }
41
+ };
42
+
43
+ /**
44
+ * An implementation of Func_void_RiveError that is backed by a C++ implementation (using `std::function<...>`)
45
+ */
46
+ class JFunc_void_RiveError_cxx final: public jni::HybridClass<JFunc_void_RiveError_cxx, JFunc_void_RiveError> {
47
+ public:
48
+ static jni::local_ref<JFunc_void_RiveError::javaobject> fromCpp(const std::function<void(const RiveError& /* error */)>& func) {
49
+ return JFunc_void_RiveError_cxx::newObjectCxxArgs(func);
50
+ }
51
+
52
+ public:
53
+ /**
54
+ * Invokes the C++ `std::function<...>` this `JFunc_void_RiveError_cxx` instance holds.
55
+ */
56
+ void invoke_cxx(jni::alias_ref<JRiveError> error) {
57
+ _func(error->toCpp());
58
+ }
59
+
60
+ public:
61
+ [[nodiscard]]
62
+ inline const std::function<void(const RiveError& /* error */)>& getFunction() const {
63
+ return _func;
64
+ }
65
+
66
+ public:
67
+ static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/rive/Func_void_RiveError_cxx;";
68
+ static void registerNatives() {
69
+ registerHybrid({makeNativeMethod("invoke_cxx", JFunc_void_RiveError_cxx::invoke_cxx)});
70
+ }
71
+
72
+ private:
73
+ explicit JFunc_void_RiveError_cxx(const std::function<void(const RiveError& /* error */)>& func): _func(func) { }
74
+
75
+ private:
76
+ friend HybridBase;
77
+ std::function<void(const RiveError& /* error */)> _func;
78
+ };
79
+
80
+ } // namespace margelo::nitro::rive