@rive-app/react-native 0.2.6 → 0.2.7
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/android/src/main/java/com/margelo/nitro/rive/{Rive.kt → HybridDefaultFallbackFont.kt} +1 -5
- package/android/src/main/java/com/margelo/nitro/rive/HybridFallbackFont.kt +10 -0
- package/android/src/main/java/com/margelo/nitro/rive/HybridRiveFontConfig.kt +136 -0
- package/ios/HybridDefaultFallbackFont.swift +3 -0
- package/ios/HybridFallbackFont.swift +10 -0
- package/ios/HybridRiveFontConfig.swift +109 -0
- package/lib/module/core/RiveFonts.js +72 -0
- package/lib/module/core/RiveFonts.js.map +1 -0
- package/lib/module/index.js +1 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/specs/RiveFontConfig.nitro.js +4 -0
- package/lib/module/specs/{Rive.nitro.js.map → RiveFontConfig.nitro.js.map} +1 -1
- package/lib/typescript/src/core/RiveFonts.d.ts +23 -0
- package/lib/typescript/src/core/RiveFonts.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts +2 -0
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/specs/RiveFontConfig.nitro.d.ts +20 -0
- package/lib/typescript/src/specs/RiveFontConfig.nitro.d.ts.map +1 -0
- package/nitrogen/generated/android/c++/JHybridFallbackFontSpec.cpp +55 -0
- package/nitrogen/generated/android/c++/{JHybridRiveSpec.hpp → JHybridFallbackFontSpec.hpp} +11 -11
- package/nitrogen/generated/android/c++/JHybridRiveFontConfigSpec.cpp +143 -0
- package/nitrogen/generated/android/c++/JHybridRiveFontConfigSpec.hpp +73 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/{HybridRiveSpec.kt → HybridFallbackFontSpec.kt} +7 -9
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridRiveFontConfigSpec.kt +87 -0
- package/nitrogen/generated/android/rive+autolinking.cmake +4 -2
- package/nitrogen/generated/android/riveOnLoad.cpp +6 -4
- package/nitrogen/generated/ios/RNRive-Swift-Cxx-Bridge.cpp +50 -25
- package/nitrogen/generated/ios/RNRive-Swift-Cxx-Bridge.hpp +149 -69
- package/nitrogen/generated/ios/RNRive-Swift-Cxx-Umbrella.hpp +10 -5
- package/nitrogen/generated/ios/RNRiveAutolinking.mm +3 -3
- package/nitrogen/generated/ios/RNRiveAutolinking.swift +5 -5
- package/nitrogen/generated/ios/c++/{HybridRiveSpecSwift.cpp → HybridFallbackFontSpecSwift.cpp} +2 -2
- package/nitrogen/generated/ios/c++/{HybridRiveSpecSwift.hpp → HybridFallbackFontSpecSwift.hpp} +14 -21
- package/nitrogen/generated/ios/c++/HybridRiveFontConfigSpecSwift.cpp +11 -0
- package/nitrogen/generated/ios/c++/HybridRiveFontConfigSpecSwift.hpp +145 -0
- package/nitrogen/generated/ios/swift/Func_void_std__shared_ptr_HybridFallbackFontSpec_.swift +51 -0
- package/nitrogen/generated/ios/swift/HybridFallbackFontSpec.swift +56 -0
- package/nitrogen/generated/ios/swift/{HybridRiveSpec_cxx.swift → HybridFallbackFontSpec_cxx.swift} +20 -30
- package/nitrogen/generated/ios/swift/HybridRiveFontConfigSpec.swift +63 -0
- package/nitrogen/generated/ios/swift/HybridRiveFontConfigSpec_cxx.swift +262 -0
- package/nitrogen/generated/shared/c++/{HybridRiveSpec.cpp → HybridFallbackFontSpec.cpp} +4 -4
- package/nitrogen/generated/shared/c++/{HybridRiveSpec.hpp → HybridFallbackFontSpec.hpp} +10 -10
- package/nitrogen/generated/shared/c++/HybridRiveFontConfigSpec.cpp +28 -0
- package/nitrogen/generated/shared/c++/HybridRiveFontConfigSpec.hpp +75 -0
- package/package.json +1 -1
- package/src/core/RiveFonts.ts +95 -0
- package/src/index.tsx +7 -0
- package/src/specs/RiveFontConfig.nitro.ts +16 -0
- package/ios/Rive.swift +0 -5
- package/lib/module/specs/Rive.nitro.js +0 -4
- package/lib/typescript/src/specs/Rive.nitro.d.ts +0 -8
- package/lib/typescript/src/specs/Rive.nitro.d.ts.map +0 -1
- package/nitrogen/generated/android/c++/JHybridRiveSpec.cpp +0 -59
- package/nitrogen/generated/ios/swift/HybridRiveSpec.swift +0 -56
- package/src/specs/Rive.nitro.ts +0 -6
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
package com.margelo.nitro.rive
|
|
2
|
+
|
|
3
|
+
import android.util.Log
|
|
4
|
+
import androidx.annotation.Keep
|
|
5
|
+
import app.rive.runtime.kotlin.fonts.FontFallbackStrategy
|
|
6
|
+
import app.rive.runtime.kotlin.fonts.FontHelper
|
|
7
|
+
import app.rive.runtime.kotlin.fonts.Fonts
|
|
8
|
+
import com.facebook.proguard.annotations.DoNotStrip
|
|
9
|
+
import com.margelo.nitro.NitroModules
|
|
10
|
+
import com.margelo.nitro.core.ArrayBuffer
|
|
11
|
+
import com.margelo.nitro.core.Promise
|
|
12
|
+
import java.net.URL
|
|
13
|
+
import kotlinx.coroutines.Dispatchers
|
|
14
|
+
import kotlinx.coroutines.withContext
|
|
15
|
+
|
|
16
|
+
@Keep
|
|
17
|
+
@DoNotStrip
|
|
18
|
+
class HybridRiveFontConfig : HybridRiveFontConfigSpec() {
|
|
19
|
+
companion object {
|
|
20
|
+
private const val TAG = "RiveFonts"
|
|
21
|
+
private const val DEFAULT_WEIGHT = 0
|
|
22
|
+
private val fontsByWeight: MutableMap<Int, List<HybridFallbackFontSpec>> =
|
|
23
|
+
java.util.Collections.synchronizedMap(mutableMapOf())
|
|
24
|
+
|
|
25
|
+
private fun resetFontCache() {
|
|
26
|
+
try {
|
|
27
|
+
FontFallbackStrategy.cppResetFontCache()
|
|
28
|
+
} catch (e: Exception) {
|
|
29
|
+
Log.e(TAG, "Failed to reset font cache: ${e.message}")
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
override fun loadFontFromURL(url: String): Promise<HybridFallbackFontSpec> {
|
|
35
|
+
return Promise.async {
|
|
36
|
+
val fontBytes = withContext(Dispatchers.IO) {
|
|
37
|
+
URL(url).readBytes()
|
|
38
|
+
}
|
|
39
|
+
HybridFallbackFont(fontBytes)
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
override fun loadFontFromResource(resource: String): HybridFallbackFontSpec {
|
|
44
|
+
val context = NitroModules.applicationContext
|
|
45
|
+
?: throw Error("Application context not available")
|
|
46
|
+
|
|
47
|
+
val resName = resource.substringBeforeLast(".")
|
|
48
|
+
|
|
49
|
+
val rawId = context.resources.getIdentifier(resName, "raw", context.packageName)
|
|
50
|
+
if (rawId != 0) {
|
|
51
|
+
val fontBytes = context.resources.openRawResource(rawId).use { it.readBytes() }
|
|
52
|
+
return HybridFallbackFont(fontBytes)
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
val fontId = context.resources.getIdentifier(resName, "font", context.packageName)
|
|
56
|
+
if (fontId != 0) {
|
|
57
|
+
val fontBytes = context.resources.openRawResource(fontId).use { it.readBytes() }
|
|
58
|
+
return HybridFallbackFont(fontBytes)
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
val assetPaths = listOf("fonts/$resource", resource)
|
|
62
|
+
for (assetPath in assetPaths) {
|
|
63
|
+
try {
|
|
64
|
+
val fontBytes = context.assets.open(assetPath).use { it.readBytes() }
|
|
65
|
+
return HybridFallbackFont(fontBytes)
|
|
66
|
+
} catch (_: Exception) {
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
throw Error("Font resource not found: $resource (checked res/raw, res/font, assets/fonts)")
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
override fun loadFontFromBytes(bytes: ArrayBuffer): HybridFallbackFontSpec {
|
|
74
|
+
val buffer = bytes.getBuffer(false)
|
|
75
|
+
val byteArray = ByteArray(buffer.remaining())
|
|
76
|
+
buffer.get(byteArray)
|
|
77
|
+
return HybridFallbackFont(byteArray)
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
override fun loadFontByName(name: String): HybridFallbackFontSpec {
|
|
81
|
+
val fonts = FontHelper.getFallbackFonts(Fonts.FontOpts(familyName = name))
|
|
82
|
+
if (fonts.isEmpty()) {
|
|
83
|
+
throw Error("System font not found: $name")
|
|
84
|
+
}
|
|
85
|
+
val fontBytes = FontHelper.getFontBytes(fonts.first())
|
|
86
|
+
?: throw Error("Could not read font bytes for: $name")
|
|
87
|
+
return HybridFallbackFont(fontBytes)
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
override fun getSystemDefaultFont(): HybridFallbackFontSpec {
|
|
91
|
+
return HybridDefaultFallbackFont()
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
override fun setFontsForWeight(weight: Double, fonts: Array<HybridFallbackFontSpec>) {
|
|
95
|
+
val key = weight.toInt()
|
|
96
|
+
synchronized(fontsByWeight) {
|
|
97
|
+
fontsByWeight[key] = fonts.toList()
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
override fun applyFallbackFonts(): Promise<Unit> {
|
|
102
|
+
return Promise.async {
|
|
103
|
+
FontFallbackStrategy.stylePicker = object : FontFallbackStrategy {
|
|
104
|
+
override fun getFont(weight: Fonts.Weight): List<ByteArray> {
|
|
105
|
+
val requestedWeight = weight.weight
|
|
106
|
+
val specs = synchronized(fontsByWeight) {
|
|
107
|
+
fontsByWeight[requestedWeight] ?: fontsByWeight[DEFAULT_WEIGHT] ?: emptyList()
|
|
108
|
+
}
|
|
109
|
+
return specs.mapNotNull { spec ->
|
|
110
|
+
when (spec) {
|
|
111
|
+
is HybridDefaultFallbackFont ->
|
|
112
|
+
FontHelper.getFallbackFontBytes(Fonts.FontOpts(weight = weight))
|
|
113
|
+
is HybridFallbackFont ->
|
|
114
|
+
spec.fontBytes
|
|
115
|
+
else -> {
|
|
116
|
+
Log.e(TAG, "Unknown fallback font spec type: ${spec::class.simpleName}")
|
|
117
|
+
null
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
resetFontCache()
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
override fun clearFallbackFonts(): Promise<Unit> {
|
|
128
|
+
return Promise.async {
|
|
129
|
+
synchronized(fontsByWeight) {
|
|
130
|
+
fontsByWeight.clear()
|
|
131
|
+
}
|
|
132
|
+
FontFallbackStrategy.stylePicker = null
|
|
133
|
+
resetFontCache()
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import CoreText
|
|
2
|
+
import NitroModules
|
|
3
|
+
import RiveRuntime
|
|
4
|
+
|
|
5
|
+
class HybridRiveFontConfig: HybridRiveFontConfigSpec {
|
|
6
|
+
private static let defaultWeight = 0
|
|
7
|
+
private static var fontsByWeight: [Int: [any HybridFallbackFontSpec]] = [:]
|
|
8
|
+
|
|
9
|
+
func loadFontFromURL(url: String) throws -> Promise<(any HybridFallbackFontSpec)> {
|
|
10
|
+
return Promise.async {
|
|
11
|
+
guard let parsedURL = URL(string: url) else {
|
|
12
|
+
throw RuntimeError.error(withMessage: "Invalid font URL: \(url)")
|
|
13
|
+
}
|
|
14
|
+
let (data, _) = try await URLSession.shared.data(from: parsedURL)
|
|
15
|
+
let font = try Self.createUIFont(from: data)
|
|
16
|
+
return HybridFallbackFont(font: font)
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
func loadFontFromResource(resource: String) throws -> (any HybridFallbackFontSpec) {
|
|
21
|
+
let nsResource = resource as NSString
|
|
22
|
+
let name = nsResource.deletingPathExtension
|
|
23
|
+
let ext = nsResource.pathExtension.isEmpty ? nil : nsResource.pathExtension
|
|
24
|
+
|
|
25
|
+
guard let path = Bundle.main.path(forResource: name, ofType: ext) else {
|
|
26
|
+
throw RuntimeError.error(withMessage: "Font resource not found: \(resource)")
|
|
27
|
+
}
|
|
28
|
+
let data = try Data(contentsOf: URL(fileURLWithPath: path))
|
|
29
|
+
let font = try Self.createUIFont(from: data)
|
|
30
|
+
return HybridFallbackFont(font: font)
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
func loadFontFromBytes(bytes: ArrayBuffer) throws -> (any HybridFallbackFontSpec) {
|
|
34
|
+
let data = bytes.toData(copyIfNeeded: true)
|
|
35
|
+
let font = try Self.createUIFont(from: data)
|
|
36
|
+
return HybridFallbackFont(font: font)
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
func loadFontByName(name: String) throws -> (any HybridFallbackFontSpec) {
|
|
40
|
+
guard let font = UIFont(name: name, size: UIFont.systemFontSize) else {
|
|
41
|
+
throw RuntimeError.error(withMessage: "System font not found: \(name)")
|
|
42
|
+
}
|
|
43
|
+
return HybridFallbackFont(font: font)
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
func getSystemDefaultFont() throws -> (any HybridFallbackFontSpec) {
|
|
47
|
+
return HybridDefaultFallbackFont()
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
func setFontsForWeight(weight: Double, fonts: [(any HybridFallbackFontSpec)]) throws {
|
|
51
|
+
let key = Int(weight)
|
|
52
|
+
Self.fontsByWeight[key] = fonts
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
func applyFallbackFonts() throws -> Promise<Void> {
|
|
56
|
+
return Promise.async {
|
|
57
|
+
_ = RiveFont.self
|
|
58
|
+
RiveFont.fallbackFontsCallback = { weight in
|
|
59
|
+
let requestedWeight = Int(weight.rawWeight)
|
|
60
|
+
let specs = Self.fontsByWeight[requestedWeight] ?? Self.fontsByWeight[Self.defaultWeight] ?? []
|
|
61
|
+
return specs.compactMap { spec in
|
|
62
|
+
if spec is HybridDefaultFallbackFont {
|
|
63
|
+
return RiveFallbackFontDescriptor()
|
|
64
|
+
} else if let fallbackFont = spec as? HybridFallbackFont {
|
|
65
|
+
return fallbackFont.font
|
|
66
|
+
} else {
|
|
67
|
+
print("[RiveFonts] Unknown fallback font spec type: \(type(of: spec))")
|
|
68
|
+
return nil
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
func clearFallbackFonts() throws -> Promise<Void> {
|
|
76
|
+
return Promise.async {
|
|
77
|
+
Self.fontsByWeight.removeAll()
|
|
78
|
+
RiveFont.fallbackFontsCallback = { _ in [RiveFallbackFontDescriptor()] }
|
|
79
|
+
RiveFont.fallbackFonts = [RiveFallbackFontDescriptor()]
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
private static func createUIFont(from data: Data) throws -> UIFont {
|
|
84
|
+
guard let provider = CGDataProvider(data: data as CFData),
|
|
85
|
+
let cgFont = CGFont(provider)
|
|
86
|
+
else {
|
|
87
|
+
throw RuntimeError.error(withMessage: "Failed to decode font data")
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
var error: Unmanaged<CFError>?
|
|
91
|
+
if !CTFontManagerRegisterGraphicsFont(cgFont, &error) {
|
|
92
|
+
let cfError = error?.takeRetainedValue()
|
|
93
|
+
let domain = cfError.map { CFErrorGetDomain($0) as String } ?? ""
|
|
94
|
+
if domain != kCTFontManagerErrorDomain as String {
|
|
95
|
+
throw RuntimeError.error(
|
|
96
|
+
withMessage: "Failed to register font: \(cfError?.localizedDescription ?? "unknown error")"
|
|
97
|
+
)
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
guard let fontName = cgFont.postScriptName as String? else {
|
|
102
|
+
throw RuntimeError.error(withMessage: "Failed to get font name from data")
|
|
103
|
+
}
|
|
104
|
+
guard let font = UIFont(name: fontName, size: UIFont.systemFontSize) else {
|
|
105
|
+
throw RuntimeError.error(withMessage: "Failed to create UIFont for: \(fontName)")
|
|
106
|
+
}
|
|
107
|
+
return font
|
|
108
|
+
}
|
|
109
|
+
}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { NitroModules } from 'react-native-nitro-modules';
|
|
4
|
+
import { Image } from 'react-native';
|
|
5
|
+
const RiveFontConfigInternal = NitroModules.createHybridObject('RiveFontConfig');
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* A font source that can be:
|
|
9
|
+
* - `number` — a Metro `require('./Font.ttf')` asset ID
|
|
10
|
+
* - `{ uri: string }` — a URI object (http/https URL, file:// path, or resource name)
|
|
11
|
+
* - `string` — a native resource name (e.g. "kanit_regular.ttf") or URL
|
|
12
|
+
* - `{ name: string }` — a system font name (e.g. "Arial", "sans-serif")
|
|
13
|
+
* - `ArrayBuffer` — raw font bytes (TTF/OTF)
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
const DEFAULT_WEIGHT = 0;
|
|
17
|
+
function resolveWeight(key) {
|
|
18
|
+
return key === 'default' ? DEFAULT_WEIGHT : Number(key);
|
|
19
|
+
}
|
|
20
|
+
export let RiveFonts;
|
|
21
|
+
(function (_RiveFonts) {
|
|
22
|
+
async function loadFont(source) {
|
|
23
|
+
if (source instanceof ArrayBuffer) {
|
|
24
|
+
return RiveFontConfigInternal.loadFontFromBytes(source);
|
|
25
|
+
}
|
|
26
|
+
if (typeof source === 'number') {
|
|
27
|
+
const resolved = Image.resolveAssetSource(source);
|
|
28
|
+
if (!resolved?.uri) {
|
|
29
|
+
throw new Error(`Invalid font asset: could not resolve require() ID ${source}. Ensure 'ttf' is in metro.config.js assetExts.`);
|
|
30
|
+
}
|
|
31
|
+
return loadFontByURI(resolved.uri);
|
|
32
|
+
}
|
|
33
|
+
if (typeof source === 'object' && 'name' in source) {
|
|
34
|
+
return RiveFontConfigInternal.loadFontByName(source.name);
|
|
35
|
+
}
|
|
36
|
+
if (typeof source === 'object' && 'uri' in source) {
|
|
37
|
+
return loadFontByURI(source.uri);
|
|
38
|
+
}
|
|
39
|
+
if (typeof source === 'string') {
|
|
40
|
+
if (/^https?:\/\//.test(source) || /^file:\/\//.test(source)) {
|
|
41
|
+
return RiveFontConfigInternal.loadFontFromURL(source);
|
|
42
|
+
}
|
|
43
|
+
return RiveFontConfigInternal.loadFontFromResource(source);
|
|
44
|
+
}
|
|
45
|
+
throw new Error(`Invalid font source: ${String(source)}`);
|
|
46
|
+
}
|
|
47
|
+
_RiveFonts.loadFont = loadFont;
|
|
48
|
+
function systemFallback() {
|
|
49
|
+
return RiveFontConfigInternal.getSystemDefaultFont();
|
|
50
|
+
}
|
|
51
|
+
_RiveFonts.systemFallback = systemFallback;
|
|
52
|
+
async function setFallbackFonts(fontsByWeight) {
|
|
53
|
+
for (const [key, fonts] of Object.entries(fontsByWeight)) {
|
|
54
|
+
if (fonts) {
|
|
55
|
+
RiveFontConfigInternal.setFontsForWeight(resolveWeight(key), fonts);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
await RiveFontConfigInternal.applyFallbackFonts();
|
|
59
|
+
}
|
|
60
|
+
_RiveFonts.setFallbackFonts = setFallbackFonts;
|
|
61
|
+
async function clearFallbackFonts() {
|
|
62
|
+
return RiveFontConfigInternal.clearFallbackFonts();
|
|
63
|
+
}
|
|
64
|
+
_RiveFonts.clearFallbackFonts = clearFallbackFonts;
|
|
65
|
+
})(RiveFonts || (RiveFonts = {}));
|
|
66
|
+
function loadFontByURI(uri) {
|
|
67
|
+
if (/^https?:\/\//.test(uri) || /^file:\/\//.test(uri)) {
|
|
68
|
+
return RiveFontConfigInternal.loadFontFromURL(uri);
|
|
69
|
+
}
|
|
70
|
+
return RiveFontConfigInternal.loadFontFromResource(uri);
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=RiveFonts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["NitroModules","Image","RiveFontConfigInternal","createHybridObject","DEFAULT_WEIGHT","resolveWeight","key","Number","RiveFonts","_RiveFonts","loadFont","source","ArrayBuffer","loadFontFromBytes","resolved","resolveAssetSource","uri","Error","loadFontByURI","loadFontByName","name","test","loadFontFromURL","loadFontFromResource","String","systemFallback","getSystemDefaultFont","setFallbackFonts","fontsByWeight","fonts","Object","entries","setFontsForWeight","applyFallbackFonts","clearFallbackFonts"],"sourceRoot":"../../../src","sources":["core/RiveFonts.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/module/index.js
CHANGED
|
@@ -12,6 +12,7 @@ export { Fit } from "./core/Fit.js";
|
|
|
12
12
|
export { Alignment } from "./core/Alignment.js";
|
|
13
13
|
export { RiveFileFactory } from "./core/RiveFile.js";
|
|
14
14
|
export { RiveImages } from "./core/RiveImages.js";
|
|
15
|
+
export { RiveFonts } from "./core/RiveFonts.js";
|
|
15
16
|
export { RiveColor } from "./core/RiveColor.js";
|
|
16
17
|
export { RiveEventType } from "./core/Events.js";
|
|
17
18
|
export { RiveErrorType } from "./core/Errors.js";
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["DataBindMode","DataBindByName","constructor","name","byName","NitroRiveView","RiveView","Fit","Alignment","RiveFileFactory","RiveImages","RiveColor","RiveEventType","RiveErrorType","ArtboardByIndex","ArtboardByName","useRive","useRiveNumber","useRiveString","useRiveBoolean","useRiveEnum","useRiveColor","useRiveTrigger","useRiveList","useViewModelInstance","useRiveFile","RiveRuntime"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AACA,SAIEA,YAAY,QAEP,2BAAwB;AAE/B,OAAO,MAAMC,cAAc,CAAoC;EAE7DC,WAAWA,CAACC,IAAY,EAAE;IACxB,IAAI,CAACC,MAAM,GAAGD,IAAI;EACpB;AACF;AAEA,SAASE,aAAa,QAAQ,kCAA+B;AAE7D,SAASC,QAAQ,QAA4B,oBAAiB;AAkB9D,SAASC,GAAG,QAAQ,eAAY;AAChC,SAASC,SAAS,QAAQ,qBAAkB;AAC5C,SAASC,eAAe,QAAQ,oBAAiB;AACjD,SAASC,UAAU,QAAQ,sBAAmB;AAE9C,SAASC,SAAS,QAAQ,qBAAkB;AAC5C,SAAyBC,aAAa,QAAQ,kBAAe;AAC7D,SAAyBC,aAAa,QAAQ,kBAAe;AAC7D,SAASC,eAAe,EAAEC,cAAc,QAAQ,uBAAoB;AACpE,SAASC,OAAO,QAAQ,oBAAiB;AACzC,SAASC,aAAa,QAAQ,0BAAuB;AACrD,SAASC,aAAa,QAAQ,0BAAuB;AACrD,SAASC,cAAc,QAAQ,2BAAwB;AACvD,SAASC,WAAW,QAAQ,wBAAqB;AACjD,SAASC,YAAY,QAAQ,yBAAsB;AACnD,SAASC,cAAc,QAAQ,2BAAwB;AACvD,SAASC,WAAW,QAAQ,wBAAqB;AACjD,SAASC,oBAAoB,QAAQ,iCAA8B;AACnE,SAASC,WAAW,QAAQ,wBAAqB;AAGjD,SAASC,WAAW,QAAQ,uBAAoB;AAChD,
|
|
1
|
+
{"version":3,"names":["DataBindMode","DataBindByName","constructor","name","byName","NitroRiveView","RiveView","Fit","Alignment","RiveFileFactory","RiveImages","RiveFonts","RiveColor","RiveEventType","RiveErrorType","ArtboardByIndex","ArtboardByName","useRive","useRiveNumber","useRiveString","useRiveBoolean","useRiveEnum","useRiveColor","useRiveTrigger","useRiveList","useViewModelInstance","useRiveFile","RiveRuntime"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AACA,SAIEA,YAAY,QAEP,2BAAwB;AAE/B,OAAO,MAAMC,cAAc,CAAoC;EAE7DC,WAAWA,CAACC,IAAY,EAAE;IACxB,IAAI,CAACC,MAAM,GAAGD,IAAI;EACpB;AACF;AAEA,SAASE,aAAa,QAAQ,kCAA+B;AAE7D,SAASC,QAAQ,QAA4B,oBAAiB;AAkB9D,SAASC,GAAG,QAAQ,eAAY;AAChC,SAASC,SAAS,QAAQ,qBAAkB;AAC5C,SAASC,eAAe,QAAQ,oBAAiB;AACjD,SAASC,UAAU,QAAQ,sBAAmB;AAE9C,SACEC,SAAS,QAIJ,qBAAkB;AAEzB,SAASC,SAAS,QAAQ,qBAAkB;AAC5C,SAAyBC,aAAa,QAAQ,kBAAe;AAC7D,SAAyBC,aAAa,QAAQ,kBAAe;AAC7D,SAASC,eAAe,EAAEC,cAAc,QAAQ,uBAAoB;AACpE,SAASC,OAAO,QAAQ,oBAAiB;AACzC,SAASC,aAAa,QAAQ,0BAAuB;AACrD,SAASC,aAAa,QAAQ,0BAAuB;AACrD,SAASC,cAAc,QAAQ,2BAAwB;AACvD,SAASC,WAAW,QAAQ,wBAAqB;AACjD,SAASC,YAAY,QAAQ,yBAAsB;AACnD,SAASC,cAAc,QAAQ,2BAAwB;AACvD,SAASC,WAAW,QAAQ,wBAAqB;AACjD,SAASC,oBAAoB,QAAQ,iCAA8B;AACnE,SAASC,WAAW,QAAQ,wBAAqB;AAGjD,SAASC,WAAW,QAAQ,uBAAoB;AAChD,SAAS3B,YAAY","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["specs/
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["specs/RiveFontConfig.nitro.ts"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { FallbackFont } from '../specs/RiveFontConfig.nitro';
|
|
2
|
+
/**
|
|
3
|
+
* A font source that can be:
|
|
4
|
+
* - `number` — a Metro `require('./Font.ttf')` asset ID
|
|
5
|
+
* - `{ uri: string }` — a URI object (http/https URL, file:// path, or resource name)
|
|
6
|
+
* - `string` — a native resource name (e.g. "kanit_regular.ttf") or URL
|
|
7
|
+
* - `{ name: string }` — a system font name (e.g. "Arial", "sans-serif")
|
|
8
|
+
* - `ArrayBuffer` — raw font bytes (TTF/OTF)
|
|
9
|
+
*/
|
|
10
|
+
export type FontSource = number | {
|
|
11
|
+
uri: string;
|
|
12
|
+
} | {
|
|
13
|
+
name: string;
|
|
14
|
+
} | string | ArrayBuffer;
|
|
15
|
+
export type FontWeight = number | 'default';
|
|
16
|
+
export type FallbackFontMap = Partial<Record<FontWeight, FallbackFont[]>>;
|
|
17
|
+
export declare namespace RiveFonts {
|
|
18
|
+
function loadFont(source: FontSource): Promise<FallbackFont>;
|
|
19
|
+
function systemFallback(): FallbackFont;
|
|
20
|
+
function setFallbackFonts(fontsByWeight: FallbackFontMap): Promise<void>;
|
|
21
|
+
function clearFallbackFonts(): Promise<void>;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=RiveFonts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RiveFonts.d.ts","sourceRoot":"","sources":["../../../../src/core/RiveFonts.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEV,YAAY,EACb,MAAM,+BAA+B,CAAC;AAKvC;;;;;;;GAOG;AACH,MAAM,MAAM,UAAU,GAClB,MAAM,GACN;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,GACf;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB,MAAM,GACN,WAAW,CAAC;AAEhB,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,SAAS,CAAC;AAE5C,MAAM,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC;AAQ1E,yBAAiB,SAAS,CAAC;IACzB,SAAsB,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC,CA+BxE;IAED,SAAgB,cAAc,IAAI,YAAY,CAE7C;IAED,SAAsB,gBAAgB,CACpC,aAAa,EAAE,eAAe,GAC7B,OAAO,CAAC,IAAI,CAAC,CAOf;IAED,SAAsB,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC,CAExD;CACF"}
|
|
@@ -16,6 +16,8 @@ export { Alignment } from './core/Alignment';
|
|
|
16
16
|
export { RiveFileFactory } from './core/RiveFile';
|
|
17
17
|
export { RiveImages } from './core/RiveImages';
|
|
18
18
|
export type { RiveImage } from './specs/RiveImage.nitro';
|
|
19
|
+
export { RiveFonts, type FontSource, type FontWeight, type FallbackFontMap, } from './core/RiveFonts';
|
|
20
|
+
export type { FallbackFont } from './specs/RiveFontConfig.nitro';
|
|
19
21
|
export { RiveColor } from './core/RiveColor';
|
|
20
22
|
export { type RiveEvent, RiveEventType } from './core/Events';
|
|
21
23
|
export { type RiveError, RiveErrorType } from './core/Errors';
|
|
@@ -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,EACtB,qBAAqB,EACrB,yBAAyB,GAC1B,MAAM,yBAAyB,CAAC;AACjC,YAAY,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AACvE,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,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,CAAC"}
|
|
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,EACrB,yBAAyB,GAC1B,MAAM,yBAAyB,CAAC;AACjC,YAAY,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AACvE,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,EACL,SAAS,EACT,KAAK,UAAU,EACf,KAAK,UAAU,EACf,KAAK,eAAe,GACrB,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AACjE,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,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { HybridObject } from 'react-native-nitro-modules';
|
|
2
|
+
export interface FallbackFont extends HybridObject<{
|
|
3
|
+
ios: 'swift';
|
|
4
|
+
android: 'kotlin';
|
|
5
|
+
}> {
|
|
6
|
+
}
|
|
7
|
+
export interface RiveFontConfig extends HybridObject<{
|
|
8
|
+
ios: 'swift';
|
|
9
|
+
android: 'kotlin';
|
|
10
|
+
}> {
|
|
11
|
+
loadFontFromURL(url: string): Promise<FallbackFont>;
|
|
12
|
+
loadFontFromResource(resource: string): FallbackFont;
|
|
13
|
+
loadFontFromBytes(bytes: ArrayBuffer): FallbackFont;
|
|
14
|
+
loadFontByName(name: string): FallbackFont;
|
|
15
|
+
getSystemDefaultFont(): FallbackFont;
|
|
16
|
+
setFontsForWeight(weight: number, fonts: FallbackFont[]): void;
|
|
17
|
+
applyFallbackFonts(): Promise<void>;
|
|
18
|
+
clearFallbackFonts(): Promise<void>;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=RiveFontConfig.nitro.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RiveFontConfig.nitro.d.ts","sourceRoot":"","sources":["../../../../src/specs/RiveFontConfig.nitro.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE/D,MAAM,WAAW,YACf,SAAQ,YAAY,CAAC;IAAE,GAAG,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,QAAQ,CAAA;CAAE,CAAC;CAAG;AAE9D,MAAM,WAAW,cACf,SAAQ,YAAY,CAAC;IAAE,GAAG,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,QAAQ,CAAA;CAAE,CAAC;IACzD,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IACpD,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY,CAAC;IACrD,iBAAiB,CAAC,KAAK,EAAE,WAAW,GAAG,YAAY,CAAC;IACpD,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,CAAC;IAC3C,oBAAoB,IAAI,YAAY,CAAC;IACrC,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC;IAC/D,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACrC"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// JHybridFallbackFontSpec.cpp
|
|
3
|
+
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © Marc Rousavy @ Margelo
|
|
6
|
+
///
|
|
7
|
+
|
|
8
|
+
#include "JHybridFallbackFontSpec.hpp"
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
namespace margelo::nitro::rive {
|
|
15
|
+
|
|
16
|
+
jni::local_ref<JHybridFallbackFontSpec::jhybriddata> JHybridFallbackFontSpec::initHybrid(jni::alias_ref<jhybridobject> jThis) {
|
|
17
|
+
return makeCxxInstance(jThis);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
void JHybridFallbackFontSpec::registerNatives() {
|
|
21
|
+
registerHybrid({
|
|
22
|
+
makeNativeMethod("initHybrid", JHybridFallbackFontSpec::initHybrid),
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
size_t JHybridFallbackFontSpec::getExternalMemorySize() noexcept {
|
|
27
|
+
static const auto method = javaClassStatic()->getMethod<jlong()>("getMemorySize");
|
|
28
|
+
return method(_javaPart);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
bool JHybridFallbackFontSpec::equals(const std::shared_ptr<HybridObject>& other) {
|
|
32
|
+
if (auto otherCast = std::dynamic_pointer_cast<JHybridFallbackFontSpec>(other)) {
|
|
33
|
+
return _javaPart == otherCast->_javaPart;
|
|
34
|
+
}
|
|
35
|
+
return false;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
void JHybridFallbackFontSpec::dispose() noexcept {
|
|
39
|
+
static const auto method = javaClassStatic()->getMethod<void()>("dispose");
|
|
40
|
+
method(_javaPart);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
std::string JHybridFallbackFontSpec::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
|
+
|
|
51
|
+
|
|
52
|
+
// Methods
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
} // namespace margelo::nitro::rive
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
///
|
|
2
|
-
///
|
|
2
|
+
/// HybridFallbackFontSpec.hpp
|
|
3
3
|
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
4
|
/// https://github.com/mrousavy/nitro
|
|
5
5
|
/// Copyright © Marc Rousavy @ Margelo
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
|
|
10
10
|
#include <NitroModules/JHybridObject.hpp>
|
|
11
11
|
#include <fbjni/fbjni.h>
|
|
12
|
-
#include "
|
|
12
|
+
#include "HybridFallbackFontSpec.hpp"
|
|
13
13
|
|
|
14
14
|
|
|
15
15
|
|
|
@@ -18,22 +18,22 @@ namespace margelo::nitro::rive {
|
|
|
18
18
|
|
|
19
19
|
using namespace facebook;
|
|
20
20
|
|
|
21
|
-
class
|
|
22
|
-
|
|
21
|
+
class JHybridFallbackFontSpec: public jni::HybridClass<JHybridFallbackFontSpec, JHybridObject>,
|
|
22
|
+
public virtual HybridFallbackFontSpec {
|
|
23
23
|
public:
|
|
24
|
-
static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/rive/
|
|
24
|
+
static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/rive/HybridFallbackFontSpec;";
|
|
25
25
|
static jni::local_ref<jhybriddata> initHybrid(jni::alias_ref<jhybridobject> jThis);
|
|
26
26
|
static void registerNatives();
|
|
27
27
|
|
|
28
28
|
protected:
|
|
29
29
|
// C++ constructor (called from Java via `initHybrid()`)
|
|
30
|
-
explicit
|
|
31
|
-
HybridObject(
|
|
30
|
+
explicit JHybridFallbackFontSpec(jni::alias_ref<jhybridobject> jThis) :
|
|
31
|
+
HybridObject(HybridFallbackFontSpec::TAG),
|
|
32
32
|
HybridBase(jThis),
|
|
33
33
|
_javaPart(jni::make_global(jThis)) {}
|
|
34
34
|
|
|
35
35
|
public:
|
|
36
|
-
~
|
|
36
|
+
~JHybridFallbackFontSpec() override {
|
|
37
37
|
// Hermes GC can destroy JS objects on a non-JNI Thread.
|
|
38
38
|
jni::ThreadScope::WithClassLoader([&] { _javaPart.reset(); });
|
|
39
39
|
}
|
|
@@ -45,7 +45,7 @@ namespace margelo::nitro::rive {
|
|
|
45
45
|
std::string toString() override;
|
|
46
46
|
|
|
47
47
|
public:
|
|
48
|
-
inline const jni::global_ref<
|
|
48
|
+
inline const jni::global_ref<JHybridFallbackFontSpec::javaobject>& getJavaPart() const noexcept {
|
|
49
49
|
return _javaPart;
|
|
50
50
|
}
|
|
51
51
|
|
|
@@ -55,12 +55,12 @@ namespace margelo::nitro::rive {
|
|
|
55
55
|
|
|
56
56
|
public:
|
|
57
57
|
// Methods
|
|
58
|
-
|
|
58
|
+
|
|
59
59
|
|
|
60
60
|
private:
|
|
61
61
|
friend HybridBase;
|
|
62
62
|
using HybridBase::HybridBase;
|
|
63
|
-
jni::global_ref<
|
|
63
|
+
jni::global_ref<JHybridFallbackFontSpec::javaobject> _javaPart;
|
|
64
64
|
};
|
|
65
65
|
|
|
66
66
|
} // namespace margelo::nitro::rive
|