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 }