Turned the X11 mode extension environment variables into hints so they can be more easily set from applications.
--- 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.
*
--- 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;
}