Merge: example: add 24 game task of Rosetta code
[nit.git] / lib / mnit_android / android_opengles1.nit
index e443e39..71e59aa 100644 (file)
 
 # Adapts OpenGL ES 1.0 for use on Android by offering services to get
 # a handler to the native display and window.
-module android_opengles1
+module android_opengles1 is ldflags "-lEGL -lGLESv1_CM"
 
-import mnit
+import android_app
+import android
 
 in "C" `{
        #include <android_native_app_glue.h>
 
        NativeWindowType mnit_window;
-       struct android_app *mnit_java_app;
        EGLNativeDisplayType mnit_native_display = EGL_DEFAULT_DISPLAY;
 `}
 
 redef class Opengles1Display
-       redef fun midway_init(format) is extern `{
-               mnit_window = mnit_java_app->window;
+       redef fun midway_init(format) import app_native_window `{
+               mnit_window = Opengles1Display_app_native_window(self);
                if (ANativeWindow_setBuffersGeometry(mnit_window, 0, 0, (EGLint)format) != 0) {
                        LOGW("Unable to ANativeWindow_setBuffersGeometry");
                }
        `}
-end
 
+       private fun app_native_window: ANativeWindow do return app.native_app_glue.window
+end