X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=blobdiff_plain;f=src%2Fandroid%2Ffg_window_android.c;h=af2d6912a6d088a311f85c19f77e296b05a88209;hb=af47c3f93c7834b4006c49ec9df6a6ffdd3025de;hp=5d1bc1991927dd480212d5afd1ad17def8cbcc96;hpb=06ec540147001021c3b4f02fc70e7a7dd1d93d89;p=freeglut diff --git a/src/android/fg_window_android.c b/src/android/fg_window_android.c index 5d1bc19..af2d691 100644 --- a/src/android/fg_window_android.c +++ b/src/android/fg_window_android.c @@ -64,6 +64,7 @@ void fgPlatformOpenWindow( SFG_Window* window, const char* title, /* fgPlatformProcessSingleEvent(); */ } window->Window.Handle = fgDisplay.pDisplay.single_native_window; + window->State.WorkMask |= GLUT_INIT_WORK; /* Create context */ fghChooseConfig(&window->Window.pContext.egl.Config); @@ -82,10 +83,26 @@ void fgPlatformOpenWindow( SFG_Window* window, const char* title, fghPlatformOpenWindowEGL(window); + /* Bind context to the current thread if it's lost */ + if (eglGetCurrentContext() == EGL_NO_CONTEXT && + eglMakeCurrent(fgDisplay.pDisplay.egl.Display, + window->Window.pContext.egl.Surface, + window->Window.pContext.egl.Surface, + window->Window.Context) == EGL_FALSE) + fgError("eglMakeCurrent: err=%x\n", eglGetError()); + window->State.Visible = GL_TRUE; } /* + * Request a window resize + */ +void fgPlatformReshapeWindow ( SFG_Window *window, int width, int height ) +{ + fprintf(stderr, "fgPlatformReshapeWindow: STUB\n"); +} + +/* * Closes a window, destroying the frame and OpenGL context */ void fgPlatformCloseWindow( SFG_Window* window ) @@ -95,25 +112,25 @@ void fgPlatformCloseWindow( SFG_Window* window ) } /* - * This function makes the current window visible + * This function makes the specified window visible */ -void fgPlatformGlutShowWindow( void ) +void fgPlatformShowWindow( void ) { - fprintf(stderr, "fgPlatformGlutShowWindow: STUB\n"); + fprintf(stderr, "fgPlatformShowWindow: STUB\n"); } /* - * This function hides the current window + * This function hides the specified window */ -void fgPlatformGlutHideWindow( void ) +void fgPlatformHideWindow( SFG_Window *window ) { - fprintf(stderr, "fgPlatformGlutHideWindow: STUB\n"); + fprintf(stderr, "fgPlatformHideWindow: STUB\n"); } /* - * Iconify the current window (top-level windows only) + * Iconify the specified window (top-level windows only) */ -void fgPlatformGlutIconifyWindow( void ) +void fgPlatformIconifyWindow( SFG_Window *window ) { fprintf(stderr, "fgPlatformGlutIconifyWindow: STUB\n"); } @@ -134,49 +151,33 @@ void fgPlatformGlutSetIconTitle( const char* title ) fprintf(stderr, "fgPlatformGlutSetIconTitle: STUB\n");} /* - * Change the current window's position - */ -void fgPlatformGlutPositionWindow( int x, int y ) -{ - fprintf(stderr, "fgPlatformGlutPositionWindow: STUB\n"); -} - -/* - * Lowers the current window (by Z order change) - */ -void fgPlatformGlutPushWindow( void ) -{ - fprintf(stderr, "fgPlatformGlutPushWindow: STUB\n"); -} - -/* - * Raises the current window (by Z order change) + * Change the specified window's position */ -void fgPlatformGlutPopWindow( void ) +void fgPlatformPositionWindow( SFG_Window *window, int x, int y ) { - fprintf(stderr, "fgPlatformGlutPopWindow: STUB\n"); + fprintf(stderr, "fgPlatformPositionWindow: STUB\n"); } /* - * Resize the current window so that it fits the whole screen + * Lowers the specified window (by Z order change) */ -void fgPlatformGlutFullScreen( SFG_Window *win ) +void fgPlatformPushWindow( SFG_Window *window ) { - fprintf(stderr, "fgPlatformGlutFullScreen: STUB\n"); + fprintf(stderr, "fgPlatformPushWindow: STUB\n"); } /* - * If we are fullscreen, resize the current window back to its original size + * Raises the specified window (by Z order change) */ -void fgPlatformGlutLeaveFullScreen( SFG_Window *win ) +void fgPlatformPopWindow( SFG_Window *window ) { - fprintf(stderr, "fgPlatformGlutLeaveFullScreen: STUB\n"); + fprintf(stderr, "fgPlatformPopWindow: STUB\n"); } /* * Toggle the window's full screen state. */ -void fgPlatformGlutFullScreenToggle( SFG_Window *win ) +void fgPlatformFullScreenToggle( SFG_Window *win ) { - fprintf(stderr, "fgPlatformGlutFullScreenToggle: STUB\n"); + fprintf(stderr, "fgPlatformFullScreenToggle: STUB\n"); }