# HG changeset patch # User Sam Lantinga # Date 1348770553 25200 # Node ID d4623b7209db8253c0a6dedc4a7714228e8321ce # Parent 5f6990aaf3576be1fbaa1e422491871344ea74ec Turned the X11 mode extension environment variables into hints so they can be more easily set from applications. diff -r 5f6990aaf357 -r d4623b7209db include/SDL_hints.h --- a/include/SDL_hints.h Thu Sep 27 11:13:30 2012 -0700 +++ b/include/SDL_hints.h Thu Sep 27 11:29:13 2012 -0700 @@ -118,7 +118,40 @@ * By default SDL does not sync screen surface updates with vertical refresh. */ #define SDL_HINT_RENDER_VSYNC "SDL_RENDER_VSYNC" - + +/** + * \brief A variable controlling whether the X11 VidMode extension should be used. + * + * This variable can be set to the following values: + * "0" - Disable XVidMode + * "1" - Enable XVidMode + * + * By default SDL will use XVidMode if it is available. + */ +#define SDL_HINT_VIDEO_X11_XVIDMODE "SDL_VIDEO_X11_XVIDMODE" + +/** + * \brief A variable controlling whether the X11 Xinerama extension should be used. + * + * This variable can be set to the following values: + * "0" - Disable Xinerama + * "1" - Enable Xinerama + * + * By default SDL will use Xinerama if it is available. + */ +#define SDL_HINT_VIDEO_X11_XINERAMA "SDL_VIDEO_X11_XINERAMA" + +/** + * \brief A variable controlling whether the X11 XRandR extension should be used. + * + * This variable can be set to the following values: + * "0" - Disable XRandR + * "1" - Enable XRandR + * + * By default SDL will use XRandR if it is available. + */ +#define SDL_HINT_VIDEO_X11_XRANDR "SDL_VIDEO_X11_XRANDR" + /** * \brief A variable controlling whether the idle timer is disabled on iOS. * diff -r 5f6990aaf357 -r d4623b7209db src/video/x11/SDL_x11modes.c --- a/src/video/x11/SDL_x11modes.c Thu Sep 27 11:13:30 2012 -0700 +++ b/src/video/x11/SDL_x11modes.c Thu Sep 27 11:29:13 2012 -0700 @@ -22,6 +22,7 @@ #if SDL_VIDEO_DRIVER_X11 +#include "SDL_hints.h" #include "SDL_x11video.h" /*#define X11MODES_DEBUG*/ @@ -270,10 +271,10 @@ *major = *minor = 0; /* Allow environment override */ - env = getenv("SDL_VIDEO_X11_XINERAMA"); + env = SDL_GetHint(SDL_HINT_VIDEO_X11_XINERAMA); if (env && !SDL_atoi(env)) { #ifdef X11MODES_DEBUG - printf("Xinerama disabled due to environment variable\n"); + printf("Xinerama disabled due to hint\n"); #endif return SDL_FALSE; } @@ -311,10 +312,10 @@ *major = *minor = 0; /* Allow environment override */ - env = getenv("SDL_VIDEO_X11_XRANDR"); + env = SDL_GetHint(SDL_HINT_VIDEO_X11_XRANDR); if (env && !SDL_atoi(env)) { #ifdef X11MODES_DEBUG - printf("XRandR disabled due to environment variable\n"); + printf("XRandR disabled due to hint\n"); #endif return SDL_FALSE; } @@ -350,10 +351,10 @@ *major = *minor = 0; /* Allow environment override */ - env = getenv("SDL_VIDEO_X11_XVIDMODE"); + env = SDL_GetHint(SDL_HINT_VIDEO_X11_XVIDMODE); if (env && !SDL_atoi(env)) { #ifdef X11MODES_DEBUG - printf("XVidMode disabled due to environment variable\n"); + printf("XVidMode disabled due to hint\n"); #endif return SDL_FALSE; }