From http://www.jwz.org/xscreensaver/xscreensaver-5.35.tar.gz
[xscreensaver] / android / glue.c
diff --git a/android/glue.c b/android/glue.c
deleted file mode 100644 (file)
index d794c35..0000000
+++ /dev/null
@@ -1,306 +0,0 @@
-#include <jni.h>
-#include <math.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include <time.h>
-#include <pthread.h>
-#include <GLES/gl.h>
-
-#include "screenhackI.h"
-#include "jwzglesI.h"
-#include "version.h"
-
-void drawXscreensaver();
-
-int sWindowWidth = 0;
-int sWindowHeight = 0;
-int initTried = 0;
-int renderTried = 0;
-int resetTried = 0;
-int currentFlip = 0;
-
-pthread_mutex_t mutg = PTHREAD_MUTEX_INITIALIZER;
-
-extern struct xscreensaver_function_table *xscreensaver_function_table;
-
-// if adding a table here, increase the magic number
-struct xscreensaver_function_table
-*hypertorus_xscreensaver_function_table,
-    *hilbert_xscreensaver_function_table,
-    *endgame_xscreensaver_function_table,
-    *stonerview_xscreensaver_function_table,
-    *sproingies_xscreensaver_function_table,
-    *blinkbox_xscreensaver_function_table,
-    *bouncingcow_xscreensaver_function_table,
-    *superquadrics_xscreensaver_function_table;
-
-struct running_hack {
-    struct xscreensaver_function_table *xsft;
-    Display *dpy;
-    Window window;
-    void *closure;
-};
-
-const char *progname;
-const char *progclass;
-
-struct running_hack rh[8];
-// ^ magic number of hacks - TODO: remove magic number
-
-
-int chosen;
-// 0 superquadrics
-// 1 stonerview
-// 2 sproingies
-// 3 hilbert
-
-JNIEXPORT void JNICALL
-    Java_org_jwz_xscreensaver_CallNative_nativeInit
-    (JNIEnv * env);
-JNIEXPORT void JNICALL
-    Java_org_jwz_xscreensaver_CallNative_nativeResize
-    (JNIEnv * env, jobject thiz, jint w, jint h);
-JNIEXPORT void JNICALL
-    Java_org_jwz_xscreensaver_CallNative_nativeRender
-    (JNIEnv * env);
-JNIEXPORT void JNICALL
-    Java_org_jwz_xscreensaver_CallNative_nativeDone
-    (JNIEnv * env);
-JNIEXPORT void JNICALL
-    Java_org_jwz_xscreensaver_gen_SproingiesWallpaper_allnativeSettings
-    (JNIEnv * env, jobject thiz, jstring jhack, jstring hackPref,
-     jint draw, jstring key);
-JNIEXPORT void JNICALL
-    Java_org_jwz_xscreensaver_gen_SuperquadricsWallpaper_allnativeSettings
-    (JNIEnv * env, jobject thiz, jstring jhack, jstring hackPref,
-     jint draw, jstring key);
-JNIEXPORT void JNICALL
-    Java_org_jwz_xscreensaver_gen_HilbertWallpaper_allnativeSettings
-    (JNIEnv * env, jobject thiz, jstring jhack, jstring hackPref,
-     jint draw, jstring key);
-JNIEXPORT void JNICALL
-    Java_org_jwz_xscreensaver_gen_StonerviewWallpaper_allnativeSettings
-    (JNIEnv * env, jobject thiz, jstring jhack, jstring hackPref,
-     jint draw, jstring key);
-JNIEXPORT void JNICALL
-    Java_org_jwz_xscreensaver_gen_BouncingcowWallpaper_allnativeSettings
-    (JNIEnv * env, jobject thiz, jstring jhack, jstring hackPref,
-     jint draw, jstring key);
-
-
-
-void doinit()
-{
-
-    if (chosen == 0) {
-       progname = "superquadrics";
-       rh[chosen].xsft = &superquadrics_xscreensaver_function_table;
-    } else if (chosen == 1) {
-       progname = "stonerview";
-       rh[chosen].xsft = &stonerview_xscreensaver_function_table;
-
-    } else if (chosen == 2) {
-       progname = "sproingies";
-       rh[chosen].xsft = &sproingies_xscreensaver_function_table;
-
-    } else if (chosen == 3) {
-       progname = "hilbert";
-       rh[chosen].xsft = &hilbert_xscreensaver_function_table;
-    } else if (chosen == 4) {
-       progname = "bouncingcow";
-       rh[chosen].xsft = &bouncingcow_xscreensaver_function_table;
-    } else {
-       progname = "sproingies";
-       rh[chosen].xsft = &sproingies_xscreensaver_function_table;
-    }
-
-    rh[chosen].dpy = jwxyz_make_display(0, 0);
-    rh[chosen].window = XRootWindow(rh[chosen].dpy, 0);
-// TODO: Zero looks right, but double-check that is the right number
-
-    progclass = rh[chosen].xsft->progclass;
-
-    if (rh[chosen].xsft->setup_cb)
-       rh[chosen].xsft->setup_cb(rh[chosen].xsft,
-                                 rh[chosen].xsft->setup_arg);
-
-    if (resetTried < 1) {
-       resetTried++;
-        jwzgles_reset();
-    }
-
-    void *(*init_cb) (Display *, Window, void *) =
-       (void *(*)(Display *, Window, void *)) rh[chosen].xsft->init_cb;
-
-    rh[chosen].closure =
-       init_cb(rh[chosen].dpy, rh[chosen].window,
-               rh[chosen].xsft->setup_arg);
-
-}
-
-
-
-void drawXscreensaver()
-{
-    pthread_mutex_lock(&mutg);
-    rh[chosen].xsft->draw_cb(rh[chosen].dpy, rh[chosen].window,
-                            rh[chosen].closure);
-    pthread_mutex_unlock(&mutg);
-
-}
-
-
-JNIEXPORT void JNICALL
-    Java_org_jwz_xscreensaver_CallNative_nativeInit
-    (JNIEnv * env) {
-
-    if (initTried < 1) {
-       initTried++;
-    } else {
-       if (!rh[chosen].dpy) {
-           doinit();
-       } else {
-           rh[chosen].xsft->free_cb(rh[chosen].dpy, rh[chosen].window,
-                                    rh[chosen].closure);
-           jwxyz_free_display(rh[chosen].dpy);
-           rh[chosen].dpy = NULL;
-           rh[chosen].window = NULL;
-           if (!rh[chosen].dpy) {
-               doinit();
-           }
-
-       }
-    }
-
-}
-
-
-JNIEXPORT void JNICALL
-    Java_org_jwz_xscreensaver_CallNative_nativeResize
-    (JNIEnv * env, jobject thiz, jint w, jint h) {
-
-    sWindowWidth = w;
-    sWindowHeight = h;
-
-    if (!rh[chosen].dpy) {
-       doinit();
-    }
-
-    jwxyz_window_resized(rh[chosen].dpy, rh[chosen].window, 0, 0, w, h, 0);
-
-    rh[chosen].xsft->reshape_cb(rh[chosen].dpy, rh[chosen].window,
-                               rh[chosen].closure, w, h);
-}
-
-JNIEXPORT void JNICALL
-    Java_org_jwz_xscreensaver_CallNative_nativeRender
-    (JNIEnv * env) {
-    if (renderTried < 1) {
-       renderTried++;
-    } else {
-       drawXscreensaver();
-    }
-}
-
-// TODO: Check Java side is calling this properly
-JNIEXPORT void JNICALL
-    Java_org_jwz_xscreensaver_CallNative_nativeDone
-    (JNIEnv * env) {
-
-    rh[chosen].xsft->free_cb(rh[chosen].dpy, rh[chosen].window,
-                            rh[chosen].closure);
-    jwxyz_free_display(rh[chosen].dpy);
-    rh[chosen].dpy = NULL;
-    rh[chosen].window = NULL;
-
-}
-
-JNIEXPORT void JNICALL
-    Java_org_jwz_xscreensaver_gen_HilbertWallpaper_allnativeSettings
-    (JNIEnv * env, jobject thiz, jstring jhack, jstring hackPref,
-     jint draw, jstring key) {
-
-
-    const char *chack = (*env)->GetStringUTFChars(env, hackPref, NULL);
-    char *hck = (char *) chack;
-    const char *kchack = (*env)->GetStringUTFChars(env, key, NULL);
-    char *khck = (char *) kchack;
-
-    if (draw == 2) {
-        setHilbertSettings(hck, khck);
-    }
-
-    chosen = 3;
-}
-
-JNIEXPORT void JNICALL
-    Java_org_jwz_xscreensaver_gen_SuperquadricsWallpaper_allnativeSettings
-    (JNIEnv * env, jobject thiz, jstring jhack, jstring hackPref,
-     jint draw, jstring key) {
-
-    const char *chack = (*env)->GetStringUTFChars(env, hackPref, NULL);
-    char *hck = (char *) chack;
-
-    const char *kchack = (*env)->GetStringUTFChars(env, key, NULL);
-    char *khck = (char *) kchack;
-
-    if (draw == 2) {
-        setSuperquadricsSettings(hck, khck);
-    }
-
-    chosen = 0;
-}
-
-
-JNIEXPORT void JNICALL
-    Java_org_jwz_xscreensaver_gen_SproingiesWallpaper_allnativeSettings
-    (JNIEnv * env, jobject thiz, jstring jhack, jstring hackPref,
-     jint draw, jstring key) {
-
-    const char *chack = (*env)->GetStringUTFChars(env, hackPref, NULL);
-    char *hck = (char *) chack;
-
-    const char *kchack = (*env)->GetStringUTFChars(env, key, NULL);
-    char *khck = (char *) kchack;
-
-    if (draw == 2) {
-        setSproingiesSettings(hck, khck);
-    }
-
-    chosen = 2;
-}
-
-JNIEXPORT void JNICALL
-    Java_org_jwz_xscreensaver_gen_StonerviewWallpaper_allnativeSettings
-    (JNIEnv * env, jobject thiz, jstring jhack, jstring hackPref,
-     jint draw, jstring key) {
-
-    const char *chack = (*env)->GetStringUTFChars(env, hackPref, NULL);
-    char *hck = (char *) chack;
-    const char *kchack = (*env)->GetStringUTFChars(env, key, NULL);
-    char *khck = (char *) kchack;
-
-    if (draw == 2) {
-        setStonerviewSettings(hck, khck);
-    }
-
-    chosen = 1;
-}
-
-JNIEXPORT void JNICALL
-    Java_org_jwz_xscreensaver_gen_BouncingcowWallpaper_allnativeSettings
-    (JNIEnv * env, jobject thiz, jstring jhack, jstring hackPref,
-     jint draw, jstring key) {
-
-    const char *chack = (*env)->GetStringUTFChars(env, hackPref, NULL);
-    char *hck = (char *) chack;
-    const char *kchack = (*env)->GetStringUTFChars(env, key, NULL);
-    char *khck = (char *) kchack;
-
-    if (draw == 2) {
-        setBouncingcowSettings(hck, khck);
-    }
-
-    chosen = 4;
-}
-