From: Elias N. <eli...@us...> - 2005-12-26 21:52:21
|
Update of /cvsroot/java-game-lib/LWJGL/src/native/win32 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv14378/src/native/win32 Modified Files: display.c Log Message: Win32: Commented multi-monitor stuff out from display.c, since we don't really support multiple monitors anyway. Now we only operate on the default (DISPLAY_DEVICE_PRIMARY_DEVICE) device, which should scale to multi monitor setups. Needs thorough testing, of course. Index: display.c =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/native/win32/display.c,v retrieving revision 1.7 retrieving revision 1.8 diff -u -d -r1.7 -r1.8 --- display.c 26 Dec 2005 15:06:45 -0000 1.7 +++ display.c 26 Dec 2005 21:52:12 -0000 1.8 @@ -92,14 +92,16 @@ displayModeClass = (*env)->FindClass(env, "org/lwjgl/opengl/DisplayMode"); displayModeConstructor = (*env)->GetMethodID(env, displayModeClass, "<init>", "(IIII)V"); - while(EnumDisplayDevices(NULL, i++, &DisplayDevice, 0) != 0) { + /* Multi-monitor stuff commented out since we're only really interested in the primary monitor */ +/* while(EnumDisplayDevices(NULL, i++, &DisplayDevice, 0) != 0) { // continue if mirroring device if((DisplayDevice.StateFlags & DISPLAY_DEVICE_MIRRORING_DRIVER) != 0) { continue; } j = 0; - while(EnumDisplaySettings((const char *) DisplayDevice.DeviceName, j++, &DevMode) != 0) { + while(EnumDisplaySettings((const char *) DisplayDevice.DeviceName, j++, &DevMode) != 0) {*/ + while(EnumDisplaySettings(NULL, j++, &DevMode) != 0) { // Filter out indexed modes if (DevMode.dmBitsPerPel > 8 && ChangeDisplaySettings(&DevMode, CDS_FULLSCREEN | CDS_TEST) == DISP_CHANGE_SUCCESSFUL) { jobject displayMode; @@ -115,7 +117,7 @@ display_mode_objects[n++] = displayMode; } } - } +// } printfDebugJava(env, "Found %d displaymodes", n); ret = (*env)->NewObjectArray(env, n, displayModeClass, NULL); @@ -151,16 +153,17 @@ cdsret = ChangeDisplaySettings(&devmode, CDS_FULLSCREEN); if (cdsret != DISP_CHANGE_SUCCESSFUL) { - // Failed: so let's check to see if it's a wierd dual screen display + /* What's the proper way to do this multiply with 2 thing, if at all necessary? */ +/* // Failed: so let's check to see if it's a wierd dual screen display printfDebugJava(env, "Failed to set display mode (%ld) ... assuming dual monitors", cdsret); devmode.dmPelsWidth = width * 2; cdsret = ChangeDisplaySettings(&devmode, CDS_FULLSCREEN); if (cdsret != DISP_CHANGE_SUCCESSFUL) { - printfDebugJava(env, "Failed to set display mode using dual monitors (%ld)", cdsret); + printfDebugJava(env, "Failed to set display mode using dual monitors (%ld)", cdsret);*/ throwFormattedException(env, "Failed to set display mode (%ld).", cdsret); return; - } +// } } modeSet = true; } |