X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Fui%2Fgfx%2Fandroid%2Fjava_bitmap.cc;h=fba158ec7b320ca7fdcbcf2539a677e2c8fcd07f;hb=ff3e2503a20db9193d323c1d19c38c68004dec4a;hp=2a1be65d215505cfaaf551d6fa7faee9a14ca269;hpb=7338fba38ba696536d1cc9d389afd716a6ab2fe6;p=platform%2Fframework%2Fweb%2Fcrosswalk.git diff --git a/src/ui/gfx/android/java_bitmap.cc b/src/ui/gfx/android/java_bitmap.cc index 2a1be65..fba158e 100644 --- a/src/ui/gfx/android/java_bitmap.cc +++ b/src/ui/gfx/android/java_bitmap.cc @@ -42,17 +42,21 @@ bool JavaBitmap::RegisterJavaBitmap(JNIEnv* env) { return RegisterNativesImpl(env); } -static ScopedJavaLocalRef CreateJavaBitmap(const gfx::Size& size) { +static ScopedJavaLocalRef CreateJavaBitmap(int width, int height, + bool is565_config) { return Java_BitmapHelper_createBitmap(AttachCurrentThread(), - size.width(), size.height()); + width, height, is565_config); } ScopedJavaLocalRef ConvertToJavaBitmap(const SkBitmap* skbitmap) { DCHECK(skbitmap); - DCHECK_EQ(skbitmap->bytesPerPixel(), 4); - + SkBitmap::Config config = skbitmap->getConfig(); + DCHECK((config == SkBitmap::kRGB_565_Config) || + (config == SkBitmap::kARGB_8888_Config)); + // If the Config is not RGB565 it is default i.e ARGB8888 ScopedJavaLocalRef jbitmap = - CreateJavaBitmap(gfx::Size(skbitmap->width(), skbitmap->height())); + CreateJavaBitmap(skbitmap->width(), skbitmap->height(), + (config == SkBitmap::kRGB_565_Config)); SkAutoLockPixels src_lock(*skbitmap); JavaBitmap dst_lock(jbitmap.obj()); void* src_pixels = skbitmap->getPixels();