platform/cc/impl/BufferUtil.cc (16 lines of code) (raw):
#include <jni.h>
#include "../interop.hh"
namespace {
jclass klass_IllegalArgumentException = nullptr;
jmethodID method_Ctor = nullptr;
}
extern "C" {
JNIEXPORT jobject JNICALL Java_org_jetbrains_skija_impl_BufferUtil__1nGetByteBufferFromPointer
(JNIEnv *env, jclass, jlong ptr, jint size) {
return env->NewDirectByteBuffer(jlongToPtr<void*>(ptr), size);
}
JNIEXPORT jlong JNICALL Java_org_jetbrains_skija_impl_BufferUtil__1nGetPointerFromByteBuffer
(JNIEnv *env, jclass, jobject buffer) {
return ptrToJlong(env->GetDirectBufferAddress(buffer));
}
}