@rive-app/react-native 0.2.7 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/RNRive.podspec +22 -0
- 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 +5 -5
|
@@ -18,34 +18,33 @@ namespace margelo::nitro::rive {
|
|
|
18
18
|
|
|
19
19
|
using namespace facebook;
|
|
20
20
|
|
|
21
|
-
class JHybridRiveFileSpec: public
|
|
22
|
-
public virtual HybridRiveFileSpec {
|
|
21
|
+
class JHybridRiveFileSpec: public virtual HybridRiveFileSpec, 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/HybridRiveFileSpec;";
|
|
25
|
+
std::shared_ptr<JHybridRiveFileSpec> getJHybridRiveFileSpec();
|
|
26
|
+
};
|
|
27
|
+
struct CxxPart: public jni::HybridClass<CxxPart, JHybridObject::CxxPart> {
|
|
28
|
+
static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/rive/HybridRiveFileSpec$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 JHybridRiveFileSpec(const jni::local_ref<JHybridRiveFileSpec::JavaPart>& javaPart):
|
|
38
|
+
HybridObject(HybridRiveFileSpec::TAG),
|
|
39
|
+
JHybridObject(javaPart),
|
|
40
|
+
_javaPart(jni::make_global(javaPart)) {}
|
|
36
41
|
~JHybridRiveFileSpec() 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<JHybridRiveFileSpec::javaobject>& getJavaPart() const noexcept {
|
|
47
|
+
inline const jni::global_ref<JHybridRiveFileSpec::JavaPart>& getJavaPart() const noexcept {
|
|
49
48
|
return _javaPart;
|
|
50
49
|
}
|
|
51
50
|
|
|
@@ -64,9 +63,7 @@ namespace margelo::nitro::rive {
|
|
|
64
63
|
std::shared_ptr<HybridBindableArtboardSpec> getBindableArtboard(const std::string& name) override;
|
|
65
64
|
|
|
66
65
|
private:
|
|
67
|
-
|
|
68
|
-
using HybridBase::HybridBase;
|
|
69
|
-
jni::global_ref<JHybridRiveFileSpec::javaobject> _javaPart;
|
|
66
|
+
jni::global_ref<JHybridRiveFileSpec::JavaPart> _javaPart;
|
|
70
67
|
};
|
|
71
68
|
|
|
72
69
|
} // namespace margelo::nitro::rive
|
|
@@ -23,37 +23,31 @@ namespace margelo::nitro::rive { class HybridFallbackFontSpec; }
|
|
|
23
23
|
|
|
24
24
|
namespace margelo::nitro::rive {
|
|
25
25
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
});
|
|
26
|
+
std::shared_ptr<JHybridRiveFontConfigSpec> JHybridRiveFontConfigSpec::JavaPart::getJHybridRiveFontConfigSpec() {
|
|
27
|
+
auto hybridObject = JHybridObject::JavaPart::getJHybridObject();
|
|
28
|
+
auto castHybridObject = std::dynamic_pointer_cast<JHybridRiveFontConfigSpec>(hybridObject);
|
|
29
|
+
if (castHybridObject == nullptr) [[unlikely]] {
|
|
30
|
+
throw std::runtime_error("Failed to downcast JHybridObject to JHybridRiveFontConfigSpec!");
|
|
31
|
+
}
|
|
32
|
+
return castHybridObject;
|
|
34
33
|
}
|
|
35
34
|
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
return method(_javaPart);
|
|
35
|
+
jni::local_ref<JHybridRiveFontConfigSpec::CxxPart::jhybriddata> JHybridRiveFontConfigSpec::CxxPart::initHybrid(jni::alias_ref<jhybridobject> jThis) {
|
|
36
|
+
return makeCxxInstance(jThis);
|
|
39
37
|
}
|
|
40
38
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
39
|
+
std::shared_ptr<JHybridObject> JHybridRiveFontConfigSpec::CxxPart::createHybridObject(const jni::local_ref<JHybridObject::JavaPart>& javaPart) {
|
|
40
|
+
auto castJavaPart = jni::dynamic_ref_cast<JHybridRiveFontConfigSpec::JavaPart>(javaPart);
|
|
41
|
+
if (castJavaPart == nullptr) [[unlikely]] {
|
|
42
|
+
throw std::runtime_error("Failed to cast JHybridObject::JavaPart to JHybridRiveFontConfigSpec::JavaPart!");
|
|
44
43
|
}
|
|
45
|
-
return
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
void JHybridRiveFontConfigSpec::dispose() noexcept {
|
|
49
|
-
static const auto method = javaClassStatic()->getMethod<void()>("dispose");
|
|
50
|
-
method(_javaPart);
|
|
44
|
+
return std::make_shared<JHybridRiveFontConfigSpec>(castJavaPart);
|
|
51
45
|
}
|
|
52
46
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
47
|
+
void JHybridRiveFontConfigSpec::CxxPart::registerNatives() {
|
|
48
|
+
registerHybrid({
|
|
49
|
+
makeNativeMethod("initHybrid", JHybridRiveFontConfigSpec::CxxPart::initHybrid),
|
|
50
|
+
});
|
|
57
51
|
}
|
|
58
52
|
|
|
59
53
|
// Properties
|
|
@@ -61,13 +55,13 @@ namespace margelo::nitro::rive {
|
|
|
61
55
|
|
|
62
56
|
// Methods
|
|
63
57
|
std::shared_ptr<Promise<std::shared_ptr<HybridFallbackFontSpec>>> JHybridRiveFontConfigSpec::loadFontFromURL(const std::string& url) {
|
|
64
|
-
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<jni::JString> /* url */)>("loadFontFromURL");
|
|
58
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<jni::JString> /* url */)>("loadFontFromURL");
|
|
65
59
|
auto __result = method(_javaPart, jni::make_jstring(url));
|
|
66
60
|
return [&]() {
|
|
67
61
|
auto __promise = Promise<std::shared_ptr<HybridFallbackFontSpec>>::create();
|
|
68
62
|
__result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
|
|
69
|
-
auto __result = jni::static_ref_cast<JHybridFallbackFontSpec::
|
|
70
|
-
__promise->resolve(__result->
|
|
63
|
+
auto __result = jni::static_ref_cast<JHybridFallbackFontSpec::JavaPart>(__boxedResult);
|
|
64
|
+
__promise->resolve(__result->getJHybridFallbackFontSpec());
|
|
71
65
|
});
|
|
72
66
|
__result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
|
|
73
67
|
jni::JniException __jniError(__throwable);
|
|
@@ -77,40 +71,40 @@ namespace margelo::nitro::rive {
|
|
|
77
71
|
}();
|
|
78
72
|
}
|
|
79
73
|
std::shared_ptr<HybridFallbackFontSpec> JHybridRiveFontConfigSpec::loadFontFromResource(const std::string& resource) {
|
|
80
|
-
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JHybridFallbackFontSpec::
|
|
74
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JHybridFallbackFontSpec::JavaPart>(jni::alias_ref<jni::JString> /* resource */)>("loadFontFromResource");
|
|
81
75
|
auto __result = method(_javaPart, jni::make_jstring(resource));
|
|
82
|
-
return __result->
|
|
76
|
+
return __result->getJHybridFallbackFontSpec();
|
|
83
77
|
}
|
|
84
78
|
std::shared_ptr<HybridFallbackFontSpec> JHybridRiveFontConfigSpec::loadFontFromBytes(const std::shared_ptr<ArrayBuffer>& bytes) {
|
|
85
|
-
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JHybridFallbackFontSpec::
|
|
79
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JHybridFallbackFontSpec::JavaPart>(jni::alias_ref<JArrayBuffer::javaobject> /* bytes */)>("loadFontFromBytes");
|
|
86
80
|
auto __result = method(_javaPart, JArrayBuffer::wrap(bytes));
|
|
87
|
-
return __result->
|
|
81
|
+
return __result->getJHybridFallbackFontSpec();
|
|
88
82
|
}
|
|
89
83
|
std::shared_ptr<HybridFallbackFontSpec> JHybridRiveFontConfigSpec::loadFontByName(const std::string& name) {
|
|
90
|
-
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JHybridFallbackFontSpec::
|
|
84
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JHybridFallbackFontSpec::JavaPart>(jni::alias_ref<jni::JString> /* name */)>("loadFontByName");
|
|
91
85
|
auto __result = method(_javaPart, jni::make_jstring(name));
|
|
92
|
-
return __result->
|
|
86
|
+
return __result->getJHybridFallbackFontSpec();
|
|
93
87
|
}
|
|
94
88
|
std::shared_ptr<HybridFallbackFontSpec> JHybridRiveFontConfigSpec::getSystemDefaultFont() {
|
|
95
|
-
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JHybridFallbackFontSpec::
|
|
89
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JHybridFallbackFontSpec::JavaPart>()>("getSystemDefaultFont");
|
|
96
90
|
auto __result = method(_javaPart);
|
|
97
|
-
return __result->
|
|
91
|
+
return __result->getJHybridFallbackFontSpec();
|
|
98
92
|
}
|
|
99
93
|
void JHybridRiveFontConfigSpec::setFontsForWeight(double weight, const std::vector<std::shared_ptr<HybridFallbackFontSpec>>& fonts) {
|
|
100
|
-
static const auto method = javaClassStatic()->getMethod<void(double /* weight */, jni::alias_ref<jni::JArrayClass<JHybridFallbackFontSpec::
|
|
94
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<void(double /* weight */, jni::alias_ref<jni::JArrayClass<JHybridFallbackFontSpec::JavaPart>> /* fonts */)>("setFontsForWeight");
|
|
101
95
|
method(_javaPart, weight, [&]() {
|
|
102
96
|
size_t __size = fonts.size();
|
|
103
|
-
jni::local_ref<jni::JArrayClass<JHybridFallbackFontSpec::
|
|
97
|
+
jni::local_ref<jni::JArrayClass<JHybridFallbackFontSpec::JavaPart>> __array = jni::JArrayClass<JHybridFallbackFontSpec::JavaPart>::newArray(__size);
|
|
104
98
|
for (size_t __i = 0; __i < __size; __i++) {
|
|
105
99
|
const auto& __element = fonts[__i];
|
|
106
100
|
auto __elementJni = std::dynamic_pointer_cast<JHybridFallbackFontSpec>(__element)->getJavaPart();
|
|
107
|
-
__array->setElement(__i, __elementJni
|
|
101
|
+
__array->setElement(__i, *__elementJni);
|
|
108
102
|
}
|
|
109
103
|
return __array;
|
|
110
104
|
}());
|
|
111
105
|
}
|
|
112
106
|
std::shared_ptr<Promise<void>> JHybridRiveFontConfigSpec::applyFallbackFonts() {
|
|
113
|
-
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>()>("applyFallbackFonts");
|
|
107
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>()>("applyFallbackFonts");
|
|
114
108
|
auto __result = method(_javaPart);
|
|
115
109
|
return [&]() {
|
|
116
110
|
auto __promise = Promise<void>::create();
|
|
@@ -125,7 +119,7 @@ namespace margelo::nitro::rive {
|
|
|
125
119
|
}();
|
|
126
120
|
}
|
|
127
121
|
std::shared_ptr<Promise<void>> JHybridRiveFontConfigSpec::clearFallbackFonts() {
|
|
128
|
-
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>()>("clearFallbackFonts");
|
|
122
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>()>("clearFallbackFonts");
|
|
129
123
|
auto __result = method(_javaPart);
|
|
130
124
|
return [&]() {
|
|
131
125
|
auto __promise = Promise<void>::create();
|
|
@@ -18,34 +18,33 @@ namespace margelo::nitro::rive {
|
|
|
18
18
|
|
|
19
19
|
using namespace facebook;
|
|
20
20
|
|
|
21
|
-
class JHybridRiveFontConfigSpec: public
|
|
22
|
-
public virtual HybridRiveFontConfigSpec {
|
|
21
|
+
class JHybridRiveFontConfigSpec: public virtual HybridRiveFontConfigSpec, 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/HybridRiveFontConfigSpec;";
|
|
25
|
+
std::shared_ptr<JHybridRiveFontConfigSpec> getJHybridRiveFontConfigSpec();
|
|
26
|
+
};
|
|
27
|
+
struct CxxPart: public jni::HybridClass<CxxPart, JHybridObject::CxxPart> {
|
|
28
|
+
static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/rive/HybridRiveFontConfigSpec$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 JHybridRiveFontConfigSpec(const jni::local_ref<JHybridRiveFontConfigSpec::JavaPart>& javaPart):
|
|
38
|
+
HybridObject(HybridRiveFontConfigSpec::TAG),
|
|
39
|
+
JHybridObject(javaPart),
|
|
40
|
+
_javaPart(jni::make_global(javaPart)) {}
|
|
36
41
|
~JHybridRiveFontConfigSpec() 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<JHybridRiveFontConfigSpec::javaobject>& getJavaPart() const noexcept {
|
|
47
|
+
inline const jni::global_ref<JHybridRiveFontConfigSpec::JavaPart>& getJavaPart() const noexcept {
|
|
49
48
|
return _javaPart;
|
|
50
49
|
}
|
|
51
50
|
|
|
@@ -65,9 +64,7 @@ namespace margelo::nitro::rive {
|
|
|
65
64
|
std::shared_ptr<Promise<void>> clearFallbackFonts() override;
|
|
66
65
|
|
|
67
66
|
private:
|
|
68
|
-
|
|
69
|
-
using HybridBase::HybridBase;
|
|
70
|
-
jni::global_ref<JHybridRiveFontConfigSpec::javaobject> _javaPart;
|
|
67
|
+
jni::global_ref<JHybridRiveFontConfigSpec::JavaPart> _javaPart;
|
|
71
68
|
};
|
|
72
69
|
|
|
73
70
|
} // namespace margelo::nitro::rive
|
|
@@ -21,37 +21,31 @@ namespace margelo::nitro::rive { class HybridRiveImageSpec; }
|
|
|
21
21
|
|
|
22
22
|
namespace margelo::nitro::rive {
|
|
23
23
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
});
|
|
24
|
+
std::shared_ptr<JHybridRiveImageFactorySpec> JHybridRiveImageFactorySpec::JavaPart::getJHybridRiveImageFactorySpec() {
|
|
25
|
+
auto hybridObject = JHybridObject::JavaPart::getJHybridObject();
|
|
26
|
+
auto castHybridObject = std::dynamic_pointer_cast<JHybridRiveImageFactorySpec>(hybridObject);
|
|
27
|
+
if (castHybridObject == nullptr) [[unlikely]] {
|
|
28
|
+
throw std::runtime_error("Failed to downcast JHybridObject to JHybridRiveImageFactorySpec!");
|
|
29
|
+
}
|
|
30
|
+
return castHybridObject;
|
|
32
31
|
}
|
|
33
32
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
return method(_javaPart);
|
|
33
|
+
jni::local_ref<JHybridRiveImageFactorySpec::CxxPart::jhybriddata> JHybridRiveImageFactorySpec::CxxPart::initHybrid(jni::alias_ref<jhybridobject> jThis) {
|
|
34
|
+
return makeCxxInstance(jThis);
|
|
37
35
|
}
|
|
38
36
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
37
|
+
std::shared_ptr<JHybridObject> JHybridRiveImageFactorySpec::CxxPart::createHybridObject(const jni::local_ref<JHybridObject::JavaPart>& javaPart) {
|
|
38
|
+
auto castJavaPart = jni::dynamic_ref_cast<JHybridRiveImageFactorySpec::JavaPart>(javaPart);
|
|
39
|
+
if (castJavaPart == nullptr) [[unlikely]] {
|
|
40
|
+
throw std::runtime_error("Failed to cast JHybridObject::JavaPart to JHybridRiveImageFactorySpec::JavaPart!");
|
|
42
41
|
}
|
|
43
|
-
return
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
void JHybridRiveImageFactorySpec::dispose() noexcept {
|
|
47
|
-
static const auto method = javaClassStatic()->getMethod<void()>("dispose");
|
|
48
|
-
method(_javaPart);
|
|
42
|
+
return std::make_shared<JHybridRiveImageFactorySpec>(castJavaPart);
|
|
49
43
|
}
|
|
50
44
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
45
|
+
void JHybridRiveImageFactorySpec::CxxPart::registerNatives() {
|
|
46
|
+
registerHybrid({
|
|
47
|
+
makeNativeMethod("initHybrid", JHybridRiveImageFactorySpec::CxxPart::initHybrid),
|
|
48
|
+
});
|
|
55
49
|
}
|
|
56
50
|
|
|
57
51
|
// Properties
|
|
@@ -59,13 +53,13 @@ namespace margelo::nitro::rive {
|
|
|
59
53
|
|
|
60
54
|
// Methods
|
|
61
55
|
std::shared_ptr<Promise<std::shared_ptr<HybridRiveImageSpec>>> JHybridRiveImageFactorySpec::loadFromURLAsync(const std::string& url) {
|
|
62
|
-
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<jni::JString> /* url */)>("loadFromURLAsync");
|
|
56
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<jni::JString> /* url */)>("loadFromURLAsync");
|
|
63
57
|
auto __result = method(_javaPart, jni::make_jstring(url));
|
|
64
58
|
return [&]() {
|
|
65
59
|
auto __promise = Promise<std::shared_ptr<HybridRiveImageSpec>>::create();
|
|
66
60
|
__result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
|
|
67
|
-
auto __result = jni::static_ref_cast<JHybridRiveImageSpec::
|
|
68
|
-
__promise->resolve(__result->
|
|
61
|
+
auto __result = jni::static_ref_cast<JHybridRiveImageSpec::JavaPart>(__boxedResult);
|
|
62
|
+
__promise->resolve(__result->getJHybridRiveImageSpec());
|
|
69
63
|
});
|
|
70
64
|
__result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
|
|
71
65
|
jni::JniException __jniError(__throwable);
|
|
@@ -75,13 +69,13 @@ namespace margelo::nitro::rive {
|
|
|
75
69
|
}();
|
|
76
70
|
}
|
|
77
71
|
std::shared_ptr<Promise<std::shared_ptr<HybridRiveImageSpec>>> JHybridRiveImageFactorySpec::loadFromResourceAsync(const std::string& resource) {
|
|
78
|
-
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<jni::JString> /* resource */)>("loadFromResourceAsync");
|
|
72
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<jni::JString> /* resource */)>("loadFromResourceAsync");
|
|
79
73
|
auto __result = method(_javaPart, jni::make_jstring(resource));
|
|
80
74
|
return [&]() {
|
|
81
75
|
auto __promise = Promise<std::shared_ptr<HybridRiveImageSpec>>::create();
|
|
82
76
|
__result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
|
|
83
|
-
auto __result = jni::static_ref_cast<JHybridRiveImageSpec::
|
|
84
|
-
__promise->resolve(__result->
|
|
77
|
+
auto __result = jni::static_ref_cast<JHybridRiveImageSpec::JavaPart>(__boxedResult);
|
|
78
|
+
__promise->resolve(__result->getJHybridRiveImageSpec());
|
|
85
79
|
});
|
|
86
80
|
__result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
|
|
87
81
|
jni::JniException __jniError(__throwable);
|
|
@@ -91,13 +85,13 @@ namespace margelo::nitro::rive {
|
|
|
91
85
|
}();
|
|
92
86
|
}
|
|
93
87
|
std::shared_ptr<Promise<std::shared_ptr<HybridRiveImageSpec>>> JHybridRiveImageFactorySpec::loadFromBytesAsync(const std::shared_ptr<ArrayBuffer>& bytes) {
|
|
94
|
-
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<JArrayBuffer::javaobject> /* bytes */)>("loadFromBytesAsync");
|
|
88
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<JArrayBuffer::javaobject> /* bytes */)>("loadFromBytesAsync");
|
|
95
89
|
auto __result = method(_javaPart, JArrayBuffer::wrap(bytes));
|
|
96
90
|
return [&]() {
|
|
97
91
|
auto __promise = Promise<std::shared_ptr<HybridRiveImageSpec>>::create();
|
|
98
92
|
__result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
|
|
99
|
-
auto __result = jni::static_ref_cast<JHybridRiveImageSpec::
|
|
100
|
-
__promise->resolve(__result->
|
|
93
|
+
auto __result = jni::static_ref_cast<JHybridRiveImageSpec::JavaPart>(__boxedResult);
|
|
94
|
+
__promise->resolve(__result->getJHybridRiveImageSpec());
|
|
101
95
|
});
|
|
102
96
|
__result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
|
|
103
97
|
jni::JniException __jniError(__throwable);
|
|
@@ -18,34 +18,33 @@ namespace margelo::nitro::rive {
|
|
|
18
18
|
|
|
19
19
|
using namespace facebook;
|
|
20
20
|
|
|
21
|
-
class JHybridRiveImageFactorySpec: public
|
|
22
|
-
public virtual HybridRiveImageFactorySpec {
|
|
21
|
+
class JHybridRiveImageFactorySpec: public virtual HybridRiveImageFactorySpec, 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/HybridRiveImageFactorySpec;";
|
|
25
|
+
std::shared_ptr<JHybridRiveImageFactorySpec> getJHybridRiveImageFactorySpec();
|
|
26
|
+
};
|
|
27
|
+
struct CxxPart: public jni::HybridClass<CxxPart, JHybridObject::CxxPart> {
|
|
28
|
+
static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/rive/HybridRiveImageFactorySpec$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 JHybridRiveImageFactorySpec(const jni::local_ref<JHybridRiveImageFactorySpec::JavaPart>& javaPart):
|
|
38
|
+
HybridObject(HybridRiveImageFactorySpec::TAG),
|
|
39
|
+
JHybridObject(javaPart),
|
|
40
|
+
_javaPart(jni::make_global(javaPart)) {}
|
|
36
41
|
~JHybridRiveImageFactorySpec() 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<JHybridRiveImageFactorySpec::javaobject>& getJavaPart() const noexcept {
|
|
47
|
+
inline const jni::global_ref<JHybridRiveImageFactorySpec::JavaPart>& getJavaPart() const noexcept {
|
|
49
48
|
return _javaPart;
|
|
50
49
|
}
|
|
51
50
|
|
|
@@ -60,9 +59,7 @@ namespace margelo::nitro::rive {
|
|
|
60
59
|
std::shared_ptr<Promise<std::shared_ptr<HybridRiveImageSpec>>> loadFromBytesAsync(const std::shared_ptr<ArrayBuffer>& bytes) override;
|
|
61
60
|
|
|
62
61
|
private:
|
|
63
|
-
|
|
64
|
-
using HybridBase::HybridBase;
|
|
65
|
-
jni::global_ref<JHybridRiveImageFactorySpec::javaobject> _javaPart;
|
|
62
|
+
jni::global_ref<JHybridRiveImageFactorySpec::JavaPart> _javaPart;
|
|
66
63
|
};
|
|
67
64
|
|
|
68
65
|
} // namespace margelo::nitro::rive
|
|
@@ -13,42 +13,36 @@
|
|
|
13
13
|
|
|
14
14
|
namespace margelo::nitro::rive {
|
|
15
15
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
});
|
|
16
|
+
std::shared_ptr<JHybridRiveImageSpec> JHybridRiveImageSpec::JavaPart::getJHybridRiveImageSpec() {
|
|
17
|
+
auto hybridObject = JHybridObject::JavaPart::getJHybridObject();
|
|
18
|
+
auto castHybridObject = std::dynamic_pointer_cast<JHybridRiveImageSpec>(hybridObject);
|
|
19
|
+
if (castHybridObject == nullptr) [[unlikely]] {
|
|
20
|
+
throw std::runtime_error("Failed to downcast JHybridObject to JHybridRiveImageSpec!");
|
|
21
|
+
}
|
|
22
|
+
return castHybridObject;
|
|
24
23
|
}
|
|
25
24
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
return method(_javaPart);
|
|
25
|
+
jni::local_ref<JHybridRiveImageSpec::CxxPart::jhybriddata> JHybridRiveImageSpec::CxxPart::initHybrid(jni::alias_ref<jhybridobject> jThis) {
|
|
26
|
+
return makeCxxInstance(jThis);
|
|
29
27
|
}
|
|
30
28
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
29
|
+
std::shared_ptr<JHybridObject> JHybridRiveImageSpec::CxxPart::createHybridObject(const jni::local_ref<JHybridObject::JavaPart>& javaPart) {
|
|
30
|
+
auto castJavaPart = jni::dynamic_ref_cast<JHybridRiveImageSpec::JavaPart>(javaPart);
|
|
31
|
+
if (castJavaPart == nullptr) [[unlikely]] {
|
|
32
|
+
throw std::runtime_error("Failed to cast JHybridObject::JavaPart to JHybridRiveImageSpec::JavaPart!");
|
|
34
33
|
}
|
|
35
|
-
return
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
void JHybridRiveImageSpec::dispose() noexcept {
|
|
39
|
-
static const auto method = javaClassStatic()->getMethod<void()>("dispose");
|
|
40
|
-
method(_javaPart);
|
|
34
|
+
return std::make_shared<JHybridRiveImageSpec>(castJavaPart);
|
|
41
35
|
}
|
|
42
36
|
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
37
|
+
void JHybridRiveImageSpec::CxxPart::registerNatives() {
|
|
38
|
+
registerHybrid({
|
|
39
|
+
makeNativeMethod("initHybrid", JHybridRiveImageSpec::CxxPart::initHybrid),
|
|
40
|
+
});
|
|
47
41
|
}
|
|
48
42
|
|
|
49
43
|
// Properties
|
|
50
44
|
double JHybridRiveImageSpec::getByteSize() {
|
|
51
|
-
static const auto method = javaClassStatic()->getMethod<double()>("getByteSize");
|
|
45
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<double()>("getByteSize");
|
|
52
46
|
auto __result = method(_javaPart);
|
|
53
47
|
return __result;
|
|
54
48
|
}
|
|
@@ -18,34 +18,33 @@ namespace margelo::nitro::rive {
|
|
|
18
18
|
|
|
19
19
|
using namespace facebook;
|
|
20
20
|
|
|
21
|
-
class JHybridRiveImageSpec: public
|
|
22
|
-
public virtual HybridRiveImageSpec {
|
|
21
|
+
class JHybridRiveImageSpec: public virtual HybridRiveImageSpec, 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/HybridRiveImageSpec;";
|
|
25
|
+
std::shared_ptr<JHybridRiveImageSpec> getJHybridRiveImageSpec();
|
|
26
|
+
};
|
|
27
|
+
struct CxxPart: public jni::HybridClass<CxxPart, JHybridObject::CxxPart> {
|
|
28
|
+
static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/rive/HybridRiveImageSpec$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 JHybridRiveImageSpec(const jni::local_ref<JHybridRiveImageSpec::JavaPart>& javaPart):
|
|
38
|
+
HybridObject(HybridRiveImageSpec::TAG),
|
|
39
|
+
JHybridObject(javaPart),
|
|
40
|
+
_javaPart(jni::make_global(javaPart)) {}
|
|
36
41
|
~JHybridRiveImageSpec() 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<JHybridRiveImageSpec::javaobject>& getJavaPart() const noexcept {
|
|
47
|
+
inline const jni::global_ref<JHybridRiveImageSpec::JavaPart>& getJavaPart() const noexcept {
|
|
49
48
|
return _javaPart;
|
|
50
49
|
}
|
|
51
50
|
|
|
@@ -58,9 +57,7 @@ namespace margelo::nitro::rive {
|
|
|
58
57
|
|
|
59
58
|
|
|
60
59
|
private:
|
|
61
|
-
|
|
62
|
-
using HybridBase::HybridBase;
|
|
63
|
-
jni::global_ref<JHybridRiveImageSpec::javaobject> _javaPart;
|
|
60
|
+
jni::global_ref<JHybridRiveImageSpec::JavaPart> _javaPart;
|
|
64
61
|
};
|
|
65
62
|
|
|
66
63
|
} // namespace margelo::nitro::rive
|