Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(535)

Side by Side Diff: ui/gfx/android/java_bitmap.h

Issue 157033007: API to Convert Java Bitmap Config to SkBitmap::Config (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Adding webview dependecy build changes. Created 6 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef UI_GFX_ANDROID_JAVA_BITMAP_H_ 5 #ifndef UI_GFX_ANDROID_JAVA_BITMAP_H_
6 #define UI_GFX_ANDROID_JAVA_BITMAP_H_ 6 #define UI_GFX_ANDROID_JAVA_BITMAP_H_
7 7
8 #include <jni.h> 8 #include <jni.h>
9 9
10 #include "base/android/scoped_java_ref.h" 10 #include "base/android/scoped_java_ref.h"
11 #include "third_party/skia/include/core/SkBitmap.h"
11 #include "ui/gfx/size.h" 12 #include "ui/gfx/size.h"
12 13
13 class SkBitmap; 14 namespace gfx {
14 15
15 namespace gfx { 16 // Define Bitmap Config values like BITMAP_CONFIG_ARGB_8888 in a
17 // way that ensures they're always the same than their Java counterpart.
18
19 enum BitmapConfig {
20 #define DEFINE_BITMAP_CONFIG(x, y) BITMAP_##x = y,
21 #include "bitmap_config_list.h"
22 #undef DEFINE_BITMAP_CONFIG
23 };
16 24
17 // This class wraps a JNI AndroidBitmap object to make it easier to use. It 25 // This class wraps a JNI AndroidBitmap object to make it easier to use. It
18 // handles locking and unlocking of the underlying pixels, along with wrapping 26 // handles locking and unlocking of the underlying pixels, along with wrapping
19 // various JNI methods. 27 // various JNI methods.
20 class GFX_EXPORT JavaBitmap { 28 class GFX_EXPORT JavaBitmap {
21 public: 29 public:
22 explicit JavaBitmap(jobject bitmap); 30 explicit JavaBitmap(jobject bitmap);
23 ~JavaBitmap(); 31 ~JavaBitmap();
24 32
25 inline void* pixels() { return pixels_; } 33 inline void* pixels() { return pixels_; }
(...skipping 18 matching lines...) Expand all
44 GFX_EXPORT base::android::ScopedJavaLocalRef<jobject> ConvertToJavaBitmap( 52 GFX_EXPORT base::android::ScopedJavaLocalRef<jobject> ConvertToJavaBitmap(
45 const SkBitmap* skbitmap); 53 const SkBitmap* skbitmap);
46 54
47 GFX_EXPORT SkBitmap CreateSkBitmapFromJavaBitmap(JavaBitmap& jbitmap); 55 GFX_EXPORT SkBitmap CreateSkBitmapFromJavaBitmap(JavaBitmap& jbitmap);
48 56
49 // If the resource loads successfully, it will be resized to |size|. 57 // If the resource loads successfully, it will be resized to |size|.
50 // Note: If the source resource is smaller than |size|, quality may suffer. 58 // Note: If the source resource is smaller than |size|, quality may suffer.
51 GFX_EXPORT SkBitmap CreateSkBitmapFromResource(const char* name, 59 GFX_EXPORT SkBitmap CreateSkBitmapFromResource(const char* name,
52 gfx::Size size); 60 gfx::Size size);
53 61
62 // Returns a Skia config value for the requested input java Bitmap.Config.
63 GFX_EXPORT SkBitmap::Config ConvertToSkiaConfig(jobject bitmap_config);
64
54 } // namespace gfx 65 } // namespace gfx
55 66
56 #endif // UI_GFX_ANDROID_JAVA_BITMAP_H_ 67 #endif // UI_GFX_ANDROID_JAVA_BITMAP_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698