Mercurial > sdl-ios-xcode
comparison src/video/x11/SDL_x11video.c @ 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 | 8a687496061f |
children | bb2d68294e81 |
comparison
equal
deleted
inserted
replaced
484:4d7ae45ce9e3 | 485:ffa4ca907c67 |
---|---|
868 X11_WaitMapped(this, WMwindow); | 868 X11_WaitMapped(this, WMwindow); |
869 if ( flags & SDL_FULLSCREEN ) { | 869 if ( flags & SDL_FULLSCREEN ) { |
870 screen->flags |= SDL_FULLSCREEN; | 870 screen->flags |= SDL_FULLSCREEN; |
871 X11_EnterFullScreen(this); | 871 X11_EnterFullScreen(this); |
872 } else { | 872 } else { |
873 /* Position standalone window based on user request. --ryan. */ | |
874 const char *envr = getenv("SDL_WINDOW_POS"); | |
875 if (envr != NULL) { | |
876 int xscreen = DefaultScreen(SDL_Display); | |
877 if (strcmp(envr, "center") == 0) { | |
878 int disw = DisplayWidth(SDL_Display, xscreen); | |
879 int dish = DisplayHeight(SDL_Display, xscreen); | |
880 int centerx = (disw - current_w) / 2; | |
881 int centery = (dish - current_h) / 2; | |
882 XMoveWindow(SDL_Display, WMwindow, centerx, centery); | |
883 } | |
884 } | |
873 screen->flags &= ~SDL_FULLSCREEN; | 885 screen->flags &= ~SDL_FULLSCREEN; |
874 } | 886 } |
875 } | 887 } |
876 return(0); | 888 return(0); |
877 } | 889 } |