summaryrefslogtreecommitdiffstats
path: root/core/jni/android_view_Surface.cpp
diff options
context:
space:
mode:
authorJohn Reck <jreck@google.com>2014-11-13 16:15:08 -0800
committerJohn Reck <jreck@google.com>2014-11-13 16:15:08 -0800
commitb35c9602cf5c628c621e4fe102a461505f302bfe (patch)
tree03451679a078509cf6bf3812017cae57c8cde4ea /core/jni/android_view_Surface.cpp
parentc61cabe5b3e22c8ebbb0ef91a33c63904ecb9873 (diff)
downloadframeworks_base-b35c9602cf5c628c621e4fe102a461505f302bfe.zip
frameworks_base-b35c9602cf5c628c621e4fe102a461505f302bfe.tar.gz
frameworks_base-b35c9602cf5c628c621e4fe102a461505f302bfe.tar.bz2
Wire up surface width/height to lockHardwareCanvas
Bug: 18338026 Change-Id: I6c37774ef1312278ae81280561060662fef923fb
Diffstat (limited to 'core/jni/android_view_Surface.cpp')
-rw-r--r--core/jni/android_view_Surface.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/core/jni/android_view_Surface.cpp b/core/jni/android_view_Surface.cpp
index a0b2ca8..a39ff8e 100644
--- a/core/jni/android_view_Surface.cpp
+++ b/core/jni/android_view_Surface.cpp
@@ -357,6 +357,22 @@ static void nativeWriteToParcel(JNIEnv* env, jclass clazz,
parcel->writeStrongBinder( self != 0 ? self->getIGraphicBufferProducer()->asBinder() : NULL);
}
+static jint nativeGetWidth(JNIEnv* env, jclass clazz, jlong nativeObject) {
+ Surface* surface = reinterpret_cast<Surface*>(nativeObject);
+ ANativeWindow* anw = static_cast<ANativeWindow*>(surface);
+ int value = 0;
+ anw->query(anw, NATIVE_WINDOW_WIDTH, &value);
+ return value;
+}
+
+static jint nativeGetHeight(JNIEnv* env, jclass clazz, jlong nativeObject) {
+ Surface* surface = reinterpret_cast<Surface*>(nativeObject);
+ ANativeWindow* anw = static_cast<ANativeWindow*>(surface);
+ int value = 0;
+ anw->query(anw, NATIVE_WINDOW_HEIGHT, &value);
+ return value;
+}
+
namespace uirenderer {
using namespace android::uirenderer::renderthread;
@@ -426,6 +442,8 @@ static JNINativeMethod gSurfaceMethods[] = {
(void*)nativeReadFromParcel },
{"nativeWriteToParcel", "(JLandroid/os/Parcel;)V",
(void*)nativeWriteToParcel },
+ {"nativeGetWidth", "(J)I", (void*)nativeGetWidth },
+ {"nativeGetHeight", "(J)I", (void*)nativeGetHeight },
// HWUI context
{"nHwuiCreate", "(JJ)J", (void*) hwui::create },