summaryrefslogtreecommitdiffstats
path: root/src/newt/native
diff options
context:
space:
mode:
authorSven Gothel <[email protected]>2011-08-11 06:19:25 +0200
committerSven Gothel <[email protected]>2011-08-11 06:19:25 +0200
commitd870cb763cc0c6c995037b7db2285e1d365f09a7 (patch)
tree690ccf7f9c217e0a2ba9c2cef4ff2607a0279fc2 /src/newt/native
parent60da43c2d8a8b229678209276080bf06dc44f0f8 (diff)
NEWT/Android: Add missing native code
Diffstat (limited to 'src/newt/native')
-rw-r--r--src/newt/native/AndroidWindow.c47
1 files changed, 47 insertions, 0 deletions
diff --git a/src/newt/native/AndroidWindow.c b/src/newt/native/AndroidWindow.c
new file mode 100644
index 000000000..4359c22bb
--- /dev/null
+++ b/src/newt/native/AndroidWindow.c
@@ -0,0 +1,47 @@
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+#include <stdarg.h>
+
+#include <gluegen_stdint.h>
+
+#include <unistd.h>
+#include <errno.h>
+#include <EGL/egl.h>
+
+#include "jogamp_newt_driver_android_AndroidWindow.h"
+
+#include <android/native_window.h>
+#include <android/native_window_jni.h>
+
+#define VERBOSE_ON 1
+
+#ifdef VERBOSE_ON
+ #define DBG_PRINT(...) fprintf(stdout, __VA_ARGS__)
+#else
+ #define DBG_PRINT(...)
+#endif
+
+
+JNIEXPORT jlong JNICALL Java_jogamp_newt_driver_android_AndroidWindow_getSurfaceHandle
+ (JNIEnv *env, jclass clazz, jobject surface)
+{
+ ANativeWindow * anw = ANativeWindow_fromSurface(env, surface);
+ return (jlong) (intptr_t) anw;
+}
+
+JNIEXPORT void JNICALL Java_jogamp_newt_driver_android_AndroidWindow_setSurfaceVisualID
+ (JNIEnv *env, jclass clazz, jlong surfaceHandle, jint nativeVisualID)
+{
+ ANativeWindow * anw = (ANativeWindow *) (intptr_t) surfaceHandle;
+ ANativeWindow_setBuffersGeometry(anw, 0, 0, nativeVisualID);
+}
+
+JNIEXPORT jboolean JNICALL Java_jogamp_newt_driver_android_AndroidWindow_initIDs
+ (JNIEnv *env, jclass clazz)
+{
+ DBG_PRINT( "initIDs ok\n" );
+ return JNI_TRUE;
+}
+