Window coordinates are in the global space and windows are not tied to a particular display.

Also added Ctrl-Enter keybinding to the test code to toggle fullscreen mode for testing.
This commit is contained in:
Sam Lantinga 2011-02-10 14:44:25 -08:00
parent 2c021d9b34
commit 018af55e16
21 changed files with 300 additions and 190 deletions

View file

@ -1015,12 +1015,14 @@ CommonEvent(CommonState * state, SDL_Event * event, int *done)
case SDLK_m:
if (event->key.keysym.mod & KMOD_CTRL) {
/* Ctrl-M maximize */
/* FIXME: Which window has focus for this keyboard? */
for (i = 0; i < state->num_windows; ++i) {
if (SDL_GetWindowFlags(state->windows[i]) & SDL_WINDOW_MAXIMIZED) {
SDL_RestoreWindow(state->windows[i]);
} else {
SDL_MaximizeWindow(state->windows[i]);
Uint32 flags = SDL_GetWindowFlags(state->windows[i]);
if (flags & SDL_WINDOW_INPUT_FOCUS) {
if (flags & SDL_WINDOW_MAXIMIZED) {
SDL_RestoreWindow(state->windows[i]);
} else {
SDL_MaximizeWindow(state->windows[i]);
}
}
}
}
@ -1028,9 +1030,26 @@ CommonEvent(CommonState * state, SDL_Event * event, int *done)
case SDLK_z:
if (event->key.keysym.mod & KMOD_CTRL) {
/* Ctrl-Z minimize */
/* FIXME: Which window has focus for this keyboard? */
for (i = 0; i < state->num_windows; ++i) {
SDL_MinimizeWindow(state->windows[i]);
Uint32 flags = SDL_GetWindowFlags(state->windows[i]);
if (flags & SDL_WINDOW_INPUT_FOCUS) {
SDL_MinimizeWindow(state->windows[i]);
}
}
}
break;
case SDLK_RETURN:
if (event->key.keysym.mod & KMOD_CTRL) {
/* Ctrl-Enter toggle fullscreen */
for (i = 0; i < state->num_windows; ++i) {
Uint32 flags = SDL_GetWindowFlags(state->windows[i]);
if (flags & SDL_WINDOW_INPUT_FOCUS) {
if (flags & SDL_WINDOW_FULLSCREEN) {
SDL_SetWindowFullscreen(state->windows[i], SDL_FALSE);
} else {
SDL_SetWindowFullscreen(state->windows[i], SDL_TRUE);
}
}
}
}
break;