modelassetlib_native/
lib.rs

1extern crate jni;
2
3use jni::JNIEnv;
4use jni::objects::{JByteArray, JClass, JObject, JString};
5use jni::sys::{jboolean, jbyteArray, jint, jstring};
6
7pub mod jniimpl;
8pub mod util;
9pub mod constants;
10
11// Class: top.srcres.mods.modelassetlib.jni.NativeLibrary
12// File: top/srcres/mods/modelassetlib/jni/NativeLibrary.kt
13
14#[no_mangle]
15pub extern "system" fn Java_top_srcres_mods_modelassetlib_jni_NativeLibrary_initNative0<'local>(
16    _: JNIEnv<'local>,
17    _: JObject<'local>
18) -> jboolean {
19    println!("Native library initialized.");
20    util::jni::bool_to_jboolean(true)
21}
22
23// Class: top.srcres.mods.modelassetlib.gltf.Gltf
24// File: top/srcres/mods/modelassetlib/gltf/Gltf.kt
25
26#[no_mangle]
27pub extern "system" fn Java_top_srcres_mods_modelassetlib_gltf_Gltf_nativeInit<'local>(
28    mut env: JNIEnv<'local>,
29    this: JObject<'local>
30) {
31    jniimpl::gltf::handle_native_init(&mut env, &this);
32}
33
34#[no_mangle]
35pub extern "system" fn Java_top_srcres_mods_modelassetlib_gltf_Gltf_nativeDestroy<'local>(
36    mut env: JNIEnv<'local>,
37    this: JObject<'local>
38) {
39    jniimpl::gltf::handle_native_destroy(&mut env, &this);
40}
41
42#[no_mangle]
43pub extern "system" fn Java_top_srcres_mods_modelassetlib_gltf_Gltf_getImageDataByURI<'local>(
44    mut env: JNIEnv<'local>,
45    this: JObject<'local>,
46    uri: JString
47) -> jbyteArray {
48    jniimpl::gltf::handle_get_image_data_by_uri(&mut env, &this, &uri)
49}
50
51// Class: top.srcres.mods.modelassetlib.image.ImageKt
52// File: top/srcres/mods/modelassetlib/image/Image.kt
53
54#[no_mangle]
55pub extern "system" fn Java_top_srcres_mods_modelassetlib_image_ImageKt_nativeIsErrorOccurred0<'local>(
56    mut env: JNIEnv<'local>,
57    class: JClass<'local>
58) -> jboolean {
59    util::jni::bool_to_jboolean(jniimpl::image::handle_is_error_occurred(&mut env, &class))
60}
61
62#[no_mangle]
63pub extern "system" fn Java_top_srcres_mods_modelassetlib_image_ImageKt_nativeGetErrorMessage0<'local>(
64    mut env: JNIEnv<'local>,
65    class: JClass<'local>
66) -> jstring {
67    jniimpl::image::handle_get_error_message(&mut env, &class)
68}
69
70#[no_mangle]
71pub extern "system" fn Java_top_srcres_mods_modelassetlib_image_ImageKt_nativeClearError0<'local>(
72    mut env: JNIEnv<'local>,
73    class: JClass<'local>
74) {
75    jniimpl::image::handle_clear_error(&mut env, &class)
76}
77
78// Class: top.srcres.mods.modelassetlib.image.Image
79// File: top/srcres/mods/modelassetlib/image/Image.kt
80
81#[no_mangle]
82pub extern "system" fn Java_top_srcres_mods_modelassetlib_image_Image_nativeInit<'local>(
83    mut env: JNIEnv<'local>,
84    this: JObject<'local>,
85    raw_data: JByteArray
86) -> jboolean {
87    match jniimpl::image::handle_native_init(&mut env, &this, &raw_data) {
88        Ok(_) => {
89            util::jni::bool_to_jboolean(true)
90        }
91        Err(err) => {
92            jniimpl::image::record_error(&format!(
93                "jniimpl::image::handle_native_init failed: {}", err));
94            util::jni::bool_to_jboolean(false)
95        }
96    }
97}
98
99#[no_mangle]
100pub extern "system" fn Java_top_srcres_mods_modelassetlib_image_Image_nativeInitWithFormat<'local>(
101    mut env: JNIEnv<'local>,
102    this: JObject<'local>,
103    raw_data: JByteArray,
104    format_id: jint
105) -> jboolean {
106    match jniimpl::image::handle_native_init_with_format(&mut env, &this, &raw_data, format_id) {
107        Ok(_) => {
108            util::jni::bool_to_jboolean(true)
109        }
110        Err(err) => {
111            jniimpl::image::record_error(&format!(
112                "jniimpl::image::handle_native_init_with_format failed: {}", err));
113            util::jni::bool_to_jboolean(false)
114        }
115    }
116}
117
118#[no_mangle]
119pub extern "system" fn Java_top_srcres_mods_modelassetlib_image_Image_nativeDestroy<'local>(
120    mut env: JNIEnv<'local>,
121    this: JObject<'local>
122) {
123    jniimpl::image::handle_native_destroy(&mut env, &this).unwrap()
124}
125
126#[no_mangle]
127pub extern "system" fn Java_top_srcres_mods_modelassetlib_image_Image_getWidth0<'local>(
128    mut env: JNIEnv<'local>,
129    this: JObject<'local>
130) -> jint {
131    jniimpl::image::handle_get_width(&mut env, &this).unwrap_or_else(|err| {
132        jniimpl::image::record_error(&format!(
133            "jniimpl::image::handle_get_width failed: {}", err));
134        -1
135    })
136}
137
138#[no_mangle]
139pub extern "system" fn Java_top_srcres_mods_modelassetlib_image_Image_getHeight0<'local>(
140    mut env: JNIEnv<'local>,
141    this: JObject<'local>
142) -> jint {
143    jniimpl::image::handle_get_height(&mut env, &this).unwrap_or_else(|err| {
144        jniimpl::image::record_error(&format!(
145            "jniimpl::image::handle_get_height failed: {}", err));
146        -1
147    })
148}
149
150#[no_mangle]
151pub extern "system" fn Java_top_srcres_mods_modelassetlib_image_Image_getRgbaData0<'local>(
152    mut env: JNIEnv<'local>,
153    this: JObject<'local>
154) -> jbyteArray {
155    jniimpl::image::handle_get_rgba_data(&mut env, &this).unwrap_or_else(|err| {
156        jniimpl::image::record_error(&format!(
157            "jniimpl::image::handle_get_rgba_data failed: {}", err));
158        util::jni::new_empty_byte_array(&mut env)
159    })
160}