| 29 | } |
| 30 | |
| 31 | void |
| 32 | GLWindow::initialize () |
| 33 | { |
| 34 | isActive = true; |
| 35 | isFullscreen = false; |
| 36 | windowedMode = 1; |
| 37 | fullscreenMode = 0; |
| 38 | scaleMode = 1; |
| 39 | |
| 40 | SDL_DisplayMode nativeMode; |
| 41 | SDL_GetCurrentDisplayMode (0, &nativeMode); |
| 42 | |
| 43 | videoModes[0] = VideoMode (4 * nativeMode.w / 4, 4 * nativeMode.h / 4, 32); |
| 44 | videoModes[1] = VideoMode (3 * nativeMode.w / 4, 3 * nativeMode.h / 4, 32); |
| 45 | videoModes[2] = VideoMode (2 * nativeMode.w / 4, 2 * nativeMode.h / 4, 32); |
| 46 | videoModes[3] = VideoMode (1 * nativeMode.w / 4, 1 * nativeMode.h / 4, 32); |
| 47 | |
| 48 | // Initialize virtual modes for compatibility |
| 49 | virtualModes[0] = VideoMode (1920, 1080, 32); |
| 50 | virtualModes[1] = VideoMode (1440, 810, 32); |
| 51 | virtualModes[2] = VideoMode (960, 540, 32); |
| 52 | virtualModes[3] = VideoMode (480, 270, 32); |
| 53 | |
| 54 | for (int i = 1; i < NUM_MODES; i++) |
| 55 | { |
| 56 | if (videoModes[i].height % 2 != 0) |
| 57 | videoModes[i].height = videoModes[i].height - 1; |
| 58 | } |
| 59 | } |
| 60 | |
| 61 | void |
| 62 | GLWindow::computeScale () |