Turned the X11 mode extension environment variables into hints so they can be more easily set from applications.
authorSam Lantinga <slouken@libsdl.org>
Thu, 27 Sep 2012 11:29:13 -0700
changeset 6472 d4623b7209db
parent 6471 5f6990aaf357
child 6473 a5adb68266d0
Turned the X11 mode extension environment variables into hints so they can be more easily set from applications.
include/SDL_hints.h
src/video/x11/SDL_x11modes.c
--- 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;
     }