Mercurial > sdl-ios-xcode
changeset 485:ffa4ca907c67
Date: Sun, 1 Sep 2002 21:27:54 -0400 (EDT)
From: "Ryan C. Gordon"
Subject: [SDL] Minor X11 hack:
Here's a patch to center a newly-created, non-fullscreen X11 window.
While this may or may not be suitable for adding to SDL officially, I
didn't want to put any Xlib dependencies in my code directly.
To use:
- Apply patch/rebuild.
- export SDL_WINDOW_POS=center
- Call SDL_SetVideoMode as needed.
(Ideally, this could be expanded to handle other commands like
SDL_WINDOW_POS=20x190, etc, and could be implemented for other targets,
but this is really a hack to avoid API changes).
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Mon, 02 Sep 2002 15:58:29 +0000 |
parents | 4d7ae45ce9e3 |
children | 8b1c1ae7af11 |
files | src/video/x11/SDL_x11video.c |
diffstat | 1 files changed, 12 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/video/x11/SDL_x11video.c Sun Sep 01 19:34:01 2002 +0000 +++ b/src/video/x11/SDL_x11video.c Mon Sep 02 15:58:29 2002 +0000 @@ -870,6 +870,18 @@ screen->flags |= SDL_FULLSCREEN; X11_EnterFullScreen(this); } else { + /* Position standalone window based on user request. --ryan. */ + const char *envr = getenv("SDL_WINDOW_POS"); + if (envr != NULL) { + int xscreen = DefaultScreen(SDL_Display); + if (strcmp(envr, "center") == 0) { + int disw = DisplayWidth(SDL_Display, xscreen); + int dish = DisplayHeight(SDL_Display, xscreen); + int centerx = (disw - current_w) / 2; + int centery = (dish - current_h) / 2; + XMoveWindow(SDL_Display, WMwindow, centerx, centery); + } + } screen->flags &= ~SDL_FULLSCREEN; } }