diff options
Diffstat (limited to 'android')
-rw-r--r-- | android/opengles.c | 13 | ||||
-rw-r--r-- | android/opengles.h | 12 |
2 files changed, 17 insertions, 8 deletions
diff --git a/android/opengles.c b/android/opengles.c index 70e3f8c..6f0556f 100644 --- a/android/opengles.c +++ b/android/opengles.c @@ -47,6 +47,7 @@ int android_gles_fast_pipes = 1; DYNLINK_FUNC(initLibrary) \ DYNLINK_FUNC(setStreamMode) \ DYNLINK_FUNC(initOpenGLRenderer) \ + DYNLINK_FUNC(setPostCallback) \ DYNLINK_FUNC(getHardwareStrings) \ DYNLINK_FUNC(createOpenGLSubwindow) \ DYNLINK_FUNC(destroyOpenGLSubwindow) \ @@ -139,20 +140,28 @@ BAD_EXIT: } int -android_startOpenglesRenderer(int width, int height, OnPostFunc onPost, void* onPostContext) +android_startOpenglesRenderer(int width, int height) { if (!rendererLib) { D("Can't start OpenGLES renderer without support libraries"); return -1; } - if (!initOpenGLRenderer(width, height, ANDROID_OPENGLES_BASE_PORT, onPost, onPostContext)) { + if (!initOpenGLRenderer(width, height, ANDROID_OPENGLES_BASE_PORT)) { D("Can't start OpenGLES renderer?"); return -1; } return 0; } +void +android_setPostCallback(OnPostFunc onPost, void* onPostContext) +{ + if (rendererLib) { + setPostCallback(onPost, onPostContext); + } +} + static void strncpy_safe(char* dst, const char* src, size_t n) { strncpy(dst, src, n); diff --git a/android/opengles.h b/android/opengles.h index 4e83c02..aac6249 100644 --- a/android/opengles.h +++ b/android/opengles.h @@ -16,10 +16,6 @@ #define ANDROID_OPENGLES_BASE_PORT 22468 -/* See the description in render_api.h. */ -typedef void (*OnPostFunc)(void* context, int width, int height, int ydir, - int format, int type, unsigned char* pixels); - /* Call this function to initialize the hardware opengles emulation. * This function will abort if we can't find the corresponding host * libraries through dlopen() or equivalent. @@ -30,8 +26,12 @@ int android_initOpenglesEmulation(void); * At the moment, this must be done before the VM starts. The onPost callback * may be NULL. */ -int android_startOpenglesRenderer(int width, int height, - OnPostFunc onPost, void* onPostContext); +int android_startOpenglesRenderer(int width, int height); + +/* See the description in render_api.h. */ +typedef void (*OnPostFunc)(void* context, int width, int height, int ydir, + int format, int type, unsigned char* pixels); +void android_setPostCallback(OnPostFunc onPost, void* onPostContext); /* Retrieve the Vendor/Renderer/Version strings describing the underlying GL * implementation. The call only works while the renderer is started. |