return ::lseek64(descriptor, 0, SEEK_CUR) != -1 ? JNI_TRUE : JNI_FALSE;
}
+jobject decodeBitmap(JNIEnv* env, void* data, size_t size) {
+ SkMemoryStream stream(data, size);
+ return doDecode(env, &stream, NULL, NULL);
+}
+
///////////////////////////////////////////////////////////////////////////////
static JNINativeMethod gMethods[] = {
jstring getMimeTypeString(JNIEnv* env, SkImageDecoder::Format format);
+jobject decodeBitmap(JNIEnv* env, void* data, size_t size);
+
#endif // _ANDROID_GRAPHICS_BITMAP_FACTORY_H_
#include <utils/Log.h>
#include <ScopedUtfChars.h>
+#include "BitmapFactory.h"
#include "EmojiFactory.h"
#include "GraphicsJNI.h"
#include <nativehelper/JNIHelp.h>
return NULL;
}
- SkBitmap *bitmap = new SkBitmap;
- if (!SkImageDecoder::DecodeMemory(bytes, size, bitmap)) {
- ALOGE("SkImageDecoder::DecodeMemory() failed.");
- return NULL;
- }
-
- return GraphicsJNI::createBitmap(env, bitmap,
- GraphicsJNI::kBitmapCreateFlag_Premultiplied, NULL);
+ return decodeBitmap(env, (void*)bytes, size);
}
static void android_emoji_EmojiFactory_destructor(