@rive-app/react-native 0.1.1-beta.1 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +18 -7
- package/android/src/main/java/com/margelo/nitro/rive/BaseHybridViewModelProperty.kt +9 -7
- package/android/src/main/java/com/margelo/nitro/rive/BaseHybridViewModelPropertyImpl.kt +43 -24
- package/android/src/main/java/com/margelo/nitro/rive/HybridRiveFile.kt +0 -1
- package/android/src/main/java/com/margelo/nitro/rive/HybridViewModelBooleanProperty.kt +3 -2
- package/android/src/main/java/com/margelo/nitro/rive/HybridViewModelColorProperty.kt +3 -2
- package/android/src/main/java/com/margelo/nitro/rive/HybridViewModelEnumProperty.kt +3 -2
- package/android/src/main/java/com/margelo/nitro/rive/HybridViewModelImageProperty.kt +3 -2
- package/android/src/main/java/com/margelo/nitro/rive/HybridViewModelInstance.kt +26 -47
- package/android/src/main/java/com/margelo/nitro/rive/HybridViewModelListProperty.kt +64 -0
- package/android/src/main/java/com/margelo/nitro/rive/HybridViewModelNumberProperty.kt +3 -2
- package/android/src/main/java/com/margelo/nitro/rive/HybridViewModelStringProperty.kt +3 -2
- package/android/src/main/java/com/margelo/nitro/rive/HybridViewModelTriggerProperty.kt +3 -2
- package/ios/BaseHybridViewModelProperty.swift +22 -6
- package/ios/HybridViewModel.swift +1 -6
- package/ios/HybridViewModelBooleanProperty.swift +1 -9
- package/ios/HybridViewModelColorProperty.swift +3 -12
- package/ios/HybridViewModelEnumProperty.swift +1 -9
- package/ios/HybridViewModelImageProperty.swift +4 -4
- package/ios/HybridViewModelInstance.swift +6 -6
- package/ios/HybridViewModelListProperty.swift +62 -0
- package/ios/HybridViewModelNumberProperty.swift +2 -13
- package/ios/HybridViewModelStringProperty.swift +1 -9
- package/ios/HybridViewModelTriggerProperty.swift +5 -14
- package/ios/RiveReactNativeView.swift +36 -0
- package/lib/module/hooks/useRiveColor.js +0 -1
- package/lib/module/hooks/useRiveColor.js.map +1 -1
- package/lib/module/hooks/useRiveList.js +71 -0
- package/lib/module/hooks/useRiveList.js.map +1 -0
- package/lib/module/hooks/useRiveProperty.js +6 -12
- package/lib/module/hooks/useRiveProperty.js.map +1 -1
- package/lib/module/hooks/useViewModelInstance.js +139 -0
- package/lib/module/hooks/useViewModelInstance.js.map +1 -0
- package/lib/module/index.js +2 -0
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/src/hooks/useRiveColor.d.ts +6 -4
- package/lib/typescript/src/hooks/useRiveColor.d.ts.map +1 -1
- package/lib/typescript/src/hooks/useRiveList.d.ts +11 -0
- package/lib/typescript/src/hooks/useRiveList.d.ts.map +1 -0
- package/lib/typescript/src/hooks/useRiveProperty.d.ts +6 -1
- package/lib/typescript/src/hooks/useRiveProperty.d.ts.map +1 -1
- package/lib/typescript/src/hooks/useViewModelInstance.d.ts +86 -0
- package/lib/typescript/src/hooks/useViewModelInstance.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts +4 -1
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/specs/ViewModel.nitro.d.ts +39 -15
- package/lib/typescript/src/specs/ViewModel.nitro.d.ts.map +1 -1
- package/lib/typescript/src/types.d.ts +47 -3
- package/lib/typescript/src/types.d.ts.map +1 -1
- package/nitrogen/generated/android/c++/JHybridViewModelBooleanPropertySpec.cpp +14 -4
- package/nitrogen/generated/android/c++/JHybridViewModelBooleanPropertySpec.hpp +1 -1
- package/nitrogen/generated/android/c++/JHybridViewModelColorPropertySpec.cpp +14 -4
- package/nitrogen/generated/android/c++/JHybridViewModelColorPropertySpec.hpp +1 -1
- package/nitrogen/generated/android/c++/JHybridViewModelEnumPropertySpec.cpp +14 -4
- package/nitrogen/generated/android/c++/JHybridViewModelEnumPropertySpec.hpp +1 -1
- package/nitrogen/generated/android/c++/JHybridViewModelImagePropertySpec.cpp +15 -6
- package/nitrogen/generated/android/c++/JHybridViewModelImagePropertySpec.hpp +1 -1
- package/nitrogen/generated/android/c++/JHybridViewModelInstanceSpec.cpp +9 -0
- package/nitrogen/generated/android/c++/JHybridViewModelInstanceSpec.hpp +1 -0
- package/nitrogen/generated/android/c++/JHybridViewModelListPropertySpec.cpp +102 -0
- package/nitrogen/generated/android/c++/JHybridViewModelListPropertySpec.hpp +73 -0
- package/nitrogen/generated/android/c++/JHybridViewModelNumberPropertySpec.cpp +14 -4
- package/nitrogen/generated/android/c++/JHybridViewModelNumberPropertySpec.hpp +1 -1
- package/nitrogen/generated/android/c++/JHybridViewModelStringPropertySpec.cpp +14 -4
- package/nitrogen/generated/android/c++/JHybridViewModelStringPropertySpec.hpp +1 -1
- package/nitrogen/generated/android/c++/JHybridViewModelTriggerPropertySpec.cpp +12 -3
- package/nitrogen/generated/android/c++/JHybridViewModelTriggerPropertySpec.hpp +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelBooleanPropertySpec.kt +3 -3
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelColorPropertySpec.kt +3 -3
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelEnumPropertySpec.kt +3 -3
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelImagePropertySpec.kt +3 -3
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelInstanceSpec.kt +4 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelListPropertySpec.kt +92 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelNumberPropertySpec.kt +3 -3
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelStringPropertySpec.kt +3 -3
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelTriggerPropertySpec.kt +3 -3
- package/nitrogen/generated/android/rive+autolinking.cmake +2 -0
- package/nitrogen/generated/android/riveOnLoad.cpp +4 -74
- package/nitrogen/generated/ios/RNRive-Swift-Cxx-Bridge.cpp +17 -0
- package/nitrogen/generated/ios/RNRive-Swift-Cxx-Bridge.hpp +53 -0
- package/nitrogen/generated/ios/RNRive-Swift-Cxx-Umbrella.hpp +5 -0
- package/nitrogen/generated/ios/RNRiveAutolinking.mm +0 -72
- package/nitrogen/generated/ios/RNRiveAutolinking.swift +0 -135
- package/nitrogen/generated/ios/c++/HybridViewModelBooleanPropertySpecSwift.hpp +3 -1
- package/nitrogen/generated/ios/c++/HybridViewModelColorPropertySpecSwift.hpp +3 -1
- package/nitrogen/generated/ios/c++/HybridViewModelEnumPropertySpecSwift.hpp +3 -1
- package/nitrogen/generated/ios/c++/HybridViewModelImagePropertySpecSwift.hpp +3 -1
- package/nitrogen/generated/ios/c++/HybridViewModelInstanceSpecSwift.hpp +11 -0
- package/nitrogen/generated/ios/c++/HybridViewModelListPropertySpecSwift.cpp +11 -0
- package/nitrogen/generated/ios/c++/HybridViewModelListPropertySpecSwift.hpp +134 -0
- package/nitrogen/generated/ios/c++/HybridViewModelNumberPropertySpecSwift.hpp +3 -1
- package/nitrogen/generated/ios/c++/HybridViewModelStringPropertySpecSwift.hpp +3 -1
- package/nitrogen/generated/ios/c++/HybridViewModelTriggerPropertySpecSwift.hpp +3 -1
- package/nitrogen/generated/ios/swift/HybridViewModelBooleanPropertySpec.swift +1 -1
- package/nitrogen/generated/ios/swift/HybridViewModelBooleanPropertySpec_cxx.swift +8 -4
- package/nitrogen/generated/ios/swift/HybridViewModelColorPropertySpec.swift +1 -1
- package/nitrogen/generated/ios/swift/HybridViewModelColorPropertySpec_cxx.swift +8 -4
- package/nitrogen/generated/ios/swift/HybridViewModelEnumPropertySpec.swift +1 -1
- package/nitrogen/generated/ios/swift/HybridViewModelEnumPropertySpec_cxx.swift +8 -4
- package/nitrogen/generated/ios/swift/HybridViewModelImagePropertySpec.swift +1 -1
- package/nitrogen/generated/ios/swift/HybridViewModelImagePropertySpec_cxx.swift +8 -4
- package/nitrogen/generated/ios/swift/HybridViewModelInstanceSpec.swift +1 -0
- package/nitrogen/generated/ios/swift/HybridViewModelInstanceSpec_cxx.swift +21 -0
- package/nitrogen/generated/ios/swift/HybridViewModelListPropertySpec.swift +63 -0
- package/nitrogen/generated/ios/swift/HybridViewModelListPropertySpec_cxx.swift +248 -0
- package/nitrogen/generated/ios/swift/HybridViewModelNumberPropertySpec.swift +1 -1
- package/nitrogen/generated/ios/swift/HybridViewModelNumberPropertySpec_cxx.swift +8 -4
- package/nitrogen/generated/ios/swift/HybridViewModelStringPropertySpec.swift +1 -1
- package/nitrogen/generated/ios/swift/HybridViewModelStringPropertySpec_cxx.swift +8 -4
- package/nitrogen/generated/ios/swift/HybridViewModelTriggerPropertySpec.swift +1 -1
- package/nitrogen/generated/ios/swift/HybridViewModelTriggerPropertySpec_cxx.swift +8 -4
- package/nitrogen/generated/shared/c++/HybridViewModelBooleanPropertySpec.hpp +1 -1
- package/nitrogen/generated/shared/c++/HybridViewModelColorPropertySpec.hpp +1 -1
- package/nitrogen/generated/shared/c++/HybridViewModelEnumPropertySpec.hpp +1 -1
- package/nitrogen/generated/shared/c++/HybridViewModelImagePropertySpec.hpp +1 -1
- package/nitrogen/generated/shared/c++/HybridViewModelInstanceSpec.cpp +1 -0
- package/nitrogen/generated/shared/c++/HybridViewModelInstanceSpec.hpp +4 -0
- package/nitrogen/generated/shared/c++/HybridViewModelListPropertySpec.cpp +30 -0
- package/nitrogen/generated/shared/c++/HybridViewModelListPropertySpec.hpp +76 -0
- package/nitrogen/generated/shared/c++/HybridViewModelNumberPropertySpec.hpp +1 -1
- package/nitrogen/generated/shared/c++/HybridViewModelStringPropertySpec.hpp +1 -1
- package/nitrogen/generated/shared/c++/HybridViewModelTriggerPropertySpec.hpp +1 -1
- package/package.json +3 -3
- package/src/hooks/useRiveColor.ts +7 -4
- package/src/hooks/useRiveList.ts +108 -0
- package/src/hooks/useRiveProperty.ts +20 -13
- package/src/hooks/useViewModelInstance.ts +195 -0
- package/src/index.tsx +4 -0
- package/src/specs/ViewModel.nitro.ts +43 -15
- package/src/types.tsx +58 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useViewModelInstance.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useViewModelInstance.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAG5C,MAAM,WAAW,0BAA0B;IACzC;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;OAIG;IACH,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,iBAAiB,KAAK,IAAI,CAAC;CAChD;AAED,KAAK,eAAe,GAAG,SAAS,GAAG,QAAQ,GAAG,WAAW,CAAC;AAgD1D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqDG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,0BAA0B,GAAG;IAAE,QAAQ,EAAE,IAAI,CAAA;CAAE,GACtD,iBAAiB,CAAC;AACrB,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,eAAe,GAAG,IAAI,EAC9B,MAAM,CAAC,EAAE,0BAA0B,GAClC,iBAAiB,GAAG,IAAI,CAAC"}
|
|
@@ -9,7 +9,7 @@ export { RiveView, type RiveViewProps } from './core/RiveView';
|
|
|
9
9
|
export type { RiveViewMethods };
|
|
10
10
|
export type RiveViewRef = HybridView<NativeRiveViewProps, RiveViewTSMethods>;
|
|
11
11
|
export type { RiveFile } from './specs/RiveFile.nitro';
|
|
12
|
-
export type { ViewModel, ViewModelInstance, ViewModelNumberProperty, ViewModelStringProperty, ViewModelBooleanProperty, ViewModelColorProperty, ViewModelEnumProperty, ViewModelTriggerProperty, ViewModelImageProperty, } from './specs/ViewModel.nitro';
|
|
12
|
+
export type { ViewModel, ViewModelInstance, ViewModelNumberProperty, ViewModelStringProperty, ViewModelBooleanProperty, ViewModelColorProperty, ViewModelEnumProperty, ViewModelTriggerProperty, ViewModelImageProperty, ViewModelListProperty, } from './specs/ViewModel.nitro';
|
|
13
13
|
export { Fit } from './core/Fit';
|
|
14
14
|
export { Alignment } from './core/Alignment';
|
|
15
15
|
export { RiveFileFactory } from './core/RiveFile';
|
|
@@ -26,7 +26,10 @@ export { useRiveBoolean } from './hooks/useRiveBoolean';
|
|
|
26
26
|
export { useRiveEnum } from './hooks/useRiveEnum';
|
|
27
27
|
export { useRiveColor } from './hooks/useRiveColor';
|
|
28
28
|
export { useRiveTrigger } from './hooks/useRiveTrigger';
|
|
29
|
+
export { useRiveList } from './hooks/useRiveList';
|
|
30
|
+
export { useViewModelInstance } from './hooks/useViewModelInstance';
|
|
29
31
|
export { useRiveFile } from './hooks/useRiveFile';
|
|
30
32
|
export { type RiveFileInput } from './hooks/useRiveFile';
|
|
33
|
+
export { type SetValueAction } from './types';
|
|
31
34
|
export { DataBindMode };
|
|
32
35
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,KAAK,aAAa,IAAI,mBAAmB,EACzC,YAAY,EACZ,KAAK,cAAc,IAAI,uBAAuB,EAC/C,MAAM,wBAAwB,CAAC;AAEhC,qBAAa,cAAe,YAAW,uBAAuB;IAC5D,MAAM,EAAE,MAAM,CAAC;gBACH,IAAI,EAAE,MAAM;CAGzB;AAED,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAE9D,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC/D,YAAY,EAAE,eAAe,EAAE,CAAC;AAChC,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,mBAAmB,EAAE,iBAAiB,CAAC,CAAC;AAC7E,YAAY,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AACvD,YAAY,EACV,SAAS,EACT,iBAAiB,EACjB,uBAAuB,EACvB,uBAAuB,EACvB,wBAAwB,EACxB,sBAAsB,EACtB,qBAAqB,EACrB,wBAAwB,EACxB,sBAAsB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,KAAK,aAAa,IAAI,mBAAmB,EACzC,YAAY,EACZ,KAAK,cAAc,IAAI,uBAAuB,EAC/C,MAAM,wBAAwB,CAAC;AAEhC,qBAAa,cAAe,YAAW,uBAAuB;IAC5D,MAAM,EAAE,MAAM,CAAC;gBACH,IAAI,EAAE,MAAM;CAGzB;AAED,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAE9D,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC/D,YAAY,EAAE,eAAe,EAAE,CAAC;AAChC,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,mBAAmB,EAAE,iBAAiB,CAAC,CAAC;AAC7E,YAAY,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AACvD,YAAY,EACV,SAAS,EACT,iBAAiB,EACjB,uBAAuB,EACvB,uBAAuB,EACvB,wBAAwB,EACxB,sBAAsB,EACtB,qBAAqB,EACrB,wBAAwB,EACxB,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,YAAY,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,KAAK,SAAS,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,EAAE,KAAK,SAAS,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACrE,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,SAAS,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,CAAC"}
|
|
@@ -48,6 +48,8 @@ export interface ViewModelInstance extends HybridObject<{
|
|
|
48
48
|
triggerProperty(path: string): ViewModelTriggerProperty | undefined;
|
|
49
49
|
/** Get an image property from the view model instance at the given path */
|
|
50
50
|
imageProperty(path: string): ViewModelImageProperty | undefined;
|
|
51
|
+
/** Get a list property from the view model instance at the given path */
|
|
52
|
+
listProperty(path: string): ViewModelListProperty | undefined;
|
|
51
53
|
}
|
|
52
54
|
export interface ViewModelProperty extends HybridObject<{
|
|
53
55
|
ios: 'swift';
|
|
@@ -55,49 +57,71 @@ export interface ViewModelProperty extends HybridObject<{
|
|
|
55
57
|
}> {
|
|
56
58
|
}
|
|
57
59
|
export interface ObservableProperty {
|
|
58
|
-
/** Remove all listeners from the
|
|
60
|
+
/** Remove all listeners from the property */
|
|
59
61
|
removeListeners(): void;
|
|
60
62
|
}
|
|
61
63
|
export interface ViewModelNumberProperty extends ViewModelProperty, ObservableProperty {
|
|
62
64
|
/** The value of the view model number property */
|
|
63
65
|
value: number;
|
|
64
|
-
/** Add a listener to the view model number property */
|
|
65
|
-
addListener(onChanged: (value: number) => void): void;
|
|
66
|
+
/** Add a listener to the view model number property. Returns a function to remove the listener. */
|
|
67
|
+
addListener(onChanged: (value: number) => void): () => void;
|
|
66
68
|
}
|
|
67
69
|
export interface ViewModelStringProperty extends ViewModelProperty, ObservableProperty {
|
|
68
70
|
/** The value of the view model string property */
|
|
69
71
|
value: string;
|
|
70
|
-
/** Add a listener to the view model string property */
|
|
71
|
-
addListener(onChanged: (value: string) => void): void;
|
|
72
|
+
/** Add a listener to the view model string property. Returns a function to remove the listener. */
|
|
73
|
+
addListener(onChanged: (value: string) => void): () => void;
|
|
72
74
|
}
|
|
73
75
|
export interface ViewModelBooleanProperty extends ViewModelProperty, ObservableProperty {
|
|
74
76
|
/** The value of the view model boolean property */
|
|
75
77
|
value: boolean;
|
|
76
|
-
/** Add a listener to the view model boolean property */
|
|
77
|
-
addListener(onChanged: (value: boolean) => void): void;
|
|
78
|
+
/** Add a listener to the view model boolean property. Returns a function to remove the listener. */
|
|
79
|
+
addListener(onChanged: (value: boolean) => void): () => void;
|
|
78
80
|
}
|
|
79
81
|
export interface ViewModelColorProperty extends ViewModelProperty, ObservableProperty {
|
|
80
82
|
/** The value of the view model color property */
|
|
81
83
|
value: number;
|
|
82
|
-
/** Add a listener to the view model color property */
|
|
83
|
-
addListener(onChanged: (value: number) => void): void;
|
|
84
|
+
/** Add a listener to the view model color property. Returns a function to remove the listener. */
|
|
85
|
+
addListener(onChanged: (value: number) => void): () => void;
|
|
84
86
|
}
|
|
85
87
|
export interface ViewModelEnumProperty extends ViewModelProperty, ObservableProperty {
|
|
86
88
|
/** The value of the view model enum property */
|
|
87
89
|
value: string;
|
|
88
|
-
/** Add a listener to the view model enum property */
|
|
89
|
-
addListener(onChanged: (value: string) => void): void;
|
|
90
|
+
/** Add a listener to the view model enum property. Returns a function to remove the listener. */
|
|
91
|
+
addListener(onChanged: (value: string) => void): () => void;
|
|
90
92
|
}
|
|
91
93
|
export interface ViewModelTriggerProperty extends ViewModelProperty, ObservableProperty {
|
|
92
|
-
/** Add a listener to the view model trigger property */
|
|
93
|
-
addListener(onChanged: () => void): void;
|
|
94
|
+
/** Add a listener to the view model trigger property. Returns a function to remove the listener. */
|
|
95
|
+
addListener(onChanged: () => void): () => void;
|
|
94
96
|
/** Trigger the view model trigger property */
|
|
95
97
|
trigger(): void;
|
|
96
98
|
}
|
|
97
99
|
export interface ViewModelImageProperty extends ViewModelProperty, ObservableProperty {
|
|
98
100
|
/** Set the image property value */
|
|
99
101
|
set(image: RiveImage | undefined): void;
|
|
100
|
-
/** Add a listener to the view model image property */
|
|
101
|
-
addListener(onChanged: () => void): void;
|
|
102
|
+
/** Add a listener to the view model image property. Returns a function to remove the listener. */
|
|
103
|
+
addListener(onChanged: () => void): () => void;
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* A list property that contains a dynamic collection of {@link ViewModelInstance} objects.
|
|
107
|
+
* @see {@link https://rive.app/docs/runtimes/data-binding#lists Rive Data Binding Lists}
|
|
108
|
+
*/
|
|
109
|
+
export interface ViewModelListProperty extends ViewModelProperty, ObservableProperty {
|
|
110
|
+
/** The number of instances in the list */
|
|
111
|
+
readonly length: number;
|
|
112
|
+
/** Get the instance at the given index */
|
|
113
|
+
getInstanceAt(index: number): ViewModelInstance | undefined;
|
|
114
|
+
/** Add an instance to the end of the list */
|
|
115
|
+
addInstance(instance: ViewModelInstance): void;
|
|
116
|
+
/** Add an instance at the given index, returns true if successful */
|
|
117
|
+
addInstanceAt(instance: ViewModelInstance, index: number): boolean;
|
|
118
|
+
/** Remove an instance from the list */
|
|
119
|
+
removeInstance(instance: ViewModelInstance): void;
|
|
120
|
+
/** Remove the instance at the given index */
|
|
121
|
+
removeInstanceAt(index: number): void;
|
|
122
|
+
/** Swap the instances at the given indices, returns true if successful */
|
|
123
|
+
swap(index1: number, index2: number): boolean;
|
|
124
|
+
/** Add a listener to be notified when the list changes. Returns a function to remove the listener. */
|
|
125
|
+
addListener(onChanged: () => void): () => void;
|
|
102
126
|
}
|
|
103
127
|
//# sourceMappingURL=ViewModel.nitro.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ViewModel.nitro.d.ts","sourceRoot":"","sources":["../../../../src/specs/ViewModel.nitro.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEnD;;;GAGG;AACH,MAAM,WAAW,SACf,SAAQ,YAAY,CAAC;IAAE,GAAG,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,QAAQ,CAAA;CAAE,CAAC;IACzD,iDAAiD;IACjD,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,2DAA2D;IAC3D,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,iCAAiC;IACjC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,uDAAuD;IACvD,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS,CAAC;IACpE,sDAAsD;IACtD,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS,CAAC;IAClE,oDAAoD;IACpD,qBAAqB,IAAI,iBAAiB,GAAG,SAAS,CAAC;IACvD,8CAA8C;IAC9C,cAAc,IAAI,iBAAiB,GAAG,SAAS,CAAC;CACjD;AAED;;;;GAIG;AACH,MAAM,WAAW,iBACf,SAAQ,YAAY,CAAC;IAAE,GAAG,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,QAAQ,CAAA;CAAE,CAAC;IACzD,0CAA0C;IAC1C,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,2EAA2E;IAC3E,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,uBAAuB,GAAG,SAAS,CAAC;IAElE,2EAA2E;IAC3E,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,uBAAuB,GAAG,SAAS,CAAC;IAElE,4EAA4E;IAC5E,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,wBAAwB,GAAG,SAAS,CAAC;IAEpE,0EAA0E;IAC1E,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,sBAAsB,GAAG,SAAS,CAAC;IAEhE,0EAA0E;IAC1E,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,qBAAqB,GAAG,SAAS,CAAC;IAE9D,4EAA4E;IAC5E,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,wBAAwB,GAAG,SAAS,CAAC;IAEpE,2EAA2E;IAC3E,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,sBAAsB,GAAG,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"ViewModel.nitro.d.ts","sourceRoot":"","sources":["../../../../src/specs/ViewModel.nitro.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A value or a function that computes a new value from the previous value.
|
|
3
|
+
* Similar to React's SetStateAction pattern.
|
|
4
|
+
*/
|
|
5
|
+
export type SetValueAction<T> = T | ((prevValue: T | undefined) => T);
|
|
1
6
|
export interface UseRivePropertyResult<T> {
|
|
2
7
|
/**
|
|
3
8
|
* The current value of the property.
|
|
4
9
|
*/
|
|
5
10
|
value: T | undefined;
|
|
6
11
|
/**
|
|
7
|
-
* Set the value of the property.
|
|
8
|
-
*
|
|
12
|
+
* Set the value of the property. Accepts either a direct value or
|
|
13
|
+
* a function that receives the previous value and returns the new value.
|
|
14
|
+
* @example
|
|
15
|
+
* setValue(10) // Set to 10
|
|
16
|
+
* setValue((prev) => (prev ?? 0) + 5) // Increment by 5
|
|
9
17
|
*/
|
|
10
|
-
setValue: (value: T) => void;
|
|
18
|
+
setValue: (value: SetValueAction<T>) => void;
|
|
11
19
|
/**
|
|
12
20
|
* The error if the property is not found.
|
|
13
21
|
*/
|
|
@@ -30,4 +38,40 @@ export interface UseRiveTriggerResult {
|
|
|
30
38
|
export type UseViewModelInstanceTriggerParameters = {
|
|
31
39
|
onTrigger?: () => void;
|
|
32
40
|
};
|
|
41
|
+
export interface UseRiveListResult {
|
|
42
|
+
/**
|
|
43
|
+
* The number of instances in the list.
|
|
44
|
+
*/
|
|
45
|
+
length: number;
|
|
46
|
+
/**
|
|
47
|
+
* Get the instance at the given index.
|
|
48
|
+
*/
|
|
49
|
+
getInstanceAt: (index: number) => import('./specs/ViewModel.nitro').ViewModelInstance | undefined;
|
|
50
|
+
/**
|
|
51
|
+
* Add an instance to the end of the list.
|
|
52
|
+
*/
|
|
53
|
+
addInstance: (instance: import('./specs/ViewModel.nitro').ViewModelInstance) => void;
|
|
54
|
+
/**
|
|
55
|
+
* Add an instance at the given index.
|
|
56
|
+
* @returns true if successful
|
|
57
|
+
*/
|
|
58
|
+
addInstanceAt: (instance: import('./specs/ViewModel.nitro').ViewModelInstance, index: number) => boolean;
|
|
59
|
+
/**
|
|
60
|
+
* Remove an instance from the list.
|
|
61
|
+
*/
|
|
62
|
+
removeInstance: (instance: import('./specs/ViewModel.nitro').ViewModelInstance) => void;
|
|
63
|
+
/**
|
|
64
|
+
* Remove the instance at the given index.
|
|
65
|
+
*/
|
|
66
|
+
removeInstanceAt: (index: number) => void;
|
|
67
|
+
/**
|
|
68
|
+
* Swap the instances at the given indices.
|
|
69
|
+
* @returns true if successful
|
|
70
|
+
*/
|
|
71
|
+
swap: (index1: number, index2: number) => boolean;
|
|
72
|
+
/**
|
|
73
|
+
* The error if the property is not found.
|
|
74
|
+
*/
|
|
75
|
+
error: Error | null;
|
|
76
|
+
}
|
|
33
77
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.tsx"],"names":[],"mappings":"AAAA,MAAM,WAAW,qBAAqB,CAAC,CAAC;IACtC;;OAEG;IACH,KAAK,EAAE,CAAC,GAAG,SAAS,CAAC;IACrB
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC,GAAG,SAAS,KAAK,CAAC,CAAC,CAAC;AAEtE,MAAM,WAAW,qBAAqB,CAAC,CAAC;IACtC;;OAEG;IACH,KAAK,EAAE,CAAC,GAAG,SAAS,CAAC;IACrB;;;;;;OAMG;IACH,QAAQ,EAAE,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IAC7C;;OAEG;IACH,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;CACrB;AAED,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB;;OAEG;IACH,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;CACrB;AAED;;;GAGG;AACH,MAAM,MAAM,qCAAqC,GAAG;IAClD,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB,CAAC;AAEF,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,aAAa,EAAE,CACb,KAAK,EAAE,MAAM,KACV,OAAO,yBAAyB,EAAE,iBAAiB,GAAG,SAAS,CAAC;IACrE;;OAEG;IACH,WAAW,EAAE,CACX,QAAQ,EAAE,OAAO,yBAAyB,EAAE,iBAAiB,KAC1D,IAAI,CAAC;IACV;;;OAGG;IACH,aAAa,EAAE,CACb,QAAQ,EAAE,OAAO,yBAAyB,EAAE,iBAAiB,EAC7D,KAAK,EAAE,MAAM,KACV,OAAO,CAAC;IACb;;OAEG;IACH,cAAc,EAAE,CACd,QAAQ,EAAE,OAAO,yBAAyB,EAAE,iBAAiB,KAC1D,IAAI,CAAC;IACV;;OAEG;IACH,gBAAgB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C;;;OAGG;IACH,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC;IAClD;;OAEG;IACH,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;CACrB"}
|
|
@@ -10,8 +10,9 @@
|
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
#include <functional>
|
|
13
|
-
#include "
|
|
13
|
+
#include "JFunc_void.hpp"
|
|
14
14
|
#include <NitroModules/JNICallable.hpp>
|
|
15
|
+
#include "JFunc_void_bool.hpp"
|
|
15
16
|
|
|
16
17
|
namespace margelo::nitro::rive {
|
|
17
18
|
|
|
@@ -53,9 +54,18 @@ namespace margelo::nitro::rive {
|
|
|
53
54
|
}
|
|
54
55
|
|
|
55
56
|
// Methods
|
|
56
|
-
void JHybridViewModelBooleanPropertySpec::addListener(const std::function<void(bool /* value */)>& onChanged) {
|
|
57
|
-
static const auto method = javaClassStatic()->getMethod<
|
|
58
|
-
method(_javaPart, JFunc_void_bool_cxx::fromCpp(onChanged));
|
|
57
|
+
std::function<void()> JHybridViewModelBooleanPropertySpec::addListener(const std::function<void(bool /* value */)>& onChanged) {
|
|
58
|
+
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JFunc_void::javaobject>(jni::alias_ref<JFunc_void_bool::javaobject> /* onChanged */)>("addListener_cxx");
|
|
59
|
+
auto __result = method(_javaPart, JFunc_void_bool_cxx::fromCpp(onChanged));
|
|
60
|
+
return [&]() -> std::function<void()> {
|
|
61
|
+
if (__result->isInstanceOf(JFunc_void_cxx::javaClassStatic())) [[likely]] {
|
|
62
|
+
auto downcast = jni::static_ref_cast<JFunc_void_cxx::javaobject>(__result);
|
|
63
|
+
return downcast->cthis()->getFunction();
|
|
64
|
+
} else {
|
|
65
|
+
auto __resultRef = jni::make_global(__result);
|
|
66
|
+
return JNICallable<JFunc_void, void()>(std::move(__resultRef));
|
|
67
|
+
}
|
|
68
|
+
}();
|
|
59
69
|
}
|
|
60
70
|
void JHybridViewModelBooleanPropertySpec::removeListeners() {
|
|
61
71
|
static const auto method = javaClassStatic()->getMethod<void()>("removeListeners");
|
|
@@ -56,7 +56,7 @@ namespace margelo::nitro::rive {
|
|
|
56
56
|
|
|
57
57
|
public:
|
|
58
58
|
// Methods
|
|
59
|
-
void addListener(const std::function<void(bool /* value */)>& onChanged) override;
|
|
59
|
+
std::function<void()> addListener(const std::function<void(bool /* value */)>& onChanged) override;
|
|
60
60
|
void removeListeners() override;
|
|
61
61
|
|
|
62
62
|
private:
|
|
@@ -10,8 +10,9 @@
|
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
#include <functional>
|
|
13
|
-
#include "
|
|
13
|
+
#include "JFunc_void.hpp"
|
|
14
14
|
#include <NitroModules/JNICallable.hpp>
|
|
15
|
+
#include "JFunc_void_double.hpp"
|
|
15
16
|
|
|
16
17
|
namespace margelo::nitro::rive {
|
|
17
18
|
|
|
@@ -53,9 +54,18 @@ namespace margelo::nitro::rive {
|
|
|
53
54
|
}
|
|
54
55
|
|
|
55
56
|
// Methods
|
|
56
|
-
void JHybridViewModelColorPropertySpec::addListener(const std::function<void(double /* value */)>& onChanged) {
|
|
57
|
-
static const auto method = javaClassStatic()->getMethod<
|
|
58
|
-
method(_javaPart, JFunc_void_double_cxx::fromCpp(onChanged));
|
|
57
|
+
std::function<void()> JHybridViewModelColorPropertySpec::addListener(const std::function<void(double /* value */)>& onChanged) {
|
|
58
|
+
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JFunc_void::javaobject>(jni::alias_ref<JFunc_void_double::javaobject> /* onChanged */)>("addListener_cxx");
|
|
59
|
+
auto __result = method(_javaPart, JFunc_void_double_cxx::fromCpp(onChanged));
|
|
60
|
+
return [&]() -> std::function<void()> {
|
|
61
|
+
if (__result->isInstanceOf(JFunc_void_cxx::javaClassStatic())) [[likely]] {
|
|
62
|
+
auto downcast = jni::static_ref_cast<JFunc_void_cxx::javaobject>(__result);
|
|
63
|
+
return downcast->cthis()->getFunction();
|
|
64
|
+
} else {
|
|
65
|
+
auto __resultRef = jni::make_global(__result);
|
|
66
|
+
return JNICallable<JFunc_void, void()>(std::move(__resultRef));
|
|
67
|
+
}
|
|
68
|
+
}();
|
|
59
69
|
}
|
|
60
70
|
void JHybridViewModelColorPropertySpec::removeListeners() {
|
|
61
71
|
static const auto method = javaClassStatic()->getMethod<void()>("removeListeners");
|
|
@@ -56,7 +56,7 @@ namespace margelo::nitro::rive {
|
|
|
56
56
|
|
|
57
57
|
public:
|
|
58
58
|
// Methods
|
|
59
|
-
void addListener(const std::function<void(double /* value */)>& onChanged) override;
|
|
59
|
+
std::function<void()> addListener(const std::function<void(double /* value */)>& onChanged) override;
|
|
60
60
|
void removeListeners() override;
|
|
61
61
|
|
|
62
62
|
private:
|
|
@@ -11,8 +11,9 @@
|
|
|
11
11
|
|
|
12
12
|
#include <string>
|
|
13
13
|
#include <functional>
|
|
14
|
-
#include "
|
|
14
|
+
#include "JFunc_void.hpp"
|
|
15
15
|
#include <NitroModules/JNICallable.hpp>
|
|
16
|
+
#include "JFunc_void_std__string.hpp"
|
|
16
17
|
|
|
17
18
|
namespace margelo::nitro::rive {
|
|
18
19
|
|
|
@@ -54,9 +55,18 @@ namespace margelo::nitro::rive {
|
|
|
54
55
|
}
|
|
55
56
|
|
|
56
57
|
// Methods
|
|
57
|
-
void JHybridViewModelEnumPropertySpec::addListener(const std::function<void(const std::string& /* value */)>& onChanged) {
|
|
58
|
-
static const auto method = javaClassStatic()->getMethod<
|
|
59
|
-
method(_javaPart, JFunc_void_std__string_cxx::fromCpp(onChanged));
|
|
58
|
+
std::function<void()> JHybridViewModelEnumPropertySpec::addListener(const std::function<void(const std::string& /* value */)>& onChanged) {
|
|
59
|
+
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JFunc_void::javaobject>(jni::alias_ref<JFunc_void_std__string::javaobject> /* onChanged */)>("addListener_cxx");
|
|
60
|
+
auto __result = method(_javaPart, JFunc_void_std__string_cxx::fromCpp(onChanged));
|
|
61
|
+
return [&]() -> std::function<void()> {
|
|
62
|
+
if (__result->isInstanceOf(JFunc_void_cxx::javaClassStatic())) [[likely]] {
|
|
63
|
+
auto downcast = jni::static_ref_cast<JFunc_void_cxx::javaobject>(__result);
|
|
64
|
+
return downcast->cthis()->getFunction();
|
|
65
|
+
} else {
|
|
66
|
+
auto __resultRef = jni::make_global(__result);
|
|
67
|
+
return JNICallable<JFunc_void, void()>(std::move(__resultRef));
|
|
68
|
+
}
|
|
69
|
+
}();
|
|
60
70
|
}
|
|
61
71
|
void JHybridViewModelEnumPropertySpec::removeListeners() {
|
|
62
72
|
static const auto method = javaClassStatic()->getMethod<void()>("removeListeners");
|
|
@@ -56,7 +56,7 @@ namespace margelo::nitro::rive {
|
|
|
56
56
|
|
|
57
57
|
public:
|
|
58
58
|
// Methods
|
|
59
|
-
void addListener(const std::function<void(const std::string& /* value */)>& onChanged) override;
|
|
59
|
+
std::function<void()> addListener(const std::function<void(const std::string& /* value */)>& onChanged) override;
|
|
60
60
|
void removeListeners() override;
|
|
61
61
|
|
|
62
62
|
private:
|
|
@@ -10,13 +10,13 @@
|
|
|
10
10
|
// Forward declaration of `HybridRiveImageSpec` to properly resolve imports.
|
|
11
11
|
namespace margelo::nitro::rive { class HybridRiveImageSpec; }
|
|
12
12
|
|
|
13
|
+
#include <functional>
|
|
14
|
+
#include "JFunc_void.hpp"
|
|
15
|
+
#include <NitroModules/JNICallable.hpp>
|
|
13
16
|
#include <memory>
|
|
14
17
|
#include "HybridRiveImageSpec.hpp"
|
|
15
18
|
#include <optional>
|
|
16
19
|
#include "JHybridRiveImageSpec.hpp"
|
|
17
|
-
#include <functional>
|
|
18
|
-
#include "JFunc_void.hpp"
|
|
19
|
-
#include <NitroModules/JNICallable.hpp>
|
|
20
20
|
|
|
21
21
|
namespace margelo::nitro::rive {
|
|
22
22
|
|
|
@@ -54,9 +54,18 @@ namespace margelo::nitro::rive {
|
|
|
54
54
|
static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<JHybridRiveImageSpec::javaobject> /* image */)>("set");
|
|
55
55
|
method(_javaPart, image.has_value() ? std::dynamic_pointer_cast<JHybridRiveImageSpec>(image.value())->getJavaPart() : nullptr);
|
|
56
56
|
}
|
|
57
|
-
void JHybridViewModelImagePropertySpec::addListener(const std::function<void()>& onChanged) {
|
|
58
|
-
static const auto method = javaClassStatic()->getMethod<
|
|
59
|
-
method(_javaPart, JFunc_void_cxx::fromCpp(onChanged));
|
|
57
|
+
std::function<void()> JHybridViewModelImagePropertySpec::addListener(const std::function<void()>& onChanged) {
|
|
58
|
+
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JFunc_void::javaobject>(jni::alias_ref<JFunc_void::javaobject> /* onChanged */)>("addListener_cxx");
|
|
59
|
+
auto __result = method(_javaPart, JFunc_void_cxx::fromCpp(onChanged));
|
|
60
|
+
return [&]() -> std::function<void()> {
|
|
61
|
+
if (__result->isInstanceOf(JFunc_void_cxx::javaClassStatic())) [[likely]] {
|
|
62
|
+
auto downcast = jni::static_ref_cast<JFunc_void_cxx::javaobject>(__result);
|
|
63
|
+
return downcast->cthis()->getFunction();
|
|
64
|
+
} else {
|
|
65
|
+
auto __resultRef = jni::make_global(__result);
|
|
66
|
+
return JNICallable<JFunc_void, void()>(std::move(__resultRef));
|
|
67
|
+
}
|
|
68
|
+
}();
|
|
60
69
|
}
|
|
61
70
|
void JHybridViewModelImagePropertySpec::removeListeners() {
|
|
62
71
|
static const auto method = javaClassStatic()->getMethod<void()>("removeListeners");
|
|
@@ -56,7 +56,7 @@ namespace margelo::nitro::rive {
|
|
|
56
56
|
public:
|
|
57
57
|
// Methods
|
|
58
58
|
void set(const std::optional<std::shared_ptr<HybridRiveImageSpec>>& image) override;
|
|
59
|
-
void addListener(const std::function<void()>& onChanged) override;
|
|
59
|
+
std::function<void()> addListener(const std::function<void()>& onChanged) override;
|
|
60
60
|
void removeListeners() override;
|
|
61
61
|
|
|
62
62
|
private:
|
|
@@ -21,6 +21,8 @@ namespace margelo::nitro::rive { class HybridViewModelEnumPropertySpec; }
|
|
|
21
21
|
namespace margelo::nitro::rive { class HybridViewModelTriggerPropertySpec; }
|
|
22
22
|
// Forward declaration of `HybridViewModelImagePropertySpec` to properly resolve imports.
|
|
23
23
|
namespace margelo::nitro::rive { class HybridViewModelImagePropertySpec; }
|
|
24
|
+
// Forward declaration of `HybridViewModelListPropertySpec` to properly resolve imports.
|
|
25
|
+
namespace margelo::nitro::rive { class HybridViewModelListPropertySpec; }
|
|
24
26
|
|
|
25
27
|
#include <string>
|
|
26
28
|
#include <memory>
|
|
@@ -39,6 +41,8 @@ namespace margelo::nitro::rive { class HybridViewModelImagePropertySpec; }
|
|
|
39
41
|
#include "JHybridViewModelTriggerPropertySpec.hpp"
|
|
40
42
|
#include "HybridViewModelImagePropertySpec.hpp"
|
|
41
43
|
#include "JHybridViewModelImagePropertySpec.hpp"
|
|
44
|
+
#include "HybridViewModelListPropertySpec.hpp"
|
|
45
|
+
#include "JHybridViewModelListPropertySpec.hpp"
|
|
42
46
|
|
|
43
47
|
namespace margelo::nitro::rive {
|
|
44
48
|
|
|
@@ -111,5 +115,10 @@ namespace margelo::nitro::rive {
|
|
|
111
115
|
auto __result = method(_javaPart, jni::make_jstring(path));
|
|
112
116
|
return __result != nullptr ? std::make_optional(__result->cthis()->shared_cast<JHybridViewModelImagePropertySpec>()) : std::nullopt;
|
|
113
117
|
}
|
|
118
|
+
std::optional<std::shared_ptr<HybridViewModelListPropertySpec>> JHybridViewModelInstanceSpec::listProperty(const std::string& path) {
|
|
119
|
+
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JHybridViewModelListPropertySpec::javaobject>(jni::alias_ref<jni::JString> /* path */)>("listProperty");
|
|
120
|
+
auto __result = method(_javaPart, jni::make_jstring(path));
|
|
121
|
+
return __result != nullptr ? std::make_optional(__result->cthis()->shared_cast<JHybridViewModelListPropertySpec>()) : std::nullopt;
|
|
122
|
+
}
|
|
114
123
|
|
|
115
124
|
} // namespace margelo::nitro::rive
|
|
@@ -61,6 +61,7 @@ namespace margelo::nitro::rive {
|
|
|
61
61
|
std::optional<std::shared_ptr<HybridViewModelEnumPropertySpec>> enumProperty(const std::string& path) override;
|
|
62
62
|
std::optional<std::shared_ptr<HybridViewModelTriggerPropertySpec>> triggerProperty(const std::string& path) override;
|
|
63
63
|
std::optional<std::shared_ptr<HybridViewModelImagePropertySpec>> imageProperty(const std::string& path) override;
|
|
64
|
+
std::optional<std::shared_ptr<HybridViewModelListPropertySpec>> listProperty(const std::string& path) override;
|
|
64
65
|
|
|
65
66
|
private:
|
|
66
67
|
friend HybridBase;
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// JHybridViewModelListPropertySpec.cpp
|
|
3
|
+
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © 2025 Marc Rousavy @ Margelo
|
|
6
|
+
///
|
|
7
|
+
|
|
8
|
+
#include "JHybridViewModelListPropertySpec.hpp"
|
|
9
|
+
|
|
10
|
+
// Forward declaration of `HybridViewModelInstanceSpec` to properly resolve imports.
|
|
11
|
+
namespace margelo::nitro::rive { class HybridViewModelInstanceSpec; }
|
|
12
|
+
|
|
13
|
+
#include <memory>
|
|
14
|
+
#include "HybridViewModelInstanceSpec.hpp"
|
|
15
|
+
#include <optional>
|
|
16
|
+
#include "JHybridViewModelInstanceSpec.hpp"
|
|
17
|
+
#include <functional>
|
|
18
|
+
#include "JFunc_void.hpp"
|
|
19
|
+
#include <NitroModules/JNICallable.hpp>
|
|
20
|
+
|
|
21
|
+
namespace margelo::nitro::rive {
|
|
22
|
+
|
|
23
|
+
jni::local_ref<JHybridViewModelListPropertySpec::jhybriddata> JHybridViewModelListPropertySpec::initHybrid(jni::alias_ref<jhybridobject> jThis) {
|
|
24
|
+
return makeCxxInstance(jThis);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
void JHybridViewModelListPropertySpec::registerNatives() {
|
|
28
|
+
registerHybrid({
|
|
29
|
+
makeNativeMethod("initHybrid", JHybridViewModelListPropertySpec::initHybrid),
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
size_t JHybridViewModelListPropertySpec::getExternalMemorySize() noexcept {
|
|
34
|
+
static const auto method = javaClassStatic()->getMethod<jlong()>("getMemorySize");
|
|
35
|
+
return method(_javaPart);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
void JHybridViewModelListPropertySpec::dispose() noexcept {
|
|
39
|
+
static const auto method = javaClassStatic()->getMethod<void()>("dispose");
|
|
40
|
+
method(_javaPart);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
std::string JHybridViewModelListPropertySpec::toString() {
|
|
44
|
+
static const auto method = javaClassStatic()->getMethod<jni::JString()>("toString");
|
|
45
|
+
auto javaString = method(_javaPart);
|
|
46
|
+
return javaString->toStdString();
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
// Properties
|
|
50
|
+
double JHybridViewModelListPropertySpec::getLength() {
|
|
51
|
+
static const auto method = javaClassStatic()->getMethod<double()>("getLength");
|
|
52
|
+
auto __result = method(_javaPart);
|
|
53
|
+
return __result;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
// Methods
|
|
57
|
+
std::optional<std::shared_ptr<HybridViewModelInstanceSpec>> JHybridViewModelListPropertySpec::getInstanceAt(double index) {
|
|
58
|
+
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JHybridViewModelInstanceSpec::javaobject>(double /* index */)>("getInstanceAt");
|
|
59
|
+
auto __result = method(_javaPart, index);
|
|
60
|
+
return __result != nullptr ? std::make_optional(__result->cthis()->shared_cast<JHybridViewModelInstanceSpec>()) : std::nullopt;
|
|
61
|
+
}
|
|
62
|
+
void JHybridViewModelListPropertySpec::addInstance(const std::shared_ptr<HybridViewModelInstanceSpec>& instance) {
|
|
63
|
+
static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<JHybridViewModelInstanceSpec::javaobject> /* instance */)>("addInstance");
|
|
64
|
+
method(_javaPart, std::dynamic_pointer_cast<JHybridViewModelInstanceSpec>(instance)->getJavaPart());
|
|
65
|
+
}
|
|
66
|
+
bool JHybridViewModelListPropertySpec::addInstanceAt(const std::shared_ptr<HybridViewModelInstanceSpec>& instance, double index) {
|
|
67
|
+
static const auto method = javaClassStatic()->getMethod<jboolean(jni::alias_ref<JHybridViewModelInstanceSpec::javaobject> /* instance */, double /* index */)>("addInstanceAt");
|
|
68
|
+
auto __result = method(_javaPart, std::dynamic_pointer_cast<JHybridViewModelInstanceSpec>(instance)->getJavaPart(), index);
|
|
69
|
+
return static_cast<bool>(__result);
|
|
70
|
+
}
|
|
71
|
+
void JHybridViewModelListPropertySpec::removeInstance(const std::shared_ptr<HybridViewModelInstanceSpec>& instance) {
|
|
72
|
+
static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<JHybridViewModelInstanceSpec::javaobject> /* instance */)>("removeInstance");
|
|
73
|
+
method(_javaPart, std::dynamic_pointer_cast<JHybridViewModelInstanceSpec>(instance)->getJavaPart());
|
|
74
|
+
}
|
|
75
|
+
void JHybridViewModelListPropertySpec::removeInstanceAt(double index) {
|
|
76
|
+
static const auto method = javaClassStatic()->getMethod<void(double /* index */)>("removeInstanceAt");
|
|
77
|
+
method(_javaPart, index);
|
|
78
|
+
}
|
|
79
|
+
bool JHybridViewModelListPropertySpec::swap(double index1, double index2) {
|
|
80
|
+
static const auto method = javaClassStatic()->getMethod<jboolean(double /* index1 */, double /* index2 */)>("swap");
|
|
81
|
+
auto __result = method(_javaPart, index1, index2);
|
|
82
|
+
return static_cast<bool>(__result);
|
|
83
|
+
}
|
|
84
|
+
std::function<void()> JHybridViewModelListPropertySpec::addListener(const std::function<void()>& onChanged) {
|
|
85
|
+
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JFunc_void::javaobject>(jni::alias_ref<JFunc_void::javaobject> /* onChanged */)>("addListener_cxx");
|
|
86
|
+
auto __result = method(_javaPart, JFunc_void_cxx::fromCpp(onChanged));
|
|
87
|
+
return [&]() -> std::function<void()> {
|
|
88
|
+
if (__result->isInstanceOf(JFunc_void_cxx::javaClassStatic())) [[likely]] {
|
|
89
|
+
auto downcast = jni::static_ref_cast<JFunc_void_cxx::javaobject>(__result);
|
|
90
|
+
return downcast->cthis()->getFunction();
|
|
91
|
+
} else {
|
|
92
|
+
auto __resultRef = jni::make_global(__result);
|
|
93
|
+
return JNICallable<JFunc_void, void()>(std::move(__resultRef));
|
|
94
|
+
}
|
|
95
|
+
}();
|
|
96
|
+
}
|
|
97
|
+
void JHybridViewModelListPropertySpec::removeListeners() {
|
|
98
|
+
static const auto method = javaClassStatic()->getMethod<void()>("removeListeners");
|
|
99
|
+
method(_javaPart);
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
} // namespace margelo::nitro::rive
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// HybridViewModelListPropertySpec.hpp
|
|
3
|
+
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © 2025 Marc Rousavy @ Margelo
|
|
6
|
+
///
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#include <NitroModules/JHybridObject.hpp>
|
|
11
|
+
#include <fbjni/fbjni.h>
|
|
12
|
+
#include "HybridViewModelListPropertySpec.hpp"
|
|
13
|
+
|
|
14
|
+
// Forward declaration of `JHybridViewModelPropertySpec` to properly resolve imports.
|
|
15
|
+
namespace margelo::nitro::rive { class JHybridViewModelPropertySpec; }
|
|
16
|
+
#include "JHybridViewModelPropertySpec.hpp"
|
|
17
|
+
|
|
18
|
+
namespace margelo::nitro::rive {
|
|
19
|
+
|
|
20
|
+
using namespace facebook;
|
|
21
|
+
|
|
22
|
+
class JHybridViewModelListPropertySpec: public jni::HybridClass<JHybridViewModelListPropertySpec, JHybridViewModelPropertySpec>,
|
|
23
|
+
public virtual HybridViewModelListPropertySpec {
|
|
24
|
+
public:
|
|
25
|
+
static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/rive/HybridViewModelListPropertySpec;";
|
|
26
|
+
static jni::local_ref<jhybriddata> initHybrid(jni::alias_ref<jhybridobject> jThis);
|
|
27
|
+
static void registerNatives();
|
|
28
|
+
|
|
29
|
+
protected:
|
|
30
|
+
// C++ constructor (called from Java via `initHybrid()`)
|
|
31
|
+
explicit JHybridViewModelListPropertySpec(jni::alias_ref<jhybridobject> jThis) :
|
|
32
|
+
HybridObject(HybridViewModelListPropertySpec::TAG),
|
|
33
|
+
HybridBase(jThis),
|
|
34
|
+
_javaPart(jni::make_global(jThis)) {}
|
|
35
|
+
|
|
36
|
+
public:
|
|
37
|
+
~JHybridViewModelListPropertySpec() override {
|
|
38
|
+
// Hermes GC can destroy JS objects on a non-JNI Thread.
|
|
39
|
+
jni::ThreadScope::WithClassLoader([&] { _javaPart.reset(); });
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
public:
|
|
43
|
+
size_t getExternalMemorySize() noexcept override;
|
|
44
|
+
void dispose() noexcept override;
|
|
45
|
+
std::string toString() override;
|
|
46
|
+
|
|
47
|
+
public:
|
|
48
|
+
inline const jni::global_ref<JHybridViewModelListPropertySpec::javaobject>& getJavaPart() const noexcept {
|
|
49
|
+
return _javaPart;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
public:
|
|
53
|
+
// Properties
|
|
54
|
+
double getLength() override;
|
|
55
|
+
|
|
56
|
+
public:
|
|
57
|
+
// Methods
|
|
58
|
+
std::optional<std::shared_ptr<HybridViewModelInstanceSpec>> getInstanceAt(double index) override;
|
|
59
|
+
void addInstance(const std::shared_ptr<HybridViewModelInstanceSpec>& instance) override;
|
|
60
|
+
bool addInstanceAt(const std::shared_ptr<HybridViewModelInstanceSpec>& instance, double index) override;
|
|
61
|
+
void removeInstance(const std::shared_ptr<HybridViewModelInstanceSpec>& instance) override;
|
|
62
|
+
void removeInstanceAt(double index) override;
|
|
63
|
+
bool swap(double index1, double index2) override;
|
|
64
|
+
std::function<void()> addListener(const std::function<void()>& onChanged) override;
|
|
65
|
+
void removeListeners() override;
|
|
66
|
+
|
|
67
|
+
private:
|
|
68
|
+
friend HybridBase;
|
|
69
|
+
using HybridBase::HybridBase;
|
|
70
|
+
jni::global_ref<JHybridViewModelListPropertySpec::javaobject> _javaPart;
|
|
71
|
+
};
|
|
72
|
+
|
|
73
|
+
} // namespace margelo::nitro::rive
|