blob: 7d9b068b207e7a4242b34eb0ce7876c5f59839f9 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
#include "bitmap_factory.hpp"
namespace mbgl {
namespace android {
void BitmapFactory::registerNative(jni::JNIEnv& env) {
_class = *jni::Class<BitmapFactory>::Find(env).NewGlobalRef(env).release();
}
jni::Class<BitmapFactory> BitmapFactory::_class;
jni::Object<Bitmap> BitmapFactory::DecodeByteArray(jni::JNIEnv& env,
jni::Array<jni::jbyte> data,
jni::jint offset,
jni::jint length) {
// Images are loaded with ARGB_8888 config, and premultiplied by default, which is exactly
// what we want, so we're not providing a BitmapFactory.Options object.
using Signature = jni::Object<Bitmap>(jni::Array<jni::jbyte>, jni::jint, jni::jint);
auto method = _class.GetStaticMethod<Signature>(env, "decodeByteArray");
return _class.Call(env, method, data, offset, length);
}
} // namespace android
} // namespace mbgl
|