modelassetlib_native/
lib.rs1extern 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#[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#[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#[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#[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}