@rive-app/react-native 0.2.8 → 0.3.1
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/ios/DataSource.swift +1 -1
- package/ios/HybridRiveFileFactory.swift +1 -1
- package/ios/HybridRiveImageFactory.swift +1 -1
- package/lib/typescript/scripts/nitrogen-postprocess.d.ts +2 -0
- package/lib/typescript/scripts/nitrogen-postprocess.d.ts.map +1 -0
- package/nitrogen/generated/android/c++/JHybridBindableArtboardSpec.cpp +19 -25
- package/nitrogen/generated/android/c++/JHybridBindableArtboardSpec.hpp +19 -22
- package/nitrogen/generated/android/c++/JHybridFallbackFontSpec.cpp +18 -24
- package/nitrogen/generated/android/c++/JHybridFallbackFontSpec.hpp +19 -22
- package/nitrogen/generated/android/c++/JHybridRiveFileFactorySpec.cpp +30 -36
- package/nitrogen/generated/android/c++/JHybridRiveFileFactorySpec.hpp +19 -22
- package/nitrogen/generated/android/c++/JHybridRiveFileSpec.cpp +30 -36
- package/nitrogen/generated/android/c++/JHybridRiveFileSpec.hpp +19 -22
- package/nitrogen/generated/android/c++/JHybridRiveFontConfigSpec.cpp +34 -40
- package/nitrogen/generated/android/c++/JHybridRiveFontConfigSpec.hpp +19 -22
- package/nitrogen/generated/android/c++/JHybridRiveImageFactorySpec.cpp +27 -33
- package/nitrogen/generated/android/c++/JHybridRiveImageFactorySpec.hpp +19 -22
- package/nitrogen/generated/android/c++/JHybridRiveImageSpec.cpp +19 -25
- package/nitrogen/generated/android/c++/JHybridRiveImageSpec.hpp +19 -22
- package/nitrogen/generated/android/c++/JHybridRiveRuntimeSpec.cpp +21 -27
- package/nitrogen/generated/android/c++/JHybridRiveRuntimeSpec.hpp +19 -22
- package/nitrogen/generated/android/c++/JHybridRiveViewSpec.cpp +54 -60
- package/nitrogen/generated/android/c++/JHybridRiveViewSpec.hpp +19 -22
- package/nitrogen/generated/android/c++/JHybridViewModelArtboardPropertySpec.cpp +19 -25
- package/nitrogen/generated/android/c++/JHybridViewModelArtboardPropertySpec.hpp +20 -22
- package/nitrogen/generated/android/c++/JHybridViewModelBooleanPropertySpec.cpp +22 -28
- package/nitrogen/generated/android/c++/JHybridViewModelBooleanPropertySpec.hpp +20 -22
- package/nitrogen/generated/android/c++/JHybridViewModelColorPropertySpec.cpp +22 -28
- package/nitrogen/generated/android/c++/JHybridViewModelColorPropertySpec.hpp +20 -22
- package/nitrogen/generated/android/c++/JHybridViewModelEnumPropertySpec.cpp +22 -28
- package/nitrogen/generated/android/c++/JHybridViewModelEnumPropertySpec.hpp +20 -22
- package/nitrogen/generated/android/c++/JHybridViewModelImagePropertySpec.cpp +21 -27
- package/nitrogen/generated/android/c++/JHybridViewModelImagePropertySpec.hpp +20 -22
- package/nitrogen/generated/android/c++/JHybridViewModelInstanceSpec.cpp +40 -46
- package/nitrogen/generated/android/c++/JHybridViewModelInstanceSpec.hpp +19 -22
- package/nitrogen/generated/android/c++/JHybridViewModelListPropertySpec.cpp +28 -34
- package/nitrogen/generated/android/c++/JHybridViewModelListPropertySpec.hpp +20 -22
- package/nitrogen/generated/android/c++/JHybridViewModelNumberPropertySpec.cpp +22 -28
- package/nitrogen/generated/android/c++/JHybridViewModelNumberPropertySpec.hpp +20 -22
- package/nitrogen/generated/android/c++/JHybridViewModelPropertySpec.cpp +18 -24
- package/nitrogen/generated/android/c++/JHybridViewModelPropertySpec.hpp +19 -22
- package/nitrogen/generated/android/c++/JHybridViewModelSpec.cpp +29 -35
- package/nitrogen/generated/android/c++/JHybridViewModelSpec.hpp +19 -22
- package/nitrogen/generated/android/c++/JHybridViewModelStringPropertySpec.cpp +22 -28
- package/nitrogen/generated/android/c++/JHybridViewModelStringPropertySpec.hpp +20 -22
- package/nitrogen/generated/android/c++/JHybridViewModelTriggerPropertySpec.cpp +21 -27
- package/nitrogen/generated/android/c++/JHybridViewModelTriggerPropertySpec.hpp +20 -22
- package/nitrogen/generated/android/c++/JResolvedReferencedAsset.hpp +4 -4
- package/nitrogen/generated/android/c++/JVariant_HybridViewModelInstanceSpec_DataBindMode_DataBindByName.cpp +1 -1
- package/nitrogen/generated/android/c++/JVariant_HybridViewModelInstanceSpec_DataBindMode_DataBindByName.hpp +4 -4
- package/nitrogen/generated/android/c++/views/JHybridRiveViewStateUpdater.cpp +40 -40
- package/nitrogen/generated/android/c++/views/JHybridRiveViewStateUpdater.hpp +3 -3
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/EventPropertiesOutput.kt +0 -7
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridBindableArtboardSpec.kt +15 -18
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridFallbackFontSpec.kt +14 -17
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridRiveFileFactorySpec.kt +15 -18
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridRiveFileSpec.kt +15 -18
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridRiveFontConfigSpec.kt +15 -18
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridRiveImageFactorySpec.kt +15 -18
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridRiveImageSpec.kt +15 -18
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridRiveRuntimeSpec.kt +15 -18
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridRiveViewSpec.kt +16 -18
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelArtboardPropertySpec.kt +14 -17
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelBooleanPropertySpec.kt +15 -18
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelColorPropertySpec.kt +15 -18
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelEnumPropertySpec.kt +15 -18
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelImagePropertySpec.kt +15 -18
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelInstanceSpec.kt +15 -18
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelListPropertySpec.kt +15 -18
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelNumberPropertySpec.kt +15 -18
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelPropertySpec.kt +14 -17
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelSpec.kt +15 -18
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelStringPropertySpec.kt +15 -18
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelTriggerPropertySpec.kt +15 -18
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/Variant_HybridViewModelInstanceSpec_DataBindMode_DataBindByName.kt +0 -7
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/views/HybridRiveViewManager.kt +1 -1
- package/nitrogen/generated/android/riveOnLoad.cpp +121 -81
- package/nitrogen/generated/android/riveOnLoad.hpp +13 -4
- package/nitrogen/generated/ios/RNRive-Swift-Cxx-Bridge.hpp +23 -23
- package/nitrogen/generated/ios/swift/ArtboardBy.swift +8 -2
- package/nitrogen/generated/ios/swift/DataBindByName.swift +0 -1
- package/nitrogen/generated/ios/swift/Func_void.swift +0 -1
- package/nitrogen/generated/ios/swift/Func_void_RiveError.swift +0 -1
- package/nitrogen/generated/ios/swift/Func_void_UnifiedRiveEvent.swift +0 -1
- package/nitrogen/generated/ios/swift/Func_void_bool.swift +0 -1
- package/nitrogen/generated/ios/swift/Func_void_double.swift +0 -1
- package/nitrogen/generated/ios/swift/Func_void_std__exception_ptr.swift +0 -1
- package/nitrogen/generated/ios/swift/Func_void_std__shared_ptr_HybridFallbackFontSpec_.swift +0 -1
- package/nitrogen/generated/ios/swift/Func_void_std__shared_ptr_HybridRiveFileSpec_.swift +0 -1
- package/nitrogen/generated/ios/swift/Func_void_std__shared_ptr_HybridRiveImageSpec_.swift +0 -1
- package/nitrogen/generated/ios/swift/Func_void_std__string.swift +0 -1
- package/nitrogen/generated/ios/swift/HybridBindableArtboardSpec.swift +0 -1
- package/nitrogen/generated/ios/swift/HybridBindableArtboardSpec_cxx.swift +0 -1
- package/nitrogen/generated/ios/swift/HybridFallbackFontSpec.swift +0 -1
- package/nitrogen/generated/ios/swift/HybridFallbackFontSpec_cxx.swift +0 -1
- package/nitrogen/generated/ios/swift/HybridRiveFileFactorySpec.swift +0 -1
- package/nitrogen/generated/ios/swift/HybridRiveFileFactorySpec_cxx.swift +0 -1
- package/nitrogen/generated/ios/swift/HybridRiveFileSpec.swift +0 -1
- package/nitrogen/generated/ios/swift/HybridRiveFileSpec_cxx.swift +0 -1
- package/nitrogen/generated/ios/swift/HybridRiveFontConfigSpec.swift +0 -1
- package/nitrogen/generated/ios/swift/HybridRiveFontConfigSpec_cxx.swift +0 -1
- package/nitrogen/generated/ios/swift/HybridRiveImageFactorySpec.swift +0 -1
- package/nitrogen/generated/ios/swift/HybridRiveImageFactorySpec_cxx.swift +0 -1
- package/nitrogen/generated/ios/swift/HybridRiveImageSpec.swift +0 -1
- package/nitrogen/generated/ios/swift/HybridRiveImageSpec_cxx.swift +0 -1
- package/nitrogen/generated/ios/swift/HybridRiveRuntimeSpec.swift +0 -1
- package/nitrogen/generated/ios/swift/HybridRiveRuntimeSpec_cxx.swift +0 -1
- package/nitrogen/generated/ios/swift/HybridRiveViewSpec.swift +0 -1
- package/nitrogen/generated/ios/swift/HybridRiveViewSpec_cxx.swift +9 -3
- package/nitrogen/generated/ios/swift/HybridViewModelArtboardPropertySpec.swift +0 -1
- package/nitrogen/generated/ios/swift/HybridViewModelArtboardPropertySpec_cxx.swift +0 -1
- package/nitrogen/generated/ios/swift/HybridViewModelBooleanPropertySpec.swift +0 -1
- package/nitrogen/generated/ios/swift/HybridViewModelBooleanPropertySpec_cxx.swift +0 -1
- package/nitrogen/generated/ios/swift/HybridViewModelColorPropertySpec.swift +0 -1
- package/nitrogen/generated/ios/swift/HybridViewModelColorPropertySpec_cxx.swift +0 -1
- package/nitrogen/generated/ios/swift/HybridViewModelEnumPropertySpec.swift +0 -1
- package/nitrogen/generated/ios/swift/HybridViewModelEnumPropertySpec_cxx.swift +0 -1
- package/nitrogen/generated/ios/swift/HybridViewModelImagePropertySpec.swift +0 -1
- package/nitrogen/generated/ios/swift/HybridViewModelImagePropertySpec_cxx.swift +0 -1
- package/nitrogen/generated/ios/swift/HybridViewModelInstanceSpec.swift +0 -1
- package/nitrogen/generated/ios/swift/HybridViewModelInstanceSpec_cxx.swift +0 -1
- package/nitrogen/generated/ios/swift/HybridViewModelListPropertySpec.swift +0 -1
- package/nitrogen/generated/ios/swift/HybridViewModelListPropertySpec_cxx.swift +0 -1
- package/nitrogen/generated/ios/swift/HybridViewModelNumberPropertySpec.swift +0 -1
- package/nitrogen/generated/ios/swift/HybridViewModelNumberPropertySpec_cxx.swift +0 -1
- package/nitrogen/generated/ios/swift/HybridViewModelPropertySpec.swift +0 -1
- package/nitrogen/generated/ios/swift/HybridViewModelPropertySpec_cxx.swift +0 -1
- package/nitrogen/generated/ios/swift/HybridViewModelSpec.swift +0 -1
- package/nitrogen/generated/ios/swift/HybridViewModelSpec_cxx.swift +0 -1
- package/nitrogen/generated/ios/swift/HybridViewModelStringPropertySpec.swift +0 -1
- package/nitrogen/generated/ios/swift/HybridViewModelStringPropertySpec_cxx.swift +0 -1
- package/nitrogen/generated/ios/swift/HybridViewModelTriggerPropertySpec.swift +0 -1
- package/nitrogen/generated/ios/swift/HybridViewModelTriggerPropertySpec_cxx.swift +0 -1
- package/nitrogen/generated/ios/swift/ReferencedAssetsType.swift +0 -1
- package/nitrogen/generated/ios/swift/ResolvedReferencedAsset.swift +0 -1
- package/nitrogen/generated/ios/swift/RiveError.swift +0 -1
- package/nitrogen/generated/ios/swift/UnifiedRiveEvent.swift +8 -2
- package/nitrogen/generated/shared/c++/views/HybridRiveViewComponent.cpp +4 -17
- package/nitrogen/generated/shared/c++/views/HybridRiveViewComponent.hpp +8 -5
- package/package.json +7 -7
|
@@ -54,99 +54,93 @@ namespace margelo::nitro::rive { class HybridViewModelInstanceSpec; }
|
|
|
54
54
|
|
|
55
55
|
namespace margelo::nitro::rive {
|
|
56
56
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
});
|
|
57
|
+
std::shared_ptr<JHybridViewModelInstanceSpec> JHybridViewModelInstanceSpec::JavaPart::getJHybridViewModelInstanceSpec() {
|
|
58
|
+
auto hybridObject = JHybridObject::JavaPart::getJHybridObject();
|
|
59
|
+
auto castHybridObject = std::dynamic_pointer_cast<JHybridViewModelInstanceSpec>(hybridObject);
|
|
60
|
+
if (castHybridObject == nullptr) [[unlikely]] {
|
|
61
|
+
throw std::runtime_error("Failed to downcast JHybridObject to JHybridViewModelInstanceSpec!");
|
|
62
|
+
}
|
|
63
|
+
return castHybridObject;
|
|
65
64
|
}
|
|
66
65
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
return method(_javaPart);
|
|
66
|
+
jni::local_ref<JHybridViewModelInstanceSpec::CxxPart::jhybriddata> JHybridViewModelInstanceSpec::CxxPart::initHybrid(jni::alias_ref<jhybridobject> jThis) {
|
|
67
|
+
return makeCxxInstance(jThis);
|
|
70
68
|
}
|
|
71
69
|
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
70
|
+
std::shared_ptr<JHybridObject> JHybridViewModelInstanceSpec::CxxPart::createHybridObject(const jni::local_ref<JHybridObject::JavaPart>& javaPart) {
|
|
71
|
+
auto castJavaPart = jni::dynamic_ref_cast<JHybridViewModelInstanceSpec::JavaPart>(javaPart);
|
|
72
|
+
if (castJavaPart == nullptr) [[unlikely]] {
|
|
73
|
+
throw std::runtime_error("Failed to cast JHybridObject::JavaPart to JHybridViewModelInstanceSpec::JavaPart!");
|
|
75
74
|
}
|
|
76
|
-
return
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
void JHybridViewModelInstanceSpec::dispose() noexcept {
|
|
80
|
-
static const auto method = javaClassStatic()->getMethod<void()>("dispose");
|
|
81
|
-
method(_javaPart);
|
|
75
|
+
return std::make_shared<JHybridViewModelInstanceSpec>(castJavaPart);
|
|
82
76
|
}
|
|
83
77
|
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
78
|
+
void JHybridViewModelInstanceSpec::CxxPart::registerNatives() {
|
|
79
|
+
registerHybrid({
|
|
80
|
+
makeNativeMethod("initHybrid", JHybridViewModelInstanceSpec::CxxPart::initHybrid),
|
|
81
|
+
});
|
|
88
82
|
}
|
|
89
83
|
|
|
90
84
|
// Properties
|
|
91
85
|
std::string JHybridViewModelInstanceSpec::getInstanceName() {
|
|
92
|
-
static const auto method = javaClassStatic()->getMethod<jni::local_ref<jni::JString>()>("getInstanceName");
|
|
86
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<jni::JString>()>("getInstanceName");
|
|
93
87
|
auto __result = method(_javaPart);
|
|
94
88
|
return __result->toStdString();
|
|
95
89
|
}
|
|
96
90
|
|
|
97
91
|
// Methods
|
|
98
92
|
std::optional<std::shared_ptr<HybridViewModelNumberPropertySpec>> JHybridViewModelInstanceSpec::numberProperty(const std::string& path) {
|
|
99
|
-
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JHybridViewModelNumberPropertySpec::
|
|
93
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JHybridViewModelNumberPropertySpec::JavaPart>(jni::alias_ref<jni::JString> /* path */)>("numberProperty");
|
|
100
94
|
auto __result = method(_javaPart, jni::make_jstring(path));
|
|
101
|
-
return __result != nullptr ? std::make_optional(__result->
|
|
95
|
+
return __result != nullptr ? std::make_optional(__result->getJHybridViewModelNumberPropertySpec()) : std::nullopt;
|
|
102
96
|
}
|
|
103
97
|
std::optional<std::shared_ptr<HybridViewModelStringPropertySpec>> JHybridViewModelInstanceSpec::stringProperty(const std::string& path) {
|
|
104
|
-
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JHybridViewModelStringPropertySpec::
|
|
98
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JHybridViewModelStringPropertySpec::JavaPart>(jni::alias_ref<jni::JString> /* path */)>("stringProperty");
|
|
105
99
|
auto __result = method(_javaPart, jni::make_jstring(path));
|
|
106
|
-
return __result != nullptr ? std::make_optional(__result->
|
|
100
|
+
return __result != nullptr ? std::make_optional(__result->getJHybridViewModelStringPropertySpec()) : std::nullopt;
|
|
107
101
|
}
|
|
108
102
|
std::optional<std::shared_ptr<HybridViewModelBooleanPropertySpec>> JHybridViewModelInstanceSpec::booleanProperty(const std::string& path) {
|
|
109
|
-
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JHybridViewModelBooleanPropertySpec::
|
|
103
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JHybridViewModelBooleanPropertySpec::JavaPart>(jni::alias_ref<jni::JString> /* path */)>("booleanProperty");
|
|
110
104
|
auto __result = method(_javaPart, jni::make_jstring(path));
|
|
111
|
-
return __result != nullptr ? std::make_optional(__result->
|
|
105
|
+
return __result != nullptr ? std::make_optional(__result->getJHybridViewModelBooleanPropertySpec()) : std::nullopt;
|
|
112
106
|
}
|
|
113
107
|
std::optional<std::shared_ptr<HybridViewModelColorPropertySpec>> JHybridViewModelInstanceSpec::colorProperty(const std::string& path) {
|
|
114
|
-
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JHybridViewModelColorPropertySpec::
|
|
108
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JHybridViewModelColorPropertySpec::JavaPart>(jni::alias_ref<jni::JString> /* path */)>("colorProperty");
|
|
115
109
|
auto __result = method(_javaPart, jni::make_jstring(path));
|
|
116
|
-
return __result != nullptr ? std::make_optional(__result->
|
|
110
|
+
return __result != nullptr ? std::make_optional(__result->getJHybridViewModelColorPropertySpec()) : std::nullopt;
|
|
117
111
|
}
|
|
118
112
|
std::optional<std::shared_ptr<HybridViewModelEnumPropertySpec>> JHybridViewModelInstanceSpec::enumProperty(const std::string& path) {
|
|
119
|
-
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JHybridViewModelEnumPropertySpec::
|
|
113
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JHybridViewModelEnumPropertySpec::JavaPart>(jni::alias_ref<jni::JString> /* path */)>("enumProperty");
|
|
120
114
|
auto __result = method(_javaPart, jni::make_jstring(path));
|
|
121
|
-
return __result != nullptr ? std::make_optional(__result->
|
|
115
|
+
return __result != nullptr ? std::make_optional(__result->getJHybridViewModelEnumPropertySpec()) : std::nullopt;
|
|
122
116
|
}
|
|
123
117
|
std::optional<std::shared_ptr<HybridViewModelTriggerPropertySpec>> JHybridViewModelInstanceSpec::triggerProperty(const std::string& path) {
|
|
124
|
-
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JHybridViewModelTriggerPropertySpec::
|
|
118
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JHybridViewModelTriggerPropertySpec::JavaPart>(jni::alias_ref<jni::JString> /* path */)>("triggerProperty");
|
|
125
119
|
auto __result = method(_javaPart, jni::make_jstring(path));
|
|
126
|
-
return __result != nullptr ? std::make_optional(__result->
|
|
120
|
+
return __result != nullptr ? std::make_optional(__result->getJHybridViewModelTriggerPropertySpec()) : std::nullopt;
|
|
127
121
|
}
|
|
128
122
|
std::optional<std::shared_ptr<HybridViewModelImagePropertySpec>> JHybridViewModelInstanceSpec::imageProperty(const std::string& path) {
|
|
129
|
-
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JHybridViewModelImagePropertySpec::
|
|
123
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JHybridViewModelImagePropertySpec::JavaPart>(jni::alias_ref<jni::JString> /* path */)>("imageProperty");
|
|
130
124
|
auto __result = method(_javaPart, jni::make_jstring(path));
|
|
131
|
-
return __result != nullptr ? std::make_optional(__result->
|
|
125
|
+
return __result != nullptr ? std::make_optional(__result->getJHybridViewModelImagePropertySpec()) : std::nullopt;
|
|
132
126
|
}
|
|
133
127
|
std::optional<std::shared_ptr<HybridViewModelListPropertySpec>> JHybridViewModelInstanceSpec::listProperty(const std::string& path) {
|
|
134
|
-
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JHybridViewModelListPropertySpec::
|
|
128
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JHybridViewModelListPropertySpec::JavaPart>(jni::alias_ref<jni::JString> /* path */)>("listProperty");
|
|
135
129
|
auto __result = method(_javaPart, jni::make_jstring(path));
|
|
136
|
-
return __result != nullptr ? std::make_optional(__result->
|
|
130
|
+
return __result != nullptr ? std::make_optional(__result->getJHybridViewModelListPropertySpec()) : std::nullopt;
|
|
137
131
|
}
|
|
138
132
|
std::optional<std::shared_ptr<HybridViewModelArtboardPropertySpec>> JHybridViewModelInstanceSpec::artboardProperty(const std::string& path) {
|
|
139
|
-
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JHybridViewModelArtboardPropertySpec::
|
|
133
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JHybridViewModelArtboardPropertySpec::JavaPart>(jni::alias_ref<jni::JString> /* path */)>("artboardProperty");
|
|
140
134
|
auto __result = method(_javaPart, jni::make_jstring(path));
|
|
141
|
-
return __result != nullptr ? std::make_optional(__result->
|
|
135
|
+
return __result != nullptr ? std::make_optional(__result->getJHybridViewModelArtboardPropertySpec()) : std::nullopt;
|
|
142
136
|
}
|
|
143
137
|
std::optional<std::shared_ptr<HybridViewModelInstanceSpec>> JHybridViewModelInstanceSpec::viewModel(const std::string& path) {
|
|
144
|
-
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JHybridViewModelInstanceSpec::
|
|
138
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JHybridViewModelInstanceSpec::JavaPart>(jni::alias_ref<jni::JString> /* path */)>("viewModel");
|
|
145
139
|
auto __result = method(_javaPart, jni::make_jstring(path));
|
|
146
|
-
return __result != nullptr ? std::make_optional(__result->
|
|
140
|
+
return __result != nullptr ? std::make_optional(__result->getJHybridViewModelInstanceSpec()) : std::nullopt;
|
|
147
141
|
}
|
|
148
142
|
void JHybridViewModelInstanceSpec::replaceViewModel(const std::string& path, const std::shared_ptr<HybridViewModelInstanceSpec>& instance) {
|
|
149
|
-
static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<jni::JString> /* path */, jni::alias_ref<JHybridViewModelInstanceSpec::
|
|
143
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<void(jni::alias_ref<jni::JString> /* path */, jni::alias_ref<JHybridViewModelInstanceSpec::JavaPart> /* instance */)>("replaceViewModel");
|
|
150
144
|
method(_javaPart, jni::make_jstring(path), std::dynamic_pointer_cast<JHybridViewModelInstanceSpec>(instance)->getJavaPart());
|
|
151
145
|
}
|
|
152
146
|
|
|
@@ -18,34 +18,33 @@ namespace margelo::nitro::rive {
|
|
|
18
18
|
|
|
19
19
|
using namespace facebook;
|
|
20
20
|
|
|
21
|
-
class JHybridViewModelInstanceSpec: public
|
|
22
|
-
public virtual HybridViewModelInstanceSpec {
|
|
21
|
+
class JHybridViewModelInstanceSpec: public virtual HybridViewModelInstanceSpec, public virtual JHybridObject {
|
|
23
22
|
public:
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
HybridBase
|
|
33
|
-
|
|
23
|
+
struct JavaPart: public jni::JavaClass<JavaPart, JHybridObject::JavaPart> {
|
|
24
|
+
static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/rive/HybridViewModelInstanceSpec;";
|
|
25
|
+
std::shared_ptr<JHybridViewModelInstanceSpec> getJHybridViewModelInstanceSpec();
|
|
26
|
+
};
|
|
27
|
+
struct CxxPart: public jni::HybridClass<CxxPart, JHybridObject::CxxPart> {
|
|
28
|
+
static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/rive/HybridViewModelInstanceSpec$CxxPart;";
|
|
29
|
+
static jni::local_ref<jhybriddata> initHybrid(jni::alias_ref<jhybridobject> jThis);
|
|
30
|
+
static void registerNatives();
|
|
31
|
+
using HybridBase::HybridBase;
|
|
32
|
+
protected:
|
|
33
|
+
std::shared_ptr<JHybridObject> createHybridObject(const jni::local_ref<JHybridObject::JavaPart>& javaPart) override;
|
|
34
|
+
};
|
|
34
35
|
|
|
35
36
|
public:
|
|
37
|
+
explicit JHybridViewModelInstanceSpec(const jni::local_ref<JHybridViewModelInstanceSpec::JavaPart>& javaPart):
|
|
38
|
+
HybridObject(HybridViewModelInstanceSpec::TAG),
|
|
39
|
+
JHybridObject(javaPart),
|
|
40
|
+
_javaPart(jni::make_global(javaPart)) {}
|
|
36
41
|
~JHybridViewModelInstanceSpec() override {
|
|
37
42
|
// Hermes GC can destroy JS objects on a non-JNI Thread.
|
|
38
43
|
jni::ThreadScope::WithClassLoader([&] { _javaPart.reset(); });
|
|
39
44
|
}
|
|
40
45
|
|
|
41
46
|
public:
|
|
42
|
-
|
|
43
|
-
bool equals(const std::shared_ptr<HybridObject>& other) override;
|
|
44
|
-
void dispose() noexcept override;
|
|
45
|
-
std::string toString() override;
|
|
46
|
-
|
|
47
|
-
public:
|
|
48
|
-
inline const jni::global_ref<JHybridViewModelInstanceSpec::javaobject>& getJavaPart() const noexcept {
|
|
47
|
+
inline const jni::global_ref<JHybridViewModelInstanceSpec::JavaPart>& getJavaPart() const noexcept {
|
|
49
48
|
return _javaPart;
|
|
50
49
|
}
|
|
51
50
|
|
|
@@ -68,9 +67,7 @@ namespace margelo::nitro::rive {
|
|
|
68
67
|
void replaceViewModel(const std::string& path, const std::shared_ptr<HybridViewModelInstanceSpec>& instance) override;
|
|
69
68
|
|
|
70
69
|
private:
|
|
71
|
-
|
|
72
|
-
using HybridBase::HybridBase;
|
|
73
|
-
jni::global_ref<JHybridViewModelInstanceSpec::javaobject> _javaPart;
|
|
70
|
+
jni::global_ref<JHybridViewModelInstanceSpec::JavaPart> _javaPart;
|
|
74
71
|
};
|
|
75
72
|
|
|
76
73
|
} // namespace margelo::nitro::rive
|
|
@@ -20,76 +20,70 @@ namespace margelo::nitro::rive { class HybridViewModelInstanceSpec; }
|
|
|
20
20
|
|
|
21
21
|
namespace margelo::nitro::rive {
|
|
22
22
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
});
|
|
23
|
+
std::shared_ptr<JHybridViewModelListPropertySpec> JHybridViewModelListPropertySpec::JavaPart::getJHybridViewModelListPropertySpec() {
|
|
24
|
+
auto hybridObject = JHybridObject::JavaPart::getJHybridObject();
|
|
25
|
+
auto castHybridObject = std::dynamic_pointer_cast<JHybridViewModelListPropertySpec>(hybridObject);
|
|
26
|
+
if (castHybridObject == nullptr) [[unlikely]] {
|
|
27
|
+
throw std::runtime_error("Failed to downcast JHybridObject to JHybridViewModelListPropertySpec!");
|
|
28
|
+
}
|
|
29
|
+
return castHybridObject;
|
|
31
30
|
}
|
|
32
31
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
return method(_javaPart);
|
|
32
|
+
jni::local_ref<JHybridViewModelListPropertySpec::CxxPart::jhybriddata> JHybridViewModelListPropertySpec::CxxPart::initHybrid(jni::alias_ref<jhybridobject> jThis) {
|
|
33
|
+
return makeCxxInstance(jThis);
|
|
36
34
|
}
|
|
37
35
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
36
|
+
std::shared_ptr<JHybridObject> JHybridViewModelListPropertySpec::CxxPart::createHybridObject(const jni::local_ref<JHybridObject::JavaPart>& javaPart) {
|
|
37
|
+
auto castJavaPart = jni::dynamic_ref_cast<JHybridViewModelListPropertySpec::JavaPart>(javaPart);
|
|
38
|
+
if (castJavaPart == nullptr) [[unlikely]] {
|
|
39
|
+
throw std::runtime_error("Failed to cast JHybridObject::JavaPart to JHybridViewModelListPropertySpec::JavaPart!");
|
|
41
40
|
}
|
|
42
|
-
return
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
void JHybridViewModelListPropertySpec::dispose() noexcept {
|
|
46
|
-
static const auto method = javaClassStatic()->getMethod<void()>("dispose");
|
|
47
|
-
method(_javaPart);
|
|
41
|
+
return std::make_shared<JHybridViewModelListPropertySpec>(castJavaPart);
|
|
48
42
|
}
|
|
49
43
|
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
44
|
+
void JHybridViewModelListPropertySpec::CxxPart::registerNatives() {
|
|
45
|
+
registerHybrid({
|
|
46
|
+
makeNativeMethod("initHybrid", JHybridViewModelListPropertySpec::CxxPart::initHybrid),
|
|
47
|
+
});
|
|
54
48
|
}
|
|
55
49
|
|
|
56
50
|
// Properties
|
|
57
51
|
double JHybridViewModelListPropertySpec::getLength() {
|
|
58
|
-
static const auto method = javaClassStatic()->getMethod<double()>("getLength");
|
|
52
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<double()>("getLength");
|
|
59
53
|
auto __result = method(_javaPart);
|
|
60
54
|
return __result;
|
|
61
55
|
}
|
|
62
56
|
|
|
63
57
|
// Methods
|
|
64
58
|
std::optional<std::shared_ptr<HybridViewModelInstanceSpec>> JHybridViewModelListPropertySpec::getInstanceAt(double index) {
|
|
65
|
-
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JHybridViewModelInstanceSpec::
|
|
59
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JHybridViewModelInstanceSpec::JavaPart>(double /* index */)>("getInstanceAt");
|
|
66
60
|
auto __result = method(_javaPart, index);
|
|
67
|
-
return __result != nullptr ? std::make_optional(__result->
|
|
61
|
+
return __result != nullptr ? std::make_optional(__result->getJHybridViewModelInstanceSpec()) : std::nullopt;
|
|
68
62
|
}
|
|
69
63
|
void JHybridViewModelListPropertySpec::addInstance(const std::shared_ptr<HybridViewModelInstanceSpec>& instance) {
|
|
70
|
-
static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<JHybridViewModelInstanceSpec::
|
|
64
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<void(jni::alias_ref<JHybridViewModelInstanceSpec::JavaPart> /* instance */)>("addInstance");
|
|
71
65
|
method(_javaPart, std::dynamic_pointer_cast<JHybridViewModelInstanceSpec>(instance)->getJavaPart());
|
|
72
66
|
}
|
|
73
67
|
bool JHybridViewModelListPropertySpec::addInstanceAt(const std::shared_ptr<HybridViewModelInstanceSpec>& instance, double index) {
|
|
74
|
-
static const auto method = javaClassStatic()->getMethod<jboolean(jni::alias_ref<JHybridViewModelInstanceSpec::
|
|
68
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jboolean(jni::alias_ref<JHybridViewModelInstanceSpec::JavaPart> /* instance */, double /* index */)>("addInstanceAt");
|
|
75
69
|
auto __result = method(_javaPart, std::dynamic_pointer_cast<JHybridViewModelInstanceSpec>(instance)->getJavaPart(), index);
|
|
76
70
|
return static_cast<bool>(__result);
|
|
77
71
|
}
|
|
78
72
|
void JHybridViewModelListPropertySpec::removeInstance(const std::shared_ptr<HybridViewModelInstanceSpec>& instance) {
|
|
79
|
-
static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<JHybridViewModelInstanceSpec::
|
|
73
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<void(jni::alias_ref<JHybridViewModelInstanceSpec::JavaPart> /* instance */)>("removeInstance");
|
|
80
74
|
method(_javaPart, std::dynamic_pointer_cast<JHybridViewModelInstanceSpec>(instance)->getJavaPart());
|
|
81
75
|
}
|
|
82
76
|
void JHybridViewModelListPropertySpec::removeInstanceAt(double index) {
|
|
83
|
-
static const auto method = javaClassStatic()->getMethod<void(double /* index */)>("removeInstanceAt");
|
|
77
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<void(double /* index */)>("removeInstanceAt");
|
|
84
78
|
method(_javaPart, index);
|
|
85
79
|
}
|
|
86
80
|
bool JHybridViewModelListPropertySpec::swap(double index1, double index2) {
|
|
87
|
-
static const auto method = javaClassStatic()->getMethod<jboolean(double /* index1 */, double /* index2 */)>("swap");
|
|
81
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jboolean(double /* index1 */, double /* index2 */)>("swap");
|
|
88
82
|
auto __result = method(_javaPart, index1, index2);
|
|
89
83
|
return static_cast<bool>(__result);
|
|
90
84
|
}
|
|
91
85
|
std::function<void()> JHybridViewModelListPropertySpec::addListener(const std::function<void()>& onChanged) {
|
|
92
|
-
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JFunc_void::javaobject>(jni::alias_ref<JFunc_void::javaobject> /* onChanged */)>("addListener_cxx");
|
|
86
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JFunc_void::javaobject>(jni::alias_ref<JFunc_void::javaobject> /* onChanged */)>("addListener_cxx");
|
|
93
87
|
auto __result = method(_javaPart, JFunc_void_cxx::fromCpp(onChanged));
|
|
94
88
|
return [&]() -> std::function<void()> {
|
|
95
89
|
if (__result->isInstanceOf(JFunc_void_cxx::javaClassStatic())) [[likely]] {
|
|
@@ -102,7 +96,7 @@ namespace margelo::nitro::rive {
|
|
|
102
96
|
}();
|
|
103
97
|
}
|
|
104
98
|
void JHybridViewModelListPropertySpec::removeListeners() {
|
|
105
|
-
static const auto method = javaClassStatic()->getMethod<void()>("removeListeners");
|
|
99
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<void()>("removeListeners");
|
|
106
100
|
method(_javaPart);
|
|
107
101
|
}
|
|
108
102
|
|
|
@@ -19,34 +19,34 @@ namespace margelo::nitro::rive {
|
|
|
19
19
|
|
|
20
20
|
using namespace facebook;
|
|
21
21
|
|
|
22
|
-
class JHybridViewModelListPropertySpec: public
|
|
23
|
-
public virtual HybridViewModelListPropertySpec {
|
|
22
|
+
class JHybridViewModelListPropertySpec: public virtual HybridViewModelListPropertySpec, public virtual JHybridViewModelPropertySpec {
|
|
24
23
|
public:
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
HybridBase
|
|
34
|
-
|
|
24
|
+
struct JavaPart: public jni::JavaClass<JavaPart, JHybridViewModelPropertySpec::JavaPart> {
|
|
25
|
+
static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/rive/HybridViewModelListPropertySpec;";
|
|
26
|
+
std::shared_ptr<JHybridViewModelListPropertySpec> getJHybridViewModelListPropertySpec();
|
|
27
|
+
};
|
|
28
|
+
struct CxxPart: public jni::HybridClass<CxxPart, JHybridViewModelPropertySpec::CxxPart> {
|
|
29
|
+
static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/rive/HybridViewModelListPropertySpec$CxxPart;";
|
|
30
|
+
static jni::local_ref<jhybriddata> initHybrid(jni::alias_ref<jhybridobject> jThis);
|
|
31
|
+
static void registerNatives();
|
|
32
|
+
using HybridBase::HybridBase;
|
|
33
|
+
protected:
|
|
34
|
+
std::shared_ptr<JHybridObject> createHybridObject(const jni::local_ref<JHybridObject::JavaPart>& javaPart) override;
|
|
35
|
+
};
|
|
35
36
|
|
|
36
37
|
public:
|
|
38
|
+
explicit JHybridViewModelListPropertySpec(const jni::local_ref<JHybridViewModelListPropertySpec::JavaPart>& javaPart):
|
|
39
|
+
HybridObject(HybridViewModelListPropertySpec::TAG),
|
|
40
|
+
JHybridObject(javaPart),
|
|
41
|
+
JHybridViewModelPropertySpec(javaPart),
|
|
42
|
+
_javaPart(jni::make_global(javaPart)) {}
|
|
37
43
|
~JHybridViewModelListPropertySpec() override {
|
|
38
44
|
// Hermes GC can destroy JS objects on a non-JNI Thread.
|
|
39
45
|
jni::ThreadScope::WithClassLoader([&] { _javaPart.reset(); });
|
|
40
46
|
}
|
|
41
47
|
|
|
42
48
|
public:
|
|
43
|
-
|
|
44
|
-
bool equals(const std::shared_ptr<HybridObject>& other) override;
|
|
45
|
-
void dispose() noexcept override;
|
|
46
|
-
std::string toString() override;
|
|
47
|
-
|
|
48
|
-
public:
|
|
49
|
-
inline const jni::global_ref<JHybridViewModelListPropertySpec::javaobject>& getJavaPart() const noexcept {
|
|
49
|
+
inline const jni::global_ref<JHybridViewModelListPropertySpec::JavaPart>& getJavaPart() const noexcept {
|
|
50
50
|
return _javaPart;
|
|
51
51
|
}
|
|
52
52
|
|
|
@@ -66,9 +66,7 @@ namespace margelo::nitro::rive {
|
|
|
66
66
|
void removeListeners() override;
|
|
67
67
|
|
|
68
68
|
private:
|
|
69
|
-
|
|
70
|
-
using HybridBase::HybridBase;
|
|
71
|
-
jni::global_ref<JHybridViewModelListPropertySpec::javaobject> _javaPart;
|
|
69
|
+
jni::global_ref<JHybridViewModelListPropertySpec::JavaPart> _javaPart;
|
|
72
70
|
};
|
|
73
71
|
|
|
74
72
|
} // namespace margelo::nitro::rive
|
|
@@ -16,53 +16,47 @@
|
|
|
16
16
|
|
|
17
17
|
namespace margelo::nitro::rive {
|
|
18
18
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
});
|
|
19
|
+
std::shared_ptr<JHybridViewModelNumberPropertySpec> JHybridViewModelNumberPropertySpec::JavaPart::getJHybridViewModelNumberPropertySpec() {
|
|
20
|
+
auto hybridObject = JHybridObject::JavaPart::getJHybridObject();
|
|
21
|
+
auto castHybridObject = std::dynamic_pointer_cast<JHybridViewModelNumberPropertySpec>(hybridObject);
|
|
22
|
+
if (castHybridObject == nullptr) [[unlikely]] {
|
|
23
|
+
throw std::runtime_error("Failed to downcast JHybridObject to JHybridViewModelNumberPropertySpec!");
|
|
24
|
+
}
|
|
25
|
+
return castHybridObject;
|
|
27
26
|
}
|
|
28
27
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
return method(_javaPart);
|
|
28
|
+
jni::local_ref<JHybridViewModelNumberPropertySpec::CxxPart::jhybriddata> JHybridViewModelNumberPropertySpec::CxxPart::initHybrid(jni::alias_ref<jhybridobject> jThis) {
|
|
29
|
+
return makeCxxInstance(jThis);
|
|
32
30
|
}
|
|
33
31
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
32
|
+
std::shared_ptr<JHybridObject> JHybridViewModelNumberPropertySpec::CxxPart::createHybridObject(const jni::local_ref<JHybridObject::JavaPart>& javaPart) {
|
|
33
|
+
auto castJavaPart = jni::dynamic_ref_cast<JHybridViewModelNumberPropertySpec::JavaPart>(javaPart);
|
|
34
|
+
if (castJavaPart == nullptr) [[unlikely]] {
|
|
35
|
+
throw std::runtime_error("Failed to cast JHybridObject::JavaPart to JHybridViewModelNumberPropertySpec::JavaPart!");
|
|
37
36
|
}
|
|
38
|
-
return
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
void JHybridViewModelNumberPropertySpec::dispose() noexcept {
|
|
42
|
-
static const auto method = javaClassStatic()->getMethod<void()>("dispose");
|
|
43
|
-
method(_javaPart);
|
|
37
|
+
return std::make_shared<JHybridViewModelNumberPropertySpec>(castJavaPart);
|
|
44
38
|
}
|
|
45
39
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
40
|
+
void JHybridViewModelNumberPropertySpec::CxxPart::registerNatives() {
|
|
41
|
+
registerHybrid({
|
|
42
|
+
makeNativeMethod("initHybrid", JHybridViewModelNumberPropertySpec::CxxPart::initHybrid),
|
|
43
|
+
});
|
|
50
44
|
}
|
|
51
45
|
|
|
52
46
|
// Properties
|
|
53
47
|
double JHybridViewModelNumberPropertySpec::getValue() {
|
|
54
|
-
static const auto method = javaClassStatic()->getMethod<double()>("getValue");
|
|
48
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<double()>("getValue");
|
|
55
49
|
auto __result = method(_javaPart);
|
|
56
50
|
return __result;
|
|
57
51
|
}
|
|
58
52
|
void JHybridViewModelNumberPropertySpec::setValue(double value) {
|
|
59
|
-
static const auto method = javaClassStatic()->getMethod<void(double /* value */)>("setValue");
|
|
53
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<void(double /* value */)>("setValue");
|
|
60
54
|
method(_javaPart, value);
|
|
61
55
|
}
|
|
62
56
|
|
|
63
57
|
// Methods
|
|
64
58
|
std::function<void()> JHybridViewModelNumberPropertySpec::addListener(const std::function<void(double /* value */)>& onChanged) {
|
|
65
|
-
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JFunc_void::javaobject>(jni::alias_ref<JFunc_void_double::javaobject> /* onChanged */)>("addListener_cxx");
|
|
59
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JFunc_void::javaobject>(jni::alias_ref<JFunc_void_double::javaobject> /* onChanged */)>("addListener_cxx");
|
|
66
60
|
auto __result = method(_javaPart, JFunc_void_double_cxx::fromCpp(onChanged));
|
|
67
61
|
return [&]() -> std::function<void()> {
|
|
68
62
|
if (__result->isInstanceOf(JFunc_void_cxx::javaClassStatic())) [[likely]] {
|
|
@@ -75,7 +69,7 @@ namespace margelo::nitro::rive {
|
|
|
75
69
|
}();
|
|
76
70
|
}
|
|
77
71
|
void JHybridViewModelNumberPropertySpec::removeListeners() {
|
|
78
|
-
static const auto method = javaClassStatic()->getMethod<void()>("removeListeners");
|
|
72
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<void()>("removeListeners");
|
|
79
73
|
method(_javaPart);
|
|
80
74
|
}
|
|
81
75
|
|
|
@@ -19,34 +19,34 @@ namespace margelo::nitro::rive {
|
|
|
19
19
|
|
|
20
20
|
using namespace facebook;
|
|
21
21
|
|
|
22
|
-
class JHybridViewModelNumberPropertySpec: public
|
|
23
|
-
public virtual HybridViewModelNumberPropertySpec {
|
|
22
|
+
class JHybridViewModelNumberPropertySpec: public virtual HybridViewModelNumberPropertySpec, public virtual JHybridViewModelPropertySpec {
|
|
24
23
|
public:
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
HybridBase
|
|
34
|
-
|
|
24
|
+
struct JavaPart: public jni::JavaClass<JavaPart, JHybridViewModelPropertySpec::JavaPart> {
|
|
25
|
+
static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/rive/HybridViewModelNumberPropertySpec;";
|
|
26
|
+
std::shared_ptr<JHybridViewModelNumberPropertySpec> getJHybridViewModelNumberPropertySpec();
|
|
27
|
+
};
|
|
28
|
+
struct CxxPart: public jni::HybridClass<CxxPart, JHybridViewModelPropertySpec::CxxPart> {
|
|
29
|
+
static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/rive/HybridViewModelNumberPropertySpec$CxxPart;";
|
|
30
|
+
static jni::local_ref<jhybriddata> initHybrid(jni::alias_ref<jhybridobject> jThis);
|
|
31
|
+
static void registerNatives();
|
|
32
|
+
using HybridBase::HybridBase;
|
|
33
|
+
protected:
|
|
34
|
+
std::shared_ptr<JHybridObject> createHybridObject(const jni::local_ref<JHybridObject::JavaPart>& javaPart) override;
|
|
35
|
+
};
|
|
35
36
|
|
|
36
37
|
public:
|
|
38
|
+
explicit JHybridViewModelNumberPropertySpec(const jni::local_ref<JHybridViewModelNumberPropertySpec::JavaPart>& javaPart):
|
|
39
|
+
HybridObject(HybridViewModelNumberPropertySpec::TAG),
|
|
40
|
+
JHybridObject(javaPart),
|
|
41
|
+
JHybridViewModelPropertySpec(javaPart),
|
|
42
|
+
_javaPart(jni::make_global(javaPart)) {}
|
|
37
43
|
~JHybridViewModelNumberPropertySpec() override {
|
|
38
44
|
// Hermes GC can destroy JS objects on a non-JNI Thread.
|
|
39
45
|
jni::ThreadScope::WithClassLoader([&] { _javaPart.reset(); });
|
|
40
46
|
}
|
|
41
47
|
|
|
42
48
|
public:
|
|
43
|
-
|
|
44
|
-
bool equals(const std::shared_ptr<HybridObject>& other) override;
|
|
45
|
-
void dispose() noexcept override;
|
|
46
|
-
std::string toString() override;
|
|
47
|
-
|
|
48
|
-
public:
|
|
49
|
-
inline const jni::global_ref<JHybridViewModelNumberPropertySpec::javaobject>& getJavaPart() const noexcept {
|
|
49
|
+
inline const jni::global_ref<JHybridViewModelNumberPropertySpec::JavaPart>& getJavaPart() const noexcept {
|
|
50
50
|
return _javaPart;
|
|
51
51
|
}
|
|
52
52
|
|
|
@@ -61,9 +61,7 @@ namespace margelo::nitro::rive {
|
|
|
61
61
|
void removeListeners() override;
|
|
62
62
|
|
|
63
63
|
private:
|
|
64
|
-
|
|
65
|
-
using HybridBase::HybridBase;
|
|
66
|
-
jni::global_ref<JHybridViewModelNumberPropertySpec::javaobject> _javaPart;
|
|
64
|
+
jni::global_ref<JHybridViewModelNumberPropertySpec::JavaPart> _javaPart;
|
|
67
65
|
};
|
|
68
66
|
|
|
69
67
|
} // namespace margelo::nitro::rive
|
|
@@ -13,37 +13,31 @@
|
|
|
13
13
|
|
|
14
14
|
namespace margelo::nitro::rive {
|
|
15
15
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
});
|
|
16
|
+
std::shared_ptr<JHybridViewModelPropertySpec> JHybridViewModelPropertySpec::JavaPart::getJHybridViewModelPropertySpec() {
|
|
17
|
+
auto hybridObject = JHybridObject::JavaPart::getJHybridObject();
|
|
18
|
+
auto castHybridObject = std::dynamic_pointer_cast<JHybridViewModelPropertySpec>(hybridObject);
|
|
19
|
+
if (castHybridObject == nullptr) [[unlikely]] {
|
|
20
|
+
throw std::runtime_error("Failed to downcast JHybridObject to JHybridViewModelPropertySpec!");
|
|
21
|
+
}
|
|
22
|
+
return castHybridObject;
|
|
24
23
|
}
|
|
25
24
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
return method(_javaPart);
|
|
25
|
+
jni::local_ref<JHybridViewModelPropertySpec::CxxPart::jhybriddata> JHybridViewModelPropertySpec::CxxPart::initHybrid(jni::alias_ref<jhybridobject> jThis) {
|
|
26
|
+
return makeCxxInstance(jThis);
|
|
29
27
|
}
|
|
30
28
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
29
|
+
std::shared_ptr<JHybridObject> JHybridViewModelPropertySpec::CxxPart::createHybridObject(const jni::local_ref<JHybridObject::JavaPart>& javaPart) {
|
|
30
|
+
auto castJavaPart = jni::dynamic_ref_cast<JHybridViewModelPropertySpec::JavaPart>(javaPart);
|
|
31
|
+
if (castJavaPart == nullptr) [[unlikely]] {
|
|
32
|
+
throw std::runtime_error("Failed to cast JHybridObject::JavaPart to JHybridViewModelPropertySpec::JavaPart!");
|
|
34
33
|
}
|
|
35
|
-
return
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
void JHybridViewModelPropertySpec::dispose() noexcept {
|
|
39
|
-
static const auto method = javaClassStatic()->getMethod<void()>("dispose");
|
|
40
|
-
method(_javaPart);
|
|
34
|
+
return std::make_shared<JHybridViewModelPropertySpec>(castJavaPart);
|
|
41
35
|
}
|
|
42
36
|
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
37
|
+
void JHybridViewModelPropertySpec::CxxPart::registerNatives() {
|
|
38
|
+
registerHybrid({
|
|
39
|
+
makeNativeMethod("initHybrid", JHybridViewModelPropertySpec::CxxPart::initHybrid),
|
|
40
|
+
});
|
|
47
41
|
}
|
|
48
42
|
|
|
49
43
|
// Properties
|