diff options
author | Konstantin Käfer <mail@kkaefer.com> | 2017-01-24 15:47:53 +0100 |
---|---|---|
committer | Konstantin Käfer <mail@kkaefer.com> | 2017-01-27 18:45:16 +0100 |
commit | 4d358260140c9d52103cc95631a8519b969bc408 (patch) | |
tree | daf17b610189a824eab34e4055b9bc0ebf585375 /platform/android/src/bitmap.hpp | |
parent | 14d5c336d72f3af54e3f72295e901591e219b5a9 (diff) | |
download | qtlocation-mapboxgl-4d358260140c9d52103cc95631a8519b969bc408.tar.gz |
[android] use native image encoding and decoding
Diffstat (limited to 'platform/android/src/bitmap.hpp')
-rw-r--r-- | platform/android/src/bitmap.hpp | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/platform/android/src/bitmap.hpp b/platform/android/src/bitmap.hpp new file mode 100644 index 0000000000..f64f42ae87 --- /dev/null +++ b/platform/android/src/bitmap.hpp @@ -0,0 +1,52 @@ +#pragma once + +#include <mbgl/util/image.hpp> + +#include <jni/jni.hpp> + +namespace mbgl { +namespace android { + +class Bitmap { +public: + class Config { + public: + static constexpr auto Name() { + return "android/graphics/Bitmap$Config"; + }; + static void registerNative(jni::JNIEnv&); + + enum Value { + ALPHA_8, + ARGB_4444, + ARGB_8888, + RGB_565, + }; + + static jni::Object<Config> Create(jni::JNIEnv&, Value); + + private: + static jni::Class<Config> _class; + }; + + static constexpr auto Name() { + return "android/graphics/Bitmap"; + }; + static void registerNative(jni::JNIEnv&); + + static jni::Object<Bitmap> + CreateBitmap(jni::JNIEnv&, jni::jint width, jni::jint height, jni::Object<Config>); + static jni::Object<Bitmap> + CreateBitmap(jni::JNIEnv& env, jni::jint width, jni::jint height, Config::Value config) { + return CreateBitmap(env, width, height, Config::Create(env, config)); + } + + static PremultipliedImage GetImage(jni::JNIEnv&, jni::Object<Bitmap>); + static jni::Object<Bitmap> CreateBitmap(jni::JNIEnv&, const PremultipliedImage&); + +private: + static jni::Class<Bitmap> _class; +}; + +} // namespace android +} // namespace mbgl |