comparison src/video/x11/SDL_x11modes.c @ 4593:3892fe2f6537

Fixed so many things. See the changelog listed below. 1. Use SDL_X11_HAVE_XRENDER to check for RENDER at runtime. 2. Added lots of comments. 3. Added checks and lots of calls to SDL_SetError(). 4. Fixed X11_CreateTexture() so that the pixmap and image created are for the format specified by the user and not the window format. This is only for the RENDER case. 5. The above change required that functions to convert SDL pixel format enums to Visuals and XRenderPictFormats be added. 6. Fixed lots of 'style' issues.
author Sunny Sachanandani <sunnysachanandani@gmail.com>
date Sat, 17 Jul 2010 15:38:24 +0530
parents 1e998db9b597
children 844b5ef4b149
comparison
equal deleted inserted replaced
4592:ccdde189a3c5 4593:3892fe2f6537
21 */ 21 */
22 #include "SDL_config.h" 22 #include "SDL_config.h"
23 23
24 #include "SDL_x11video.h" 24 #include "SDL_x11video.h"
25 25
26 #define X11MODES_DEBUG 26 //#define X11MODES_DEBUG
27 #undef SDL_VIDEO_DRIVER_X11_XINERAMA 27 #undef SDL_VIDEO_DRIVER_X11_XINERAMA
28 #undef SDL_VIDEO_DRIVER_X11_XRANDR 28 #undef SDL_VIDEO_DRIVER_X11_XRANDR
29 #undef SDL_VIDEO_DRIVER_X11_VIDMODE 29 #undef SDL_VIDEO_DRIVER_X11_VIDMODE
30 30
31 static int 31 static int
47 *vinfo = *vi; 47 *vinfo = *vi;
48 XFree(vi); 48 XFree(vi);
49 return 0; 49 return 0;
50 } 50 }
51 } 51 }
52 /*#ifdef SDL_VIDEO_DRIVER_X11_XRENDER
53 depth = 32;
54 long vinfo_mask;
55 XVisualInfo vinfo_templ;
56 vinfo_mask = (VisualDepthMask | VisualRedMaskMask | VisualGreenMaskMask | VisualBlueMaskMask);
57 vinfo_templ.depth = 32;
58 vinfo_templ.red_mask = 0xFF0000;
59 vinfo_templ.green_mask = 0xFF00;
60 vinfo_templ.blue_mask = 0xFF;
61 vi = XGetVisualInfo(display, vinfo_mask, &vinfo_templ, &nvis);
62 if(vi) {
63 *vinfo = *vi;
64 XFree(vi);
65 return 0;
66 }
67 #endif*/
68 depth = DefaultDepth(display, screen); 52 depth = DefaultDepth(display, screen);
69 if ((X11_UseDirectColorVisuals() && 53 if ((X11_UseDirectColorVisuals() &&
70 XMatchVisualInfo(display, screen, depth, DirectColor, vinfo)) || 54 XMatchVisualInfo(display, screen, depth, DirectColor, vinfo)) ||
71 XMatchVisualInfo(display, screen, depth, TrueColor, vinfo) || 55 XMatchVisualInfo(display, screen, depth, TrueColor, vinfo) ||
72 XMatchVisualInfo(display, screen, depth, PseudoColor, vinfo) || 56 XMatchVisualInfo(display, screen, depth, PseudoColor, vinfo) ||