-
Notifications
You must be signed in to change notification settings - Fork 9
Expand file tree
/
Copy pathriveOnLoad.cpp
More file actions
120 lines (111 loc) · 5.15 KB
/
riveOnLoad.cpp
File metadata and controls
120 lines (111 loc) · 5.15 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
///
/// riveOnLoad.cpp
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
/// https://github.com/mrousavy/nitro
/// Copyright © 2025 Marc Rousavy @ Margelo
///
#ifndef BUILDING_RIVE_WITH_GENERATED_CMAKE_PROJECT
#error riveOnLoad.cpp is not being built with the autogenerated CMakeLists.txt project. Is a different CMakeLists.txt building this?
#endif
#include "riveOnLoad.hpp"
#include <jni.h>
#include <fbjni/fbjni.h>
#include <NitroModules/HybridObjectRegistry.hpp>
#include "JHybridRiveSpec.hpp"
#include "JHybridRiveFileSpec.hpp"
#include "JHybridRiveFileFactorySpec.hpp"
#include "JHybridRiveImageSpec.hpp"
#include "JHybridRiveImageFactorySpec.hpp"
#include "JHybridRiveViewSpec.hpp"
#include "JFunc_void_RiveError.hpp"
#include "JFunc_void_UnifiedRiveEvent.hpp"
#include "views/JHybridRiveViewStateUpdater.hpp"
#include "JHybridViewModelSpec.hpp"
#include "JHybridViewModelInstanceSpec.hpp"
#include "JHybridViewModelPropertySpec.hpp"
#include "JHybridViewModelNumberPropertySpec.hpp"
#include "JFunc_void.hpp"
#include "JFunc_void_double.hpp"
#include "JHybridViewModelStringPropertySpec.hpp"
#include "JFunc_void_std__string.hpp"
#include "JHybridViewModelBooleanPropertySpec.hpp"
#include "JFunc_void_bool.hpp"
#include "JHybridViewModelColorPropertySpec.hpp"
#include "JHybridViewModelEnumPropertySpec.hpp"
#include "JHybridViewModelTriggerPropertySpec.hpp"
#include "JHybridViewModelImagePropertySpec.hpp"
#include <NitroModules/DefaultConstructableObject.hpp>
namespace margelo::nitro::rive {
int initialize(JavaVM* vm) {
using namespace margelo::nitro;
using namespace margelo::nitro::rive;
using namespace facebook;
return facebook::jni::initialize(vm, [] {
// Register native JNI methods
margelo::nitro::rive::JHybridRiveSpec::registerNatives();
margelo::nitro::rive::JHybridRiveFileSpec::registerNatives();
margelo::nitro::rive::JHybridRiveFileFactorySpec::registerNatives();
margelo::nitro::rive::JHybridRiveImageSpec::registerNatives();
margelo::nitro::rive::JHybridRiveImageFactorySpec::registerNatives();
margelo::nitro::rive::JHybridRiveViewSpec::registerNatives();
margelo::nitro::rive::JFunc_void_RiveError_cxx::registerNatives();
margelo::nitro::rive::JFunc_void_UnifiedRiveEvent_cxx::registerNatives();
margelo::nitro::rive::views::JHybridRiveViewStateUpdater::registerNatives();
margelo::nitro::rive::JHybridViewModelSpec::registerNatives();
margelo::nitro::rive::JHybridViewModelInstanceSpec::registerNatives();
margelo::nitro::rive::JHybridViewModelPropertySpec::registerNatives();
margelo::nitro::rive::JHybridViewModelNumberPropertySpec::registerNatives();
margelo::nitro::rive::JFunc_void_cxx::registerNatives();
margelo::nitro::rive::JFunc_void_double_cxx::registerNatives();
margelo::nitro::rive::JHybridViewModelStringPropertySpec::registerNatives();
margelo::nitro::rive::JFunc_void_std__string_cxx::registerNatives();
margelo::nitro::rive::JHybridViewModelBooleanPropertySpec::registerNatives();
margelo::nitro::rive::JFunc_void_bool_cxx::registerNatives();
margelo::nitro::rive::JHybridViewModelColorPropertySpec::registerNatives();
margelo::nitro::rive::JHybridViewModelEnumPropertySpec::registerNatives();
margelo::nitro::rive::JHybridViewModelTriggerPropertySpec::registerNatives();
margelo::nitro::rive::JHybridViewModelImagePropertySpec::registerNatives();
// Register Nitro Hybrid Objects
HybridObjectRegistry::registerHybridObjectConstructor(
"Rive",
[]() -> std::shared_ptr<HybridObject> {
static DefaultConstructableObject<JHybridRiveSpec::javaobject> object("com/margelo/nitro/rive/Rive");
auto instance = object.create();
return instance->cthis()->shared();
}
);
HybridObjectRegistry::registerHybridObjectConstructor(
"RiveFileFactory",
[]() -> std::shared_ptr<HybridObject> {
static DefaultConstructableObject<JHybridRiveFileFactorySpec::javaobject> object("com/margelo/nitro/rive/HybridRiveFileFactory");
auto instance = object.create();
return instance->cthis()->shared();
}
);
HybridObjectRegistry::registerHybridObjectConstructor(
"RiveFile",
[]() -> std::shared_ptr<HybridObject> {
static DefaultConstructableObject<JHybridRiveFileSpec::javaobject> object("com/margelo/nitro/rive/HybridRiveFile");
auto instance = object.create();
return instance->cthis()->shared();
}
);
HybridObjectRegistry::registerHybridObjectConstructor(
"RiveView",
[]() -> std::shared_ptr<HybridObject> {
static DefaultConstructableObject<JHybridRiveViewSpec::javaobject> object("com/margelo/nitro/rive/HybridRiveView");
auto instance = object.create();
return instance->cthis()->shared();
}
);
HybridObjectRegistry::registerHybridObjectConstructor(
"RiveImageFactory",
[]() -> std::shared_ptr<HybridObject> {
static DefaultConstructableObject<JHybridRiveImageFactorySpec::javaobject> object("com/margelo/nitro/rive/HybridRiveImageFactory");
auto instance = object.create();
return instance->cthis()->shared();
}
);
});
}
} // namespace margelo::nitro::rive