Index: ui/gfx/android/java_bitmap.cc |
diff --git a/ui/gfx/android/java_bitmap.cc b/ui/gfx/android/java_bitmap.cc |
index fba158ec7b320ca7fdcbcf2539a677e2c8fcd07f..6e217f125da170109e8234aab93f77045d89cec3 100644 |
--- a/ui/gfx/android/java_bitmap.cc |
+++ b/ui/gfx/android/java_bitmap.cc |
@@ -10,13 +10,17 @@ |
#include "base/logging.h" |
#include "jni/BitmapHelper_jni.h" |
#include "skia/ext/image_operations.h" |
-#include "third_party/skia/include/core/SkBitmap.h" |
#include "ui/gfx/size.h" |
using base::android::AttachCurrentThread; |
namespace gfx { |
+static const char kALPHA_8[] = "ALPHA_8"; |
+static const char kARGB_4444[] = "ARGB_4444"; |
+static const char kARGB_8888[] = "ARGB_8888"; |
+static const char kRGB_565[] = "RGB_565"; |
+ |
JavaBitmap::JavaBitmap(jobject bitmap) |
: bitmap_(bitmap), |
pixels_(NULL) { |
@@ -102,4 +106,31 @@ SkBitmap CreateSkBitmapFromResource(const char* name, gfx::Size size) { |
bitmap, skia::ImageOperations::RESIZE_BOX, size.width(), size.height()); |
} |
+ScopedJavaLocalRef<jstring> ConvertBitmapConfigToString(jobject bitmap_config) { |
+ |
no sievers
2014/02/13 21:34:24
You can just call the function directly instead of
sivag
2014/02/14 12:24:25
Done.
|
+ return Java_BitmapHelper_bitmapConfigToString(AttachCurrentThread(), |
+ bitmap_config); |
+} |
+ |
+SkBitmap::Config ConvertToSkiaConfig(jobject bitmap_config) |
+{ |
+ |
+ ScopedJavaLocalRef<jstring> value = ConvertBitmapConfigToString( |
+ bitmap_config); |
+ const std::string& config_value = base::android::ConvertJavaStringToUTF8( |
+ AttachCurrentThread(), value.obj()); |
+ |
+ if (config_value.compare(kARGB_8888) == 0) { |
+ return SkBitmap::kARGB_8888_Config; |
+ } else if (config_value.compare(kRGB_565) == 0) { |
+ return SkBitmap::kRGB_565_Config; |
+ } else if (config_value.compare(kALPHA_8) == 0) { |
+ return SkBitmap::kA8_Config; |
+ } else if (config_value.compare(kARGB_4444) == 0) { |
+ return SkBitmap::kARGB_4444_Config; |
+ } |
+ |
+ return SkBitmap::kNo_Config; |
+} |
+ |
} // namespace gfx |