summaryrefslogtreecommitdiff
path: root/native
diff options
context:
space:
mode:
authorLeon Scroggins III <scroggo@google.com>2020-01-10 13:40:07 -0500
committerLeon Scroggins III <scroggo@google.com>2020-01-13 08:44:00 -0500
commit1994fcb2a06713321ef980657c3a1392a483a48b (patch)
treecf88ba7b2891cb9a140e80fe827b4755e83c3146 /native
parent40d1c39d69dbd901e197f4ab7e6a653f2ef1a83a (diff)
Reland "Implement AndroidBitmap_getDataSpace"
Originally reviewed in Ie05a45da32b2fd670abdae35626cd6548cfb102c (and reverted in I0b06312f6583f766512cc771a35d3d735debcce1) Bug: 135133301 Test: I7a5fcb726fba0c832bbb86a424d7534a7cfa35b6 This supplements AndroidBitmap_getInfo, allowing NDK clients to know how to interpret the colors in an android.graphics.Bitmap. Only build android_bitmap.cpp on Android so that it can rely on libnativewindow (which is Android-only) for data_space.h Change-Id: I4b23c68c7e62ed733e95af6f76c47fecbc2c5747
Diffstat (limited to 'native')
-rw-r--r--native/graphics/jni/bitmap.cpp10
-rw-r--r--native/graphics/jni/libjnigraphics.map.txt1
2 files changed, 11 insertions, 0 deletions
diff --git a/native/graphics/jni/bitmap.cpp b/native/graphics/jni/bitmap.cpp
index 1aebeaf1e7e8..26c7f8d709e7 100644
--- a/native/graphics/jni/bitmap.cpp
+++ b/native/graphics/jni/bitmap.cpp
@@ -16,6 +16,7 @@
#include <android/bitmap.h>
#include <android/graphics/bitmap.h>
+#include <android/data_space.h>
int AndroidBitmap_getInfo(JNIEnv* env, jobject jbitmap,
AndroidBitmapInfo* info) {
@@ -29,6 +30,15 @@ int AndroidBitmap_getInfo(JNIEnv* env, jobject jbitmap,
return ANDROID_BITMAP_RESULT_SUCCESS;
}
+int32_t AndroidBitmap_getDataSpace(JNIEnv* env, jobject jbitmap) {
+ if (NULL == env || NULL == jbitmap) {
+ return ADATASPACE_UNKNOWN; // Or return a real error?
+ }
+
+ android::graphics::Bitmap bitmap(env, jbitmap);
+ return bitmap.getDataSpace();
+}
+
int AndroidBitmap_lockPixels(JNIEnv* env, jobject jbitmap, void** addrPtr) {
if (NULL == env || NULL == jbitmap) {
return ANDROID_BITMAP_RESULT_BAD_PARAMETER;
diff --git a/native/graphics/jni/libjnigraphics.map.txt b/native/graphics/jni/libjnigraphics.map.txt
index a601d8af2830..6adb95520d6c 100644
--- a/native/graphics/jni/libjnigraphics.map.txt
+++ b/native/graphics/jni/libjnigraphics.map.txt
@@ -1,6 +1,7 @@
LIBJNIGRAPHICS {
global:
AndroidBitmap_getInfo;
+ AndroidBitmap_getDataSpace;
AndroidBitmap_lockPixels;
AndroidBitmap_unlockPixels;
local: