summaryrefslogtreecommitdiffstats
path: root/core/jni/com_google_android_gles_jni_EGLImpl.cpp
diff options
context:
space:
mode:
authorDianne Hackborn <hackbod@google.com>2010-06-30 18:35:14 -0700
committerDianne Hackborn <hackbod@google.com>2010-07-01 14:43:23 -0700
commit54a181b1a2b1517a9479b21fbf7705a688232faf (patch)
tree90bf20d8f5f818d357c677cb713e964b920dea67 /core/jni/com_google_android_gles_jni_EGLImpl.cpp
parent65c83b906d01c3c1493d0547757dbb16d4c3722a (diff)
downloadframeworks_base-54a181b1a2b1517a9479b21fbf7705a688232faf.zip
frameworks_base-54a181b1a2b1517a9479b21fbf7705a688232faf.tar.gz
frameworks_base-54a181b1a2b1517a9479b21fbf7705a688232faf.tar.bz2
Make real API for native code to get its window.
Added implementation to use ANativeWindow and provide it to a NativeActivity. Change-Id: I890d71b6e15d4af71e6cf81b327961d7061ec1c2
Diffstat (limited to 'core/jni/com_google_android_gles_jni_EGLImpl.cpp')
-rw-r--r--core/jni/com_google_android_gles_jni_EGLImpl.cpp11
1 files changed, 5 insertions, 6 deletions
diff --git a/core/jni/com_google_android_gles_jni_EGLImpl.cpp b/core/jni/com_google_android_gles_jni_EGLImpl.cpp
index d5cde48..866c038 100644
--- a/core/jni/com_google_android_gles_jni_EGLImpl.cpp
+++ b/core/jni/com_google_android_gles_jni_EGLImpl.cpp
@@ -25,10 +25,9 @@
#include <SkBitmap.h>
#include <SkPixelRef.h>
-namespace android {
+#include "android_view_Surface.h"
-extern EGLNativeWindowType android_Surface_getEGLNativeWindow(
- JNIEnv* env, jobject clazz);
+namespace android {
static jclass gDisplay_class;
static jclass gContext_class;
@@ -325,7 +324,7 @@ static jint jni_eglCreateWindowSurface(JNIEnv *_env, jobject _this, jobject disp
}
EGLDisplay dpy = getDisplay(_env, display);
EGLContext cnf = getConfig(_env, config);
- EGLNativeWindowType window = 0;
+ sp<ANativeWindow> window;
if (native_window == NULL) {
not_valid_surface:
doThrow(_env, "java/lang/IllegalArgumentException",
@@ -333,12 +332,12 @@ not_valid_surface:
return 0;
}
- window = android_Surface_getEGLNativeWindow(_env, native_window);
+ window = android_Surface_getNativeWindow(_env, native_window);
if (window == NULL)
goto not_valid_surface;
jint* base = beginNativeAttribList(_env, attrib_list);
- EGLSurface sur = eglCreateWindowSurface(dpy, cnf, window, base);
+ EGLSurface sur = eglCreateWindowSurface(dpy, cnf, window.get(), base);
endNativeAttributeList(_env, attrib_list, base);
return (jint)sur;
}