You can subscribe to this list here.
| 2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(134) |
Sep
(52) |
Oct
(13) |
Nov
(342) |
Dec
(163) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2003 |
Jan
(44) |
Feb
(62) |
Mar
(158) |
Apr
(38) |
May
(70) |
Jun
(58) |
Jul
(104) |
Aug
(207) |
Sep
(83) |
Oct
(122) |
Nov
(23) |
Dec
(49) |
| 2004 |
Jan
(119) |
Feb
(132) |
Mar
(192) |
Apr
(140) |
May
(77) |
Jun
(74) |
Jul
(201) |
Aug
(63) |
Sep
(102) |
Oct
(70) |
Nov
(173) |
Dec
(78) |
| 2005 |
Jan
(174) |
Feb
(197) |
Mar
(105) |
Apr
(59) |
May
(77) |
Jun
(43) |
Jul
(21) |
Aug
(18) |
Sep
(47) |
Oct
(37) |
Nov
(74) |
Dec
(50) |
| 2006 |
Jan
(44) |
Feb
(19) |
Mar
(32) |
Apr
(24) |
May
(31) |
Jun
(55) |
Jul
(138) |
Aug
(28) |
Sep
(12) |
Oct
(41) |
Nov
(58) |
Dec
(24) |
| 2007 |
Jan
(28) |
Feb
(14) |
Mar
(10) |
Apr
(68) |
May
(30) |
Jun
(26) |
Jul
(18) |
Aug
(63) |
Sep
(19) |
Oct
(29) |
Nov
(20) |
Dec
(10) |
| 2008 |
Jan
(38) |
Feb
(7) |
Mar
(37) |
Apr
(120) |
May
(41) |
Jun
(36) |
Jul
(39) |
Aug
(24) |
Sep
(28) |
Oct
(30) |
Nov
(36) |
Dec
(75) |
| 2009 |
Jan
(46) |
Feb
(22) |
Mar
(50) |
Apr
(70) |
May
(134) |
Jun
(105) |
Jul
(75) |
Aug
(34) |
Sep
(38) |
Oct
(34) |
Nov
(19) |
Dec
(20) |
| 2010 |
Jan
(11) |
Feb
(20) |
Mar
(65) |
Apr
(83) |
May
(104) |
Jun
(73) |
Jul
(78) |
Aug
(57) |
Sep
(43) |
Oct
(35) |
Nov
(9) |
Dec
(4) |
| 2011 |
Jan
(21) |
Feb
(11) |
Mar
(18) |
Apr
(10) |
May
(18) |
Jun
(15) |
Jul
(48) |
Aug
(25) |
Sep
(17) |
Oct
(45) |
Nov
(15) |
Dec
(12) |
| 2012 |
Jan
(21) |
Feb
(9) |
Mar
(12) |
Apr
(9) |
May
(9) |
Jun
(5) |
Jul
(1) |
Aug
(10) |
Sep
(12) |
Oct
(1) |
Nov
(28) |
Dec
(5) |
| 2013 |
Jan
(4) |
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2014 |
Jan
|
Feb
(1) |
Mar
(1) |
Apr
|
May
(2) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
|
| 2015 |
Jan
(1) |
Feb
|
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
(2) |
Nov
|
Dec
|
| 2016 |
Jan
(2) |
Feb
(1) |
Mar
(1) |
Apr
(1) |
May
(2) |
Jun
|
Jul
(1) |
Aug
(2) |
Sep
|
Oct
|
Nov
(1) |
Dec
|
| 2017 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| S | M | T | W | T | F | S |
|---|---|---|---|---|---|---|
|
|
|
|
|
|
|
1
|
|
2
(1) |
3
|
4
|
5
|
6
(7) |
7
(5) |
8
(14) |
|
9
(10) |
10
(6) |
11
|
12
(7) |
13
(1) |
14
(1) |
15
|
|
16
|
17
(2) |
18
|
19
|
20
(5) |
21
|
22
|
|
23
|
24
(1) |
25
|
26
(2) |
27
|
28
|
|
|
From: Caspian Rychlik-P. <ci...@us...> - 2003-02-07 23:21:08
|
Update of /cvsroot/java-game-lib/LWJGL/src/native/win32 In directory sc8-pr-cvs1:/tmp/cvs-serv25933/src/native/win32 Modified Files: org_lwjgl_Display.cpp Log Message: Index: org_lwjgl_Display.cpp CVS Browser: http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/java-game-lib/LWJGL/src/native/win32/org_lwjgl_Display.cpp =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/native/win32/org_lwjgl_Display.cpp,v retrieving revision 1.16 retrieving revision 1.17 diff -u -d -r1.16 -r1.17 --- org_lwjgl_Display.cpp 7 Feb 2003 21:53:39 -0000 1.16 +++ org_lwjgl_Display.cpp 7 Feb 2003 23:21:01 -0000 1.17 @@ -285,7 +285,7 @@ windowClass.cbWndExtra = 0; windowClass.hInstance = dll_handle; windowClass.hIcon = LoadIcon(NULL, IDI_APPLICATION); - windowClass.hCursor = LoadIcon(NULL, IDC_ARROW); + windowClass.hCursor = LoadCursor(NULL, IDC_ARROW); windowClass.hbrBackground = (HBRUSH)GetStockObject(BLACK_BRUSH); windowClass.lpszMenuName = NULL; windowClass.lpszClassName = WINDOWCLASSNAME; @@ -344,7 +344,7 @@ // And we never look at windowClass again... - ShowWindow(hwnd, SW_SHOW); + ShowWindow(hwnd, SW_SHOWNORMAL); UpdateWindow(hwnd); SetForegroundWindow(hwnd); SetFocus(hwnd); @@ -360,9 +360,6 @@ // Hide the mouse in fullscreen if (fullscreen) ShowCursor(FALSE); - else { - SetCursor(LoadCursor(dll_handle, MAKEINTRESOURCE(IDC_ARROW))); - } |
|
From: Caspian Rychlik-P. <ci...@us...> - 2003-02-07 21:54:36
|
Update of /cvsroot/java-game-lib/LWJGL/src/native/win32 In directory sc8-pr-cvs1:/tmp/cvs-serv16944/src/native/win32 Modified Files: org_lwjgl_input_Mouse.cpp Log Message: Index: org_lwjgl_input_Mouse.cpp CVS Browser: http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/java-game-lib/LWJGL/src/native/win32/org_lwjgl_input_Mouse.cpp =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/native/win32/org_lwjgl_input_Mouse.cpp,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- org_lwjgl_input_Mouse.cpp 19 Dec 2002 16:35:35 -0000 1.5 +++ org_lwjgl_input_Mouse.cpp 7 Feb 2003 21:54:31 -0000 1.6 @@ -121,7 +121,7 @@ } // Grab non-exclusive foreground access to device - if (lpdiMouse->SetCooperativeLevel(hwnd, DISCL_EXCLUSIVE | DISCL_FOREGROUND) != DI_OK) { + if (lpdiMouse->SetCooperativeLevel(hwnd, DISCL_NONEXCLUSIVE | DISCL_FOREGROUND) != DI_OK) { printf("Failed to set mouse coop\n"); return JNI_FALSE; } @@ -134,7 +134,7 @@ #ifdef _DEBUG printf("Failed to acquire mouse\n"); #endif - } + } return JNI_TRUE; } @@ -169,9 +169,6 @@ while (ret = lpdiMouse->GetDeviceState(sizeof(diMouseState), &diMouseState) != DI_OK) { ret = lpdiMouse->Acquire(); if (ret != DI_OK && ret != S_FALSE) { -#ifdef _DEBUG - printf("Failed to acquire mouse\n"); -#endif return; } } @@ -181,10 +178,10 @@ env->SetStaticIntField(clazz, fid_dy, (jint)diMouseState.lY); env->SetStaticIntField(clazz, fid_dz, (jint)diMouseState.lZ); jbooleanArray buttonsArray = (jbooleanArray) env->GetStaticObjectField(clazz, fid_button); - for (int i = 0; i < 4; i++) - if (diMouseState.rgbButtons[i] != 0) - diMouseState.rgbButtons[i] = JNI_TRUE; - else + for (int i = 0; i < 4; i++) + if (diMouseState.rgbButtons[i] != 0) + diMouseState.rgbButtons[i] = JNI_TRUE; + else diMouseState.rgbButtons[i] = JNI_FALSE; env->SetBooleanArrayRegion(buttonsArray, 0, 4, diMouseState.rgbButtons); } else { |
|
From: Caspian Rychlik-P. <ci...@us...> - 2003-02-07 21:53:44
|
Update of /cvsroot/java-game-lib/LWJGL/src/native/win32 In directory sc8-pr-cvs1:/tmp/cvs-serv16594/src/native/win32 Modified Files: org_lwjgl_opengl_BaseGL.cpp org_lwjgl_input_Keyboard.cpp org_lwjgl_Display.cpp Log Message: Index: org_lwjgl_opengl_BaseGL.cpp CVS Browser: http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/java-game-lib/LWJGL/src/native/win32/org_lwjgl_opengl_BaseGL.cpp =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/native/win32/org_lwjgl_opengl_BaseGL.cpp,v retrieving revision 1.10 retrieving revision 1.11 diff -u -d -r1.10 -r1.11 --- org_lwjgl_opengl_BaseGL.cpp 1 Jan 2003 03:58:01 -0000 1.10 +++ org_lwjgl_opengl_BaseGL.cpp 7 Feb 2003 21:53:39 -0000 1.11 @@ -47,6 +47,39 @@ extern HDC hdc; extern HWND hwnd; + + +/* + * Handle windowing messages sent by the operating system + */ +void handleMessages() +{ + /* + * Now's our chance to deal with Windows messages that are + * otherwise just piling up and causing everything not to + * work properly + */ + MSG msg; + while (PeekMessage( + &msg, // message information + hwnd, // handle to window + 0, // first message + 0, // last message + PM_NOREMOVE // removal options + )) { + + if (GetMessage (&msg, NULL, 0, 0) <= 0) { +#ifdef _DEBUG + printf("We should quit here...\n"); +#endif + return; + } + TranslateMessage(&msg); + DispatchMessage(&msg); + }; +} + + /* * Class: org_lwjgl_opengl_BaseGL * Method: nCreate @@ -112,6 +145,9 @@ JNIEXPORT void JNICALL Java_org_lwjgl_opengl_BaseGL_swapBuffers (JNIEnv *, jobject) { + // Handle OS messages here + handleMessages(); + // Then do the flip wglSwapLayerBuffers(hdc, WGL_SWAP_MAIN_PLANE); } Index: org_lwjgl_input_Keyboard.cpp CVS Browser: http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/java-game-lib/LWJGL/src/native/win32/org_lwjgl_input_Keyboard.cpp =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/native/win32/org_lwjgl_input_Keyboard.cpp,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- org_lwjgl_input_Keyboard.cpp 11 Jan 2003 23:09:08 -0000 1.6 +++ org_lwjgl_input_Keyboard.cpp 7 Feb 2003 21:53:39 -0000 1.7 @@ -49,7 +49,7 @@ #define KEYBOARD_BUFFER_SIZE 50 BYTE readBuffer[KEYBOARD_BUFFER_SIZE]; LPDIRECTINPUTDEVICE lpdiKeyboard = NULL; -jfieldID fid_readBuffer; +jfieldID fid_readBuffer; bool translationEnabled; extern LPDIRECTINPUT lpdi; extern HWND hwnd; @@ -79,7 +79,7 @@ */ JNIEXPORT jboolean JNICALL Java_org_lwjgl_input_Keyboard_nCreate (JNIEnv * env, jclass clazz) -{ +{ translationEnabled = false; // Check to see if we're already initialized if (lpdiKeyboard != NULL) { @@ -183,19 +183,21 @@ (JNIEnv * env, jclass clazz) { - static DIDEVICEOBJECTDATA rgdod[KEYBOARD_BUFFER_SIZE]; - wchar_t transBuf[KEYBOARD_BUFFER_SIZE]; - MSG msg; - + static DIDEVICEOBJECTDATA rgdod[KEYBOARD_BUFFER_SIZE]; + wchar_t transBuf[KEYBOARD_BUFFER_SIZE]; + MSG msg; + BYTE state[256]; DWORD bufsize = KEYBOARD_BUFFER_SIZE; - HRESULT ret; - int num_chars; - int num_events = 0; + HRESULT ret; + int num_chars; + int num_events = 0; do { ret = lpdiKeyboard->Acquire(); + if (ret != DI_OK && ret != S_FALSE) + return 0; } while (ret != DI_OK && ret != S_FALSE); ret = lpdiKeyboard->GetDeviceData( @@ -206,42 +208,42 @@ if (ret == DI_OK) { unsigned char * buf = readBuffer; - for (unsigned int i = 0; i < bufsize; i ++) { + for (unsigned int i = 0; i < bufsize; i ++) { num_events++; *buf++ = (unsigned char) rgdod[i].dwOfs; - *buf++ = (unsigned char) rgdod[i].dwData; - if (translationEnabled) { - while (PeekMessage(&msg, hwnd, WM_KEYFIRST, WM_KEYLAST, PM_REMOVE) != 0) - ; // Flush keyboard messages to update keyboard state - UINT virt_key = MapVirtualKey(rgdod[i].dwOfs, 1); - if (virt_key != 0) { - if (!GetKeyboardState(state)) - return -1; - num_chars = ToUnicode(virt_key, - rgdod[i].dwOfs, - state, - transBuf, - KEYBOARD_BUFFER_SIZE, 0); - if (num_chars > 0) { - wchar_t ch = transBuf[0]; - *buf++ = (unsigned char) (ch & 0xff); - *buf++ = (unsigned char) ((ch & 0xff00) >> 8); - for (int i = 1; i < num_chars; i++) { - num_events++; - ch = transBuf[i]; - *buf++ = 0; - *buf++ = 0; - *buf++ = (unsigned char) (ch & 0xff); - *buf++ = (unsigned char) ((ch & 0xff00) >> 8); - } - } else { - *buf++ = 0; - *buf++ = 0; - } - } else { - *buf++ = 0; - *buf++ = 0; - } + *buf++ = (unsigned char) rgdod[i].dwData; + if (translationEnabled) { + while (PeekMessage(&msg, hwnd, WM_KEYFIRST, WM_KEYLAST, PM_REMOVE) != 0) + ; // Flush keyboard messages to update keyboard state + UINT virt_key = MapVirtualKey(rgdod[i].dwOfs, 1); + if (virt_key != 0) { + if (!GetKeyboardState(state)) + return -1; + num_chars = ToUnicode(virt_key, + rgdod[i].dwOfs, + state, + transBuf, + KEYBOARD_BUFFER_SIZE, 0); + if (num_chars > 0) { + wchar_t ch = transBuf[0]; + *buf++ = (unsigned char) (ch & 0xff); + *buf++ = (unsigned char) ((ch & 0xff00) >> 8); + for (int i = 1; i < num_chars; i++) { + num_events++; + ch = transBuf[i]; + *buf++ = 0; + *buf++ = 0; + *buf++ = (unsigned char) (ch & 0xff); + *buf++ = (unsigned char) ((ch & 0xff00) >> 8); + } + } else { + *buf++ = 0; + *buf++ = 0; + } + } else { + *buf++ = 0; + *buf++ = 0; + } } } return num_events; @@ -283,17 +285,17 @@ } } -/* - * Class: org_lwjgl_input_Keyboard - * Method: nEnableTranslation - * Signature: ()V - */ -JNIEXPORT void JNICALL Java_org_lwjgl_input_Keyboard_nEnableTranslation - (JNIEnv *, jclass) -{ - translationEnabled = true; -} - +/* + * Class: org_lwjgl_input_Keyboard + * Method: nEnableTranslation + * Signature: ()V + */ +JNIEXPORT void JNICALL Java_org_lwjgl_input_Keyboard_nEnableTranslation + (JNIEnv *, jclass) +{ + translationEnabled = true; +} + /* * Class: org_lwjgl_input_Keyboard * Method: nEnableBuffer Index: org_lwjgl_Display.cpp CVS Browser: http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/java-game-lib/LWJGL/src/native/win32/org_lwjgl_Display.cpp =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/native/win32/org_lwjgl_Display.cpp,v retrieving revision 1.15 retrieving revision 1.16 diff -u -d -r1.15 -r1.16 --- org_lwjgl_Display.cpp 6 Feb 2003 18:26:04 -0000 1.15 +++ org_lwjgl_Display.cpp 7 Feb 2003 21:53:39 -0000 1.16 @@ -49,12 +49,16 @@ #define WINDOWCLASSNAME "LWJGLWINDOW" +extern void handleMessages(); extern HINSTANCE dll_handle; + // Initialise static variables bool oneShotInitialised = false; HWND hwnd = NULL; // Handle to the window HDC hdc = NULL; // Device context LPDIRECTINPUT lpdi = NULL; +bool isMinimized = false; +bool isFullscreen = false; void destroyDI(void) { @@ -65,7 +69,8 @@ void destroyWindow(void) { // Reset the display if necessary - ChangeDisplaySettings(NULL, 0); + if (isFullscreen) + ChangeDisplaySettings(NULL, 0); if (hwnd != NULL) { // Vape the window @@ -78,7 +83,8 @@ #endif // Show the mouse - ShowCursor(TRUE); + if (isFullscreen) + ShowCursor(TRUE); } void destroyAll(void) @@ -105,6 +111,19 @@ } /* + * Called when the application is alt-tabbed to or from + */ +void appActivate(bool active) +{ + if (active) { + SetForegroundWindow(hwnd); + ShowWindow(hwnd, SW_RESTORE); + } else if (isFullscreen) + ShowWindow(hwnd, SW_MINIMIZE); +} + + +/* * A dummy WindowProc which does nothing. Used so we can have an invisible OpenGL window */ LRESULT CALLBACK WindowProc(HWND hWnd, @@ -126,6 +145,17 @@ break; } } + case WM_ACTIVATE: + { + int fActive, fMinimized; + + fActive = LOWORD(wParam); + fMinimized = (BOOL) HIWORD(wParam); + + appActivate(fActive != WA_INACTIVE && !fMinimized); + isMinimized = fMinimized == TRUE || (fActive == WA_INACTIVE && isFullscreen); + } + } // default action @@ -138,7 +168,7 @@ */ int SetDisplayMode(int width, int height, int bpp, int freq) { - // Step 2: set display mode using OpenGL friendly tactics + // Set display mode using OpenGL friendly tactics DEVMODE devmode; devmode.dmSize = sizeof(DEVMODE); @@ -277,16 +307,35 @@ exstyle = 0; windowflags = WS_OVERLAPPED | WS_BORDER | WS_CAPTION | WS_VISIBLE; } + isFullscreen = fullscreen == JNI_TRUE; const char* titleString = env->GetStringUTFChars(title, NULL); + // If we're not a fullscreen window, adjust the height to account for the + // height of the title bar: + RECT clientSize; + clientSize.bottom = height; + clientSize.left = 0; + clientSize.right = width; + clientSize.top = 0; + + AdjustWindowRectEx( + &clientSize, // client-rectangle structure + windowflags, // window styles + FALSE, // menu-present option + exstyle // extended window style + ); + + clientSize.bottom -= clientSize.top; + clientSize.right -= clientSize.left; + // Create the window now, using that class: hwnd = CreateWindowEx ( exstyle, WINDOWCLASSNAME, titleString, windowflags, - 0, 0, width, height, + 0, 0, clientSize.right, clientSize.bottom, NULL, NULL, dll_handle, @@ -308,8 +357,14 @@ printf("Created display\n"); #endif - // Hide the mouse - ShowCursor(FALSE); + // Hide the mouse in fullscreen + if (fullscreen) + ShowCursor(FALSE); + else { + SetCursor(LoadCursor(dll_handle, MAKEINTRESOURCE(IDC_ARROW))); + } + + // Create input HRESULT ret = DirectInputCreate(GetModuleHandle(NULL), DIRECTINPUT_VERSION, &lpdi, NULL); @@ -441,4 +496,24 @@ { destroyAll(); } + +/* + * Class: org_lwjgl_Display + * Method: isMinimized + * Signature: ()Z + */ +JNIEXPORT jboolean JNICALL Java_org_lwjgl_Display_isMinimized + (JNIEnv * env, jclass clazz) +{ + // Make sure that messages are being processed. Because + // you shouldn't be calling swapBuffers when the window is + // minimized, you won't get your window messages processed + // there, so we'll do it here too, just to be sure. + + if (isMinimized) + handleMessages(); + + return isMinimized ? JNI_TRUE : JNI_FALSE; +} + |
|
From: Caspian Rychlik-P. <ci...@us...> - 2003-02-07 21:51:20
|
Update of /cvsroot/java-game-lib/LWJGL/src/native/common In directory sc8-pr-cvs1:/tmp/cvs-serv15265/src/native/common Modified Files: org_lwjgl_Display.h Log Message: Index: org_lwjgl_Display.h CVS Browser: http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/java-game-lib/LWJGL/src/native/common/org_lwjgl_Display.h =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/native/common/org_lwjgl_Display.h,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- org_lwjgl_Display.h 6 Feb 2003 18:25:01 -0000 1.3 +++ org_lwjgl_Display.h 7 Feb 2003 21:51:16 -0000 1.4 @@ -23,7 +23,7 @@ /* * Class: org_lwjgl_Display * Method: nCreate - * Signature: (IIIIZ)Z + * Signature: (IIIIIIIZLjava/lang/String;)Z */ JNIEXPORT jboolean JNICALL Java_org_lwjgl_Display_nCreate (JNIEnv *, jclass, jint, jint, jint, jint, jint, jint, jint, jboolean, jstring); @@ -35,6 +35,15 @@ */ JNIEXPORT void JNICALL Java_org_lwjgl_Display_nDestroy (JNIEnv *, jclass); + +/* + * Class: org_lwjgl_Display + * Method: isMinimized + * Signature: ()Z + */ +JNIEXPORT jboolean JNICALL Java_org_lwjgl_Display_isMinimized + (JNIEnv *, jclass); + #ifdef __cplusplus } |
|
From: Caspian Rychlik-P. <ci...@us...> - 2003-02-07 21:50:07
|
Update of /cvsroot/java-game-lib/LWJGL/src/java/org/lwjgl In directory sc8-pr-cvs1:/tmp/cvs-serv14702/src/java/org/lwjgl Modified Files: Display.java Log Message: Index: Display.java CVS Browser: http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/java-game-lib/LWJGL/src/java/org/lwjgl/Display.java =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/java/org/lwjgl/Display.java,v retrieving revision 1.11 retrieving revision 1.12 diff -u -d -r1.11 -r1.12 --- Display.java 6 Feb 2003 18:23:44 -0000 1.11 +++ Display.java 7 Feb 2003 21:50:02 -0000 1.12 @@ -55,9 +55,9 @@ /** The current display mode, if created */ private static DisplayMode mode; - /** A pointer to the native display window */ + /** A pointer to the native display window. On Windows this will be an hWnd. */ private static int handle; - + /** * No construction allowed. */ @@ -205,4 +205,14 @@ return created; } + /** + * Determines if the display is minimized. When the display is minimized it is + * effectively invisible, and you need perform no rendering in your game loop. + * On the native side, when the application is switched to some other application, + * the display window will minimize; when focus is regained, it will maximize and + * automatically gain focus and become the foreground window again. + * @return true if the display is minimized + */ + public static native boolean isMinimized(); + } |