MCPcopy Create free account
hub / github.com/defold/defold / Java_TexcLibraryJni_DefaultEncode

Function Java_TexcLibraryJni_DefaultEncode

engine/texc/src/texclibrary_jni.cpp:287–328  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

285}
286
287JNIEXPORT jobject JNICALL Java_TexcLibraryJni_DefaultEncode(JNIEnv* env, jclass cls, jobject settings)
288{
289 jobject obj = 0;
290 DM_JNI_GUARD_SCOPE_BEGIN();
291 dmTexc::jni::ScopedContext jni_scope(env);
292 dmTexc::jni::TypeInfos* types = &jni_scope.m_TypeInfos;
293
294 dmTexc::DefaultEncodeSettings input;
295 bool result = J2C_CreateDefaultEncodeSettings(env, types, settings, &input);
296 if (!result)
297 {
298 dmLogError("%s: J2C_CreateDefaultEncodeSettings. settings == %p", __FUNCTION__, settings);
299 return 0;
300 }
301
302 // todo: support debug prints etc from commandline/environment variables
303 // printf("DefaultEncode:\n");
304 // printf(" path: %s\n", input.m_Path?input.m_Path:"null");
305 // printf(" width: %d\n", input.m_Width);
306 // printf(" height: %d\n", input.m_Height);
307 // printf(" pf: %d\n", input.m_PixelFormat);
308 // printf(" cs: %d\n", input.m_ColorSpace);
309 // printf(" data: %p\n", input.m_Data);
310 // printf(" sz: %u\n", input.m_DataCount);
311
312 uint8_t* out = 0;
313 uint32_t out_size = 0;
314 result = dmTexc::DefaultEncode(&input, &out, &out_size);
315 if (!result)
316 {
317 dmLogError("%s: dmTexc::BasisUEncode failed", __FUNCTION__);
318 return 0;
319 }
320
321 obj = dmJNI::C2J_CreateUByteArray(env, out, out_size);
322
323 if (out)
324 free(out);
325
326 DM_JNI_GUARD_SCOPE_END(return 0;);
327 return obj;
328}
329
330
331

Callers

nothing calls this directly

Calls 4

DefaultEncodeFunction · 0.85
C2J_CreateUByteArrayFunction · 0.85
freeFunction · 0.85

Tested by

no test coverage detected