diff --git a/.editorconfig b/.editorconfig index c524b41e..c6465375 100644 --- a/.editorconfig +++ b/.editorconfig @@ -32,6 +32,7 @@ ktlint_standard_import-ordering = disabled ktlint_standard_string-template-indent = disabled ktlint_standard_backing-property-naming = disabled ktlint_standard_no-consecutive-comments = disabled +ktlint_standard_no-empty-first-line-in-class-body = disabled [nitrogen/generated/**/*.kt] ktlint = disabled diff --git a/android/src/main/java/com/margelo/nitro/rive/HybridBindableArtboard.kt b/android/src/main/java/com/margelo/nitro/rive/HybridBindableArtboard.kt new file mode 100644 index 00000000..62b07ed1 --- /dev/null +++ b/android/src/main/java/com/margelo/nitro/rive/HybridBindableArtboard.kt @@ -0,0 +1,23 @@ +package com.margelo.nitro.rive + +import androidx.annotation.Keep +import app.rive.runtime.kotlin.core.BindableArtboard +import com.facebook.proguard.annotations.DoNotStrip + +@Keep +@DoNotStrip +class HybridBindableArtboard(internal var bindableArtboard: BindableArtboard?) : HybridBindableArtboardSpec() { + + override val artboardName: String + get() = bindableArtboard?.name + ?: throw IllegalStateException("BindableArtboard has been disposed") + + override fun dispose() { + bindableArtboard?.release() + bindableArtboard = null + } + + protected fun finalize() { + dispose() + } +} diff --git a/android/src/main/java/com/margelo/nitro/rive/HybridRiveFile.kt b/android/src/main/java/com/margelo/nitro/rive/HybridRiveFile.kt index 147eb619..77a37f60 100644 --- a/android/src/main/java/com/margelo/nitro/rive/HybridRiveFile.kt +++ b/android/src/main/java/com/margelo/nitro/rive/HybridRiveFile.kt @@ -48,6 +48,18 @@ class HybridRiveFile : HybridRiveFileSpec() { } } + override val artboardCount: Double + get() = riveFile?.artboardNames?.size?.toDouble() ?: 0.0 + + override val artboardNames: Array + get() = riveFile?.artboardNames?.toTypedArray() ?: emptyArray() + + override fun getBindableArtboard(name: String): HybridBindableArtboardSpec { + val file = riveFile ?: throw IllegalStateException("RiveFile not loaded") + val bindable = file.createBindableArtboardByName(name) + return HybridBindableArtboard(bindable) + } + fun registerView(view: HybridRiveView) { weakViews.add(WeakReference(view)) } diff --git a/android/src/main/java/com/margelo/nitro/rive/HybridViewModelArtboardProperty.kt b/android/src/main/java/com/margelo/nitro/rive/HybridViewModelArtboardProperty.kt new file mode 100644 index 00000000..c3adec4c --- /dev/null +++ b/android/src/main/java/com/margelo/nitro/rive/HybridViewModelArtboardProperty.kt @@ -0,0 +1,16 @@ +package com.margelo.nitro.rive + +import androidx.annotation.Keep +import app.rive.runtime.kotlin.core.ViewModelArtboardProperty +import com.facebook.proguard.annotations.DoNotStrip + +@Keep +@DoNotStrip +class HybridViewModelArtboardProperty(private val property: ViewModelArtboardProperty) : + HybridViewModelArtboardPropertySpec() { + + override fun set(artboard: HybridBindableArtboardSpec?) { + val bindable = (artboard as? HybridBindableArtboard)?.bindableArtboard + property.set(bindable) + } +} diff --git a/android/src/main/java/com/margelo/nitro/rive/HybridViewModelInstance.kt b/android/src/main/java/com/margelo/nitro/rive/HybridViewModelInstance.kt index 0ba683c7..72b3d59d 100644 --- a/android/src/main/java/com/margelo/nitro/rive/HybridViewModelInstance.kt +++ b/android/src/main/java/com/margelo/nitro/rive/HybridViewModelInstance.kt @@ -52,4 +52,8 @@ class HybridViewModelInstance(val viewModelInstance: ViewModelInstance) : Hybrid override fun listProperty(path: String) = getPropertyOrNull { HybridViewModelListProperty(viewModelInstance.getListProperty(path)) } + + override fun artboardProperty(path: String) = getPropertyOrNull { + HybridViewModelArtboardProperty(viewModelInstance.getArtboardProperty(path)) + } } diff --git a/example/assets/swap_character_assets.riv b/example/assets/swap_character_assets.riv new file mode 100644 index 00000000..d6cce169 Binary files /dev/null and b/example/assets/swap_character_assets.riv differ diff --git a/example/assets/swap_character_main.riv b/example/assets/swap_character_main.riv new file mode 100644 index 00000000..f6e9e290 Binary files /dev/null and b/example/assets/swap_character_main.riv differ diff --git a/example/ios/Podfile.lock b/example/ios/Podfile.lock index 4da6fe41..44b6a15c 100644 --- a/example/ios/Podfile.lock +++ b/example/ios/Podfile.lock @@ -1880,7 +1880,7 @@ PODS: - ReactCommon/turbomodule/core - RNWorklets - Yoga - - RNRive (0.1.1): + - RNRive (0.1.2): - DoubleConversion - glog - hermes-engine @@ -2235,7 +2235,7 @@ SPEC CHECKSUMS: glog: 5683914934d5b6e4240e497e0f4a3b42d1854183 hermes-engine: 314be5250afa5692b57b4dd1705959e1973a8ebe NitroModules: 0af9a8516f3d8f101976d60e1f34e2a22f401600 - RCT-Folly: e78785aa9ba2ed998ea4151e314036f6c49e6d82 + RCT-Folly: 36fe2295e44b10d831836cc0d1daec5f8abcf809 RCTDeprecation: 83ffb90c23ee5cea353bd32008a7bca100908f8c RCTRequired: eb7c0aba998009f47a540bec9e9d69a54f68136e RCTTypeSafety: 659ae318c09de0477fd27bbc9e140071c7ea5c93 @@ -2302,10 +2302,10 @@ SPEC CHECKSUMS: RNCPicker: 28c076ae12a1056269ec0305fe35fac3086c477d RNGestureHandler: 6b39f4e43e4b3a0fb86de9531d090ff205a011d5 RNReanimated: 66b68ebe3baf7ec9e716bd059d700726f250d344 - RNRive: b7f13eb7d102bb436e8e3d59c9830a4746c86858 + RNRive: b056121a82044307a6f2030a9616f50a6cb6d9ec RNWorklets: b1faafefb82d9f29c4018404a0fb33974b494a7b SocketRocket: d4aabe649be1e368d1318fdf28a022d714d65748 - Yoga: c758bfb934100bb4bf9cbaccb52557cee35e8bdf + Yoga: 9f110fc4b7aa538663cba3c14cbb1c335f43c13f PODFILE CHECKSUM: 6974e58448067deb1048e3b4490e929f624eea3c diff --git a/example/src/pages/DataBindingArtboardsExample.tsx b/example/src/pages/DataBindingArtboardsExample.tsx new file mode 100644 index 00000000..8ed7a177 --- /dev/null +++ b/example/src/pages/DataBindingArtboardsExample.tsx @@ -0,0 +1,280 @@ +import { + View, + Text, + StyleSheet, + ActivityIndicator, + Pressable, +} from 'react-native'; +import { useState, useMemo, useEffect, useRef } from 'react'; +import { + Fit, + RiveView, + useRiveFile, + type RiveFile, + type BindableArtboard, +} from '@rive-app/react-native'; +import { type Metadata } from '../helpers/metadata'; + +/** + * Data Binding Artboards Example + * + * Demonstrates swapping artboards at runtime using data binding. + * Based on: https://rive.app/docs/runtimes/data-binding#artboards + * + * The main Rive file includes a view model with a property of type `Artboard` + * called "CharacterArtboard". This property can be set to any artboard from + * either the main file or an external file. + * + * Rive source files: + * - Main: https://rive.app/marketplace/24641-46042-data-binding-artboards/ + * - Assets: https://rive.app/marketplace/24642-47536-data-binding-artboards/ + */ + +export default function DataBindingArtboardsExample() { + // Main scene file - contains the Card view model with CharacterArtboard property + const { + riveFile: mainFile, + isLoading: mainLoading, + error: mainError, + } = useRiveFile(require('../../assets/swap_character_main.riv')); + + // Assets file - contains "Character 1" and "Character 2" artboards + const { + riveFile: assetsFile, + isLoading: assetsLoading, + error: assetsError, + } = useRiveFile(require('../../assets/swap_character_assets.riv')); + + const isLoading = mainLoading || assetsLoading; + const error = mainError || assetsError; + + if (isLoading) { + return ( + + + Loading Rive files... + + ); + } + + if (error || !mainFile || !assetsFile) { + return ( + + + {error || 'Failed to load Rive files'} + + + ); + } + + return ; +} + +function ArtboardSwapper({ + mainFile, + assetsFile, +}: { + mainFile: RiveFile; + assetsFile: RiveFile; +}) { + // Get the view model from the "Main" artboard and create an instance + // IMPORTANT: Must memoize to prevent creating new instance on every render + const viewModel = useMemo( + () => mainFile.defaultArtboardViewModel(), + [mainFile] + ); + const instance = useMemo( + () => viewModel?.createDefaultInstance(), + [viewModel] + ); + const [currentArtboard, setCurrentArtboard] = useState('Dragon'); + const initializedRef = useRef(false); + + // Set initial artboard on mount + useEffect(() => { + if (initializedRef.current || !instance) return; + initializedRef.current = true; + + const artboardProp = instance.artboardProperty('CharacterArtboard'); + if (artboardProp) { + try { + const bindable = assetsFile.getBindableArtboard('Character 1'); + artboardProp.set(bindable); + } catch (e) { + console.error(`Failed to set initial artboard: ${e}`); + } + } + }, [instance, assetsFile]); + + // Map display names to actual artboard names + const artboardOptions = [ + { label: 'Dragon', artboard: 'Character 1', fromAssets: true }, + { label: 'Gator', artboard: 'Character 2', fromAssets: true }, + { label: 'Placeholder', artboard: 'Placeholder', fromAssets: false }, + ]; + + const swapArtboard = (option: (typeof artboardOptions)[number]) => { + if (!instance) return; + + const artboardProp = instance.artboardProperty('CharacterArtboard'); + if (!artboardProp) { + console.error('Artboard property "CharacterArtboard" not found'); + return; + } + + try { + const sourceFile = option.fromAssets ? assetsFile : mainFile; + const bindable: BindableArtboard = sourceFile.getBindableArtboard( + option.artboard + ); + artboardProp.set(bindable); + setCurrentArtboard(option.label); + } catch (e) { + console.error(`Failed to swap artboard: ${e}`); + } + }; + + if (!instance || !viewModel) { + return ( + + + {!viewModel + ? 'No view model found in main file' + : 'Failed to create instance'} + + + ); + } + + return ( + + Data Binding Artboards + + Swap artboards at runtime from different files + + + + + + + + Current: {currentArtboard} + + + + {artboardOptions.map((option) => ( + swapArtboard(option)} + > + + {option.label} + {option.fromAssets ? ' (external)' : ' (internal)'} + + + ))} + + + ); +} + +DataBindingArtboardsExample.metadata = { + name: 'Data Binding Artboards', + description: 'Swap artboards at runtime using data binding properties', +} satisfies Metadata; + +const styles = StyleSheet.create({ + container: { + flex: 1, + backgroundColor: '#fff', + padding: 16, + }, + title: { + fontSize: 20, + fontWeight: 'bold', + textAlign: 'center', + marginBottom: 4, + }, + subtitle: { + fontSize: 14, + color: '#666', + textAlign: 'center', + marginBottom: 16, + }, + riveContainer: { + flex: 1, + backgroundColor: '#f5f5f5', + borderRadius: 8, + overflow: 'hidden', + }, + rive: { + flex: 1, + }, + infoContainer: { + marginVertical: 12, + padding: 12, + backgroundColor: '#f0f0f0', + borderRadius: 8, + }, + infoText: { + fontSize: 14, + color: '#333', + fontWeight: '600', + }, + buttonContainer: { + flexDirection: 'row', + flexWrap: 'wrap', + gap: 8, + }, + button: { + paddingHorizontal: 16, + paddingVertical: 10, + backgroundColor: '#007AFF', + borderRadius: 8, + }, + secondaryButton: { + backgroundColor: '#5856D6', + }, + buttonActive: { + backgroundColor: '#34C759', + }, + buttonText: { + fontSize: 14, + fontWeight: '600', + color: '#fff', + }, + buttonTextActive: { + color: '#fff', + }, + loadingText: { + marginTop: 12, + textAlign: 'center', + color: '#666', + }, + errorText: { + color: 'red', + textAlign: 'center', + fontSize: 16, + fontWeight: 'bold', + marginBottom: 16, + }, +}); diff --git a/example/src/pages/index.ts b/example/src/pages/index.ts index e5906d76..12b2b845 100644 --- a/example/src/pages/index.ts +++ b/example/src/pages/index.ts @@ -11,3 +11,4 @@ export { default as ManyViewModels } from './ManyViewModels'; export { default as ResponsiveLayouts } from './ResponsiveLayouts'; export { default as SharedValueListenerExample } from './SharedValueListenerExample'; export { default as MenuListExample } from './MenuListExample'; +export { default as DataBindingArtboardsExample } from './DataBindingArtboardsExample'; diff --git a/ios/BaseHybridViewModelProperty.swift b/ios/BaseHybridViewModelProperty.swift index ccda8a73..afc3a157 100644 --- a/ios/BaseHybridViewModelProperty.swift +++ b/ios/BaseHybridViewModelProperty.swift @@ -24,6 +24,7 @@ typealias ColorPropertyType = RiveDataBindingViewModel.Instance.ColorProperty typealias TriggerPropertyType = RiveDataBindingViewModel.Instance.TriggerProperty typealias ImagePropertyType = RiveDataBindingViewModel.Instance.ImageProperty typealias ListPropertyType = RiveDataBindingViewModel.Instance.ListProperty +typealias ArtboardPropertyType = RiveDataBindingViewModel.Instance.ArtboardProperty // Make all Rive property types conform to the protocol extension BooleanPropertyType: RivePropertyWithListeners { diff --git a/ios/HybridBindableArtboard.swift b/ios/HybridBindableArtboard.swift new file mode 100644 index 00000000..3fdb6208 --- /dev/null +++ b/ios/HybridBindableArtboard.swift @@ -0,0 +1,23 @@ +import NitroModules +import RiveRuntime + +class HybridBindableArtboard: HybridBindableArtboardSpec { + internal var bindableArtboard: RiveBindableArtboard? + + init(bindableArtboard: RiveBindableArtboard) { + self.bindableArtboard = bindableArtboard + super.init() + } + + var artboardName: String { + guard let artboard = bindableArtboard else { + RCTLogError("[BindableArtboard] has been disposed") + return "" + } + return artboard.name + } + + func dispose() { + bindableArtboard = nil + } +} diff --git a/ios/HybridRiveFile.swift b/ios/HybridRiveFile.swift index e3c751bb..b7e8d5e2 100644 --- a/ios/HybridRiveFile.swift +++ b/ios/HybridRiveFile.swift @@ -68,6 +68,25 @@ class HybridRiveFile: HybridRiveFileSpec, RiveViewSource { return HybridViewModel(viewModel: vm) } + var artboardCount: Double { + Double(riveFile?.artboardNames().count ?? 0) + } + + var artboardNames: [String] { + riveFile?.artboardNames() ?? [] + } + + func getBindableArtboard(name: String) throws -> any HybridBindableArtboardSpec { + guard let bindable = try riveFile?.bindableArtboard(withName: name) else { + throw NSError( + domain: "RiveError", + code: 0, + userInfo: [NSLocalizedDescriptionKey: "Artboard '\(name)' not found"] + ) + } + return HybridBindableArtboard(bindableArtboard: bindable) + } + func updateReferencedAssets(referencedAssets: ReferencedAssetsType) { guard let assetsData = referencedAssets.data, let cache = referencedAssetCache, diff --git a/ios/HybridViewModelArtboardProperty.swift b/ios/HybridViewModelArtboardProperty.swift new file mode 100644 index 00000000..c57ff8b3 --- /dev/null +++ b/ios/HybridViewModelArtboardProperty.swift @@ -0,0 +1,18 @@ +import RiveRuntime + +class HybridViewModelArtboardProperty: HybridViewModelArtboardPropertySpec { + private let property: ArtboardPropertyType + + init(property: ArtboardPropertyType) { + self.property = property + super.init() + } + + func set(artboard: (any HybridBindableArtboardSpec)?) throws { + if let hybridArtboard = artboard as? HybridBindableArtboard { + property.setValue(hybridArtboard.bindableArtboard) + } else { + property.setValue(nil) + } + } +} diff --git a/ios/HybridViewModelInstance.swift b/ios/HybridViewModelInstance.swift index 001657b3..7989afde 100644 --- a/ios/HybridViewModelInstance.swift +++ b/ios/HybridViewModelInstance.swift @@ -48,4 +48,9 @@ class HybridViewModelInstance: HybridViewModelInstanceSpec { guard let property = viewModelInstance?.listProperty(fromPath: path) else { return nil } return HybridViewModelListProperty(property: property) } + + func artboardProperty(path: String) throws -> (any HybridViewModelArtboardPropertySpec)? { + guard let property = viewModelInstance?.artboardProperty(fromPath: path) else { return nil } + return HybridViewModelArtboardProperty(property: property) + } } diff --git a/nitrogen/generated/android/c++/JAlignment.hpp b/nitrogen/generated/android/c++/JAlignment.hpp index c3ab326d..98f5fb30 100644 --- a/nitrogen/generated/android/c++/JAlignment.hpp +++ b/nitrogen/generated/android/c++/JAlignment.hpp @@ -2,7 +2,7 @@ /// JAlignment.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #pragma once diff --git a/nitrogen/generated/android/c++/JArtboardBy.hpp b/nitrogen/generated/android/c++/JArtboardBy.hpp index d0341377..95b99267 100644 --- a/nitrogen/generated/android/c++/JArtboardBy.hpp +++ b/nitrogen/generated/android/c++/JArtboardBy.hpp @@ -2,7 +2,7 @@ /// JArtboardBy.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #pragma once diff --git a/nitrogen/generated/android/c++/JArtboardByTypes.hpp b/nitrogen/generated/android/c++/JArtboardByTypes.hpp index 3bdd1620..b71bb139 100644 --- a/nitrogen/generated/android/c++/JArtboardByTypes.hpp +++ b/nitrogen/generated/android/c++/JArtboardByTypes.hpp @@ -2,7 +2,7 @@ /// JArtboardByTypes.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #pragma once diff --git a/nitrogen/generated/android/c++/JDataBindByName.hpp b/nitrogen/generated/android/c++/JDataBindByName.hpp index b2a0c367..0a147537 100644 --- a/nitrogen/generated/android/c++/JDataBindByName.hpp +++ b/nitrogen/generated/android/c++/JDataBindByName.hpp @@ -2,7 +2,7 @@ /// JDataBindByName.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #pragma once diff --git a/nitrogen/generated/android/c++/JDataBindMode.hpp b/nitrogen/generated/android/c++/JDataBindMode.hpp index cde6f8b1..26c6b865 100644 --- a/nitrogen/generated/android/c++/JDataBindMode.hpp +++ b/nitrogen/generated/android/c++/JDataBindMode.hpp @@ -2,7 +2,7 @@ /// JDataBindMode.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #pragma once diff --git a/nitrogen/generated/android/c++/JEventPropertiesOutput.cpp b/nitrogen/generated/android/c++/JEventPropertiesOutput.cpp index b882e742..154ad7cf 100644 --- a/nitrogen/generated/android/c++/JEventPropertiesOutput.cpp +++ b/nitrogen/generated/android/c++/JEventPropertiesOutput.cpp @@ -2,7 +2,7 @@ /// JEventPropertiesOutput.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #include "JEventPropertiesOutput.hpp" diff --git a/nitrogen/generated/android/c++/JEventPropertiesOutput.hpp b/nitrogen/generated/android/c++/JEventPropertiesOutput.hpp index ab1c6523..db8af03c 100644 --- a/nitrogen/generated/android/c++/JEventPropertiesOutput.hpp +++ b/nitrogen/generated/android/c++/JEventPropertiesOutput.hpp @@ -2,7 +2,7 @@ /// JEventPropertiesOutput.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #pragma once diff --git a/nitrogen/generated/android/c++/JFit.hpp b/nitrogen/generated/android/c++/JFit.hpp index faf6f79a..29d73897 100644 --- a/nitrogen/generated/android/c++/JFit.hpp +++ b/nitrogen/generated/android/c++/JFit.hpp @@ -2,7 +2,7 @@ /// JFit.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #pragma once diff --git a/nitrogen/generated/android/c++/JFunc_void.hpp b/nitrogen/generated/android/c++/JFunc_void.hpp index ada9c4bd..da3cbaeb 100644 --- a/nitrogen/generated/android/c++/JFunc_void.hpp +++ b/nitrogen/generated/android/c++/JFunc_void.hpp @@ -2,7 +2,7 @@ /// JFunc_void.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #pragma once diff --git a/nitrogen/generated/android/c++/JFunc_void_RiveError.hpp b/nitrogen/generated/android/c++/JFunc_void_RiveError.hpp index 84b6689a..fb7d7d79 100644 --- a/nitrogen/generated/android/c++/JFunc_void_RiveError.hpp +++ b/nitrogen/generated/android/c++/JFunc_void_RiveError.hpp @@ -2,7 +2,7 @@ /// JFunc_void_RiveError.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #pragma once diff --git a/nitrogen/generated/android/c++/JFunc_void_UnifiedRiveEvent.hpp b/nitrogen/generated/android/c++/JFunc_void_UnifiedRiveEvent.hpp index 8815b274..78474609 100644 --- a/nitrogen/generated/android/c++/JFunc_void_UnifiedRiveEvent.hpp +++ b/nitrogen/generated/android/c++/JFunc_void_UnifiedRiveEvent.hpp @@ -2,7 +2,7 @@ /// JFunc_void_UnifiedRiveEvent.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #pragma once diff --git a/nitrogen/generated/android/c++/JFunc_void_bool.hpp b/nitrogen/generated/android/c++/JFunc_void_bool.hpp index 2608d6e8..2bd61eea 100644 --- a/nitrogen/generated/android/c++/JFunc_void_bool.hpp +++ b/nitrogen/generated/android/c++/JFunc_void_bool.hpp @@ -2,7 +2,7 @@ /// JFunc_void_bool.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #pragma once diff --git a/nitrogen/generated/android/c++/JFunc_void_double.hpp b/nitrogen/generated/android/c++/JFunc_void_double.hpp index f133cdb9..cbfb57ce 100644 --- a/nitrogen/generated/android/c++/JFunc_void_double.hpp +++ b/nitrogen/generated/android/c++/JFunc_void_double.hpp @@ -2,7 +2,7 @@ /// JFunc_void_double.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #pragma once diff --git a/nitrogen/generated/android/c++/JFunc_void_std__string.hpp b/nitrogen/generated/android/c++/JFunc_void_std__string.hpp index 1fc0fb9f..befda334 100644 --- a/nitrogen/generated/android/c++/JFunc_void_std__string.hpp +++ b/nitrogen/generated/android/c++/JFunc_void_std__string.hpp @@ -2,7 +2,7 @@ /// JFunc_void_std__string.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #pragma once diff --git a/nitrogen/generated/android/c++/JHybridBindableArtboardSpec.cpp b/nitrogen/generated/android/c++/JHybridBindableArtboardSpec.cpp new file mode 100644 index 00000000..6dc44007 --- /dev/null +++ b/nitrogen/generated/android/c++/JHybridBindableArtboardSpec.cpp @@ -0,0 +1,52 @@ +/// +/// JHybridBindableArtboardSpec.cpp +/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. +/// https://github.com/mrousavy/nitro +/// Copyright © 2026 Marc Rousavy @ Margelo +/// + +#include "JHybridBindableArtboardSpec.hpp" + + + +#include + +namespace margelo::nitro::rive { + + jni::local_ref JHybridBindableArtboardSpec::initHybrid(jni::alias_ref jThis) { + return makeCxxInstance(jThis); + } + + void JHybridBindableArtboardSpec::registerNatives() { + registerHybrid({ + makeNativeMethod("initHybrid", JHybridBindableArtboardSpec::initHybrid), + }); + } + + size_t JHybridBindableArtboardSpec::getExternalMemorySize() noexcept { + static const auto method = javaClassStatic()->getMethod("getMemorySize"); + return method(_javaPart); + } + + void JHybridBindableArtboardSpec::dispose() noexcept { + static const auto method = javaClassStatic()->getMethod("dispose"); + method(_javaPart); + } + + std::string JHybridBindableArtboardSpec::toString() { + static const auto method = javaClassStatic()->getMethod("toString"); + auto javaString = method(_javaPart); + return javaString->toStdString(); + } + + // Properties + std::string JHybridBindableArtboardSpec::getArtboardName() { + static const auto method = javaClassStatic()->getMethod()>("getArtboardName"); + auto __result = method(_javaPart); + return __result->toStdString(); + } + + // Methods + + +} // namespace margelo::nitro::rive diff --git a/nitrogen/generated/android/c++/JHybridBindableArtboardSpec.hpp b/nitrogen/generated/android/c++/JHybridBindableArtboardSpec.hpp new file mode 100644 index 00000000..f3fb084d --- /dev/null +++ b/nitrogen/generated/android/c++/JHybridBindableArtboardSpec.hpp @@ -0,0 +1,65 @@ +/// +/// HybridBindableArtboardSpec.hpp +/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. +/// https://github.com/mrousavy/nitro +/// Copyright © 2026 Marc Rousavy @ Margelo +/// + +#pragma once + +#include +#include +#include "HybridBindableArtboardSpec.hpp" + + + + +namespace margelo::nitro::rive { + + using namespace facebook; + + class JHybridBindableArtboardSpec: public jni::HybridClass, + public virtual HybridBindableArtboardSpec { + public: + static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/rive/HybridBindableArtboardSpec;"; + static jni::local_ref initHybrid(jni::alias_ref jThis); + static void registerNatives(); + + protected: + // C++ constructor (called from Java via `initHybrid()`) + explicit JHybridBindableArtboardSpec(jni::alias_ref jThis) : + HybridObject(HybridBindableArtboardSpec::TAG), + HybridBase(jThis), + _javaPart(jni::make_global(jThis)) {} + + public: + ~JHybridBindableArtboardSpec() override { + // Hermes GC can destroy JS objects on a non-JNI Thread. + jni::ThreadScope::WithClassLoader([&] { _javaPart.reset(); }); + } + + public: + size_t getExternalMemorySize() noexcept override; + void dispose() noexcept override; + std::string toString() override; + + public: + inline const jni::global_ref& getJavaPart() const noexcept { + return _javaPart; + } + + public: + // Properties + std::string getArtboardName() override; + + public: + // Methods + + + private: + friend HybridBase; + using HybridBase::HybridBase; + jni::global_ref _javaPart; + }; + +} // namespace margelo::nitro::rive diff --git a/nitrogen/generated/android/c++/JHybridRiveFileFactorySpec.cpp b/nitrogen/generated/android/c++/JHybridRiveFileFactorySpec.cpp index 4216949d..4aaf76aa 100644 --- a/nitrogen/generated/android/c++/JHybridRiveFileFactorySpec.cpp +++ b/nitrogen/generated/android/c++/JHybridRiveFileFactorySpec.cpp @@ -2,7 +2,7 @@ /// JHybridRiveFileFactorySpec.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #include "JHybridRiveFileFactorySpec.hpp" diff --git a/nitrogen/generated/android/c++/JHybridRiveFileFactorySpec.hpp b/nitrogen/generated/android/c++/JHybridRiveFileFactorySpec.hpp index 1e71e1a0..173cac84 100644 --- a/nitrogen/generated/android/c++/JHybridRiveFileFactorySpec.hpp +++ b/nitrogen/generated/android/c++/JHybridRiveFileFactorySpec.hpp @@ -2,7 +2,7 @@ /// HybridRiveFileFactorySpec.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #pragma once diff --git a/nitrogen/generated/android/c++/JHybridRiveFileSpec.cpp b/nitrogen/generated/android/c++/JHybridRiveFileSpec.cpp index 42a5160d..baae959c 100644 --- a/nitrogen/generated/android/c++/JHybridRiveFileSpec.cpp +++ b/nitrogen/generated/android/c++/JHybridRiveFileSpec.cpp @@ -2,13 +2,15 @@ /// JHybridRiveFileSpec.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #include "JHybridRiveFileSpec.hpp" // Forward declaration of `HybridViewModelSpec` to properly resolve imports. namespace margelo::nitro::rive { class HybridViewModelSpec; } +// Forward declaration of `HybridBindableArtboardSpec` to properly resolve imports. +namespace margelo::nitro::rive { class HybridBindableArtboardSpec; } // Forward declaration of `ArtboardBy` to properly resolve imports. namespace margelo::nitro::rive { struct ArtboardBy; } // Forward declaration of `ArtboardByTypes` to properly resolve imports. @@ -21,10 +23,13 @@ namespace margelo::nitro::rive { struct ResolvedReferencedAsset; } namespace margelo::nitro::rive { class HybridRiveImageSpec; } #include +#include +#include #include #include "HybridViewModelSpec.hpp" #include "JHybridViewModelSpec.hpp" -#include +#include "HybridBindableArtboardSpec.hpp" +#include "JHybridBindableArtboardSpec.hpp" #include "ArtboardBy.hpp" #include "JArtboardBy.hpp" #include "ArtboardByTypes.hpp" @@ -71,6 +76,25 @@ namespace margelo::nitro::rive { auto __result = method(_javaPart); return __result != nullptr ? std::make_optional(__result->value()) : std::nullopt; } + double JHybridRiveFileSpec::getArtboardCount() { + static const auto method = javaClassStatic()->getMethod("getArtboardCount"); + auto __result = method(_javaPart); + return __result; + } + std::vector JHybridRiveFileSpec::getArtboardNames() { + static const auto method = javaClassStatic()->getMethod>()>("getArtboardNames"); + auto __result = method(_javaPart); + return [&]() { + size_t __size = __result->size(); + std::vector __vector; + __vector.reserve(__size); + for (size_t __i = 0; __i < __size; __i++) { + auto __element = __result->getElement(__i); + __vector.push_back(__element->toStdString()); + } + return __vector; + }(); + } // Methods std::optional> JHybridRiveFileSpec::viewModelByIndex(double index) { @@ -92,5 +116,10 @@ namespace margelo::nitro::rive { static const auto method = javaClassStatic()->getMethod /* referencedAssets */)>("updateReferencedAssets"); method(_javaPart, JReferencedAssetsType::fromCpp(referencedAssets)); } + std::shared_ptr JHybridRiveFileSpec::getBindableArtboard(const std::string& name) { + static const auto method = javaClassStatic()->getMethod(jni::alias_ref /* name */)>("getBindableArtboard"); + auto __result = method(_javaPart, jni::make_jstring(name)); + return __result->cthis()->shared_cast(); + } } // namespace margelo::nitro::rive diff --git a/nitrogen/generated/android/c++/JHybridRiveFileSpec.hpp b/nitrogen/generated/android/c++/JHybridRiveFileSpec.hpp index dd66fce8..e25c1f04 100644 --- a/nitrogen/generated/android/c++/JHybridRiveFileSpec.hpp +++ b/nitrogen/generated/android/c++/JHybridRiveFileSpec.hpp @@ -2,7 +2,7 @@ /// HybridRiveFileSpec.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #pragma once @@ -51,6 +51,8 @@ namespace margelo::nitro::rive { public: // Properties std::optional getViewModelCount() override; + double getArtboardCount() override; + std::vector getArtboardNames() override; public: // Methods @@ -58,6 +60,7 @@ namespace margelo::nitro::rive { std::optional> viewModelByName(const std::string& name) override; std::optional> defaultArtboardViewModel(const std::optional& artboardBy) override; void updateReferencedAssets(const ReferencedAssetsType& referencedAssets) override; + std::shared_ptr getBindableArtboard(const std::string& name) override; private: friend HybridBase; diff --git a/nitrogen/generated/android/c++/JHybridRiveImageFactorySpec.cpp b/nitrogen/generated/android/c++/JHybridRiveImageFactorySpec.cpp index 6ffdfdb9..e2fa5a3f 100644 --- a/nitrogen/generated/android/c++/JHybridRiveImageFactorySpec.cpp +++ b/nitrogen/generated/android/c++/JHybridRiveImageFactorySpec.cpp @@ -2,7 +2,7 @@ /// JHybridRiveImageFactorySpec.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #include "JHybridRiveImageFactorySpec.hpp" diff --git a/nitrogen/generated/android/c++/JHybridRiveImageFactorySpec.hpp b/nitrogen/generated/android/c++/JHybridRiveImageFactorySpec.hpp index d718347a..22fc437a 100644 --- a/nitrogen/generated/android/c++/JHybridRiveImageFactorySpec.hpp +++ b/nitrogen/generated/android/c++/JHybridRiveImageFactorySpec.hpp @@ -2,7 +2,7 @@ /// HybridRiveImageFactorySpec.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #pragma once diff --git a/nitrogen/generated/android/c++/JHybridRiveImageSpec.cpp b/nitrogen/generated/android/c++/JHybridRiveImageSpec.cpp index 191c51be..f362417d 100644 --- a/nitrogen/generated/android/c++/JHybridRiveImageSpec.cpp +++ b/nitrogen/generated/android/c++/JHybridRiveImageSpec.cpp @@ -2,7 +2,7 @@ /// JHybridRiveImageSpec.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #include "JHybridRiveImageSpec.hpp" diff --git a/nitrogen/generated/android/c++/JHybridRiveImageSpec.hpp b/nitrogen/generated/android/c++/JHybridRiveImageSpec.hpp index 633fb0e9..2a0ee669 100644 --- a/nitrogen/generated/android/c++/JHybridRiveImageSpec.hpp +++ b/nitrogen/generated/android/c++/JHybridRiveImageSpec.hpp @@ -2,7 +2,7 @@ /// HybridRiveImageSpec.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #pragma once diff --git a/nitrogen/generated/android/c++/JHybridRiveSpec.cpp b/nitrogen/generated/android/c++/JHybridRiveSpec.cpp index 71c67355..f1098c6a 100644 --- a/nitrogen/generated/android/c++/JHybridRiveSpec.cpp +++ b/nitrogen/generated/android/c++/JHybridRiveSpec.cpp @@ -2,7 +2,7 @@ /// JHybridRiveSpec.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #include "JHybridRiveSpec.hpp" diff --git a/nitrogen/generated/android/c++/JHybridRiveSpec.hpp b/nitrogen/generated/android/c++/JHybridRiveSpec.hpp index edd72717..47f09c28 100644 --- a/nitrogen/generated/android/c++/JHybridRiveSpec.hpp +++ b/nitrogen/generated/android/c++/JHybridRiveSpec.hpp @@ -2,7 +2,7 @@ /// HybridRiveSpec.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #pragma once diff --git a/nitrogen/generated/android/c++/JHybridRiveViewSpec.cpp b/nitrogen/generated/android/c++/JHybridRiveViewSpec.cpp index 5cbb9273..da36269f 100644 --- a/nitrogen/generated/android/c++/JHybridRiveViewSpec.cpp +++ b/nitrogen/generated/android/c++/JHybridRiveViewSpec.cpp @@ -2,7 +2,7 @@ /// JHybridRiveViewSpec.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #include "JHybridRiveViewSpec.hpp" diff --git a/nitrogen/generated/android/c++/JHybridRiveViewSpec.hpp b/nitrogen/generated/android/c++/JHybridRiveViewSpec.hpp index 321e7a28..73be9a3a 100644 --- a/nitrogen/generated/android/c++/JHybridRiveViewSpec.hpp +++ b/nitrogen/generated/android/c++/JHybridRiveViewSpec.hpp @@ -2,7 +2,7 @@ /// HybridRiveViewSpec.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #pragma once diff --git a/nitrogen/generated/android/c++/JHybridViewModelArtboardPropertySpec.cpp b/nitrogen/generated/android/c++/JHybridViewModelArtboardPropertySpec.cpp new file mode 100644 index 00000000..b64ef9cf --- /dev/null +++ b/nitrogen/generated/android/c++/JHybridViewModelArtboardPropertySpec.cpp @@ -0,0 +1,55 @@ +/// +/// JHybridViewModelArtboardPropertySpec.cpp +/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. +/// https://github.com/mrousavy/nitro +/// Copyright © 2026 Marc Rousavy @ Margelo +/// + +#include "JHybridViewModelArtboardPropertySpec.hpp" + +// Forward declaration of `HybridBindableArtboardSpec` to properly resolve imports. +namespace margelo::nitro::rive { class HybridBindableArtboardSpec; } + +#include +#include "HybridBindableArtboardSpec.hpp" +#include +#include "JHybridBindableArtboardSpec.hpp" + +namespace margelo::nitro::rive { + + jni::local_ref JHybridViewModelArtboardPropertySpec::initHybrid(jni::alias_ref jThis) { + return makeCxxInstance(jThis); + } + + void JHybridViewModelArtboardPropertySpec::registerNatives() { + registerHybrid({ + makeNativeMethod("initHybrid", JHybridViewModelArtboardPropertySpec::initHybrid), + }); + } + + size_t JHybridViewModelArtboardPropertySpec::getExternalMemorySize() noexcept { + static const auto method = javaClassStatic()->getMethod("getMemorySize"); + return method(_javaPart); + } + + void JHybridViewModelArtboardPropertySpec::dispose() noexcept { + static const auto method = javaClassStatic()->getMethod("dispose"); + method(_javaPart); + } + + std::string JHybridViewModelArtboardPropertySpec::toString() { + static const auto method = javaClassStatic()->getMethod("toString"); + auto javaString = method(_javaPart); + return javaString->toStdString(); + } + + // Properties + + + // Methods + void JHybridViewModelArtboardPropertySpec::set(const std::optional>& artboard) { + static const auto method = javaClassStatic()->getMethod /* artboard */)>("set"); + method(_javaPart, artboard.has_value() ? std::dynamic_pointer_cast(artboard.value())->getJavaPart() : nullptr); + } + +} // namespace margelo::nitro::rive diff --git a/nitrogen/generated/android/c++/JHybridViewModelArtboardPropertySpec.hpp b/nitrogen/generated/android/c++/JHybridViewModelArtboardPropertySpec.hpp new file mode 100644 index 00000000..97c0e6e2 --- /dev/null +++ b/nitrogen/generated/android/c++/JHybridViewModelArtboardPropertySpec.hpp @@ -0,0 +1,66 @@ +/// +/// HybridViewModelArtboardPropertySpec.hpp +/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. +/// https://github.com/mrousavy/nitro +/// Copyright © 2026 Marc Rousavy @ Margelo +/// + +#pragma once + +#include +#include +#include "HybridViewModelArtboardPropertySpec.hpp" + +// Forward declaration of `JHybridViewModelPropertySpec` to properly resolve imports. +namespace margelo::nitro::rive { class JHybridViewModelPropertySpec; } +#include "JHybridViewModelPropertySpec.hpp" + +namespace margelo::nitro::rive { + + using namespace facebook; + + class JHybridViewModelArtboardPropertySpec: public jni::HybridClass, + public virtual HybridViewModelArtboardPropertySpec { + public: + static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/rive/HybridViewModelArtboardPropertySpec;"; + static jni::local_ref initHybrid(jni::alias_ref jThis); + static void registerNatives(); + + protected: + // C++ constructor (called from Java via `initHybrid()`) + explicit JHybridViewModelArtboardPropertySpec(jni::alias_ref jThis) : + HybridObject(HybridViewModelArtboardPropertySpec::TAG), + HybridBase(jThis), + _javaPart(jni::make_global(jThis)) {} + + public: + ~JHybridViewModelArtboardPropertySpec() override { + // Hermes GC can destroy JS objects on a non-JNI Thread. + jni::ThreadScope::WithClassLoader([&] { _javaPart.reset(); }); + } + + public: + size_t getExternalMemorySize() noexcept override; + void dispose() noexcept override; + std::string toString() override; + + public: + inline const jni::global_ref& getJavaPart() const noexcept { + return _javaPart; + } + + public: + // Properties + + + public: + // Methods + void set(const std::optional>& artboard) override; + + private: + friend HybridBase; + using HybridBase::HybridBase; + jni::global_ref _javaPart; + }; + +} // namespace margelo::nitro::rive diff --git a/nitrogen/generated/android/c++/JHybridViewModelBooleanPropertySpec.cpp b/nitrogen/generated/android/c++/JHybridViewModelBooleanPropertySpec.cpp index db27e20b..7320ea86 100644 --- a/nitrogen/generated/android/c++/JHybridViewModelBooleanPropertySpec.cpp +++ b/nitrogen/generated/android/c++/JHybridViewModelBooleanPropertySpec.cpp @@ -2,7 +2,7 @@ /// JHybridViewModelBooleanPropertySpec.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #include "JHybridViewModelBooleanPropertySpec.hpp" diff --git a/nitrogen/generated/android/c++/JHybridViewModelBooleanPropertySpec.hpp b/nitrogen/generated/android/c++/JHybridViewModelBooleanPropertySpec.hpp index 96c6af12..28112d5e 100644 --- a/nitrogen/generated/android/c++/JHybridViewModelBooleanPropertySpec.hpp +++ b/nitrogen/generated/android/c++/JHybridViewModelBooleanPropertySpec.hpp @@ -2,7 +2,7 @@ /// HybridViewModelBooleanPropertySpec.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #pragma once diff --git a/nitrogen/generated/android/c++/JHybridViewModelColorPropertySpec.cpp b/nitrogen/generated/android/c++/JHybridViewModelColorPropertySpec.cpp index ca295824..b2e2a469 100644 --- a/nitrogen/generated/android/c++/JHybridViewModelColorPropertySpec.cpp +++ b/nitrogen/generated/android/c++/JHybridViewModelColorPropertySpec.cpp @@ -2,7 +2,7 @@ /// JHybridViewModelColorPropertySpec.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #include "JHybridViewModelColorPropertySpec.hpp" diff --git a/nitrogen/generated/android/c++/JHybridViewModelColorPropertySpec.hpp b/nitrogen/generated/android/c++/JHybridViewModelColorPropertySpec.hpp index 603efff4..df907013 100644 --- a/nitrogen/generated/android/c++/JHybridViewModelColorPropertySpec.hpp +++ b/nitrogen/generated/android/c++/JHybridViewModelColorPropertySpec.hpp @@ -2,7 +2,7 @@ /// HybridViewModelColorPropertySpec.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #pragma once diff --git a/nitrogen/generated/android/c++/JHybridViewModelEnumPropertySpec.cpp b/nitrogen/generated/android/c++/JHybridViewModelEnumPropertySpec.cpp index 12cc91bb..dfcead0e 100644 --- a/nitrogen/generated/android/c++/JHybridViewModelEnumPropertySpec.cpp +++ b/nitrogen/generated/android/c++/JHybridViewModelEnumPropertySpec.cpp @@ -2,7 +2,7 @@ /// JHybridViewModelEnumPropertySpec.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #include "JHybridViewModelEnumPropertySpec.hpp" diff --git a/nitrogen/generated/android/c++/JHybridViewModelEnumPropertySpec.hpp b/nitrogen/generated/android/c++/JHybridViewModelEnumPropertySpec.hpp index 133385bb..ac80cac6 100644 --- a/nitrogen/generated/android/c++/JHybridViewModelEnumPropertySpec.hpp +++ b/nitrogen/generated/android/c++/JHybridViewModelEnumPropertySpec.hpp @@ -2,7 +2,7 @@ /// HybridViewModelEnumPropertySpec.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #pragma once diff --git a/nitrogen/generated/android/c++/JHybridViewModelImagePropertySpec.cpp b/nitrogen/generated/android/c++/JHybridViewModelImagePropertySpec.cpp index 7d3d08c2..9720d8ec 100644 --- a/nitrogen/generated/android/c++/JHybridViewModelImagePropertySpec.cpp +++ b/nitrogen/generated/android/c++/JHybridViewModelImagePropertySpec.cpp @@ -2,7 +2,7 @@ /// JHybridViewModelImagePropertySpec.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #include "JHybridViewModelImagePropertySpec.hpp" diff --git a/nitrogen/generated/android/c++/JHybridViewModelImagePropertySpec.hpp b/nitrogen/generated/android/c++/JHybridViewModelImagePropertySpec.hpp index 8b4fc93e..52976dce 100644 --- a/nitrogen/generated/android/c++/JHybridViewModelImagePropertySpec.hpp +++ b/nitrogen/generated/android/c++/JHybridViewModelImagePropertySpec.hpp @@ -2,7 +2,7 @@ /// HybridViewModelImagePropertySpec.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #pragma once diff --git a/nitrogen/generated/android/c++/JHybridViewModelInstanceSpec.cpp b/nitrogen/generated/android/c++/JHybridViewModelInstanceSpec.cpp index 741cb4a2..f28f39ae 100644 --- a/nitrogen/generated/android/c++/JHybridViewModelInstanceSpec.cpp +++ b/nitrogen/generated/android/c++/JHybridViewModelInstanceSpec.cpp @@ -2,7 +2,7 @@ /// JHybridViewModelInstanceSpec.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #include "JHybridViewModelInstanceSpec.hpp" @@ -23,6 +23,8 @@ namespace margelo::nitro::rive { class HybridViewModelTriggerPropertySpec; } namespace margelo::nitro::rive { class HybridViewModelImagePropertySpec; } // Forward declaration of `HybridViewModelListPropertySpec` to properly resolve imports. namespace margelo::nitro::rive { class HybridViewModelListPropertySpec; } +// Forward declaration of `HybridViewModelArtboardPropertySpec` to properly resolve imports. +namespace margelo::nitro::rive { class HybridViewModelArtboardPropertySpec; } #include #include @@ -43,6 +45,8 @@ namespace margelo::nitro::rive { class HybridViewModelListPropertySpec; } #include "JHybridViewModelImagePropertySpec.hpp" #include "HybridViewModelListPropertySpec.hpp" #include "JHybridViewModelListPropertySpec.hpp" +#include "HybridViewModelArtboardPropertySpec.hpp" +#include "JHybridViewModelArtboardPropertySpec.hpp" namespace margelo::nitro::rive { @@ -120,5 +124,10 @@ namespace margelo::nitro::rive { auto __result = method(_javaPart, jni::make_jstring(path)); return __result != nullptr ? std::make_optional(__result->cthis()->shared_cast()) : std::nullopt; } + std::optional> JHybridViewModelInstanceSpec::artboardProperty(const std::string& path) { + static const auto method = javaClassStatic()->getMethod(jni::alias_ref /* path */)>("artboardProperty"); + auto __result = method(_javaPart, jni::make_jstring(path)); + return __result != nullptr ? std::make_optional(__result->cthis()->shared_cast()) : std::nullopt; + } } // namespace margelo::nitro::rive diff --git a/nitrogen/generated/android/c++/JHybridViewModelInstanceSpec.hpp b/nitrogen/generated/android/c++/JHybridViewModelInstanceSpec.hpp index 8f5f8c2c..c525dcc8 100644 --- a/nitrogen/generated/android/c++/JHybridViewModelInstanceSpec.hpp +++ b/nitrogen/generated/android/c++/JHybridViewModelInstanceSpec.hpp @@ -2,7 +2,7 @@ /// HybridViewModelInstanceSpec.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #pragma once @@ -62,6 +62,7 @@ namespace margelo::nitro::rive { std::optional> triggerProperty(const std::string& path) override; std::optional> imageProperty(const std::string& path) override; std::optional> listProperty(const std::string& path) override; + std::optional> artboardProperty(const std::string& path) override; private: friend HybridBase; diff --git a/nitrogen/generated/android/c++/JHybridViewModelListPropertySpec.cpp b/nitrogen/generated/android/c++/JHybridViewModelListPropertySpec.cpp index 6e073616..aeb3b912 100644 --- a/nitrogen/generated/android/c++/JHybridViewModelListPropertySpec.cpp +++ b/nitrogen/generated/android/c++/JHybridViewModelListPropertySpec.cpp @@ -2,7 +2,7 @@ /// JHybridViewModelListPropertySpec.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #include "JHybridViewModelListPropertySpec.hpp" diff --git a/nitrogen/generated/android/c++/JHybridViewModelListPropertySpec.hpp b/nitrogen/generated/android/c++/JHybridViewModelListPropertySpec.hpp index b8550732..49fe4ede 100644 --- a/nitrogen/generated/android/c++/JHybridViewModelListPropertySpec.hpp +++ b/nitrogen/generated/android/c++/JHybridViewModelListPropertySpec.hpp @@ -2,7 +2,7 @@ /// HybridViewModelListPropertySpec.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #pragma once diff --git a/nitrogen/generated/android/c++/JHybridViewModelNumberPropertySpec.cpp b/nitrogen/generated/android/c++/JHybridViewModelNumberPropertySpec.cpp index 33df056f..9f23ffa1 100644 --- a/nitrogen/generated/android/c++/JHybridViewModelNumberPropertySpec.cpp +++ b/nitrogen/generated/android/c++/JHybridViewModelNumberPropertySpec.cpp @@ -2,7 +2,7 @@ /// JHybridViewModelNumberPropertySpec.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #include "JHybridViewModelNumberPropertySpec.hpp" diff --git a/nitrogen/generated/android/c++/JHybridViewModelNumberPropertySpec.hpp b/nitrogen/generated/android/c++/JHybridViewModelNumberPropertySpec.hpp index 8633796e..bda0818e 100644 --- a/nitrogen/generated/android/c++/JHybridViewModelNumberPropertySpec.hpp +++ b/nitrogen/generated/android/c++/JHybridViewModelNumberPropertySpec.hpp @@ -2,7 +2,7 @@ /// HybridViewModelNumberPropertySpec.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #pragma once diff --git a/nitrogen/generated/android/c++/JHybridViewModelPropertySpec.cpp b/nitrogen/generated/android/c++/JHybridViewModelPropertySpec.cpp index f6d1dc71..0db9f6b4 100644 --- a/nitrogen/generated/android/c++/JHybridViewModelPropertySpec.cpp +++ b/nitrogen/generated/android/c++/JHybridViewModelPropertySpec.cpp @@ -2,7 +2,7 @@ /// JHybridViewModelPropertySpec.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #include "JHybridViewModelPropertySpec.hpp" diff --git a/nitrogen/generated/android/c++/JHybridViewModelPropertySpec.hpp b/nitrogen/generated/android/c++/JHybridViewModelPropertySpec.hpp index 3df85604..8f2d796f 100644 --- a/nitrogen/generated/android/c++/JHybridViewModelPropertySpec.hpp +++ b/nitrogen/generated/android/c++/JHybridViewModelPropertySpec.hpp @@ -2,7 +2,7 @@ /// HybridViewModelPropertySpec.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #pragma once diff --git a/nitrogen/generated/android/c++/JHybridViewModelSpec.cpp b/nitrogen/generated/android/c++/JHybridViewModelSpec.cpp index 4693d29e..d16fb367 100644 --- a/nitrogen/generated/android/c++/JHybridViewModelSpec.cpp +++ b/nitrogen/generated/android/c++/JHybridViewModelSpec.cpp @@ -2,7 +2,7 @@ /// JHybridViewModelSpec.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #include "JHybridViewModelSpec.hpp" diff --git a/nitrogen/generated/android/c++/JHybridViewModelSpec.hpp b/nitrogen/generated/android/c++/JHybridViewModelSpec.hpp index 47a361cb..461a5959 100644 --- a/nitrogen/generated/android/c++/JHybridViewModelSpec.hpp +++ b/nitrogen/generated/android/c++/JHybridViewModelSpec.hpp @@ -2,7 +2,7 @@ /// HybridViewModelSpec.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #pragma once diff --git a/nitrogen/generated/android/c++/JHybridViewModelStringPropertySpec.cpp b/nitrogen/generated/android/c++/JHybridViewModelStringPropertySpec.cpp index 400f1a58..7fbdd009 100644 --- a/nitrogen/generated/android/c++/JHybridViewModelStringPropertySpec.cpp +++ b/nitrogen/generated/android/c++/JHybridViewModelStringPropertySpec.cpp @@ -2,7 +2,7 @@ /// JHybridViewModelStringPropertySpec.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #include "JHybridViewModelStringPropertySpec.hpp" diff --git a/nitrogen/generated/android/c++/JHybridViewModelStringPropertySpec.hpp b/nitrogen/generated/android/c++/JHybridViewModelStringPropertySpec.hpp index 50a12127..c7399ae2 100644 --- a/nitrogen/generated/android/c++/JHybridViewModelStringPropertySpec.hpp +++ b/nitrogen/generated/android/c++/JHybridViewModelStringPropertySpec.hpp @@ -2,7 +2,7 @@ /// HybridViewModelStringPropertySpec.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #pragma once diff --git a/nitrogen/generated/android/c++/JHybridViewModelTriggerPropertySpec.cpp b/nitrogen/generated/android/c++/JHybridViewModelTriggerPropertySpec.cpp index 739481d1..7b53249c 100644 --- a/nitrogen/generated/android/c++/JHybridViewModelTriggerPropertySpec.cpp +++ b/nitrogen/generated/android/c++/JHybridViewModelTriggerPropertySpec.cpp @@ -2,7 +2,7 @@ /// JHybridViewModelTriggerPropertySpec.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #include "JHybridViewModelTriggerPropertySpec.hpp" diff --git a/nitrogen/generated/android/c++/JHybridViewModelTriggerPropertySpec.hpp b/nitrogen/generated/android/c++/JHybridViewModelTriggerPropertySpec.hpp index 386cedf6..ff775351 100644 --- a/nitrogen/generated/android/c++/JHybridViewModelTriggerPropertySpec.hpp +++ b/nitrogen/generated/android/c++/JHybridViewModelTriggerPropertySpec.hpp @@ -2,7 +2,7 @@ /// HybridViewModelTriggerPropertySpec.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #pragma once diff --git a/nitrogen/generated/android/c++/JReferencedAssetsType.hpp b/nitrogen/generated/android/c++/JReferencedAssetsType.hpp index 62689c93..c1f2db6e 100644 --- a/nitrogen/generated/android/c++/JReferencedAssetsType.hpp +++ b/nitrogen/generated/android/c++/JReferencedAssetsType.hpp @@ -2,7 +2,7 @@ /// JReferencedAssetsType.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #pragma once diff --git a/nitrogen/generated/android/c++/JResolvedReferencedAsset.hpp b/nitrogen/generated/android/c++/JResolvedReferencedAsset.hpp index b5be404c..751958f7 100644 --- a/nitrogen/generated/android/c++/JResolvedReferencedAsset.hpp +++ b/nitrogen/generated/android/c++/JResolvedReferencedAsset.hpp @@ -2,7 +2,7 @@ /// JResolvedReferencedAsset.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #pragma once diff --git a/nitrogen/generated/android/c++/JRiveError.hpp b/nitrogen/generated/android/c++/JRiveError.hpp index 5980d308..142a58b3 100644 --- a/nitrogen/generated/android/c++/JRiveError.hpp +++ b/nitrogen/generated/android/c++/JRiveError.hpp @@ -2,7 +2,7 @@ /// JRiveError.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #pragma once diff --git a/nitrogen/generated/android/c++/JRiveErrorType.hpp b/nitrogen/generated/android/c++/JRiveErrorType.hpp index 0d601834..7829ea95 100644 --- a/nitrogen/generated/android/c++/JRiveErrorType.hpp +++ b/nitrogen/generated/android/c++/JRiveErrorType.hpp @@ -2,7 +2,7 @@ /// JRiveErrorType.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #pragma once diff --git a/nitrogen/generated/android/c++/JRiveEventType.hpp b/nitrogen/generated/android/c++/JRiveEventType.hpp index 5d42736b..aa215806 100644 --- a/nitrogen/generated/android/c++/JRiveEventType.hpp +++ b/nitrogen/generated/android/c++/JRiveEventType.hpp @@ -2,7 +2,7 @@ /// JRiveEventType.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #pragma once diff --git a/nitrogen/generated/android/c++/JUnifiedRiveEvent.hpp b/nitrogen/generated/android/c++/JUnifiedRiveEvent.hpp index 3556fb32..b324bbc0 100644 --- a/nitrogen/generated/android/c++/JUnifiedRiveEvent.hpp +++ b/nitrogen/generated/android/c++/JUnifiedRiveEvent.hpp @@ -2,7 +2,7 @@ /// JUnifiedRiveEvent.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #pragma once diff --git a/nitrogen/generated/android/c++/JVariant_HybridViewModelInstanceSpec_DataBindMode_DataBindByName.cpp b/nitrogen/generated/android/c++/JVariant_HybridViewModelInstanceSpec_DataBindMode_DataBindByName.cpp index 03eac109..01f569a4 100644 --- a/nitrogen/generated/android/c++/JVariant_HybridViewModelInstanceSpec_DataBindMode_DataBindByName.cpp +++ b/nitrogen/generated/android/c++/JVariant_HybridViewModelInstanceSpec_DataBindMode_DataBindByName.cpp @@ -2,7 +2,7 @@ /// JVariant_HybridViewModelInstanceSpec_DataBindMode_DataBindByName.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #include "JVariant_HybridViewModelInstanceSpec_DataBindMode_DataBindByName.hpp" diff --git a/nitrogen/generated/android/c++/JVariant_HybridViewModelInstanceSpec_DataBindMode_DataBindByName.hpp b/nitrogen/generated/android/c++/JVariant_HybridViewModelInstanceSpec_DataBindMode_DataBindByName.hpp index 938e427e..b1db7e8f 100644 --- a/nitrogen/generated/android/c++/JVariant_HybridViewModelInstanceSpec_DataBindMode_DataBindByName.hpp +++ b/nitrogen/generated/android/c++/JVariant_HybridViewModelInstanceSpec_DataBindMode_DataBindByName.hpp @@ -2,7 +2,7 @@ /// JVariant_HybridViewModelInstanceSpec_DataBindMode_DataBindByName.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #pragma once diff --git a/nitrogen/generated/android/c++/views/JHybridRiveViewStateUpdater.cpp b/nitrogen/generated/android/c++/views/JHybridRiveViewStateUpdater.cpp index 590d2b83..653dd660 100644 --- a/nitrogen/generated/android/c++/views/JHybridRiveViewStateUpdater.cpp +++ b/nitrogen/generated/android/c++/views/JHybridRiveViewStateUpdater.cpp @@ -2,7 +2,7 @@ /// JHybridRiveViewStateUpdater.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #include "JHybridRiveViewStateUpdater.hpp" diff --git a/nitrogen/generated/android/c++/views/JHybridRiveViewStateUpdater.hpp b/nitrogen/generated/android/c++/views/JHybridRiveViewStateUpdater.hpp index e82001a7..f0519d1b 100644 --- a/nitrogen/generated/android/c++/views/JHybridRiveViewStateUpdater.hpp +++ b/nitrogen/generated/android/c++/views/JHybridRiveViewStateUpdater.hpp @@ -2,7 +2,7 @@ /// JHybridRiveViewStateUpdater.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #pragma once diff --git a/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/Alignment.kt b/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/Alignment.kt index 4aed6001..c0aebb64 100644 --- a/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/Alignment.kt +++ b/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/Alignment.kt @@ -2,7 +2,7 @@ /// Alignment.kt /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// package com.margelo.nitro.rive diff --git a/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/ArtboardBy.kt b/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/ArtboardBy.kt index bbe69dc4..0a1494b6 100644 --- a/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/ArtboardBy.kt +++ b/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/ArtboardBy.kt @@ -2,7 +2,7 @@ /// ArtboardBy.kt /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// package com.margelo.nitro.rive diff --git a/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/ArtboardByTypes.kt b/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/ArtboardByTypes.kt index 319281ec..231f5073 100644 --- a/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/ArtboardByTypes.kt +++ b/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/ArtboardByTypes.kt @@ -2,7 +2,7 @@ /// ArtboardByTypes.kt /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// package com.margelo.nitro.rive diff --git a/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/DataBindByName.kt b/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/DataBindByName.kt index 68bb2367..e1e08187 100644 --- a/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/DataBindByName.kt +++ b/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/DataBindByName.kt @@ -2,7 +2,7 @@ /// DataBindByName.kt /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// package com.margelo.nitro.rive diff --git a/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/DataBindMode.kt b/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/DataBindMode.kt index 089facbf..8570f437 100644 --- a/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/DataBindMode.kt +++ b/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/DataBindMode.kt @@ -2,7 +2,7 @@ /// DataBindMode.kt /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// package com.margelo.nitro.rive diff --git a/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/EventPropertiesOutput.kt b/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/EventPropertiesOutput.kt index 7667ad28..48310806 100644 --- a/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/EventPropertiesOutput.kt +++ b/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/EventPropertiesOutput.kt @@ -2,7 +2,7 @@ /// EventPropertiesOutput.kt /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// package com.margelo.nitro.rive diff --git a/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/Fit.kt b/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/Fit.kt index 7f03dcd0..01a745dc 100644 --- a/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/Fit.kt +++ b/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/Fit.kt @@ -2,7 +2,7 @@ /// Fit.kt /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// package com.margelo.nitro.rive diff --git a/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/Func_void.kt b/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/Func_void.kt index 00b5beb0..4f98edfd 100644 --- a/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/Func_void.kt +++ b/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/Func_void.kt @@ -2,7 +2,7 @@ /// Func_void.kt /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// package com.margelo.nitro.rive diff --git a/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/Func_void_RiveError.kt b/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/Func_void_RiveError.kt index 2f706a95..5fe28945 100644 --- a/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/Func_void_RiveError.kt +++ b/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/Func_void_RiveError.kt @@ -2,7 +2,7 @@ /// Func_void_RiveError.kt /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// package com.margelo.nitro.rive diff --git a/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/Func_void_UnifiedRiveEvent.kt b/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/Func_void_UnifiedRiveEvent.kt index badb9b1d..988a958d 100644 --- a/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/Func_void_UnifiedRiveEvent.kt +++ b/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/Func_void_UnifiedRiveEvent.kt @@ -2,7 +2,7 @@ /// Func_void_UnifiedRiveEvent.kt /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// package com.margelo.nitro.rive diff --git a/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/Func_void_bool.kt b/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/Func_void_bool.kt index c7982d15..42216b67 100644 --- a/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/Func_void_bool.kt +++ b/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/Func_void_bool.kt @@ -2,7 +2,7 @@ /// Func_void_bool.kt /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// package com.margelo.nitro.rive diff --git a/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/Func_void_double.kt b/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/Func_void_double.kt index 8a357041..41e27d12 100644 --- a/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/Func_void_double.kt +++ b/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/Func_void_double.kt @@ -2,7 +2,7 @@ /// Func_void_double.kt /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// package com.margelo.nitro.rive diff --git a/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/Func_void_std__string.kt b/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/Func_void_std__string.kt index fa4e5ef1..516c468d 100644 --- a/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/Func_void_std__string.kt +++ b/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/Func_void_std__string.kt @@ -2,7 +2,7 @@ /// Func_void_std__string.kt /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// package com.margelo.nitro.rive diff --git a/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridBindableArtboardSpec.kt b/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridBindableArtboardSpec.kt new file mode 100644 index 00000000..81aeaa41 --- /dev/null +++ b/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridBindableArtboardSpec.kt @@ -0,0 +1,57 @@ +/// +/// HybridBindableArtboardSpec.kt +/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. +/// https://github.com/mrousavy/nitro +/// Copyright © 2026 Marc Rousavy @ Margelo +/// + +package com.margelo.nitro.rive + +import androidx.annotation.Keep +import com.facebook.jni.HybridData +import com.facebook.proguard.annotations.DoNotStrip +import com.margelo.nitro.core.HybridObject + +/** + * A Kotlin class representing the BindableArtboard HybridObject. + * Implement this abstract class to create Kotlin-based instances of BindableArtboard. + */ +@DoNotStrip +@Keep +@Suppress( + "KotlinJniMissingFunction", "unused", + "RedundantSuppression", "RedundantUnitReturnType", "SimpleRedundantLet", + "LocalVariableName", "PropertyName", "PrivatePropertyName", "FunctionName" +) +abstract class HybridBindableArtboardSpec: HybridObject() { + @DoNotStrip + private var mHybridData: HybridData = initHybrid() + + init { + super.updateNative(mHybridData) + } + + override fun updateNative(hybridData: HybridData) { + mHybridData = hybridData + super.updateNative(hybridData) + } + + // Default implementation of `HybridObject.toString()` + override fun toString(): String { + return "[HybridObject BindableArtboard]" + } + + // Properties + @get:DoNotStrip + @get:Keep + abstract val artboardName: String + + // Methods + + + private external fun initHybrid(): HybridData + + companion object { + protected const val TAG = "HybridBindableArtboardSpec" + } +} diff --git a/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridRiveFileFactorySpec.kt b/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridRiveFileFactorySpec.kt index 36568914..f2be50c5 100644 --- a/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridRiveFileFactorySpec.kt +++ b/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridRiveFileFactorySpec.kt @@ -2,7 +2,7 @@ /// HybridRiveFileFactorySpec.kt /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// package com.margelo.nitro.rive diff --git a/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridRiveFileSpec.kt b/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridRiveFileSpec.kt index 105a7b45..5f012e96 100644 --- a/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridRiveFileSpec.kt +++ b/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridRiveFileSpec.kt @@ -2,7 +2,7 @@ /// HybridRiveFileSpec.kt /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// package com.margelo.nitro.rive @@ -45,6 +45,14 @@ abstract class HybridRiveFileSpec: HybridObject() { @get:DoNotStrip @get:Keep abstract val viewModelCount: Double? + + @get:DoNotStrip + @get:Keep + abstract val artboardCount: Double + + @get:DoNotStrip + @get:Keep + abstract val artboardNames: Array // Methods @DoNotStrip @@ -62,6 +70,10 @@ abstract class HybridRiveFileSpec: HybridObject() { @DoNotStrip @Keep abstract fun updateReferencedAssets(referencedAssets: ReferencedAssetsType): Unit + + @DoNotStrip + @Keep + abstract fun getBindableArtboard(name: String): HybridBindableArtboardSpec private external fun initHybrid(): HybridData diff --git a/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridRiveImageFactorySpec.kt b/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridRiveImageFactorySpec.kt index 9acfb6f3..8bdec2e2 100644 --- a/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridRiveImageFactorySpec.kt +++ b/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridRiveImageFactorySpec.kt @@ -2,7 +2,7 @@ /// HybridRiveImageFactorySpec.kt /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// package com.margelo.nitro.rive diff --git a/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridRiveImageSpec.kt b/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridRiveImageSpec.kt index 7a8bb085..a87e8453 100644 --- a/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridRiveImageSpec.kt +++ b/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridRiveImageSpec.kt @@ -2,7 +2,7 @@ /// HybridRiveImageSpec.kt /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// package com.margelo.nitro.rive diff --git a/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridRiveSpec.kt b/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridRiveSpec.kt index 73996036..4f4d6f1e 100644 --- a/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridRiveSpec.kt +++ b/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridRiveSpec.kt @@ -2,7 +2,7 @@ /// HybridRiveSpec.kt /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// package com.margelo.nitro.rive diff --git a/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridRiveViewSpec.kt b/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridRiveViewSpec.kt index a3d3fef1..ec606eb5 100644 --- a/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridRiveViewSpec.kt +++ b/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridRiveViewSpec.kt @@ -2,7 +2,7 @@ /// HybridRiveViewSpec.kt /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// package com.margelo.nitro.rive diff --git a/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelArtboardPropertySpec.kt b/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelArtboardPropertySpec.kt new file mode 100644 index 00000000..da2bf588 --- /dev/null +++ b/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelArtboardPropertySpec.kt @@ -0,0 +1,57 @@ +/// +/// HybridViewModelArtboardPropertySpec.kt +/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. +/// https://github.com/mrousavy/nitro +/// Copyright © 2026 Marc Rousavy @ Margelo +/// + +package com.margelo.nitro.rive + +import androidx.annotation.Keep +import com.facebook.jni.HybridData +import com.facebook.proguard.annotations.DoNotStrip +import com.margelo.nitro.core.HybridObject + +/** + * A Kotlin class representing the ViewModelArtboardProperty HybridObject. + * Implement this abstract class to create Kotlin-based instances of ViewModelArtboardProperty. + */ +@DoNotStrip +@Keep +@Suppress( + "KotlinJniMissingFunction", "unused", + "RedundantSuppression", "RedundantUnitReturnType", "SimpleRedundantLet", + "LocalVariableName", "PropertyName", "PrivatePropertyName", "FunctionName" +) +abstract class HybridViewModelArtboardPropertySpec: HybridViewModelPropertySpec() { + @DoNotStrip + private var mHybridData: HybridData = initHybrid() + + init { + super.updateNative(mHybridData) + } + + override fun updateNative(hybridData: HybridData) { + mHybridData = hybridData + super.updateNative(hybridData) + } + + // Default implementation of `HybridObject.toString()` + override fun toString(): String { + return "[HybridObject ViewModelArtboardProperty]" + } + + // Properties + + + // Methods + @DoNotStrip + @Keep + abstract fun set(artboard: HybridBindableArtboardSpec?): Unit + + private external fun initHybrid(): HybridData + + companion object { + protected const val TAG = "HybridViewModelArtboardPropertySpec" + } +} diff --git a/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelBooleanPropertySpec.kt b/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelBooleanPropertySpec.kt index 236e5621..f39736d1 100644 --- a/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelBooleanPropertySpec.kt +++ b/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelBooleanPropertySpec.kt @@ -2,7 +2,7 @@ /// HybridViewModelBooleanPropertySpec.kt /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// package com.margelo.nitro.rive diff --git a/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelColorPropertySpec.kt b/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelColorPropertySpec.kt index 0091fe4a..0a607018 100644 --- a/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelColorPropertySpec.kt +++ b/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelColorPropertySpec.kt @@ -2,7 +2,7 @@ /// HybridViewModelColorPropertySpec.kt /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// package com.margelo.nitro.rive diff --git a/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelEnumPropertySpec.kt b/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelEnumPropertySpec.kt index cd48c70e..82bfa296 100644 --- a/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelEnumPropertySpec.kt +++ b/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelEnumPropertySpec.kt @@ -2,7 +2,7 @@ /// HybridViewModelEnumPropertySpec.kt /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// package com.margelo.nitro.rive diff --git a/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelImagePropertySpec.kt b/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelImagePropertySpec.kt index 2516a112..13fe10bf 100644 --- a/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelImagePropertySpec.kt +++ b/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelImagePropertySpec.kt @@ -2,7 +2,7 @@ /// HybridViewModelImagePropertySpec.kt /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// package com.margelo.nitro.rive diff --git a/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelInstanceSpec.kt b/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelInstanceSpec.kt index af6de3f6..8bdc2d1b 100644 --- a/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelInstanceSpec.kt +++ b/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelInstanceSpec.kt @@ -2,7 +2,7 @@ /// HybridViewModelInstanceSpec.kt /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// package com.margelo.nitro.rive @@ -78,6 +78,10 @@ abstract class HybridViewModelInstanceSpec: HybridObject() { @DoNotStrip @Keep abstract fun listProperty(path: String): HybridViewModelListPropertySpec? + + @DoNotStrip + @Keep + abstract fun artboardProperty(path: String): HybridViewModelArtboardPropertySpec? private external fun initHybrid(): HybridData diff --git a/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelListPropertySpec.kt b/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelListPropertySpec.kt index 27309b5c..21a1c0d8 100644 --- a/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelListPropertySpec.kt +++ b/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelListPropertySpec.kt @@ -2,7 +2,7 @@ /// HybridViewModelListPropertySpec.kt /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// package com.margelo.nitro.rive diff --git a/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelNumberPropertySpec.kt b/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelNumberPropertySpec.kt index ca5c8239..e72b0e28 100644 --- a/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelNumberPropertySpec.kt +++ b/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelNumberPropertySpec.kt @@ -2,7 +2,7 @@ /// HybridViewModelNumberPropertySpec.kt /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// package com.margelo.nitro.rive diff --git a/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelPropertySpec.kt b/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelPropertySpec.kt index 4141a47b..3ef5c1bf 100644 --- a/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelPropertySpec.kt +++ b/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelPropertySpec.kt @@ -2,7 +2,7 @@ /// HybridViewModelPropertySpec.kt /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// package com.margelo.nitro.rive diff --git a/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelSpec.kt b/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelSpec.kt index 463ad6bd..7d264382 100644 --- a/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelSpec.kt +++ b/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelSpec.kt @@ -2,7 +2,7 @@ /// HybridViewModelSpec.kt /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// package com.margelo.nitro.rive diff --git a/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelStringPropertySpec.kt b/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelStringPropertySpec.kt index a06142c6..cf66e11d 100644 --- a/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelStringPropertySpec.kt +++ b/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelStringPropertySpec.kt @@ -2,7 +2,7 @@ /// HybridViewModelStringPropertySpec.kt /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// package com.margelo.nitro.rive diff --git a/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelTriggerPropertySpec.kt b/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelTriggerPropertySpec.kt index 3c566042..f724ff7c 100644 --- a/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelTriggerPropertySpec.kt +++ b/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelTriggerPropertySpec.kt @@ -2,7 +2,7 @@ /// HybridViewModelTriggerPropertySpec.kt /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// package com.margelo.nitro.rive diff --git a/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/ReferencedAssetsType.kt b/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/ReferencedAssetsType.kt index 651c7692..66a44a03 100644 --- a/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/ReferencedAssetsType.kt +++ b/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/ReferencedAssetsType.kt @@ -2,7 +2,7 @@ /// ReferencedAssetsType.kt /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// package com.margelo.nitro.rive diff --git a/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/ResolvedReferencedAsset.kt b/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/ResolvedReferencedAsset.kt index 9f1dfbb8..6a12e537 100644 --- a/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/ResolvedReferencedAsset.kt +++ b/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/ResolvedReferencedAsset.kt @@ -2,7 +2,7 @@ /// ResolvedReferencedAsset.kt /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// package com.margelo.nitro.rive diff --git a/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/RiveError.kt b/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/RiveError.kt index 4124419f..f19b05b6 100644 --- a/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/RiveError.kt +++ b/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/RiveError.kt @@ -2,7 +2,7 @@ /// RiveError.kt /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// package com.margelo.nitro.rive diff --git a/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/RiveErrorType.kt b/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/RiveErrorType.kt index b2aac955..ef055008 100644 --- a/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/RiveErrorType.kt +++ b/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/RiveErrorType.kt @@ -2,7 +2,7 @@ /// RiveErrorType.kt /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// package com.margelo.nitro.rive diff --git a/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/RiveEventType.kt b/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/RiveEventType.kt index 5a2e34b0..c5431663 100644 --- a/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/RiveEventType.kt +++ b/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/RiveEventType.kt @@ -2,7 +2,7 @@ /// RiveEventType.kt /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// package com.margelo.nitro.rive diff --git a/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/UnifiedRiveEvent.kt b/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/UnifiedRiveEvent.kt index 1ae82141..30ed4b43 100644 --- a/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/UnifiedRiveEvent.kt +++ b/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/UnifiedRiveEvent.kt @@ -2,7 +2,7 @@ /// UnifiedRiveEvent.kt /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// package com.margelo.nitro.rive diff --git a/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/Variant_HybridViewModelInstanceSpec_DataBindMode_DataBindByName.kt b/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/Variant_HybridViewModelInstanceSpec_DataBindMode_DataBindByName.kt index 1881f64a..0320458d 100644 --- a/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/Variant_HybridViewModelInstanceSpec_DataBindMode_DataBindByName.kt +++ b/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/Variant_HybridViewModelInstanceSpec_DataBindMode_DataBindByName.kt @@ -2,7 +2,7 @@ /// Variant_HybridViewModelInstanceSpec_DataBindMode_DataBindByName.kt /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// package com.margelo.nitro.rive diff --git a/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/riveOnLoad.kt b/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/riveOnLoad.kt index 51e8834f..331fe7f9 100644 --- a/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/riveOnLoad.kt +++ b/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/riveOnLoad.kt @@ -2,7 +2,7 @@ /// riveOnLoad.kt /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// package com.margelo.nitro.rive diff --git a/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/views/HybridRiveViewManager.kt b/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/views/HybridRiveViewManager.kt index 2001eeb3..25980a23 100644 --- a/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/views/HybridRiveViewManager.kt +++ b/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/views/HybridRiveViewManager.kt @@ -2,7 +2,7 @@ /// HybridRiveViewManager.kt /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// package com.margelo.nitro.rive.views diff --git a/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/views/HybridRiveViewStateUpdater.kt b/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/views/HybridRiveViewStateUpdater.kt index 9823d121..3ae5e538 100644 --- a/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/views/HybridRiveViewStateUpdater.kt +++ b/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/views/HybridRiveViewStateUpdater.kt @@ -2,7 +2,7 @@ /// HybridRiveViewStateUpdater.kt /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// package com.margelo.nitro.rive.views diff --git a/nitrogen/generated/android/rive+autolinking.cmake b/nitrogen/generated/android/rive+autolinking.cmake index 8615b2bc..d3d7c065 100644 --- a/nitrogen/generated/android/rive+autolinking.cmake +++ b/nitrogen/generated/android/rive+autolinking.cmake @@ -2,7 +2,7 @@ # rive+autolinking.cmake # This file was generated by nitrogen. DO NOT MODIFY THIS FILE. # https://github.com/mrousavy/nitro -# Copyright © 2025 Marc Rousavy @ Margelo +# Copyright © 2026 Marc Rousavy @ Margelo # # This is a CMake file that adds all files generated by Nitrogen @@ -33,6 +33,7 @@ target_sources( # Autolinking Setup ../nitrogen/generated/android/riveOnLoad.cpp # Shared Nitrogen C++ sources + ../nitrogen/generated/shared/c++/HybridBindableArtboardSpec.cpp ../nitrogen/generated/shared/c++/HybridRiveSpec.cpp ../nitrogen/generated/shared/c++/HybridRiveFileSpec.cpp ../nitrogen/generated/shared/c++/HybridRiveFileFactorySpec.cpp @@ -51,7 +52,9 @@ target_sources( ../nitrogen/generated/shared/c++/HybridViewModelTriggerPropertySpec.cpp ../nitrogen/generated/shared/c++/HybridViewModelImagePropertySpec.cpp ../nitrogen/generated/shared/c++/HybridViewModelListPropertySpec.cpp + ../nitrogen/generated/shared/c++/HybridViewModelArtboardPropertySpec.cpp # Android-specific Nitrogen C++ sources + ../nitrogen/generated/android/c++/JHybridBindableArtboardSpec.cpp ../nitrogen/generated/android/c++/JHybridRiveSpec.cpp ../nitrogen/generated/android/c++/JHybridRiveFileSpec.cpp ../nitrogen/generated/android/c++/JHybridRiveFileFactorySpec.cpp @@ -72,6 +75,7 @@ target_sources( ../nitrogen/generated/android/c++/JHybridViewModelTriggerPropertySpec.cpp ../nitrogen/generated/android/c++/JHybridViewModelImagePropertySpec.cpp ../nitrogen/generated/android/c++/JHybridViewModelListPropertySpec.cpp + ../nitrogen/generated/android/c++/JHybridViewModelArtboardPropertySpec.cpp ) # From node_modules/react-native/ReactAndroid/cmake-utils/folly-flags.cmake diff --git a/nitrogen/generated/android/rive+autolinking.gradle b/nitrogen/generated/android/rive+autolinking.gradle index b91b4403..1a7d21fc 100644 --- a/nitrogen/generated/android/rive+autolinking.gradle +++ b/nitrogen/generated/android/rive+autolinking.gradle @@ -2,7 +2,7 @@ /// rive+autolinking.gradle /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// /// This is a Gradle file that adds all files generated by Nitrogen diff --git a/nitrogen/generated/android/riveOnLoad.cpp b/nitrogen/generated/android/riveOnLoad.cpp index 75783327..9c74c45d 100644 --- a/nitrogen/generated/android/riveOnLoad.cpp +++ b/nitrogen/generated/android/riveOnLoad.cpp @@ -2,7 +2,7 @@ /// riveOnLoad.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #ifndef BUILDING_RIVE_WITH_GENERATED_CMAKE_PROJECT @@ -15,6 +15,7 @@ #include #include +#include "JHybridBindableArtboardSpec.hpp" #include "JHybridRiveSpec.hpp" #include "JHybridRiveFileSpec.hpp" #include "JHybridRiveFileFactorySpec.hpp" @@ -39,6 +40,7 @@ #include "JHybridViewModelTriggerPropertySpec.hpp" #include "JHybridViewModelImagePropertySpec.hpp" #include "JHybridViewModelListPropertySpec.hpp" +#include "JHybridViewModelArtboardPropertySpec.hpp" #include namespace margelo::nitro::rive { @@ -50,6 +52,7 @@ int initialize(JavaVM* vm) { return facebook::jni::initialize(vm, [] { // Register native JNI methods + margelo::nitro::rive::JHybridBindableArtboardSpec::registerNatives(); margelo::nitro::rive::JHybridRiveSpec::registerNatives(); margelo::nitro::rive::JHybridRiveFileSpec::registerNatives(); margelo::nitro::rive::JHybridRiveFileFactorySpec::registerNatives(); @@ -74,6 +77,7 @@ int initialize(JavaVM* vm) { margelo::nitro::rive::JHybridViewModelTriggerPropertySpec::registerNatives(); margelo::nitro::rive::JHybridViewModelImagePropertySpec::registerNatives(); margelo::nitro::rive::JHybridViewModelListPropertySpec::registerNatives(); + margelo::nitro::rive::JHybridViewModelArtboardPropertySpec::registerNatives(); // Register Nitro Hybrid Objects HybridObjectRegistry::registerHybridObjectConstructor( diff --git a/nitrogen/generated/android/riveOnLoad.hpp b/nitrogen/generated/android/riveOnLoad.hpp index 875c97fa..8a470626 100644 --- a/nitrogen/generated/android/riveOnLoad.hpp +++ b/nitrogen/generated/android/riveOnLoad.hpp @@ -2,7 +2,7 @@ /// riveOnLoad.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #include diff --git a/nitrogen/generated/ios/RNRive+autolinking.rb b/nitrogen/generated/ios/RNRive+autolinking.rb index 904bea1f..0374b781 100644 --- a/nitrogen/generated/ios/RNRive+autolinking.rb +++ b/nitrogen/generated/ios/RNRive+autolinking.rb @@ -2,7 +2,7 @@ # RNRive+autolinking.rb # This file was generated by nitrogen. DO NOT MODIFY THIS FILE. # https://github.com/mrousavy/nitro -# Copyright © 2025 Marc Rousavy @ Margelo +# Copyright © 2026 Marc Rousavy @ Margelo # # This is a Ruby script that adds all files generated by Nitrogen diff --git a/nitrogen/generated/ios/RNRive-Swift-Cxx-Bridge.cpp b/nitrogen/generated/ios/RNRive-Swift-Cxx-Bridge.cpp index f7836580..b2b93052 100644 --- a/nitrogen/generated/ios/RNRive-Swift-Cxx-Bridge.cpp +++ b/nitrogen/generated/ios/RNRive-Swift-Cxx-Bridge.cpp @@ -2,18 +2,20 @@ /// RNRive-Swift-Cxx-Bridge.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #include "RNRive-Swift-Cxx-Bridge.hpp" // Include C++ implementation defined types +#include "HybridBindableArtboardSpecSwift.hpp" #include "HybridRiveFileFactorySpecSwift.hpp" #include "HybridRiveFileSpecSwift.hpp" #include "HybridRiveImageFactorySpecSwift.hpp" #include "HybridRiveImageSpecSwift.hpp" #include "HybridRiveSpecSwift.hpp" #include "HybridRiveViewSpecSwift.hpp" +#include "HybridViewModelArtboardPropertySpecSwift.hpp" #include "HybridViewModelBooleanPropertySpecSwift.hpp" #include "HybridViewModelColorPropertySpecSwift.hpp" #include "HybridViewModelEnumPropertySpecSwift.hpp" @@ -30,6 +32,22 @@ namespace margelo::nitro::rive::bridge::swift { + // pragma MARK: std::shared_ptr + std::shared_ptr create_std__shared_ptr_HybridBindableArtboardSpec_(void* NON_NULL swiftUnsafePointer) noexcept { + RNRive::HybridBindableArtboardSpec_cxx swiftPart = RNRive::HybridBindableArtboardSpec_cxx::fromUnsafe(swiftUnsafePointer); + return std::make_shared(swiftPart); + } + void* NON_NULL get_std__shared_ptr_HybridBindableArtboardSpec_(std__shared_ptr_HybridBindableArtboardSpec_ cppType) { + std::shared_ptr swiftWrapper = std::dynamic_pointer_cast(cppType); + #ifdef NITRO_DEBUG + if (swiftWrapper == nullptr) [[unlikely]] { + throw std::runtime_error("Class \"HybridBindableArtboardSpec\" is not implemented in Swift!"); + } + #endif + RNRive::HybridBindableArtboardSpec_cxx& swiftPart = swiftWrapper->getSwiftPart(); + return swiftPart.toUnsafe(); + } + // pragma MARK: std::shared_ptr std::shared_ptr create_std__shared_ptr_HybridRiveSpec_(void* NON_NULL swiftUnsafePointer) noexcept { RNRive::HybridRiveSpec_cxx swiftPart = RNRive::HybridRiveSpec_cxx::fromUnsafe(swiftUnsafePointer); @@ -358,6 +376,22 @@ namespace margelo::nitro::rive::bridge::swift { return swiftPart.toUnsafe(); } + // pragma MARK: std::shared_ptr + std::shared_ptr create_std__shared_ptr_HybridViewModelArtboardPropertySpec_(void* NON_NULL swiftUnsafePointer) noexcept { + RNRive::HybridViewModelArtboardPropertySpec_cxx swiftPart = RNRive::HybridViewModelArtboardPropertySpec_cxx::fromUnsafe(swiftUnsafePointer); + return std::make_shared(swiftPart); + } + void* NON_NULL get_std__shared_ptr_HybridViewModelArtboardPropertySpec_(std__shared_ptr_HybridViewModelArtboardPropertySpec_ cppType) { + std::shared_ptr swiftWrapper = std::dynamic_pointer_cast(cppType); + #ifdef NITRO_DEBUG + if (swiftWrapper == nullptr) [[unlikely]] { + throw std::runtime_error("Class \"HybridViewModelArtboardPropertySpec\" is not implemented in Swift!"); + } + #endif + RNRive::HybridViewModelArtboardPropertySpec_cxx& swiftPart = swiftWrapper->getSwiftPart(); + return swiftPart.toUnsafe(); + } + // pragma MARK: std::function Func_void_double create_Func_void_double(void* NON_NULL swiftClosureWrapper) noexcept { auto swiftClosure = RNRive::Func_void_double::fromUnsafe(swiftClosureWrapper); diff --git a/nitrogen/generated/ios/RNRive-Swift-Cxx-Bridge.hpp b/nitrogen/generated/ios/RNRive-Swift-Cxx-Bridge.hpp index 5ffe2193..e843c52a 100644 --- a/nitrogen/generated/ios/RNRive-Swift-Cxx-Bridge.hpp +++ b/nitrogen/generated/ios/RNRive-Swift-Cxx-Bridge.hpp @@ -2,7 +2,7 @@ /// RNRive-Swift-Cxx-Bridge.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #pragma once @@ -20,6 +20,8 @@ namespace margelo::nitro::rive { struct DataBindByName; } namespace margelo::nitro::rive { enum class DataBindMode; } // Forward declaration of `Fit` to properly resolve imports. namespace margelo::nitro::rive { enum class Fit; } +// Forward declaration of `HybridBindableArtboardSpec` to properly resolve imports. +namespace margelo::nitro::rive { class HybridBindableArtboardSpec; } // Forward declaration of `HybridRiveFileFactorySpec` to properly resolve imports. namespace margelo::nitro::rive { class HybridRiveFileFactorySpec; } // Forward declaration of `HybridRiveFileSpec` to properly resolve imports. @@ -32,6 +34,8 @@ namespace margelo::nitro::rive { class HybridRiveImageSpec; } namespace margelo::nitro::rive { class HybridRiveSpec; } // Forward declaration of `HybridRiveViewSpec` to properly resolve imports. namespace margelo::nitro::rive { class HybridRiveViewSpec; } +// Forward declaration of `HybridViewModelArtboardPropertySpec` to properly resolve imports. +namespace margelo::nitro::rive { class HybridViewModelArtboardPropertySpec; } // Forward declaration of `HybridViewModelBooleanPropertySpec` to properly resolve imports. namespace margelo::nitro::rive { class HybridViewModelBooleanPropertySpec; } // Forward declaration of `HybridViewModelColorPropertySpec` to properly resolve imports. @@ -68,6 +72,8 @@ namespace margelo::nitro::rive { enum class RiveEventType; } namespace margelo::nitro::rive { struct UnifiedRiveEvent; } // Forward declarations of Swift defined types +// Forward declaration of `HybridBindableArtboardSpec_cxx` to properly resolve imports. +namespace RNRive { class HybridBindableArtboardSpec_cxx; } // Forward declaration of `HybridRiveFileFactorySpec_cxx` to properly resolve imports. namespace RNRive { class HybridRiveFileFactorySpec_cxx; } // Forward declaration of `HybridRiveFileSpec_cxx` to properly resolve imports. @@ -80,6 +86,8 @@ namespace RNRive { class HybridRiveImageSpec_cxx; } namespace RNRive { class HybridRiveSpec_cxx; } // Forward declaration of `HybridRiveViewSpec_cxx` to properly resolve imports. namespace RNRive { class HybridRiveViewSpec_cxx; } +// Forward declaration of `HybridViewModelArtboardPropertySpec_cxx` to properly resolve imports. +namespace RNRive { class HybridViewModelArtboardPropertySpec_cxx; } // Forward declaration of `HybridViewModelBooleanPropertySpec_cxx` to properly resolve imports. namespace RNRive { class HybridViewModelBooleanPropertySpec_cxx; } // Forward declaration of `HybridViewModelColorPropertySpec_cxx` to properly resolve imports. @@ -110,12 +118,14 @@ namespace RNRive { class HybridViewModelTriggerPropertySpec_cxx; } #include "DataBindByName.hpp" #include "DataBindMode.hpp" #include "Fit.hpp" +#include "HybridBindableArtboardSpec.hpp" #include "HybridRiveFileFactorySpec.hpp" #include "HybridRiveFileSpec.hpp" #include "HybridRiveImageFactorySpec.hpp" #include "HybridRiveImageSpec.hpp" #include "HybridRiveSpec.hpp" #include "HybridRiveViewSpec.hpp" +#include "HybridViewModelArtboardPropertySpec.hpp" #include "HybridViewModelBooleanPropertySpec.hpp" #include "HybridViewModelColorPropertySpec.hpp" #include "HybridViewModelEnumPropertySpec.hpp" @@ -143,6 +153,7 @@ namespace RNRive { class HybridViewModelTriggerPropertySpec_cxx; } #include #include #include +#include /** * Contains specialized versions of C++ templated types so they can be accessed from Swift, @@ -150,6 +161,18 @@ namespace RNRive { class HybridViewModelTriggerPropertySpec_cxx; } */ namespace margelo::nitro::rive::bridge::swift { + // pragma MARK: std::shared_ptr + /** + * Specialized version of `std::shared_ptr`. + */ + using std__shared_ptr_HybridBindableArtboardSpec_ = std::shared_ptr; + std::shared_ptr create_std__shared_ptr_HybridBindableArtboardSpec_(void* NON_NULL swiftUnsafePointer) noexcept; + void* NON_NULL get_std__shared_ptr_HybridBindableArtboardSpec_(std__shared_ptr_HybridBindableArtboardSpec_ cppType); + + // pragma MARK: std::weak_ptr + using std__weak_ptr_HybridBindableArtboardSpec_ = std::weak_ptr; + inline std__weak_ptr_HybridBindableArtboardSpec_ weakify_std__shared_ptr_HybridBindableArtboardSpec_(const std::shared_ptr& strong) noexcept { return strong; } + // pragma MARK: std::shared_ptr /** * Specialized version of `std::shared_ptr`. @@ -310,6 +333,17 @@ namespace margelo::nitro::rive::bridge::swift { return *optional; } + // pragma MARK: std::vector + /** + * Specialized version of `std::vector`. + */ + using std__vector_std__string_ = std::vector; + inline std::vector create_std__vector_std__string_(size_t size) noexcept { + std::vector vector; + vector.reserve(size); + return vector; + } + // pragma MARK: std::shared_ptr /** * Specialized version of `std::shared_ptr`. @@ -340,6 +374,15 @@ namespace margelo::nitro::rive::bridge::swift { return Result::withError(error); } + // pragma MARK: Result> + using Result_std__shared_ptr_HybridBindableArtboardSpec__ = Result>; + inline Result_std__shared_ptr_HybridBindableArtboardSpec__ create_Result_std__shared_ptr_HybridBindableArtboardSpec__(const std::shared_ptr& value) noexcept { + return Result>::withValue(value); + } + inline Result_std__shared_ptr_HybridBindableArtboardSpec__ create_Result_std__shared_ptr_HybridBindableArtboardSpec__(const std::exception_ptr& error) noexcept { + return Result>::withError(error); + } + // pragma MARK: std::shared_ptr>> /** * Specialized version of `std::shared_ptr>>`. @@ -1105,6 +1148,36 @@ namespace margelo::nitro::rive::bridge::swift { return *optional; } + // pragma MARK: std::shared_ptr + /** + * Specialized version of `std::shared_ptr`. + */ + using std__shared_ptr_HybridViewModelArtboardPropertySpec_ = std::shared_ptr; + std::shared_ptr create_std__shared_ptr_HybridViewModelArtboardPropertySpec_(void* NON_NULL swiftUnsafePointer) noexcept; + void* NON_NULL get_std__shared_ptr_HybridViewModelArtboardPropertySpec_(std__shared_ptr_HybridViewModelArtboardPropertySpec_ cppType); + + // pragma MARK: std::shared_ptr + inline std::shared_ptr upcast_ViewModelArtboardProperty_to_ViewModelProperty(std::shared_ptr child) noexcept { return child; } + + // pragma MARK: std::weak_ptr + using std__weak_ptr_HybridViewModelArtboardPropertySpec_ = std::weak_ptr; + inline std__weak_ptr_HybridViewModelArtboardPropertySpec_ weakify_std__shared_ptr_HybridViewModelArtboardPropertySpec_(const std::shared_ptr& strong) noexcept { return strong; } + + // pragma MARK: std::optional> + /** + * Specialized version of `std::optional>`. + */ + using std__optional_std__shared_ptr_HybridViewModelArtboardPropertySpec__ = std::optional>; + inline std::optional> create_std__optional_std__shared_ptr_HybridViewModelArtboardPropertySpec__(const std::shared_ptr& value) noexcept { + return std::optional>(value); + } + inline bool has_value_std__optional_std__shared_ptr_HybridViewModelArtboardPropertySpec__(const std::optional>& optional) noexcept { + return optional.has_value(); + } + inline std::shared_ptr get_std__optional_std__shared_ptr_HybridViewModelArtboardPropertySpec__(const std::optional>& optional) noexcept { + return *optional; + } + // pragma MARK: Result>> using Result_std__optional_std__shared_ptr_HybridViewModelNumberPropertySpec___ = Result>>; inline Result_std__optional_std__shared_ptr_HybridViewModelNumberPropertySpec___ create_Result_std__optional_std__shared_ptr_HybridViewModelNumberPropertySpec___(const std::optional>& value) noexcept { @@ -1177,6 +1250,15 @@ namespace margelo::nitro::rive::bridge::swift { return Result>>::withError(error); } + // pragma MARK: Result>> + using Result_std__optional_std__shared_ptr_HybridViewModelArtboardPropertySpec___ = Result>>; + inline Result_std__optional_std__shared_ptr_HybridViewModelArtboardPropertySpec___ create_Result_std__optional_std__shared_ptr_HybridViewModelArtboardPropertySpec___(const std::optional>& value) noexcept { + return Result>>::withValue(value); + } + inline Result_std__optional_std__shared_ptr_HybridViewModelArtboardPropertySpec___ create_Result_std__optional_std__shared_ptr_HybridViewModelArtboardPropertySpec___(const std::exception_ptr& error) noexcept { + return Result>>::withError(error); + } + // pragma MARK: std::function /** * Specialized version of `std::function`. @@ -1229,5 +1311,20 @@ namespace margelo::nitro::rive::bridge::swift { inline Func_void_std__string_Wrapper wrap_Func_void_std__string(Func_void_std__string value) noexcept { return Func_void_std__string_Wrapper(std::move(value)); } + + // pragma MARK: std::optional> + /** + * Specialized version of `std::optional>`. + */ + using std__optional_std__shared_ptr_HybridBindableArtboardSpec__ = std::optional>; + inline std::optional> create_std__optional_std__shared_ptr_HybridBindableArtboardSpec__(const std::shared_ptr& value) noexcept { + return std::optional>(value); + } + inline bool has_value_std__optional_std__shared_ptr_HybridBindableArtboardSpec__(const std::optional>& optional) noexcept { + return optional.has_value(); + } + inline std::shared_ptr get_std__optional_std__shared_ptr_HybridBindableArtboardSpec__(const std::optional>& optional) noexcept { + return *optional; + } } // namespace margelo::nitro::rive::bridge::swift diff --git a/nitrogen/generated/ios/RNRive-Swift-Cxx-Umbrella.hpp b/nitrogen/generated/ios/RNRive-Swift-Cxx-Umbrella.hpp index 945b694a..434b4b00 100644 --- a/nitrogen/generated/ios/RNRive-Swift-Cxx-Umbrella.hpp +++ b/nitrogen/generated/ios/RNRive-Swift-Cxx-Umbrella.hpp @@ -2,7 +2,7 @@ /// RNRive-Swift-Cxx-Umbrella.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #pragma once @@ -20,6 +20,8 @@ namespace margelo::nitro::rive { struct DataBindByName; } namespace margelo::nitro::rive { enum class DataBindMode; } // Forward declaration of `Fit` to properly resolve imports. namespace margelo::nitro::rive { enum class Fit; } +// Forward declaration of `HybridBindableArtboardSpec` to properly resolve imports. +namespace margelo::nitro::rive { class HybridBindableArtboardSpec; } // Forward declaration of `HybridRiveFileFactorySpec` to properly resolve imports. namespace margelo::nitro::rive { class HybridRiveFileFactorySpec; } // Forward declaration of `HybridRiveFileSpec` to properly resolve imports. @@ -32,6 +34,8 @@ namespace margelo::nitro::rive { class HybridRiveImageSpec; } namespace margelo::nitro::rive { class HybridRiveSpec; } // Forward declaration of `HybridRiveViewSpec` to properly resolve imports. namespace margelo::nitro::rive { class HybridRiveViewSpec; } +// Forward declaration of `HybridViewModelArtboardPropertySpec` to properly resolve imports. +namespace margelo::nitro::rive { class HybridViewModelArtboardPropertySpec; } // Forward declaration of `HybridViewModelBooleanPropertySpec` to properly resolve imports. namespace margelo::nitro::rive { class HybridViewModelBooleanPropertySpec; } // Forward declaration of `HybridViewModelColorPropertySpec` to properly resolve imports. @@ -74,12 +78,14 @@ namespace margelo::nitro::rive { struct UnifiedRiveEvent; } #include "DataBindByName.hpp" #include "DataBindMode.hpp" #include "Fit.hpp" +#include "HybridBindableArtboardSpec.hpp" #include "HybridRiveFileFactorySpec.hpp" #include "HybridRiveFileSpec.hpp" #include "HybridRiveImageFactorySpec.hpp" #include "HybridRiveImageSpec.hpp" #include "HybridRiveSpec.hpp" #include "HybridRiveViewSpec.hpp" +#include "HybridViewModelArtboardPropertySpec.hpp" #include "HybridViewModelBooleanPropertySpec.hpp" #include "HybridViewModelColorPropertySpec.hpp" #include "HybridViewModelEnumPropertySpec.hpp" @@ -107,6 +113,7 @@ namespace margelo::nitro::rive { struct UnifiedRiveEvent; } #include #include #include +#include // C++ helpers for Swift #include "RNRive-Swift-Cxx-Bridge.hpp" @@ -118,6 +125,8 @@ namespace margelo::nitro::rive { struct UnifiedRiveEvent; } #include // Forward declarations of Swift defined types +// Forward declaration of `HybridBindableArtboardSpec_cxx` to properly resolve imports. +namespace RNRive { class HybridBindableArtboardSpec_cxx; } // Forward declaration of `HybridRiveFileFactorySpec_cxx` to properly resolve imports. namespace RNRive { class HybridRiveFileFactorySpec_cxx; } // Forward declaration of `HybridRiveFileSpec_cxx` to properly resolve imports. @@ -130,6 +139,8 @@ namespace RNRive { class HybridRiveImageSpec_cxx; } namespace RNRive { class HybridRiveSpec_cxx; } // Forward declaration of `HybridRiveViewSpec_cxx` to properly resolve imports. namespace RNRive { class HybridRiveViewSpec_cxx; } +// Forward declaration of `HybridViewModelArtboardPropertySpec_cxx` to properly resolve imports. +namespace RNRive { class HybridViewModelArtboardPropertySpec_cxx; } // Forward declaration of `HybridViewModelBooleanPropertySpec_cxx` to properly resolve imports. namespace RNRive { class HybridViewModelBooleanPropertySpec_cxx; } // Forward declaration of `HybridViewModelColorPropertySpec_cxx` to properly resolve imports. diff --git a/nitrogen/generated/ios/RNRiveAutolinking.mm b/nitrogen/generated/ios/RNRiveAutolinking.mm index ff3e3032..e904f1c3 100644 --- a/nitrogen/generated/ios/RNRiveAutolinking.mm +++ b/nitrogen/generated/ios/RNRiveAutolinking.mm @@ -2,7 +2,7 @@ /// RNRiveAutolinking.mm /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #import diff --git a/nitrogen/generated/ios/RNRiveAutolinking.swift b/nitrogen/generated/ios/RNRiveAutolinking.swift index ded67b5e..9e759da3 100644 --- a/nitrogen/generated/ios/RNRiveAutolinking.swift +++ b/nitrogen/generated/ios/RNRiveAutolinking.swift @@ -2,7 +2,7 @@ /// RNRiveAutolinking.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// public final class RNRiveAutolinking { diff --git a/nitrogen/generated/ios/c++/HybridBindableArtboardSpecSwift.cpp b/nitrogen/generated/ios/c++/HybridBindableArtboardSpecSwift.cpp new file mode 100644 index 00000000..76641480 --- /dev/null +++ b/nitrogen/generated/ios/c++/HybridBindableArtboardSpecSwift.cpp @@ -0,0 +1,11 @@ +/// +/// HybridBindableArtboardSpecSwift.cpp +/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. +/// https://github.com/mrousavy/nitro +/// Copyright © 2026 Marc Rousavy @ Margelo +/// + +#include "HybridBindableArtboardSpecSwift.hpp" + +namespace margelo::nitro::rive { +} // namespace margelo::nitro::rive diff --git a/nitrogen/generated/ios/c++/HybridBindableArtboardSpecSwift.hpp b/nitrogen/generated/ios/c++/HybridBindableArtboardSpecSwift.hpp new file mode 100644 index 00000000..f7ac3062 --- /dev/null +++ b/nitrogen/generated/ios/c++/HybridBindableArtboardSpecSwift.hpp @@ -0,0 +1,72 @@ +/// +/// HybridBindableArtboardSpecSwift.hpp +/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. +/// https://github.com/mrousavy/nitro +/// Copyright © 2026 Marc Rousavy @ Margelo +/// + +#pragma once + +#include "HybridBindableArtboardSpec.hpp" + +// Forward declaration of `HybridBindableArtboardSpec_cxx` to properly resolve imports. +namespace RNRive { class HybridBindableArtboardSpec_cxx; } + + + +#include + +#include "RNRive-Swift-Cxx-Umbrella.hpp" + +namespace margelo::nitro::rive { + + /** + * The C++ part of HybridBindableArtboardSpec_cxx.swift. + * + * HybridBindableArtboardSpecSwift (C++) accesses HybridBindableArtboardSpec_cxx (Swift), and might + * contain some additional bridging code for C++ <> Swift interop. + * + * Since this obviously introduces an overhead, I hope at some point in + * the future, HybridBindableArtboardSpec_cxx can directly inherit from the C++ class HybridBindableArtboardSpec + * to simplify the whole structure and memory management. + */ + class HybridBindableArtboardSpecSwift: public virtual HybridBindableArtboardSpec { + public: + // Constructor from a Swift instance + explicit HybridBindableArtboardSpecSwift(const RNRive::HybridBindableArtboardSpec_cxx& swiftPart): + HybridObject(HybridBindableArtboardSpec::TAG), + _swiftPart(swiftPart) { } + + public: + // Get the Swift part + inline RNRive::HybridBindableArtboardSpec_cxx& getSwiftPart() noexcept { + return _swiftPart; + } + + public: + inline size_t getExternalMemorySize() noexcept override { + return _swiftPart.getMemorySize(); + } + void dispose() noexcept override { + _swiftPart.dispose(); + } + std::string toString() override { + return _swiftPart.toString(); + } + + public: + // Properties + inline std::string getArtboardName() noexcept override { + auto __result = _swiftPart.getArtboardName(); + return __result; + } + + public: + // Methods + + + private: + RNRive::HybridBindableArtboardSpec_cxx _swiftPart; + }; + +} // namespace margelo::nitro::rive diff --git a/nitrogen/generated/ios/c++/HybridRiveFileFactorySpecSwift.cpp b/nitrogen/generated/ios/c++/HybridRiveFileFactorySpecSwift.cpp index b7bfbfa2..41f9d276 100644 --- a/nitrogen/generated/ios/c++/HybridRiveFileFactorySpecSwift.cpp +++ b/nitrogen/generated/ios/c++/HybridRiveFileFactorySpecSwift.cpp @@ -2,7 +2,7 @@ /// HybridRiveFileFactorySpecSwift.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #include "HybridRiveFileFactorySpecSwift.hpp" diff --git a/nitrogen/generated/ios/c++/HybridRiveFileFactorySpecSwift.hpp b/nitrogen/generated/ios/c++/HybridRiveFileFactorySpecSwift.hpp index b6efb54e..f78c3dda 100644 --- a/nitrogen/generated/ios/c++/HybridRiveFileFactorySpecSwift.hpp +++ b/nitrogen/generated/ios/c++/HybridRiveFileFactorySpecSwift.hpp @@ -2,7 +2,7 @@ /// HybridRiveFileFactorySpecSwift.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #pragma once diff --git a/nitrogen/generated/ios/c++/HybridRiveFileSpecSwift.cpp b/nitrogen/generated/ios/c++/HybridRiveFileSpecSwift.cpp index 5e5fd8d6..d7684872 100644 --- a/nitrogen/generated/ios/c++/HybridRiveFileSpecSwift.cpp +++ b/nitrogen/generated/ios/c++/HybridRiveFileSpecSwift.cpp @@ -2,7 +2,7 @@ /// HybridRiveFileSpecSwift.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #include "HybridRiveFileSpecSwift.hpp" diff --git a/nitrogen/generated/ios/c++/HybridRiveFileSpecSwift.hpp b/nitrogen/generated/ios/c++/HybridRiveFileSpecSwift.hpp index 5bf0d14b..1a7a4099 100644 --- a/nitrogen/generated/ios/c++/HybridRiveFileSpecSwift.hpp +++ b/nitrogen/generated/ios/c++/HybridRiveFileSpecSwift.hpp @@ -2,7 +2,7 @@ /// HybridRiveFileSpecSwift.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #pragma once @@ -24,17 +24,21 @@ namespace margelo::nitro::rive { struct ReferencedAssetsType; } namespace margelo::nitro::rive { struct ResolvedReferencedAsset; } // Forward declaration of `HybridRiveImageSpec` to properly resolve imports. namespace margelo::nitro::rive { class HybridRiveImageSpec; } +// Forward declaration of `HybridBindableArtboardSpec` to properly resolve imports. +namespace margelo::nitro::rive { class HybridBindableArtboardSpec; } #include +#include +#include #include #include "HybridViewModelSpec.hpp" -#include #include "ArtboardBy.hpp" #include "ArtboardByTypes.hpp" #include "ReferencedAssetsType.hpp" #include "ResolvedReferencedAsset.hpp" #include #include "HybridRiveImageSpec.hpp" +#include "HybridBindableArtboardSpec.hpp" #include "RNRive-Swift-Cxx-Umbrella.hpp" @@ -80,6 +84,13 @@ namespace margelo::nitro::rive { auto __result = _swiftPart.getViewModelCount(); return __result; } + inline double getArtboardCount() noexcept override { + return _swiftPart.getArtboardCount(); + } + inline std::vector getArtboardNames() noexcept override { + auto __result = _swiftPart.getArtboardNames(); + return __result; + } public: // Methods @@ -113,6 +124,14 @@ namespace margelo::nitro::rive { std::rethrow_exception(__result.error()); } } + inline std::shared_ptr getBindableArtboard(const std::string& name) override { + auto __result = _swiftPart.getBindableArtboard(name); + if (__result.hasError()) [[unlikely]] { + std::rethrow_exception(__result.error()); + } + auto __value = std::move(__result.value()); + return __value; + } private: RNRive::HybridRiveFileSpec_cxx _swiftPart; diff --git a/nitrogen/generated/ios/c++/HybridRiveImageFactorySpecSwift.cpp b/nitrogen/generated/ios/c++/HybridRiveImageFactorySpecSwift.cpp index d20e954e..1897b92a 100644 --- a/nitrogen/generated/ios/c++/HybridRiveImageFactorySpecSwift.cpp +++ b/nitrogen/generated/ios/c++/HybridRiveImageFactorySpecSwift.cpp @@ -2,7 +2,7 @@ /// HybridRiveImageFactorySpecSwift.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #include "HybridRiveImageFactorySpecSwift.hpp" diff --git a/nitrogen/generated/ios/c++/HybridRiveImageFactorySpecSwift.hpp b/nitrogen/generated/ios/c++/HybridRiveImageFactorySpecSwift.hpp index 0f859af5..21145682 100644 --- a/nitrogen/generated/ios/c++/HybridRiveImageFactorySpecSwift.hpp +++ b/nitrogen/generated/ios/c++/HybridRiveImageFactorySpecSwift.hpp @@ -2,7 +2,7 @@ /// HybridRiveImageFactorySpecSwift.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #pragma once diff --git a/nitrogen/generated/ios/c++/HybridRiveImageSpecSwift.cpp b/nitrogen/generated/ios/c++/HybridRiveImageSpecSwift.cpp index 64210a17..522d4a8d 100644 --- a/nitrogen/generated/ios/c++/HybridRiveImageSpecSwift.cpp +++ b/nitrogen/generated/ios/c++/HybridRiveImageSpecSwift.cpp @@ -2,7 +2,7 @@ /// HybridRiveImageSpecSwift.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #include "HybridRiveImageSpecSwift.hpp" diff --git a/nitrogen/generated/ios/c++/HybridRiveImageSpecSwift.hpp b/nitrogen/generated/ios/c++/HybridRiveImageSpecSwift.hpp index 40bb9c2e..485c64e0 100644 --- a/nitrogen/generated/ios/c++/HybridRiveImageSpecSwift.hpp +++ b/nitrogen/generated/ios/c++/HybridRiveImageSpecSwift.hpp @@ -2,7 +2,7 @@ /// HybridRiveImageSpecSwift.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #pragma once diff --git a/nitrogen/generated/ios/c++/HybridRiveSpecSwift.cpp b/nitrogen/generated/ios/c++/HybridRiveSpecSwift.cpp index e591c95e..cb6dfec0 100644 --- a/nitrogen/generated/ios/c++/HybridRiveSpecSwift.cpp +++ b/nitrogen/generated/ios/c++/HybridRiveSpecSwift.cpp @@ -2,7 +2,7 @@ /// HybridRiveSpecSwift.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #include "HybridRiveSpecSwift.hpp" diff --git a/nitrogen/generated/ios/c++/HybridRiveSpecSwift.hpp b/nitrogen/generated/ios/c++/HybridRiveSpecSwift.hpp index d91dc60d..8d8533e1 100644 --- a/nitrogen/generated/ios/c++/HybridRiveSpecSwift.hpp +++ b/nitrogen/generated/ios/c++/HybridRiveSpecSwift.hpp @@ -2,7 +2,7 @@ /// HybridRiveSpecSwift.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #pragma once diff --git a/nitrogen/generated/ios/c++/HybridRiveViewSpecSwift.cpp b/nitrogen/generated/ios/c++/HybridRiveViewSpecSwift.cpp index 3e334056..f32609ab 100644 --- a/nitrogen/generated/ios/c++/HybridRiveViewSpecSwift.cpp +++ b/nitrogen/generated/ios/c++/HybridRiveViewSpecSwift.cpp @@ -2,7 +2,7 @@ /// HybridRiveViewSpecSwift.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #include "HybridRiveViewSpecSwift.hpp" diff --git a/nitrogen/generated/ios/c++/HybridRiveViewSpecSwift.hpp b/nitrogen/generated/ios/c++/HybridRiveViewSpecSwift.hpp index 2fd5960c..215b70da 100644 --- a/nitrogen/generated/ios/c++/HybridRiveViewSpecSwift.hpp +++ b/nitrogen/generated/ios/c++/HybridRiveViewSpecSwift.hpp @@ -2,7 +2,7 @@ /// HybridRiveViewSpecSwift.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #pragma once diff --git a/nitrogen/generated/ios/c++/HybridViewModelArtboardPropertySpecSwift.cpp b/nitrogen/generated/ios/c++/HybridViewModelArtboardPropertySpecSwift.cpp new file mode 100644 index 00000000..53824bed --- /dev/null +++ b/nitrogen/generated/ios/c++/HybridViewModelArtboardPropertySpecSwift.cpp @@ -0,0 +1,11 @@ +/// +/// HybridViewModelArtboardPropertySpecSwift.cpp +/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. +/// https://github.com/mrousavy/nitro +/// Copyright © 2026 Marc Rousavy @ Margelo +/// + +#include "HybridViewModelArtboardPropertySpecSwift.hpp" + +namespace margelo::nitro::rive { +} // namespace margelo::nitro::rive diff --git a/nitrogen/generated/ios/c++/HybridViewModelArtboardPropertySpecSwift.hpp b/nitrogen/generated/ios/c++/HybridViewModelArtboardPropertySpecSwift.hpp new file mode 100644 index 00000000..f1980698 --- /dev/null +++ b/nitrogen/generated/ios/c++/HybridViewModelArtboardPropertySpecSwift.hpp @@ -0,0 +1,81 @@ +/// +/// HybridViewModelArtboardPropertySpecSwift.hpp +/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. +/// https://github.com/mrousavy/nitro +/// Copyright © 2026 Marc Rousavy @ Margelo +/// + +#pragma once + +#include "HybridViewModelArtboardPropertySpec.hpp" + +// Forward declaration of `HybridViewModelArtboardPropertySpec_cxx` to properly resolve imports. +namespace RNRive { class HybridViewModelArtboardPropertySpec_cxx; } + +// Forward declaration of `HybridBindableArtboardSpec` to properly resolve imports. +namespace margelo::nitro::rive { class HybridBindableArtboardSpec; } +// Forward declaration of `HybridViewModelPropertySpecSwift` to properly resolve imports. +namespace margelo::nitro::rive { class HybridViewModelPropertySpecSwift; } + +#include +#include "HybridBindableArtboardSpec.hpp" +#include +#include "HybridViewModelPropertySpecSwift.hpp" + +#include "RNRive-Swift-Cxx-Umbrella.hpp" + +namespace margelo::nitro::rive { + + /** + * The C++ part of HybridViewModelArtboardPropertySpec_cxx.swift. + * + * HybridViewModelArtboardPropertySpecSwift (C++) accesses HybridViewModelArtboardPropertySpec_cxx (Swift), and might + * contain some additional bridging code for C++ <> Swift interop. + * + * Since this obviously introduces an overhead, I hope at some point in + * the future, HybridViewModelArtboardPropertySpec_cxx can directly inherit from the C++ class HybridViewModelArtboardPropertySpec + * to simplify the whole structure and memory management. + */ + class HybridViewModelArtboardPropertySpecSwift: public virtual HybridViewModelArtboardPropertySpec, public virtual HybridViewModelPropertySpecSwift { + public: + // Constructor from a Swift instance + explicit HybridViewModelArtboardPropertySpecSwift(const RNRive::HybridViewModelArtboardPropertySpec_cxx& swiftPart): + HybridObject(HybridViewModelArtboardPropertySpec::TAG), + HybridViewModelPropertySpecSwift(swiftPart), + _swiftPart(swiftPart) { } + + public: + // Get the Swift part + inline RNRive::HybridViewModelArtboardPropertySpec_cxx& getSwiftPart() noexcept { + return _swiftPart; + } + + public: + inline size_t getExternalMemorySize() noexcept override { + return _swiftPart.getMemorySize(); + } + void dispose() noexcept override { + _swiftPart.dispose(); + } + std::string toString() override { + return _swiftPart.toString(); + } + + public: + // Properties + + + public: + // Methods + inline void set(const std::optional>& artboard) override { + auto __result = _swiftPart.set(artboard); + if (__result.hasError()) [[unlikely]] { + std::rethrow_exception(__result.error()); + } + } + + private: + RNRive::HybridViewModelArtboardPropertySpec_cxx _swiftPart; + }; + +} // namespace margelo::nitro::rive diff --git a/nitrogen/generated/ios/c++/HybridViewModelBooleanPropertySpecSwift.cpp b/nitrogen/generated/ios/c++/HybridViewModelBooleanPropertySpecSwift.cpp index 32c664c8..867dc8a2 100644 --- a/nitrogen/generated/ios/c++/HybridViewModelBooleanPropertySpecSwift.cpp +++ b/nitrogen/generated/ios/c++/HybridViewModelBooleanPropertySpecSwift.cpp @@ -2,7 +2,7 @@ /// HybridViewModelBooleanPropertySpecSwift.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #include "HybridViewModelBooleanPropertySpecSwift.hpp" diff --git a/nitrogen/generated/ios/c++/HybridViewModelBooleanPropertySpecSwift.hpp b/nitrogen/generated/ios/c++/HybridViewModelBooleanPropertySpecSwift.hpp index fff49900..acd7b10a 100644 --- a/nitrogen/generated/ios/c++/HybridViewModelBooleanPropertySpecSwift.hpp +++ b/nitrogen/generated/ios/c++/HybridViewModelBooleanPropertySpecSwift.hpp @@ -2,7 +2,7 @@ /// HybridViewModelBooleanPropertySpecSwift.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #pragma once diff --git a/nitrogen/generated/ios/c++/HybridViewModelColorPropertySpecSwift.cpp b/nitrogen/generated/ios/c++/HybridViewModelColorPropertySpecSwift.cpp index 6cbb249d..6dc8f931 100644 --- a/nitrogen/generated/ios/c++/HybridViewModelColorPropertySpecSwift.cpp +++ b/nitrogen/generated/ios/c++/HybridViewModelColorPropertySpecSwift.cpp @@ -2,7 +2,7 @@ /// HybridViewModelColorPropertySpecSwift.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #include "HybridViewModelColorPropertySpecSwift.hpp" diff --git a/nitrogen/generated/ios/c++/HybridViewModelColorPropertySpecSwift.hpp b/nitrogen/generated/ios/c++/HybridViewModelColorPropertySpecSwift.hpp index 94e01c25..063141fe 100644 --- a/nitrogen/generated/ios/c++/HybridViewModelColorPropertySpecSwift.hpp +++ b/nitrogen/generated/ios/c++/HybridViewModelColorPropertySpecSwift.hpp @@ -2,7 +2,7 @@ /// HybridViewModelColorPropertySpecSwift.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #pragma once diff --git a/nitrogen/generated/ios/c++/HybridViewModelEnumPropertySpecSwift.cpp b/nitrogen/generated/ios/c++/HybridViewModelEnumPropertySpecSwift.cpp index 4394b8c6..7a180d8e 100644 --- a/nitrogen/generated/ios/c++/HybridViewModelEnumPropertySpecSwift.cpp +++ b/nitrogen/generated/ios/c++/HybridViewModelEnumPropertySpecSwift.cpp @@ -2,7 +2,7 @@ /// HybridViewModelEnumPropertySpecSwift.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #include "HybridViewModelEnumPropertySpecSwift.hpp" diff --git a/nitrogen/generated/ios/c++/HybridViewModelEnumPropertySpecSwift.hpp b/nitrogen/generated/ios/c++/HybridViewModelEnumPropertySpecSwift.hpp index 91fbb5b7..db003a59 100644 --- a/nitrogen/generated/ios/c++/HybridViewModelEnumPropertySpecSwift.hpp +++ b/nitrogen/generated/ios/c++/HybridViewModelEnumPropertySpecSwift.hpp @@ -2,7 +2,7 @@ /// HybridViewModelEnumPropertySpecSwift.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #pragma once diff --git a/nitrogen/generated/ios/c++/HybridViewModelImagePropertySpecSwift.cpp b/nitrogen/generated/ios/c++/HybridViewModelImagePropertySpecSwift.cpp index c14e4c6c..cfbed615 100644 --- a/nitrogen/generated/ios/c++/HybridViewModelImagePropertySpecSwift.cpp +++ b/nitrogen/generated/ios/c++/HybridViewModelImagePropertySpecSwift.cpp @@ -2,7 +2,7 @@ /// HybridViewModelImagePropertySpecSwift.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #include "HybridViewModelImagePropertySpecSwift.hpp" diff --git a/nitrogen/generated/ios/c++/HybridViewModelImagePropertySpecSwift.hpp b/nitrogen/generated/ios/c++/HybridViewModelImagePropertySpecSwift.hpp index 24c4d29b..26d09c29 100644 --- a/nitrogen/generated/ios/c++/HybridViewModelImagePropertySpecSwift.hpp +++ b/nitrogen/generated/ios/c++/HybridViewModelImagePropertySpecSwift.hpp @@ -2,7 +2,7 @@ /// HybridViewModelImagePropertySpecSwift.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #pragma once diff --git a/nitrogen/generated/ios/c++/HybridViewModelInstanceSpecSwift.cpp b/nitrogen/generated/ios/c++/HybridViewModelInstanceSpecSwift.cpp index 020e0cb4..9820d7ee 100644 --- a/nitrogen/generated/ios/c++/HybridViewModelInstanceSpecSwift.cpp +++ b/nitrogen/generated/ios/c++/HybridViewModelInstanceSpecSwift.cpp @@ -2,7 +2,7 @@ /// HybridViewModelInstanceSpecSwift.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #include "HybridViewModelInstanceSpecSwift.hpp" diff --git a/nitrogen/generated/ios/c++/HybridViewModelInstanceSpecSwift.hpp b/nitrogen/generated/ios/c++/HybridViewModelInstanceSpecSwift.hpp index 0ff3bff3..67008bff 100644 --- a/nitrogen/generated/ios/c++/HybridViewModelInstanceSpecSwift.hpp +++ b/nitrogen/generated/ios/c++/HybridViewModelInstanceSpecSwift.hpp @@ -2,7 +2,7 @@ /// HybridViewModelInstanceSpecSwift.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #pragma once @@ -28,6 +28,8 @@ namespace margelo::nitro::rive { class HybridViewModelTriggerPropertySpec; } namespace margelo::nitro::rive { class HybridViewModelImagePropertySpec; } // Forward declaration of `HybridViewModelListPropertySpec` to properly resolve imports. namespace margelo::nitro::rive { class HybridViewModelListPropertySpec; } +// Forward declaration of `HybridViewModelArtboardPropertySpec` to properly resolve imports. +namespace margelo::nitro::rive { class HybridViewModelArtboardPropertySpec; } #include #include @@ -40,6 +42,7 @@ namespace margelo::nitro::rive { class HybridViewModelListPropertySpec; } #include "HybridViewModelTriggerPropertySpec.hpp" #include "HybridViewModelImagePropertySpec.hpp" #include "HybridViewModelListPropertySpec.hpp" +#include "HybridViewModelArtboardPropertySpec.hpp" #include "RNRive-Swift-Cxx-Umbrella.hpp" @@ -152,6 +155,14 @@ namespace margelo::nitro::rive { auto __value = std::move(__result.value()); return __value; } + inline std::optional> artboardProperty(const std::string& path) override { + auto __result = _swiftPart.artboardProperty(path); + if (__result.hasError()) [[unlikely]] { + std::rethrow_exception(__result.error()); + } + auto __value = std::move(__result.value()); + return __value; + } private: RNRive::HybridViewModelInstanceSpec_cxx _swiftPart; diff --git a/nitrogen/generated/ios/c++/HybridViewModelListPropertySpecSwift.cpp b/nitrogen/generated/ios/c++/HybridViewModelListPropertySpecSwift.cpp index 37311de9..1d0429d5 100644 --- a/nitrogen/generated/ios/c++/HybridViewModelListPropertySpecSwift.cpp +++ b/nitrogen/generated/ios/c++/HybridViewModelListPropertySpecSwift.cpp @@ -2,7 +2,7 @@ /// HybridViewModelListPropertySpecSwift.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #include "HybridViewModelListPropertySpecSwift.hpp" diff --git a/nitrogen/generated/ios/c++/HybridViewModelListPropertySpecSwift.hpp b/nitrogen/generated/ios/c++/HybridViewModelListPropertySpecSwift.hpp index 94392acc..dfa1ef1d 100644 --- a/nitrogen/generated/ios/c++/HybridViewModelListPropertySpecSwift.hpp +++ b/nitrogen/generated/ios/c++/HybridViewModelListPropertySpecSwift.hpp @@ -2,7 +2,7 @@ /// HybridViewModelListPropertySpecSwift.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #pragma once diff --git a/nitrogen/generated/ios/c++/HybridViewModelNumberPropertySpecSwift.cpp b/nitrogen/generated/ios/c++/HybridViewModelNumberPropertySpecSwift.cpp index c8023238..2e1ac1b5 100644 --- a/nitrogen/generated/ios/c++/HybridViewModelNumberPropertySpecSwift.cpp +++ b/nitrogen/generated/ios/c++/HybridViewModelNumberPropertySpecSwift.cpp @@ -2,7 +2,7 @@ /// HybridViewModelNumberPropertySpecSwift.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #include "HybridViewModelNumberPropertySpecSwift.hpp" diff --git a/nitrogen/generated/ios/c++/HybridViewModelNumberPropertySpecSwift.hpp b/nitrogen/generated/ios/c++/HybridViewModelNumberPropertySpecSwift.hpp index 46d0ca13..e7ccb0eb 100644 --- a/nitrogen/generated/ios/c++/HybridViewModelNumberPropertySpecSwift.hpp +++ b/nitrogen/generated/ios/c++/HybridViewModelNumberPropertySpecSwift.hpp @@ -2,7 +2,7 @@ /// HybridViewModelNumberPropertySpecSwift.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #pragma once diff --git a/nitrogen/generated/ios/c++/HybridViewModelPropertySpecSwift.cpp b/nitrogen/generated/ios/c++/HybridViewModelPropertySpecSwift.cpp index cf94b2da..3bb51c10 100644 --- a/nitrogen/generated/ios/c++/HybridViewModelPropertySpecSwift.cpp +++ b/nitrogen/generated/ios/c++/HybridViewModelPropertySpecSwift.cpp @@ -2,7 +2,7 @@ /// HybridViewModelPropertySpecSwift.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #include "HybridViewModelPropertySpecSwift.hpp" diff --git a/nitrogen/generated/ios/c++/HybridViewModelPropertySpecSwift.hpp b/nitrogen/generated/ios/c++/HybridViewModelPropertySpecSwift.hpp index be772d90..17099073 100644 --- a/nitrogen/generated/ios/c++/HybridViewModelPropertySpecSwift.hpp +++ b/nitrogen/generated/ios/c++/HybridViewModelPropertySpecSwift.hpp @@ -2,7 +2,7 @@ /// HybridViewModelPropertySpecSwift.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #pragma once diff --git a/nitrogen/generated/ios/c++/HybridViewModelSpecSwift.cpp b/nitrogen/generated/ios/c++/HybridViewModelSpecSwift.cpp index 0b88e074..fe94778f 100644 --- a/nitrogen/generated/ios/c++/HybridViewModelSpecSwift.cpp +++ b/nitrogen/generated/ios/c++/HybridViewModelSpecSwift.cpp @@ -2,7 +2,7 @@ /// HybridViewModelSpecSwift.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #include "HybridViewModelSpecSwift.hpp" diff --git a/nitrogen/generated/ios/c++/HybridViewModelSpecSwift.hpp b/nitrogen/generated/ios/c++/HybridViewModelSpecSwift.hpp index fc5c1a8b..a02b4d93 100644 --- a/nitrogen/generated/ios/c++/HybridViewModelSpecSwift.hpp +++ b/nitrogen/generated/ios/c++/HybridViewModelSpecSwift.hpp @@ -2,7 +2,7 @@ /// HybridViewModelSpecSwift.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #pragma once diff --git a/nitrogen/generated/ios/c++/HybridViewModelStringPropertySpecSwift.cpp b/nitrogen/generated/ios/c++/HybridViewModelStringPropertySpecSwift.cpp index 3b2d4e89..837a2199 100644 --- a/nitrogen/generated/ios/c++/HybridViewModelStringPropertySpecSwift.cpp +++ b/nitrogen/generated/ios/c++/HybridViewModelStringPropertySpecSwift.cpp @@ -2,7 +2,7 @@ /// HybridViewModelStringPropertySpecSwift.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #include "HybridViewModelStringPropertySpecSwift.hpp" diff --git a/nitrogen/generated/ios/c++/HybridViewModelStringPropertySpecSwift.hpp b/nitrogen/generated/ios/c++/HybridViewModelStringPropertySpecSwift.hpp index 470f0649..56f94925 100644 --- a/nitrogen/generated/ios/c++/HybridViewModelStringPropertySpecSwift.hpp +++ b/nitrogen/generated/ios/c++/HybridViewModelStringPropertySpecSwift.hpp @@ -2,7 +2,7 @@ /// HybridViewModelStringPropertySpecSwift.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #pragma once diff --git a/nitrogen/generated/ios/c++/HybridViewModelTriggerPropertySpecSwift.cpp b/nitrogen/generated/ios/c++/HybridViewModelTriggerPropertySpecSwift.cpp index d3e8d4e5..803460e3 100644 --- a/nitrogen/generated/ios/c++/HybridViewModelTriggerPropertySpecSwift.cpp +++ b/nitrogen/generated/ios/c++/HybridViewModelTriggerPropertySpecSwift.cpp @@ -2,7 +2,7 @@ /// HybridViewModelTriggerPropertySpecSwift.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #include "HybridViewModelTriggerPropertySpecSwift.hpp" diff --git a/nitrogen/generated/ios/c++/HybridViewModelTriggerPropertySpecSwift.hpp b/nitrogen/generated/ios/c++/HybridViewModelTriggerPropertySpecSwift.hpp index 5977fe39..8a1863ff 100644 --- a/nitrogen/generated/ios/c++/HybridViewModelTriggerPropertySpecSwift.hpp +++ b/nitrogen/generated/ios/c++/HybridViewModelTriggerPropertySpecSwift.hpp @@ -2,7 +2,7 @@ /// HybridViewModelTriggerPropertySpecSwift.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #pragma once diff --git a/nitrogen/generated/ios/c++/views/HybridRiveViewComponent.mm b/nitrogen/generated/ios/c++/views/HybridRiveViewComponent.mm index 6b511440..07ec5288 100644 --- a/nitrogen/generated/ios/c++/views/HybridRiveViewComponent.mm +++ b/nitrogen/generated/ios/c++/views/HybridRiveViewComponent.mm @@ -2,7 +2,7 @@ /// HybridRiveViewComponent.mm /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #import "HybridRiveViewComponent.hpp" diff --git a/nitrogen/generated/ios/swift/Alignment.swift b/nitrogen/generated/ios/swift/Alignment.swift index ec3ffff9..1eada362 100644 --- a/nitrogen/generated/ios/swift/Alignment.swift +++ b/nitrogen/generated/ios/swift/Alignment.swift @@ -2,7 +2,7 @@ /// Alignment.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// /** diff --git a/nitrogen/generated/ios/swift/ArtboardBy.swift b/nitrogen/generated/ios/swift/ArtboardBy.swift index 31de0637..957efded 100644 --- a/nitrogen/generated/ios/swift/ArtboardBy.swift +++ b/nitrogen/generated/ios/swift/ArtboardBy.swift @@ -2,7 +2,7 @@ /// ArtboardBy.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// import Foundation diff --git a/nitrogen/generated/ios/swift/ArtboardByTypes.swift b/nitrogen/generated/ios/swift/ArtboardByTypes.swift index d5ca1837..63c396b5 100644 --- a/nitrogen/generated/ios/swift/ArtboardByTypes.swift +++ b/nitrogen/generated/ios/swift/ArtboardByTypes.swift @@ -2,7 +2,7 @@ /// ArtboardByTypes.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// /** diff --git a/nitrogen/generated/ios/swift/DataBindByName.swift b/nitrogen/generated/ios/swift/DataBindByName.swift index 907eece1..252d9382 100644 --- a/nitrogen/generated/ios/swift/DataBindByName.swift +++ b/nitrogen/generated/ios/swift/DataBindByName.swift @@ -2,7 +2,7 @@ /// DataBindByName.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// import Foundation diff --git a/nitrogen/generated/ios/swift/DataBindMode.swift b/nitrogen/generated/ios/swift/DataBindMode.swift index d098dc20..40d6f4c3 100644 --- a/nitrogen/generated/ios/swift/DataBindMode.swift +++ b/nitrogen/generated/ios/swift/DataBindMode.swift @@ -2,7 +2,7 @@ /// DataBindMode.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// /** diff --git a/nitrogen/generated/ios/swift/EventPropertiesOutput.swift b/nitrogen/generated/ios/swift/EventPropertiesOutput.swift index aa6e020c..a5cd0237 100644 --- a/nitrogen/generated/ios/swift/EventPropertiesOutput.swift +++ b/nitrogen/generated/ios/swift/EventPropertiesOutput.swift @@ -2,7 +2,7 @@ /// EventPropertiesOutput.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// diff --git a/nitrogen/generated/ios/swift/Fit.swift b/nitrogen/generated/ios/swift/Fit.swift index 2605d7e2..19955c8e 100644 --- a/nitrogen/generated/ios/swift/Fit.swift +++ b/nitrogen/generated/ios/swift/Fit.swift @@ -2,7 +2,7 @@ /// Fit.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// /** diff --git a/nitrogen/generated/ios/swift/Func_void.swift b/nitrogen/generated/ios/swift/Func_void.swift index c621956a..4bc7896c 100644 --- a/nitrogen/generated/ios/swift/Func_void.swift +++ b/nitrogen/generated/ios/swift/Func_void.swift @@ -2,7 +2,7 @@ /// Func_void.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// import Foundation diff --git a/nitrogen/generated/ios/swift/Func_void_RiveError.swift b/nitrogen/generated/ios/swift/Func_void_RiveError.swift index d41ab227..97710fc9 100644 --- a/nitrogen/generated/ios/swift/Func_void_RiveError.swift +++ b/nitrogen/generated/ios/swift/Func_void_RiveError.swift @@ -2,7 +2,7 @@ /// Func_void_RiveError.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// import Foundation diff --git a/nitrogen/generated/ios/swift/Func_void_UnifiedRiveEvent.swift b/nitrogen/generated/ios/swift/Func_void_UnifiedRiveEvent.swift index d12d7d4c..3f5aca10 100644 --- a/nitrogen/generated/ios/swift/Func_void_UnifiedRiveEvent.swift +++ b/nitrogen/generated/ios/swift/Func_void_UnifiedRiveEvent.swift @@ -2,7 +2,7 @@ /// Func_void_UnifiedRiveEvent.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// import Foundation diff --git a/nitrogen/generated/ios/swift/Func_void_bool.swift b/nitrogen/generated/ios/swift/Func_void_bool.swift index b5275a14..07f209f2 100644 --- a/nitrogen/generated/ios/swift/Func_void_bool.swift +++ b/nitrogen/generated/ios/swift/Func_void_bool.swift @@ -2,7 +2,7 @@ /// Func_void_bool.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// import Foundation diff --git a/nitrogen/generated/ios/swift/Func_void_double.swift b/nitrogen/generated/ios/swift/Func_void_double.swift index 6ee6d113..183c6865 100644 --- a/nitrogen/generated/ios/swift/Func_void_double.swift +++ b/nitrogen/generated/ios/swift/Func_void_double.swift @@ -2,7 +2,7 @@ /// Func_void_double.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// import Foundation diff --git a/nitrogen/generated/ios/swift/Func_void_std__exception_ptr.swift b/nitrogen/generated/ios/swift/Func_void_std__exception_ptr.swift index bfb1f3bb..bbd3770a 100644 --- a/nitrogen/generated/ios/swift/Func_void_std__exception_ptr.swift +++ b/nitrogen/generated/ios/swift/Func_void_std__exception_ptr.swift @@ -2,7 +2,7 @@ /// Func_void_std__exception_ptr.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// import Foundation diff --git a/nitrogen/generated/ios/swift/Func_void_std__shared_ptr_HybridRiveFileSpec_.swift b/nitrogen/generated/ios/swift/Func_void_std__shared_ptr_HybridRiveFileSpec_.swift index bf67887d..231dbc11 100644 --- a/nitrogen/generated/ios/swift/Func_void_std__shared_ptr_HybridRiveFileSpec_.swift +++ b/nitrogen/generated/ios/swift/Func_void_std__shared_ptr_HybridRiveFileSpec_.swift @@ -2,7 +2,7 @@ /// Func_void_std__shared_ptr_HybridRiveFileSpec_.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// import Foundation diff --git a/nitrogen/generated/ios/swift/Func_void_std__shared_ptr_HybridRiveImageSpec_.swift b/nitrogen/generated/ios/swift/Func_void_std__shared_ptr_HybridRiveImageSpec_.swift index dce6693a..269d4533 100644 --- a/nitrogen/generated/ios/swift/Func_void_std__shared_ptr_HybridRiveImageSpec_.swift +++ b/nitrogen/generated/ios/swift/Func_void_std__shared_ptr_HybridRiveImageSpec_.swift @@ -2,7 +2,7 @@ /// Func_void_std__shared_ptr_HybridRiveImageSpec_.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// import Foundation diff --git a/nitrogen/generated/ios/swift/Func_void_std__string.swift b/nitrogen/generated/ios/swift/Func_void_std__string.swift index 03e4cdfd..516a1b7d 100644 --- a/nitrogen/generated/ios/swift/Func_void_std__string.swift +++ b/nitrogen/generated/ios/swift/Func_void_std__string.swift @@ -2,7 +2,7 @@ /// Func_void_std__string.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// import Foundation diff --git a/nitrogen/generated/ios/swift/HybridBindableArtboardSpec.swift b/nitrogen/generated/ios/swift/HybridBindableArtboardSpec.swift new file mode 100644 index 00000000..e805689b --- /dev/null +++ b/nitrogen/generated/ios/swift/HybridBindableArtboardSpec.swift @@ -0,0 +1,56 @@ +/// +/// HybridBindableArtboardSpec.swift +/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. +/// https://github.com/mrousavy/nitro +/// Copyright © 2026 Marc Rousavy @ Margelo +/// + +import Foundation +import NitroModules + +/// See ``HybridBindableArtboardSpec`` +public protocol HybridBindableArtboardSpec_protocol: HybridObject { + // Properties + var artboardName: String { get } + + // Methods + +} + +public extension HybridBindableArtboardSpec_protocol { + /// Default implementation of ``HybridObject.toString`` + func toString() -> String { + return "[HybridObject BindableArtboard]" + } +} + +/// See ``HybridBindableArtboardSpec`` +open class HybridBindableArtboardSpec_base { + private weak var cxxWrapper: HybridBindableArtboardSpec_cxx? = nil + public init() { } + public func getCxxWrapper() -> HybridBindableArtboardSpec_cxx { + #if DEBUG + guard self is HybridBindableArtboardSpec else { + fatalError("`self` is not a `HybridBindableArtboardSpec`! Did you accidentally inherit from `HybridBindableArtboardSpec_base` instead of `HybridBindableArtboardSpec`?") + } + #endif + if let cxxWrapper = self.cxxWrapper { + return cxxWrapper + } else { + let cxxWrapper = HybridBindableArtboardSpec_cxx(self as! HybridBindableArtboardSpec) + self.cxxWrapper = cxxWrapper + return cxxWrapper + } + } +} + +/** + * A Swift base-protocol representing the BindableArtboard HybridObject. + * Implement this protocol to create Swift-based instances of BindableArtboard. + * ```swift + * class HybridBindableArtboard : HybridBindableArtboardSpec { + * // ... + * } + * ``` + */ +public typealias HybridBindableArtboardSpec = HybridBindableArtboardSpec_protocol & HybridBindableArtboardSpec_base diff --git a/nitrogen/generated/ios/swift/HybridBindableArtboardSpec_cxx.swift b/nitrogen/generated/ios/swift/HybridBindableArtboardSpec_cxx.swift new file mode 100644 index 00000000..224adabc --- /dev/null +++ b/nitrogen/generated/ios/swift/HybridBindableArtboardSpec_cxx.swift @@ -0,0 +1,126 @@ +/// +/// HybridBindableArtboardSpec_cxx.swift +/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. +/// https://github.com/mrousavy/nitro +/// Copyright © 2026 Marc Rousavy @ Margelo +/// + +import Foundation +import NitroModules + +/** + * A class implementation that bridges HybridBindableArtboardSpec over to C++. + * In C++, we cannot use Swift protocols - so we need to wrap it in a class to make it strongly defined. + * + * Also, some Swift types need to be bridged with special handling: + * - Enums need to be wrapped in Structs, otherwise they cannot be accessed bi-directionally (Swift bug: https://github.com/swiftlang/swift/issues/75330) + * - Other HybridObjects need to be wrapped/unwrapped from the Swift TCxx wrapper + * - Throwing methods need to be wrapped with a Result type, as exceptions cannot be propagated to C++ + */ +open class HybridBindableArtboardSpec_cxx { + /** + * The Swift <> C++ bridge's namespace (`margelo::nitro::rive::bridge::swift`) + * from `RNRive-Swift-Cxx-Bridge.hpp`. + * This contains specialized C++ templates, and C++ helper functions that can be accessed from Swift. + */ + public typealias bridge = margelo.nitro.rive.bridge.swift + + /** + * Holds an instance of the `HybridBindableArtboardSpec` Swift protocol. + */ + private var __implementation: any HybridBindableArtboardSpec + + /** + * Holds a weak pointer to the C++ class that wraps the Swift class. + */ + private var __cxxPart: bridge.std__weak_ptr_HybridBindableArtboardSpec_ + + /** + * Create a new `HybridBindableArtboardSpec_cxx` that wraps the given `HybridBindableArtboardSpec`. + * All properties and methods bridge to C++ types. + */ + public init(_ implementation: any HybridBindableArtboardSpec) { + self.__implementation = implementation + self.__cxxPart = .init() + /* no base class */ + } + + /** + * Get the actual `HybridBindableArtboardSpec` instance this class wraps. + */ + @inline(__always) + public func getHybridBindableArtboardSpec() -> any HybridBindableArtboardSpec { + return __implementation + } + + /** + * Casts this instance to a retained unsafe raw pointer. + * This acquires one additional strong reference on the object! + */ + public func toUnsafe() -> UnsafeMutableRawPointer { + return Unmanaged.passRetained(self).toOpaque() + } + + /** + * Casts an unsafe pointer to a `HybridBindableArtboardSpec_cxx`. + * The pointer has to be a retained opaque `Unmanaged`. + * This removes one strong reference from the object! + */ + public class func fromUnsafe(_ pointer: UnsafeMutableRawPointer) -> HybridBindableArtboardSpec_cxx { + return Unmanaged.fromOpaque(pointer).takeRetainedValue() + } + + /** + * Gets (or creates) the C++ part of this Hybrid Object. + * The C++ part is a `std::shared_ptr`. + */ + public func getCxxPart() -> bridge.std__shared_ptr_HybridBindableArtboardSpec_ { + let cachedCxxPart = self.__cxxPart.lock() + if Bool(fromCxx: cachedCxxPart) { + return cachedCxxPart + } else { + let newCxxPart = bridge.create_std__shared_ptr_HybridBindableArtboardSpec_(self.toUnsafe()) + __cxxPart = bridge.weakify_std__shared_ptr_HybridBindableArtboardSpec_(newCxxPart) + return newCxxPart + } + } + + + + /** + * Get the memory size of the Swift class (plus size of any other allocations) + * so the JS VM can properly track it and garbage-collect the JS object if needed. + */ + @inline(__always) + public var memorySize: Int { + return MemoryHelper.getSizeOf(self.__implementation) + self.__implementation.memorySize + } + + /** + * Call dispose() on the Swift class. + * This _may_ be called manually from JS. + */ + @inline(__always) + public func dispose() { + self.__implementation.dispose() + } + + /** + * Call toString() on the Swift class. + */ + @inline(__always) + public func toString() -> String { + return self.__implementation.toString() + } + + // Properties + public final var artboardName: std.string { + @inline(__always) + get { + return std.string(self.__implementation.artboardName) + } + } + + // Methods + +} diff --git a/nitrogen/generated/ios/swift/HybridRiveFileFactorySpec.swift b/nitrogen/generated/ios/swift/HybridRiveFileFactorySpec.swift index 2e152e77..b96fc2de 100644 --- a/nitrogen/generated/ios/swift/HybridRiveFileFactorySpec.swift +++ b/nitrogen/generated/ios/swift/HybridRiveFileFactorySpec.swift @@ -2,7 +2,7 @@ /// HybridRiveFileFactorySpec.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// import Foundation diff --git a/nitrogen/generated/ios/swift/HybridRiveFileFactorySpec_cxx.swift b/nitrogen/generated/ios/swift/HybridRiveFileFactorySpec_cxx.swift index ed578d51..caf7bac5 100644 --- a/nitrogen/generated/ios/swift/HybridRiveFileFactorySpec_cxx.swift +++ b/nitrogen/generated/ios/swift/HybridRiveFileFactorySpec_cxx.swift @@ -2,7 +2,7 @@ /// HybridRiveFileFactorySpec_cxx.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// import Foundation diff --git a/nitrogen/generated/ios/swift/HybridRiveFileSpec.swift b/nitrogen/generated/ios/swift/HybridRiveFileSpec.swift index 5697e2a0..66290b12 100644 --- a/nitrogen/generated/ios/swift/HybridRiveFileSpec.swift +++ b/nitrogen/generated/ios/swift/HybridRiveFileSpec.swift @@ -2,7 +2,7 @@ /// HybridRiveFileSpec.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// import Foundation @@ -12,12 +12,15 @@ import NitroModules public protocol HybridRiveFileSpec_protocol: HybridObject { // Properties var viewModelCount: Double? { get } + var artboardCount: Double { get } + var artboardNames: [String] { get } // Methods func viewModelByIndex(index: Double) throws -> (any HybridViewModelSpec)? func viewModelByName(name: String) throws -> (any HybridViewModelSpec)? func defaultArtboardViewModel(artboardBy: ArtboardBy?) throws -> (any HybridViewModelSpec)? func updateReferencedAssets(referencedAssets: ReferencedAssetsType) throws -> Void + func getBindableArtboard(name: String) throws -> (any HybridBindableArtboardSpec) } public extension HybridRiveFileSpec_protocol { diff --git a/nitrogen/generated/ios/swift/HybridRiveFileSpec_cxx.swift b/nitrogen/generated/ios/swift/HybridRiveFileSpec_cxx.swift index 4d43422f..013016f6 100644 --- a/nitrogen/generated/ios/swift/HybridRiveFileSpec_cxx.swift +++ b/nitrogen/generated/ios/swift/HybridRiveFileSpec_cxx.swift @@ -2,7 +2,7 @@ /// HybridRiveFileSpec_cxx.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// import Foundation @@ -126,6 +126,26 @@ open class HybridRiveFileSpec_cxx { }() } } + + public final var artboardCount: Double { + @inline(__always) + get { + return self.__implementation.artboardCount + } + } + + public final var artboardNames: bridge.std__vector_std__string_ { + @inline(__always) + get { + return { () -> bridge.std__vector_std__string_ in + var __vector = bridge.create_std__vector_std__string_(self.__implementation.artboardNames.count) + for __item in self.__implementation.artboardNames { + __vector.push_back(std.string(__item)) + } + return __vector + }() + } + } // Methods @inline(__always) @@ -201,4 +221,19 @@ open class HybridRiveFileSpec_cxx { return bridge.create_Result_void_(__exceptionPtr) } } + + @inline(__always) + public final func getBindableArtboard(name: std.string) -> bridge.Result_std__shared_ptr_HybridBindableArtboardSpec__ { + do { + let __result = try self.__implementation.getBindableArtboard(name: String(name)) + let __resultCpp = { () -> bridge.std__shared_ptr_HybridBindableArtboardSpec_ in + let __cxxWrapped = __result.getCxxWrapper() + return __cxxWrapped.getCxxPart() + }() + return bridge.create_Result_std__shared_ptr_HybridBindableArtboardSpec__(__resultCpp) + } catch (let __error) { + let __exceptionPtr = __error.toCpp() + return bridge.create_Result_std__shared_ptr_HybridBindableArtboardSpec__(__exceptionPtr) + } + } } diff --git a/nitrogen/generated/ios/swift/HybridRiveImageFactorySpec.swift b/nitrogen/generated/ios/swift/HybridRiveImageFactorySpec.swift index c6d0e867..518b93f3 100644 --- a/nitrogen/generated/ios/swift/HybridRiveImageFactorySpec.swift +++ b/nitrogen/generated/ios/swift/HybridRiveImageFactorySpec.swift @@ -2,7 +2,7 @@ /// HybridRiveImageFactorySpec.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// import Foundation diff --git a/nitrogen/generated/ios/swift/HybridRiveImageFactorySpec_cxx.swift b/nitrogen/generated/ios/swift/HybridRiveImageFactorySpec_cxx.swift index 16eab4a9..5811ef1c 100644 --- a/nitrogen/generated/ios/swift/HybridRiveImageFactorySpec_cxx.swift +++ b/nitrogen/generated/ios/swift/HybridRiveImageFactorySpec_cxx.swift @@ -2,7 +2,7 @@ /// HybridRiveImageFactorySpec_cxx.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// import Foundation diff --git a/nitrogen/generated/ios/swift/HybridRiveImageSpec.swift b/nitrogen/generated/ios/swift/HybridRiveImageSpec.swift index 4d3091e0..d993554a 100644 --- a/nitrogen/generated/ios/swift/HybridRiveImageSpec.swift +++ b/nitrogen/generated/ios/swift/HybridRiveImageSpec.swift @@ -2,7 +2,7 @@ /// HybridRiveImageSpec.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// import Foundation diff --git a/nitrogen/generated/ios/swift/HybridRiveImageSpec_cxx.swift b/nitrogen/generated/ios/swift/HybridRiveImageSpec_cxx.swift index 90c55c21..bec9a32a 100644 --- a/nitrogen/generated/ios/swift/HybridRiveImageSpec_cxx.swift +++ b/nitrogen/generated/ios/swift/HybridRiveImageSpec_cxx.swift @@ -2,7 +2,7 @@ /// HybridRiveImageSpec_cxx.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// import Foundation diff --git a/nitrogen/generated/ios/swift/HybridRiveSpec.swift b/nitrogen/generated/ios/swift/HybridRiveSpec.swift index 3a0a47f0..8ac6398e 100644 --- a/nitrogen/generated/ios/swift/HybridRiveSpec.swift +++ b/nitrogen/generated/ios/swift/HybridRiveSpec.swift @@ -2,7 +2,7 @@ /// HybridRiveSpec.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// import Foundation diff --git a/nitrogen/generated/ios/swift/HybridRiveSpec_cxx.swift b/nitrogen/generated/ios/swift/HybridRiveSpec_cxx.swift index 8bd95b84..fdfc2310 100644 --- a/nitrogen/generated/ios/swift/HybridRiveSpec_cxx.swift +++ b/nitrogen/generated/ios/swift/HybridRiveSpec_cxx.swift @@ -2,7 +2,7 @@ /// HybridRiveSpec_cxx.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// import Foundation diff --git a/nitrogen/generated/ios/swift/HybridRiveViewSpec.swift b/nitrogen/generated/ios/swift/HybridRiveViewSpec.swift index bb5ee52d..945c9052 100644 --- a/nitrogen/generated/ios/swift/HybridRiveViewSpec.swift +++ b/nitrogen/generated/ios/swift/HybridRiveViewSpec.swift @@ -2,7 +2,7 @@ /// HybridRiveViewSpec.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// import Foundation diff --git a/nitrogen/generated/ios/swift/HybridRiveViewSpec_cxx.swift b/nitrogen/generated/ios/swift/HybridRiveViewSpec_cxx.swift index ca441d74..ffae6b39 100644 --- a/nitrogen/generated/ios/swift/HybridRiveViewSpec_cxx.swift +++ b/nitrogen/generated/ios/swift/HybridRiveViewSpec_cxx.swift @@ -2,7 +2,7 @@ /// HybridRiveViewSpec_cxx.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// import Foundation diff --git a/nitrogen/generated/ios/swift/HybridViewModelArtboardPropertySpec.swift b/nitrogen/generated/ios/swift/HybridViewModelArtboardPropertySpec.swift new file mode 100644 index 00000000..ba6d2cbc --- /dev/null +++ b/nitrogen/generated/ios/swift/HybridViewModelArtboardPropertySpec.swift @@ -0,0 +1,56 @@ +/// +/// HybridViewModelArtboardPropertySpec.swift +/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. +/// https://github.com/mrousavy/nitro +/// Copyright © 2026 Marc Rousavy @ Margelo +/// + +import Foundation +import NitroModules + +/// See ``HybridViewModelArtboardPropertySpec`` +public protocol HybridViewModelArtboardPropertySpec_protocol: HybridObject, HybridViewModelPropertySpec_protocol { + // Properties + + + // Methods + func set(artboard: (any HybridBindableArtboardSpec)?) throws -> Void +} + +public extension HybridViewModelArtboardPropertySpec_protocol { + /// Default implementation of ``HybridObject.toString`` + func toString() -> String { + return "[HybridObject ViewModelArtboardProperty]" + } +} + +/// See ``HybridViewModelArtboardPropertySpec`` +open class HybridViewModelArtboardPropertySpec_base: HybridViewModelPropertySpec_base { + private weak var cxxWrapper: HybridViewModelArtboardPropertySpec_cxx? = nil + public override init() { super.init() } + public override func getCxxWrapper() -> HybridViewModelArtboardPropertySpec_cxx { + #if DEBUG + guard self is HybridViewModelArtboardPropertySpec else { + fatalError("`self` is not a `HybridViewModelArtboardPropertySpec`! Did you accidentally inherit from `HybridViewModelArtboardPropertySpec_base` instead of `HybridViewModelArtboardPropertySpec`?") + } + #endif + if let cxxWrapper = self.cxxWrapper { + return cxxWrapper + } else { + let cxxWrapper = HybridViewModelArtboardPropertySpec_cxx(self as! HybridViewModelArtboardPropertySpec) + self.cxxWrapper = cxxWrapper + return cxxWrapper + } + } +} + +/** + * A Swift base-protocol representing the ViewModelArtboardProperty HybridObject. + * Implement this protocol to create Swift-based instances of ViewModelArtboardProperty. + * ```swift + * class HybridViewModelArtboardProperty : HybridViewModelArtboardPropertySpec { + * // ... + * } + * ``` + */ +public typealias HybridViewModelArtboardPropertySpec = HybridViewModelArtboardPropertySpec_protocol & HybridViewModelArtboardPropertySpec_base diff --git a/nitrogen/generated/ios/swift/HybridViewModelArtboardPropertySpec_cxx.swift b/nitrogen/generated/ios/swift/HybridViewModelArtboardPropertySpec_cxx.swift new file mode 100644 index 00000000..717e5645 --- /dev/null +++ b/nitrogen/generated/ios/swift/HybridViewModelArtboardPropertySpec_cxx.swift @@ -0,0 +1,144 @@ +/// +/// HybridViewModelArtboardPropertySpec_cxx.swift +/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. +/// https://github.com/mrousavy/nitro +/// Copyright © 2026 Marc Rousavy @ Margelo +/// + +import Foundation +import NitroModules + +/** + * A class implementation that bridges HybridViewModelArtboardPropertySpec over to C++. + * In C++, we cannot use Swift protocols - so we need to wrap it in a class to make it strongly defined. + * + * Also, some Swift types need to be bridged with special handling: + * - Enums need to be wrapped in Structs, otherwise they cannot be accessed bi-directionally (Swift bug: https://github.com/swiftlang/swift/issues/75330) + * - Other HybridObjects need to be wrapped/unwrapped from the Swift TCxx wrapper + * - Throwing methods need to be wrapped with a Result type, as exceptions cannot be propagated to C++ + */ +open class HybridViewModelArtboardPropertySpec_cxx : HybridViewModelPropertySpec_cxx { + /** + * The Swift <> C++ bridge's namespace (`margelo::nitro::rive::bridge::swift`) + * from `RNRive-Swift-Cxx-Bridge.hpp`. + * This contains specialized C++ templates, and C++ helper functions that can be accessed from Swift. + */ + public typealias bridge = margelo.nitro.rive.bridge.swift + + /** + * Holds an instance of the `HybridViewModelArtboardPropertySpec` Swift protocol. + */ + private var __implementation: any HybridViewModelArtboardPropertySpec + + /** + * Holds a weak pointer to the C++ class that wraps the Swift class. + */ + private var __cxxPart: bridge.std__weak_ptr_HybridViewModelArtboardPropertySpec_ + + /** + * Create a new `HybridViewModelArtboardPropertySpec_cxx` that wraps the given `HybridViewModelArtboardPropertySpec`. + * All properties and methods bridge to C++ types. + */ + public init(_ implementation: any HybridViewModelArtboardPropertySpec) { + self.__implementation = implementation + self.__cxxPart = .init() + super.init(implementation) + } + + /** + * Get the actual `HybridViewModelArtboardPropertySpec` instance this class wraps. + */ + @inline(__always) + public func getHybridViewModelArtboardPropertySpec() -> any HybridViewModelArtboardPropertySpec { + return __implementation + } + + /** + * Casts this instance to a retained unsafe raw pointer. + * This acquires one additional strong reference on the object! + */ + public override func toUnsafe() -> UnsafeMutableRawPointer { + return Unmanaged.passRetained(self).toOpaque() + } + + /** + * Casts an unsafe pointer to a `HybridViewModelArtboardPropertySpec_cxx`. + * The pointer has to be a retained opaque `Unmanaged`. + * This removes one strong reference from the object! + */ + public override class func fromUnsafe(_ pointer: UnsafeMutableRawPointer) -> HybridViewModelArtboardPropertySpec_cxx { + return Unmanaged.fromOpaque(pointer).takeRetainedValue() + } + + /** + * Gets (or creates) the C++ part of this Hybrid Object. + * The C++ part is a `std::shared_ptr`. + */ + public func getCxxPart() -> bridge.std__shared_ptr_HybridViewModelArtboardPropertySpec_ { + let cachedCxxPart = self.__cxxPart.lock() + if Bool(fromCxx: cachedCxxPart) { + return cachedCxxPart + } else { + let newCxxPart = bridge.create_std__shared_ptr_HybridViewModelArtboardPropertySpec_(self.toUnsafe()) + __cxxPart = bridge.weakify_std__shared_ptr_HybridViewModelArtboardPropertySpec_(newCxxPart) + return newCxxPart + } + } + + public override func getCxxPart() -> bridge.std__shared_ptr_HybridViewModelPropertySpec_ { + let ownCxxPart: bridge.std__shared_ptr_HybridViewModelArtboardPropertySpec_ = getCxxPart() + return bridge.upcast_ViewModelArtboardProperty_to_ViewModelProperty(ownCxxPart) + } + + /** + * Get the memory size of the Swift class (plus size of any other allocations) + * so the JS VM can properly track it and garbage-collect the JS object if needed. + */ + @inline(__always) + public override var memorySize: Int { + return MemoryHelper.getSizeOf(self.__implementation) + self.__implementation.memorySize + } + + /** + * Call dispose() on the Swift class. + * This _may_ be called manually from JS. + */ + @inline(__always) + public override func dispose() { + self.__implementation.dispose() + } + + /** + * Call toString() on the Swift class. + */ + @inline(__always) + public override func toString() -> String { + return self.__implementation.toString() + } + + // Properties + + + // Methods + @inline(__always) + public final func set(artboard: bridge.std__optional_std__shared_ptr_HybridBindableArtboardSpec__) -> bridge.Result_void_ { + do { + try self.__implementation.set(artboard: { () -> (any HybridBindableArtboardSpec)? in + if bridge.has_value_std__optional_std__shared_ptr_HybridBindableArtboardSpec__(artboard) { + let __unwrapped = bridge.get_std__optional_std__shared_ptr_HybridBindableArtboardSpec__(artboard) + return { () -> HybridBindableArtboardSpec in + let __unsafePointer = bridge.get_std__shared_ptr_HybridBindableArtboardSpec_(__unwrapped) + let __instance = HybridBindableArtboardSpec_cxx.fromUnsafe(__unsafePointer) + return __instance.getHybridBindableArtboardSpec() + }() + } else { + return nil + } + }()) + return bridge.create_Result_void_() + } catch (let __error) { + let __exceptionPtr = __error.toCpp() + return bridge.create_Result_void_(__exceptionPtr) + } + } +} diff --git a/nitrogen/generated/ios/swift/HybridViewModelBooleanPropertySpec.swift b/nitrogen/generated/ios/swift/HybridViewModelBooleanPropertySpec.swift index cf2655d7..9b9c7b0a 100644 --- a/nitrogen/generated/ios/swift/HybridViewModelBooleanPropertySpec.swift +++ b/nitrogen/generated/ios/swift/HybridViewModelBooleanPropertySpec.swift @@ -2,7 +2,7 @@ /// HybridViewModelBooleanPropertySpec.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// import Foundation diff --git a/nitrogen/generated/ios/swift/HybridViewModelBooleanPropertySpec_cxx.swift b/nitrogen/generated/ios/swift/HybridViewModelBooleanPropertySpec_cxx.swift index 395353d3..606c3d88 100644 --- a/nitrogen/generated/ios/swift/HybridViewModelBooleanPropertySpec_cxx.swift +++ b/nitrogen/generated/ios/swift/HybridViewModelBooleanPropertySpec_cxx.swift @@ -2,7 +2,7 @@ /// HybridViewModelBooleanPropertySpec_cxx.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// import Foundation diff --git a/nitrogen/generated/ios/swift/HybridViewModelColorPropertySpec.swift b/nitrogen/generated/ios/swift/HybridViewModelColorPropertySpec.swift index 2af066ff..5a11071a 100644 --- a/nitrogen/generated/ios/swift/HybridViewModelColorPropertySpec.swift +++ b/nitrogen/generated/ios/swift/HybridViewModelColorPropertySpec.swift @@ -2,7 +2,7 @@ /// HybridViewModelColorPropertySpec.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// import Foundation diff --git a/nitrogen/generated/ios/swift/HybridViewModelColorPropertySpec_cxx.swift b/nitrogen/generated/ios/swift/HybridViewModelColorPropertySpec_cxx.swift index 14922446..853d8b11 100644 --- a/nitrogen/generated/ios/swift/HybridViewModelColorPropertySpec_cxx.swift +++ b/nitrogen/generated/ios/swift/HybridViewModelColorPropertySpec_cxx.swift @@ -2,7 +2,7 @@ /// HybridViewModelColorPropertySpec_cxx.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// import Foundation diff --git a/nitrogen/generated/ios/swift/HybridViewModelEnumPropertySpec.swift b/nitrogen/generated/ios/swift/HybridViewModelEnumPropertySpec.swift index 0a9a7009..1cd4db42 100644 --- a/nitrogen/generated/ios/swift/HybridViewModelEnumPropertySpec.swift +++ b/nitrogen/generated/ios/swift/HybridViewModelEnumPropertySpec.swift @@ -2,7 +2,7 @@ /// HybridViewModelEnumPropertySpec.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// import Foundation diff --git a/nitrogen/generated/ios/swift/HybridViewModelEnumPropertySpec_cxx.swift b/nitrogen/generated/ios/swift/HybridViewModelEnumPropertySpec_cxx.swift index 85db8a45..5638056d 100644 --- a/nitrogen/generated/ios/swift/HybridViewModelEnumPropertySpec_cxx.swift +++ b/nitrogen/generated/ios/swift/HybridViewModelEnumPropertySpec_cxx.swift @@ -2,7 +2,7 @@ /// HybridViewModelEnumPropertySpec_cxx.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// import Foundation diff --git a/nitrogen/generated/ios/swift/HybridViewModelImagePropertySpec.swift b/nitrogen/generated/ios/swift/HybridViewModelImagePropertySpec.swift index ea1a63be..aa9928a6 100644 --- a/nitrogen/generated/ios/swift/HybridViewModelImagePropertySpec.swift +++ b/nitrogen/generated/ios/swift/HybridViewModelImagePropertySpec.swift @@ -2,7 +2,7 @@ /// HybridViewModelImagePropertySpec.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// import Foundation diff --git a/nitrogen/generated/ios/swift/HybridViewModelImagePropertySpec_cxx.swift b/nitrogen/generated/ios/swift/HybridViewModelImagePropertySpec_cxx.swift index 82f207f1..7720ad80 100644 --- a/nitrogen/generated/ios/swift/HybridViewModelImagePropertySpec_cxx.swift +++ b/nitrogen/generated/ios/swift/HybridViewModelImagePropertySpec_cxx.swift @@ -2,7 +2,7 @@ /// HybridViewModelImagePropertySpec_cxx.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// import Foundation diff --git a/nitrogen/generated/ios/swift/HybridViewModelInstanceSpec.swift b/nitrogen/generated/ios/swift/HybridViewModelInstanceSpec.swift index bbb13b10..a9a41a5e 100644 --- a/nitrogen/generated/ios/swift/HybridViewModelInstanceSpec.swift +++ b/nitrogen/generated/ios/swift/HybridViewModelInstanceSpec.swift @@ -2,7 +2,7 @@ /// HybridViewModelInstanceSpec.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// import Foundation @@ -22,6 +22,7 @@ public protocol HybridViewModelInstanceSpec_protocol: HybridObject { func triggerProperty(path: String) throws -> (any HybridViewModelTriggerPropertySpec)? func imageProperty(path: String) throws -> (any HybridViewModelImagePropertySpec)? func listProperty(path: String) throws -> (any HybridViewModelListPropertySpec)? + func artboardProperty(path: String) throws -> (any HybridViewModelArtboardPropertySpec)? } public extension HybridViewModelInstanceSpec_protocol { diff --git a/nitrogen/generated/ios/swift/HybridViewModelInstanceSpec_cxx.swift b/nitrogen/generated/ios/swift/HybridViewModelInstanceSpec_cxx.swift index dc7d1647..3001b165 100644 --- a/nitrogen/generated/ios/swift/HybridViewModelInstanceSpec_cxx.swift +++ b/nitrogen/generated/ios/swift/HybridViewModelInstanceSpec_cxx.swift @@ -2,7 +2,7 @@ /// HybridViewModelInstanceSpec_cxx.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// import Foundation @@ -289,4 +289,25 @@ open class HybridViewModelInstanceSpec_cxx { return bridge.create_Result_std__optional_std__shared_ptr_HybridViewModelListPropertySpec___(__exceptionPtr) } } + + @inline(__always) + public final func artboardProperty(path: std.string) -> bridge.Result_std__optional_std__shared_ptr_HybridViewModelArtboardPropertySpec___ { + do { + let __result = try self.__implementation.artboardProperty(path: String(path)) + let __resultCpp = { () -> bridge.std__optional_std__shared_ptr_HybridViewModelArtboardPropertySpec__ in + if let __unwrappedValue = __result { + return bridge.create_std__optional_std__shared_ptr_HybridViewModelArtboardPropertySpec__({ () -> bridge.std__shared_ptr_HybridViewModelArtboardPropertySpec_ in + let __cxxWrapped = __unwrappedValue.getCxxWrapper() + return __cxxWrapped.getCxxPart() + }()) + } else { + return .init() + } + }() + return bridge.create_Result_std__optional_std__shared_ptr_HybridViewModelArtboardPropertySpec___(__resultCpp) + } catch (let __error) { + let __exceptionPtr = __error.toCpp() + return bridge.create_Result_std__optional_std__shared_ptr_HybridViewModelArtboardPropertySpec___(__exceptionPtr) + } + } } diff --git a/nitrogen/generated/ios/swift/HybridViewModelListPropertySpec.swift b/nitrogen/generated/ios/swift/HybridViewModelListPropertySpec.swift index 59ab737f..d7fc0c39 100644 --- a/nitrogen/generated/ios/swift/HybridViewModelListPropertySpec.swift +++ b/nitrogen/generated/ios/swift/HybridViewModelListPropertySpec.swift @@ -2,7 +2,7 @@ /// HybridViewModelListPropertySpec.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// import Foundation diff --git a/nitrogen/generated/ios/swift/HybridViewModelListPropertySpec_cxx.swift b/nitrogen/generated/ios/swift/HybridViewModelListPropertySpec_cxx.swift index 9fc88d02..842ed2ff 100644 --- a/nitrogen/generated/ios/swift/HybridViewModelListPropertySpec_cxx.swift +++ b/nitrogen/generated/ios/swift/HybridViewModelListPropertySpec_cxx.swift @@ -2,7 +2,7 @@ /// HybridViewModelListPropertySpec_cxx.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// import Foundation diff --git a/nitrogen/generated/ios/swift/HybridViewModelNumberPropertySpec.swift b/nitrogen/generated/ios/swift/HybridViewModelNumberPropertySpec.swift index 50aee64c..ae6032e1 100644 --- a/nitrogen/generated/ios/swift/HybridViewModelNumberPropertySpec.swift +++ b/nitrogen/generated/ios/swift/HybridViewModelNumberPropertySpec.swift @@ -2,7 +2,7 @@ /// HybridViewModelNumberPropertySpec.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// import Foundation diff --git a/nitrogen/generated/ios/swift/HybridViewModelNumberPropertySpec_cxx.swift b/nitrogen/generated/ios/swift/HybridViewModelNumberPropertySpec_cxx.swift index d337fbaa..fdd8ff11 100644 --- a/nitrogen/generated/ios/swift/HybridViewModelNumberPropertySpec_cxx.swift +++ b/nitrogen/generated/ios/swift/HybridViewModelNumberPropertySpec_cxx.swift @@ -2,7 +2,7 @@ /// HybridViewModelNumberPropertySpec_cxx.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// import Foundation diff --git a/nitrogen/generated/ios/swift/HybridViewModelPropertySpec.swift b/nitrogen/generated/ios/swift/HybridViewModelPropertySpec.swift index 9cf49ed1..e667ce72 100644 --- a/nitrogen/generated/ios/swift/HybridViewModelPropertySpec.swift +++ b/nitrogen/generated/ios/swift/HybridViewModelPropertySpec.swift @@ -2,7 +2,7 @@ /// HybridViewModelPropertySpec.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// import Foundation diff --git a/nitrogen/generated/ios/swift/HybridViewModelPropertySpec_cxx.swift b/nitrogen/generated/ios/swift/HybridViewModelPropertySpec_cxx.swift index 547fd6f2..274a9297 100644 --- a/nitrogen/generated/ios/swift/HybridViewModelPropertySpec_cxx.swift +++ b/nitrogen/generated/ios/swift/HybridViewModelPropertySpec_cxx.swift @@ -2,7 +2,7 @@ /// HybridViewModelPropertySpec_cxx.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// import Foundation diff --git a/nitrogen/generated/ios/swift/HybridViewModelSpec.swift b/nitrogen/generated/ios/swift/HybridViewModelSpec.swift index 2ed7687b..4cd8662d 100644 --- a/nitrogen/generated/ios/swift/HybridViewModelSpec.swift +++ b/nitrogen/generated/ios/swift/HybridViewModelSpec.swift @@ -2,7 +2,7 @@ /// HybridViewModelSpec.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// import Foundation diff --git a/nitrogen/generated/ios/swift/HybridViewModelSpec_cxx.swift b/nitrogen/generated/ios/swift/HybridViewModelSpec_cxx.swift index 44d033f0..b9da732a 100644 --- a/nitrogen/generated/ios/swift/HybridViewModelSpec_cxx.swift +++ b/nitrogen/generated/ios/swift/HybridViewModelSpec_cxx.swift @@ -2,7 +2,7 @@ /// HybridViewModelSpec_cxx.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// import Foundation diff --git a/nitrogen/generated/ios/swift/HybridViewModelStringPropertySpec.swift b/nitrogen/generated/ios/swift/HybridViewModelStringPropertySpec.swift index 0cbcba58..d9373e4f 100644 --- a/nitrogen/generated/ios/swift/HybridViewModelStringPropertySpec.swift +++ b/nitrogen/generated/ios/swift/HybridViewModelStringPropertySpec.swift @@ -2,7 +2,7 @@ /// HybridViewModelStringPropertySpec.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// import Foundation diff --git a/nitrogen/generated/ios/swift/HybridViewModelStringPropertySpec_cxx.swift b/nitrogen/generated/ios/swift/HybridViewModelStringPropertySpec_cxx.swift index 6d34397f..1b2d3bee 100644 --- a/nitrogen/generated/ios/swift/HybridViewModelStringPropertySpec_cxx.swift +++ b/nitrogen/generated/ios/swift/HybridViewModelStringPropertySpec_cxx.swift @@ -2,7 +2,7 @@ /// HybridViewModelStringPropertySpec_cxx.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// import Foundation diff --git a/nitrogen/generated/ios/swift/HybridViewModelTriggerPropertySpec.swift b/nitrogen/generated/ios/swift/HybridViewModelTriggerPropertySpec.swift index 03a743a0..1928e81f 100644 --- a/nitrogen/generated/ios/swift/HybridViewModelTriggerPropertySpec.swift +++ b/nitrogen/generated/ios/swift/HybridViewModelTriggerPropertySpec.swift @@ -2,7 +2,7 @@ /// HybridViewModelTriggerPropertySpec.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// import Foundation diff --git a/nitrogen/generated/ios/swift/HybridViewModelTriggerPropertySpec_cxx.swift b/nitrogen/generated/ios/swift/HybridViewModelTriggerPropertySpec_cxx.swift index c815ef87..51322eee 100644 --- a/nitrogen/generated/ios/swift/HybridViewModelTriggerPropertySpec_cxx.swift +++ b/nitrogen/generated/ios/swift/HybridViewModelTriggerPropertySpec_cxx.swift @@ -2,7 +2,7 @@ /// HybridViewModelTriggerPropertySpec_cxx.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// import Foundation diff --git a/nitrogen/generated/ios/swift/ReferencedAssetsType.swift b/nitrogen/generated/ios/swift/ReferencedAssetsType.swift index 127aaa51..bd8993e7 100644 --- a/nitrogen/generated/ios/swift/ReferencedAssetsType.swift +++ b/nitrogen/generated/ios/swift/ReferencedAssetsType.swift @@ -2,7 +2,7 @@ /// ReferencedAssetsType.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// import Foundation diff --git a/nitrogen/generated/ios/swift/ResolvedReferencedAsset.swift b/nitrogen/generated/ios/swift/ResolvedReferencedAsset.swift index 5218b71e..38637983 100644 --- a/nitrogen/generated/ios/swift/ResolvedReferencedAsset.swift +++ b/nitrogen/generated/ios/swift/ResolvedReferencedAsset.swift @@ -2,7 +2,7 @@ /// ResolvedReferencedAsset.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// import Foundation diff --git a/nitrogen/generated/ios/swift/RiveError.swift b/nitrogen/generated/ios/swift/RiveError.swift index 5723ab3c..cfcc2aa5 100644 --- a/nitrogen/generated/ios/swift/RiveError.swift +++ b/nitrogen/generated/ios/swift/RiveError.swift @@ -2,7 +2,7 @@ /// RiveError.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// import Foundation diff --git a/nitrogen/generated/ios/swift/RiveErrorType.swift b/nitrogen/generated/ios/swift/RiveErrorType.swift index b5ef2e41..626cd87c 100644 --- a/nitrogen/generated/ios/swift/RiveErrorType.swift +++ b/nitrogen/generated/ios/swift/RiveErrorType.swift @@ -2,7 +2,7 @@ /// RiveErrorType.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// /** diff --git a/nitrogen/generated/ios/swift/RiveEventType.swift b/nitrogen/generated/ios/swift/RiveEventType.swift index 6964ed14..dc37712f 100644 --- a/nitrogen/generated/ios/swift/RiveEventType.swift +++ b/nitrogen/generated/ios/swift/RiveEventType.swift @@ -2,7 +2,7 @@ /// RiveEventType.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// /** diff --git a/nitrogen/generated/ios/swift/UnifiedRiveEvent.swift b/nitrogen/generated/ios/swift/UnifiedRiveEvent.swift index 8f0b454a..c508d0ca 100644 --- a/nitrogen/generated/ios/swift/UnifiedRiveEvent.swift +++ b/nitrogen/generated/ios/swift/UnifiedRiveEvent.swift @@ -2,7 +2,7 @@ /// UnifiedRiveEvent.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// import Foundation diff --git a/nitrogen/generated/ios/swift/Variant__any_HybridViewModelInstanceSpec__DataBindMode_DataBindByName.swift b/nitrogen/generated/ios/swift/Variant__any_HybridViewModelInstanceSpec__DataBindMode_DataBindByName.swift index 9b250552..11f1826d 100644 --- a/nitrogen/generated/ios/swift/Variant__any_HybridViewModelInstanceSpec__DataBindMode_DataBindByName.swift +++ b/nitrogen/generated/ios/swift/Variant__any_HybridViewModelInstanceSpec__DataBindMode_DataBindByName.swift @@ -2,7 +2,7 @@ /// Variant__any_HybridViewModelInstanceSpec__DataBindMode_DataBindByName.swift /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// diff --git a/nitrogen/generated/shared/c++/Alignment.hpp b/nitrogen/generated/shared/c++/Alignment.hpp index 96ee8a3e..cc04d7b6 100644 --- a/nitrogen/generated/shared/c++/Alignment.hpp +++ b/nitrogen/generated/shared/c++/Alignment.hpp @@ -2,7 +2,7 @@ /// Alignment.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #pragma once diff --git a/nitrogen/generated/shared/c++/ArtboardBy.hpp b/nitrogen/generated/shared/c++/ArtboardBy.hpp index 4e0e9bc4..9ee89407 100644 --- a/nitrogen/generated/shared/c++/ArtboardBy.hpp +++ b/nitrogen/generated/shared/c++/ArtboardBy.hpp @@ -2,7 +2,7 @@ /// ArtboardBy.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #pragma once diff --git a/nitrogen/generated/shared/c++/ArtboardByTypes.hpp b/nitrogen/generated/shared/c++/ArtboardByTypes.hpp index 9e23b09b..9032253d 100644 --- a/nitrogen/generated/shared/c++/ArtboardByTypes.hpp +++ b/nitrogen/generated/shared/c++/ArtboardByTypes.hpp @@ -2,7 +2,7 @@ /// ArtboardByTypes.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #pragma once diff --git a/nitrogen/generated/shared/c++/DataBindByName.hpp b/nitrogen/generated/shared/c++/DataBindByName.hpp index 005b8f25..897b5cfe 100644 --- a/nitrogen/generated/shared/c++/DataBindByName.hpp +++ b/nitrogen/generated/shared/c++/DataBindByName.hpp @@ -2,7 +2,7 @@ /// DataBindByName.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #pragma once diff --git a/nitrogen/generated/shared/c++/DataBindMode.hpp b/nitrogen/generated/shared/c++/DataBindMode.hpp index 9e9b53c7..49aee5c3 100644 --- a/nitrogen/generated/shared/c++/DataBindMode.hpp +++ b/nitrogen/generated/shared/c++/DataBindMode.hpp @@ -2,7 +2,7 @@ /// DataBindMode.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #pragma once diff --git a/nitrogen/generated/shared/c++/Fit.hpp b/nitrogen/generated/shared/c++/Fit.hpp index 52c14fb4..be90501d 100644 --- a/nitrogen/generated/shared/c++/Fit.hpp +++ b/nitrogen/generated/shared/c++/Fit.hpp @@ -2,7 +2,7 @@ /// Fit.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #pragma once diff --git a/nitrogen/generated/shared/c++/HybridBindableArtboardSpec.cpp b/nitrogen/generated/shared/c++/HybridBindableArtboardSpec.cpp new file mode 100644 index 00000000..786b7e9b --- /dev/null +++ b/nitrogen/generated/shared/c++/HybridBindableArtboardSpec.cpp @@ -0,0 +1,21 @@ +/// +/// HybridBindableArtboardSpec.cpp +/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. +/// https://github.com/mrousavy/nitro +/// Copyright © 2026 Marc Rousavy @ Margelo +/// + +#include "HybridBindableArtboardSpec.hpp" + +namespace margelo::nitro::rive { + + void HybridBindableArtboardSpec::loadHybridMethods() { + // load base methods/properties + HybridObject::loadHybridMethods(); + // load custom methods/properties + registerHybrids(this, [](Prototype& prototype) { + prototype.registerHybridGetter("artboardName", &HybridBindableArtboardSpec::getArtboardName); + }); + } + +} // namespace margelo::nitro::rive diff --git a/nitrogen/generated/shared/c++/HybridBindableArtboardSpec.hpp b/nitrogen/generated/shared/c++/HybridBindableArtboardSpec.hpp new file mode 100644 index 00000000..59d5844c --- /dev/null +++ b/nitrogen/generated/shared/c++/HybridBindableArtboardSpec.hpp @@ -0,0 +1,62 @@ +/// +/// HybridBindableArtboardSpec.hpp +/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. +/// https://github.com/mrousavy/nitro +/// Copyright © 2026 Marc Rousavy @ Margelo +/// + +#pragma once + +#if __has_include() +#include +#else +#error NitroModules cannot be found! Are you sure you installed NitroModules properly? +#endif + + + +#include + +namespace margelo::nitro::rive { + + using namespace margelo::nitro; + + /** + * An abstract base class for `BindableArtboard` + * Inherit this class to create instances of `HybridBindableArtboardSpec` in C++. + * You must explicitly call `HybridObject`'s constructor yourself, because it is virtual. + * @example + * ```cpp + * class HybridBindableArtboard: public HybridBindableArtboardSpec { + * public: + * HybridBindableArtboard(...): HybridObject(TAG) { ... } + * // ... + * }; + * ``` + */ + class HybridBindableArtboardSpec: public virtual HybridObject { + public: + // Constructor + explicit HybridBindableArtboardSpec(): HybridObject(TAG) { } + + // Destructor + ~HybridBindableArtboardSpec() override = default; + + public: + // Properties + virtual std::string getArtboardName() = 0; + + public: + // Methods + + + protected: + // Hybrid Setup + void loadHybridMethods() override; + + protected: + // Tag for logging + static constexpr auto TAG = "BindableArtboard"; + }; + +} // namespace margelo::nitro::rive diff --git a/nitrogen/generated/shared/c++/HybridRiveFileFactorySpec.cpp b/nitrogen/generated/shared/c++/HybridRiveFileFactorySpec.cpp index 34545b01..179acc1b 100644 --- a/nitrogen/generated/shared/c++/HybridRiveFileFactorySpec.cpp +++ b/nitrogen/generated/shared/c++/HybridRiveFileFactorySpec.cpp @@ -2,7 +2,7 @@ /// HybridRiveFileFactorySpec.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #include "HybridRiveFileFactorySpec.hpp" diff --git a/nitrogen/generated/shared/c++/HybridRiveFileFactorySpec.hpp b/nitrogen/generated/shared/c++/HybridRiveFileFactorySpec.hpp index c8367768..156f36df 100644 --- a/nitrogen/generated/shared/c++/HybridRiveFileFactorySpec.hpp +++ b/nitrogen/generated/shared/c++/HybridRiveFileFactorySpec.hpp @@ -2,7 +2,7 @@ /// HybridRiveFileFactorySpec.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #pragma once diff --git a/nitrogen/generated/shared/c++/HybridRiveFileSpec.cpp b/nitrogen/generated/shared/c++/HybridRiveFileSpec.cpp index efaab546..9921df0e 100644 --- a/nitrogen/generated/shared/c++/HybridRiveFileSpec.cpp +++ b/nitrogen/generated/shared/c++/HybridRiveFileSpec.cpp @@ -2,7 +2,7 @@ /// HybridRiveFileSpec.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #include "HybridRiveFileSpec.hpp" @@ -15,10 +15,13 @@ namespace margelo::nitro::rive { // load custom methods/properties registerHybrids(this, [](Prototype& prototype) { prototype.registerHybridGetter("viewModelCount", &HybridRiveFileSpec::getViewModelCount); + prototype.registerHybridGetter("artboardCount", &HybridRiveFileSpec::getArtboardCount); + prototype.registerHybridGetter("artboardNames", &HybridRiveFileSpec::getArtboardNames); prototype.registerHybridMethod("viewModelByIndex", &HybridRiveFileSpec::viewModelByIndex); prototype.registerHybridMethod("viewModelByName", &HybridRiveFileSpec::viewModelByName); prototype.registerHybridMethod("defaultArtboardViewModel", &HybridRiveFileSpec::defaultArtboardViewModel); prototype.registerHybridMethod("updateReferencedAssets", &HybridRiveFileSpec::updateReferencedAssets); + prototype.registerHybridMethod("getBindableArtboard", &HybridRiveFileSpec::getBindableArtboard); }); } diff --git a/nitrogen/generated/shared/c++/HybridRiveFileSpec.hpp b/nitrogen/generated/shared/c++/HybridRiveFileSpec.hpp index 3bac5ad2..45109b4d 100644 --- a/nitrogen/generated/shared/c++/HybridRiveFileSpec.hpp +++ b/nitrogen/generated/shared/c++/HybridRiveFileSpec.hpp @@ -2,7 +2,7 @@ /// HybridRiveFileSpec.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #pragma once @@ -19,13 +19,17 @@ namespace margelo::nitro::rive { class HybridViewModelSpec; } namespace margelo::nitro::rive { struct ArtboardBy; } // Forward declaration of `ReferencedAssetsType` to properly resolve imports. namespace margelo::nitro::rive { struct ReferencedAssetsType; } +// Forward declaration of `HybridBindableArtboardSpec` to properly resolve imports. +namespace margelo::nitro::rive { class HybridBindableArtboardSpec; } #include +#include +#include #include #include "HybridViewModelSpec.hpp" -#include #include "ArtboardBy.hpp" #include "ReferencedAssetsType.hpp" +#include "HybridBindableArtboardSpec.hpp" namespace margelo::nitro::rive { @@ -55,6 +59,8 @@ namespace margelo::nitro::rive { public: // Properties virtual std::optional getViewModelCount() = 0; + virtual double getArtboardCount() = 0; + virtual std::vector getArtboardNames() = 0; public: // Methods @@ -62,6 +68,7 @@ namespace margelo::nitro::rive { virtual std::optional> viewModelByName(const std::string& name) = 0; virtual std::optional> defaultArtboardViewModel(const std::optional& artboardBy) = 0; virtual void updateReferencedAssets(const ReferencedAssetsType& referencedAssets) = 0; + virtual std::shared_ptr getBindableArtboard(const std::string& name) = 0; protected: // Hybrid Setup diff --git a/nitrogen/generated/shared/c++/HybridRiveImageFactorySpec.cpp b/nitrogen/generated/shared/c++/HybridRiveImageFactorySpec.cpp index 3ff89396..113c97a6 100644 --- a/nitrogen/generated/shared/c++/HybridRiveImageFactorySpec.cpp +++ b/nitrogen/generated/shared/c++/HybridRiveImageFactorySpec.cpp @@ -2,7 +2,7 @@ /// HybridRiveImageFactorySpec.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #include "HybridRiveImageFactorySpec.hpp" diff --git a/nitrogen/generated/shared/c++/HybridRiveImageFactorySpec.hpp b/nitrogen/generated/shared/c++/HybridRiveImageFactorySpec.hpp index cd13ebbe..8440d726 100644 --- a/nitrogen/generated/shared/c++/HybridRiveImageFactorySpec.hpp +++ b/nitrogen/generated/shared/c++/HybridRiveImageFactorySpec.hpp @@ -2,7 +2,7 @@ /// HybridRiveImageFactorySpec.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #pragma once diff --git a/nitrogen/generated/shared/c++/HybridRiveImageSpec.cpp b/nitrogen/generated/shared/c++/HybridRiveImageSpec.cpp index 7879367e..5ed87b1b 100644 --- a/nitrogen/generated/shared/c++/HybridRiveImageSpec.cpp +++ b/nitrogen/generated/shared/c++/HybridRiveImageSpec.cpp @@ -2,7 +2,7 @@ /// HybridRiveImageSpec.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #include "HybridRiveImageSpec.hpp" diff --git a/nitrogen/generated/shared/c++/HybridRiveImageSpec.hpp b/nitrogen/generated/shared/c++/HybridRiveImageSpec.hpp index b04e3c3a..a9e410cb 100644 --- a/nitrogen/generated/shared/c++/HybridRiveImageSpec.hpp +++ b/nitrogen/generated/shared/c++/HybridRiveImageSpec.hpp @@ -2,7 +2,7 @@ /// HybridRiveImageSpec.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #pragma once diff --git a/nitrogen/generated/shared/c++/HybridRiveSpec.cpp b/nitrogen/generated/shared/c++/HybridRiveSpec.cpp index d8640b87..ad6d24e7 100644 --- a/nitrogen/generated/shared/c++/HybridRiveSpec.cpp +++ b/nitrogen/generated/shared/c++/HybridRiveSpec.cpp @@ -2,7 +2,7 @@ /// HybridRiveSpec.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #include "HybridRiveSpec.hpp" diff --git a/nitrogen/generated/shared/c++/HybridRiveSpec.hpp b/nitrogen/generated/shared/c++/HybridRiveSpec.hpp index 8b68c384..7eada081 100644 --- a/nitrogen/generated/shared/c++/HybridRiveSpec.hpp +++ b/nitrogen/generated/shared/c++/HybridRiveSpec.hpp @@ -2,7 +2,7 @@ /// HybridRiveSpec.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #pragma once diff --git a/nitrogen/generated/shared/c++/HybridRiveViewSpec.cpp b/nitrogen/generated/shared/c++/HybridRiveViewSpec.cpp index a33a7fc3..5429be76 100644 --- a/nitrogen/generated/shared/c++/HybridRiveViewSpec.cpp +++ b/nitrogen/generated/shared/c++/HybridRiveViewSpec.cpp @@ -2,7 +2,7 @@ /// HybridRiveViewSpec.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #include "HybridRiveViewSpec.hpp" diff --git a/nitrogen/generated/shared/c++/HybridRiveViewSpec.hpp b/nitrogen/generated/shared/c++/HybridRiveViewSpec.hpp index d8754389..31ff3493 100644 --- a/nitrogen/generated/shared/c++/HybridRiveViewSpec.hpp +++ b/nitrogen/generated/shared/c++/HybridRiveViewSpec.hpp @@ -2,7 +2,7 @@ /// HybridRiveViewSpec.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #pragma once diff --git a/nitrogen/generated/shared/c++/HybridViewModelArtboardPropertySpec.cpp b/nitrogen/generated/shared/c++/HybridViewModelArtboardPropertySpec.cpp new file mode 100644 index 00000000..64127473 --- /dev/null +++ b/nitrogen/generated/shared/c++/HybridViewModelArtboardPropertySpec.cpp @@ -0,0 +1,22 @@ +/// +/// HybridViewModelArtboardPropertySpec.cpp +/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. +/// https://github.com/mrousavy/nitro +/// Copyright © 2026 Marc Rousavy @ Margelo +/// + +#include "HybridViewModelArtboardPropertySpec.hpp" + +namespace margelo::nitro::rive { + + void HybridViewModelArtboardPropertySpec::loadHybridMethods() { + // load base methods/properties + HybridObject::loadHybridMethods(); + HybridViewModelPropertySpec::loadHybridMethods(); + // load custom methods/properties + registerHybrids(this, [](Prototype& prototype) { + prototype.registerHybridMethod("set", &HybridViewModelArtboardPropertySpec::set); + }); + } + +} // namespace margelo::nitro::rive diff --git a/nitrogen/generated/shared/c++/HybridViewModelArtboardPropertySpec.hpp b/nitrogen/generated/shared/c++/HybridViewModelArtboardPropertySpec.hpp new file mode 100644 index 00000000..532928d8 --- /dev/null +++ b/nitrogen/generated/shared/c++/HybridViewModelArtboardPropertySpec.hpp @@ -0,0 +1,68 @@ +/// +/// HybridViewModelArtboardPropertySpec.hpp +/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. +/// https://github.com/mrousavy/nitro +/// Copyright © 2026 Marc Rousavy @ Margelo +/// + +#pragma once + +#if __has_include() +#include +#else +#error NitroModules cannot be found! Are you sure you installed NitroModules properly? +#endif + +// Forward declaration of `HybridBindableArtboardSpec` to properly resolve imports. +namespace margelo::nitro::rive { class HybridBindableArtboardSpec; } +// Forward declaration of `HybridViewModelPropertySpec` to properly resolve imports. +namespace margelo::nitro::rive { class HybridViewModelPropertySpec; } + +#include +#include "HybridBindableArtboardSpec.hpp" +#include +#include "HybridViewModelPropertySpec.hpp" + +namespace margelo::nitro::rive { + + using namespace margelo::nitro; + + /** + * An abstract base class for `ViewModelArtboardProperty` + * Inherit this class to create instances of `HybridViewModelArtboardPropertySpec` in C++. + * You must explicitly call `HybridObject`'s constructor yourself, because it is virtual. + * @example + * ```cpp + * class HybridViewModelArtboardProperty: public HybridViewModelArtboardPropertySpec { + * public: + * HybridViewModelArtboardProperty(...): HybridObject(TAG) { ... } + * // ... + * }; + * ``` + */ + class HybridViewModelArtboardPropertySpec: public virtual HybridObject, public virtual HybridViewModelPropertySpec { + public: + // Constructor + explicit HybridViewModelArtboardPropertySpec(): HybridObject(TAG) { } + + // Destructor + ~HybridViewModelArtboardPropertySpec() override = default; + + public: + // Properties + + + public: + // Methods + virtual void set(const std::optional>& artboard) = 0; + + protected: + // Hybrid Setup + void loadHybridMethods() override; + + protected: + // Tag for logging + static constexpr auto TAG = "ViewModelArtboardProperty"; + }; + +} // namespace margelo::nitro::rive diff --git a/nitrogen/generated/shared/c++/HybridViewModelBooleanPropertySpec.cpp b/nitrogen/generated/shared/c++/HybridViewModelBooleanPropertySpec.cpp index 6bb9b522..4066f1c2 100644 --- a/nitrogen/generated/shared/c++/HybridViewModelBooleanPropertySpec.cpp +++ b/nitrogen/generated/shared/c++/HybridViewModelBooleanPropertySpec.cpp @@ -2,7 +2,7 @@ /// HybridViewModelBooleanPropertySpec.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #include "HybridViewModelBooleanPropertySpec.hpp" diff --git a/nitrogen/generated/shared/c++/HybridViewModelBooleanPropertySpec.hpp b/nitrogen/generated/shared/c++/HybridViewModelBooleanPropertySpec.hpp index 3576952e..0e11b5f9 100644 --- a/nitrogen/generated/shared/c++/HybridViewModelBooleanPropertySpec.hpp +++ b/nitrogen/generated/shared/c++/HybridViewModelBooleanPropertySpec.hpp @@ -2,7 +2,7 @@ /// HybridViewModelBooleanPropertySpec.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #pragma once diff --git a/nitrogen/generated/shared/c++/HybridViewModelColorPropertySpec.cpp b/nitrogen/generated/shared/c++/HybridViewModelColorPropertySpec.cpp index d0094060..7d77a712 100644 --- a/nitrogen/generated/shared/c++/HybridViewModelColorPropertySpec.cpp +++ b/nitrogen/generated/shared/c++/HybridViewModelColorPropertySpec.cpp @@ -2,7 +2,7 @@ /// HybridViewModelColorPropertySpec.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #include "HybridViewModelColorPropertySpec.hpp" diff --git a/nitrogen/generated/shared/c++/HybridViewModelColorPropertySpec.hpp b/nitrogen/generated/shared/c++/HybridViewModelColorPropertySpec.hpp index 840916c0..0945725d 100644 --- a/nitrogen/generated/shared/c++/HybridViewModelColorPropertySpec.hpp +++ b/nitrogen/generated/shared/c++/HybridViewModelColorPropertySpec.hpp @@ -2,7 +2,7 @@ /// HybridViewModelColorPropertySpec.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #pragma once diff --git a/nitrogen/generated/shared/c++/HybridViewModelEnumPropertySpec.cpp b/nitrogen/generated/shared/c++/HybridViewModelEnumPropertySpec.cpp index abbd9821..7731089c 100644 --- a/nitrogen/generated/shared/c++/HybridViewModelEnumPropertySpec.cpp +++ b/nitrogen/generated/shared/c++/HybridViewModelEnumPropertySpec.cpp @@ -2,7 +2,7 @@ /// HybridViewModelEnumPropertySpec.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #include "HybridViewModelEnumPropertySpec.hpp" diff --git a/nitrogen/generated/shared/c++/HybridViewModelEnumPropertySpec.hpp b/nitrogen/generated/shared/c++/HybridViewModelEnumPropertySpec.hpp index 99d34cae..0a526d93 100644 --- a/nitrogen/generated/shared/c++/HybridViewModelEnumPropertySpec.hpp +++ b/nitrogen/generated/shared/c++/HybridViewModelEnumPropertySpec.hpp @@ -2,7 +2,7 @@ /// HybridViewModelEnumPropertySpec.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #pragma once diff --git a/nitrogen/generated/shared/c++/HybridViewModelImagePropertySpec.cpp b/nitrogen/generated/shared/c++/HybridViewModelImagePropertySpec.cpp index 50cf7da7..2e14160c 100644 --- a/nitrogen/generated/shared/c++/HybridViewModelImagePropertySpec.cpp +++ b/nitrogen/generated/shared/c++/HybridViewModelImagePropertySpec.cpp @@ -2,7 +2,7 @@ /// HybridViewModelImagePropertySpec.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #include "HybridViewModelImagePropertySpec.hpp" diff --git a/nitrogen/generated/shared/c++/HybridViewModelImagePropertySpec.hpp b/nitrogen/generated/shared/c++/HybridViewModelImagePropertySpec.hpp index cb4608b9..46e70aa1 100644 --- a/nitrogen/generated/shared/c++/HybridViewModelImagePropertySpec.hpp +++ b/nitrogen/generated/shared/c++/HybridViewModelImagePropertySpec.hpp @@ -2,7 +2,7 @@ /// HybridViewModelImagePropertySpec.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #pragma once diff --git a/nitrogen/generated/shared/c++/HybridViewModelInstanceSpec.cpp b/nitrogen/generated/shared/c++/HybridViewModelInstanceSpec.cpp index 497960e9..3e33e47f 100644 --- a/nitrogen/generated/shared/c++/HybridViewModelInstanceSpec.cpp +++ b/nitrogen/generated/shared/c++/HybridViewModelInstanceSpec.cpp @@ -2,7 +2,7 @@ /// HybridViewModelInstanceSpec.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #include "HybridViewModelInstanceSpec.hpp" @@ -23,6 +23,7 @@ namespace margelo::nitro::rive { prototype.registerHybridMethod("triggerProperty", &HybridViewModelInstanceSpec::triggerProperty); prototype.registerHybridMethod("imageProperty", &HybridViewModelInstanceSpec::imageProperty); prototype.registerHybridMethod("listProperty", &HybridViewModelInstanceSpec::listProperty); + prototype.registerHybridMethod("artboardProperty", &HybridViewModelInstanceSpec::artboardProperty); }); } diff --git a/nitrogen/generated/shared/c++/HybridViewModelInstanceSpec.hpp b/nitrogen/generated/shared/c++/HybridViewModelInstanceSpec.hpp index a709211f..ea4b3744 100644 --- a/nitrogen/generated/shared/c++/HybridViewModelInstanceSpec.hpp +++ b/nitrogen/generated/shared/c++/HybridViewModelInstanceSpec.hpp @@ -2,7 +2,7 @@ /// HybridViewModelInstanceSpec.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #pragma once @@ -29,6 +29,8 @@ namespace margelo::nitro::rive { class HybridViewModelTriggerPropertySpec; } namespace margelo::nitro::rive { class HybridViewModelImagePropertySpec; } // Forward declaration of `HybridViewModelListPropertySpec` to properly resolve imports. namespace margelo::nitro::rive { class HybridViewModelListPropertySpec; } +// Forward declaration of `HybridViewModelArtboardPropertySpec` to properly resolve imports. +namespace margelo::nitro::rive { class HybridViewModelArtboardPropertySpec; } #include #include @@ -41,6 +43,7 @@ namespace margelo::nitro::rive { class HybridViewModelListPropertySpec; } #include "HybridViewModelTriggerPropertySpec.hpp" #include "HybridViewModelImagePropertySpec.hpp" #include "HybridViewModelListPropertySpec.hpp" +#include "HybridViewModelArtboardPropertySpec.hpp" namespace margelo::nitro::rive { @@ -81,6 +84,7 @@ namespace margelo::nitro::rive { virtual std::optional> triggerProperty(const std::string& path) = 0; virtual std::optional> imageProperty(const std::string& path) = 0; virtual std::optional> listProperty(const std::string& path) = 0; + virtual std::optional> artboardProperty(const std::string& path) = 0; protected: // Hybrid Setup diff --git a/nitrogen/generated/shared/c++/HybridViewModelListPropertySpec.cpp b/nitrogen/generated/shared/c++/HybridViewModelListPropertySpec.cpp index f92c84b6..1a2b5c69 100644 --- a/nitrogen/generated/shared/c++/HybridViewModelListPropertySpec.cpp +++ b/nitrogen/generated/shared/c++/HybridViewModelListPropertySpec.cpp @@ -2,7 +2,7 @@ /// HybridViewModelListPropertySpec.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #include "HybridViewModelListPropertySpec.hpp" diff --git a/nitrogen/generated/shared/c++/HybridViewModelListPropertySpec.hpp b/nitrogen/generated/shared/c++/HybridViewModelListPropertySpec.hpp index 25db0a91..78b222a6 100644 --- a/nitrogen/generated/shared/c++/HybridViewModelListPropertySpec.hpp +++ b/nitrogen/generated/shared/c++/HybridViewModelListPropertySpec.hpp @@ -2,7 +2,7 @@ /// HybridViewModelListPropertySpec.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #pragma once diff --git a/nitrogen/generated/shared/c++/HybridViewModelNumberPropertySpec.cpp b/nitrogen/generated/shared/c++/HybridViewModelNumberPropertySpec.cpp index 6cc56cdc..4bdcda41 100644 --- a/nitrogen/generated/shared/c++/HybridViewModelNumberPropertySpec.cpp +++ b/nitrogen/generated/shared/c++/HybridViewModelNumberPropertySpec.cpp @@ -2,7 +2,7 @@ /// HybridViewModelNumberPropertySpec.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #include "HybridViewModelNumberPropertySpec.hpp" diff --git a/nitrogen/generated/shared/c++/HybridViewModelNumberPropertySpec.hpp b/nitrogen/generated/shared/c++/HybridViewModelNumberPropertySpec.hpp index 1a21df01..3f94a706 100644 --- a/nitrogen/generated/shared/c++/HybridViewModelNumberPropertySpec.hpp +++ b/nitrogen/generated/shared/c++/HybridViewModelNumberPropertySpec.hpp @@ -2,7 +2,7 @@ /// HybridViewModelNumberPropertySpec.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #pragma once diff --git a/nitrogen/generated/shared/c++/HybridViewModelPropertySpec.cpp b/nitrogen/generated/shared/c++/HybridViewModelPropertySpec.cpp index a6474522..dfe1e094 100644 --- a/nitrogen/generated/shared/c++/HybridViewModelPropertySpec.cpp +++ b/nitrogen/generated/shared/c++/HybridViewModelPropertySpec.cpp @@ -2,7 +2,7 @@ /// HybridViewModelPropertySpec.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #include "HybridViewModelPropertySpec.hpp" diff --git a/nitrogen/generated/shared/c++/HybridViewModelPropertySpec.hpp b/nitrogen/generated/shared/c++/HybridViewModelPropertySpec.hpp index b98f76c4..1656048c 100644 --- a/nitrogen/generated/shared/c++/HybridViewModelPropertySpec.hpp +++ b/nitrogen/generated/shared/c++/HybridViewModelPropertySpec.hpp @@ -2,7 +2,7 @@ /// HybridViewModelPropertySpec.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #pragma once diff --git a/nitrogen/generated/shared/c++/HybridViewModelSpec.cpp b/nitrogen/generated/shared/c++/HybridViewModelSpec.cpp index ee79d808..7bac3d91 100644 --- a/nitrogen/generated/shared/c++/HybridViewModelSpec.cpp +++ b/nitrogen/generated/shared/c++/HybridViewModelSpec.cpp @@ -2,7 +2,7 @@ /// HybridViewModelSpec.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #include "HybridViewModelSpec.hpp" diff --git a/nitrogen/generated/shared/c++/HybridViewModelSpec.hpp b/nitrogen/generated/shared/c++/HybridViewModelSpec.hpp index b15df27c..887173b9 100644 --- a/nitrogen/generated/shared/c++/HybridViewModelSpec.hpp +++ b/nitrogen/generated/shared/c++/HybridViewModelSpec.hpp @@ -2,7 +2,7 @@ /// HybridViewModelSpec.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #pragma once diff --git a/nitrogen/generated/shared/c++/HybridViewModelStringPropertySpec.cpp b/nitrogen/generated/shared/c++/HybridViewModelStringPropertySpec.cpp index ad376093..17d118c9 100644 --- a/nitrogen/generated/shared/c++/HybridViewModelStringPropertySpec.cpp +++ b/nitrogen/generated/shared/c++/HybridViewModelStringPropertySpec.cpp @@ -2,7 +2,7 @@ /// HybridViewModelStringPropertySpec.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #include "HybridViewModelStringPropertySpec.hpp" diff --git a/nitrogen/generated/shared/c++/HybridViewModelStringPropertySpec.hpp b/nitrogen/generated/shared/c++/HybridViewModelStringPropertySpec.hpp index c363a793..769e74bc 100644 --- a/nitrogen/generated/shared/c++/HybridViewModelStringPropertySpec.hpp +++ b/nitrogen/generated/shared/c++/HybridViewModelStringPropertySpec.hpp @@ -2,7 +2,7 @@ /// HybridViewModelStringPropertySpec.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #pragma once diff --git a/nitrogen/generated/shared/c++/HybridViewModelTriggerPropertySpec.cpp b/nitrogen/generated/shared/c++/HybridViewModelTriggerPropertySpec.cpp index 2f96302f..7bc54ceb 100644 --- a/nitrogen/generated/shared/c++/HybridViewModelTriggerPropertySpec.cpp +++ b/nitrogen/generated/shared/c++/HybridViewModelTriggerPropertySpec.cpp @@ -2,7 +2,7 @@ /// HybridViewModelTriggerPropertySpec.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #include "HybridViewModelTriggerPropertySpec.hpp" diff --git a/nitrogen/generated/shared/c++/HybridViewModelTriggerPropertySpec.hpp b/nitrogen/generated/shared/c++/HybridViewModelTriggerPropertySpec.hpp index 228af7d2..d3634c18 100644 --- a/nitrogen/generated/shared/c++/HybridViewModelTriggerPropertySpec.hpp +++ b/nitrogen/generated/shared/c++/HybridViewModelTriggerPropertySpec.hpp @@ -2,7 +2,7 @@ /// HybridViewModelTriggerPropertySpec.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #pragma once diff --git a/nitrogen/generated/shared/c++/ReferencedAssetsType.hpp b/nitrogen/generated/shared/c++/ReferencedAssetsType.hpp index 1e4f4b5f..d9d51e83 100644 --- a/nitrogen/generated/shared/c++/ReferencedAssetsType.hpp +++ b/nitrogen/generated/shared/c++/ReferencedAssetsType.hpp @@ -2,7 +2,7 @@ /// ReferencedAssetsType.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #pragma once diff --git a/nitrogen/generated/shared/c++/ResolvedReferencedAsset.hpp b/nitrogen/generated/shared/c++/ResolvedReferencedAsset.hpp index e2e15190..273ed49f 100644 --- a/nitrogen/generated/shared/c++/ResolvedReferencedAsset.hpp +++ b/nitrogen/generated/shared/c++/ResolvedReferencedAsset.hpp @@ -2,7 +2,7 @@ /// ResolvedReferencedAsset.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #pragma once diff --git a/nitrogen/generated/shared/c++/RiveError.hpp b/nitrogen/generated/shared/c++/RiveError.hpp index f798ac64..2cfb90c5 100644 --- a/nitrogen/generated/shared/c++/RiveError.hpp +++ b/nitrogen/generated/shared/c++/RiveError.hpp @@ -2,7 +2,7 @@ /// RiveError.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #pragma once diff --git a/nitrogen/generated/shared/c++/RiveErrorType.hpp b/nitrogen/generated/shared/c++/RiveErrorType.hpp index 28ee3c9b..4d56fbcc 100644 --- a/nitrogen/generated/shared/c++/RiveErrorType.hpp +++ b/nitrogen/generated/shared/c++/RiveErrorType.hpp @@ -2,7 +2,7 @@ /// RiveErrorType.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #pragma once diff --git a/nitrogen/generated/shared/c++/RiveEventType.hpp b/nitrogen/generated/shared/c++/RiveEventType.hpp index 1e2ed2b4..05669f51 100644 --- a/nitrogen/generated/shared/c++/RiveEventType.hpp +++ b/nitrogen/generated/shared/c++/RiveEventType.hpp @@ -2,7 +2,7 @@ /// RiveEventType.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #pragma once diff --git a/nitrogen/generated/shared/c++/UnifiedRiveEvent.hpp b/nitrogen/generated/shared/c++/UnifiedRiveEvent.hpp index 3c5d7708..4331baf1 100644 --- a/nitrogen/generated/shared/c++/UnifiedRiveEvent.hpp +++ b/nitrogen/generated/shared/c++/UnifiedRiveEvent.hpp @@ -2,7 +2,7 @@ /// UnifiedRiveEvent.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #pragma once diff --git a/nitrogen/generated/shared/c++/views/HybridRiveViewComponent.cpp b/nitrogen/generated/shared/c++/views/HybridRiveViewComponent.cpp index c1edd20a..e4d39fc8 100644 --- a/nitrogen/generated/shared/c++/views/HybridRiveViewComponent.cpp +++ b/nitrogen/generated/shared/c++/views/HybridRiveViewComponent.cpp @@ -2,7 +2,7 @@ /// HybridRiveViewComponent.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #include "HybridRiveViewComponent.hpp" diff --git a/nitrogen/generated/shared/c++/views/HybridRiveViewComponent.hpp b/nitrogen/generated/shared/c++/views/HybridRiveViewComponent.hpp index 1ea801c1..911eef8d 100644 --- a/nitrogen/generated/shared/c++/views/HybridRiveViewComponent.hpp +++ b/nitrogen/generated/shared/c++/views/HybridRiveViewComponent.hpp @@ -2,7 +2,7 @@ /// HybridRiveViewComponent.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro -/// Copyright © 2025 Marc Rousavy @ Margelo +/// Copyright © 2026 Marc Rousavy @ Margelo /// #pragma once diff --git a/src/index.tsx b/src/index.tsx index 0a5a3a4f..f37bd9eb 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -31,7 +31,9 @@ export type { ViewModelTriggerProperty, ViewModelImageProperty, ViewModelListProperty, + ViewModelArtboardProperty, } from './specs/ViewModel.nitro'; +export type { BindableArtboard } from './specs/BindableArtboard.nitro'; export { Fit } from './core/Fit'; export { Alignment } from './core/Alignment'; export { RiveFileFactory } from './core/RiveFile'; diff --git a/src/specs/BindableArtboard.nitro.ts b/src/specs/BindableArtboard.nitro.ts new file mode 100644 index 00000000..f23e8618 --- /dev/null +++ b/src/specs/BindableArtboard.nitro.ts @@ -0,0 +1,14 @@ +import type { HybridObject } from 'react-native-nitro-modules'; + +/** + * A bindable artboard that can be assigned to a {@link ViewModelArtboardProperty}. + * Created via {@link RiveFile.getBindableArtboard}. + * + * Used for data binding artboards - swapping artboard sources at runtime. + * @see {@link https://rive.app/docs/runtimes/data-binding Rive Data Binding Documentation} + */ +export interface BindableArtboard + extends HybridObject<{ ios: 'swift'; android: 'kotlin' }> { + /** The name of the artboard */ + readonly artboardName: string; +} diff --git a/src/specs/RiveFile.nitro.ts b/src/specs/RiveFile.nitro.ts index b721448b..02822c38 100644 --- a/src/specs/RiveFile.nitro.ts +++ b/src/specs/RiveFile.nitro.ts @@ -2,6 +2,7 @@ import type { HybridObject } from 'react-native-nitro-modules'; import type { ViewModel } from './ViewModel.nitro'; import type { ArtboardBy } from './ArtboardBy'; import type { RiveImage } from './RiveImage.nitro'; +import type { BindableArtboard } from './BindableArtboard.nitro'; export type ResolvedReferencedAsset = { sourceUrl?: string; @@ -30,6 +31,17 @@ export interface RiveFile /** Returns the default view model for the provided artboard */ defaultArtboardViewModel(artboardBy?: ArtboardBy): ViewModel | undefined; updateReferencedAssets(referencedAssets: ReferencedAssetsType): void; + + /** The number of artboards in the Rive file */ + readonly artboardCount: number; + /** The names of all artboards in the Rive file */ + readonly artboardNames: string[]; + /** + * Get a bindable artboard by name for use with data binding. + * @throws Error if artboard with the given name is not found + * @see {@link https://rive.app/docs/runtimes/data-binding Rive Data Binding Documentation} + */ + getBindableArtboard(name: string): BindableArtboard; } export interface RiveFileFactory diff --git a/src/specs/ViewModel.nitro.ts b/src/specs/ViewModel.nitro.ts index 6ee2c327..b9b607c9 100644 --- a/src/specs/ViewModel.nitro.ts +++ b/src/specs/ViewModel.nitro.ts @@ -1,5 +1,6 @@ import type { HybridObject } from 'react-native-nitro-modules'; import type { RiveImage } from './RiveImage.nitro'; +import type { BindableArtboard } from './BindableArtboard.nitro'; /** * A Rive View Model as created in the Rive editor. @@ -55,6 +56,9 @@ export interface ViewModelInstance /** Get a list property from the view model instance at the given path */ listProperty(path: string): ViewModelListProperty | undefined; + + /** Get an artboard property from the view model instance at the given path */ + artboardProperty(path: string): ViewModelArtboardProperty | undefined; } export interface ViewModelProperty @@ -152,3 +156,16 @@ export interface ViewModelListProperty /** Add a listener to be notified when the list changes. Returns a function to remove the listener. */ addListener(onChanged: () => void): () => void; } + +/** + * An artboard property that allows swapping artboards at runtime. + * This is a write-only property - artboards can be set but not read. + * @see {@link https://rive.app/docs/runtimes/data-binding Rive Data Binding Documentation} + */ +export interface ViewModelArtboardProperty extends ViewModelProperty { + /** + * Set the artboard for this property. + * Pass undefined to clear the currently bound artboard. + */ + set(artboard: BindableArtboard | undefined): void; +}