annotate src/video/x11/SDL_x11gamma.h @ 3100:7dc982143c06

Date: Sun, 22 Mar 2009 12:52:29 +0000 From: Luke Benstead Subject: OpenGL 3.0 Context Creation I've attached a patch which implements OpenGL 3.x context creation on the latest SVN. I've added two options to SDL_GL_SetAttribute, these are SDL_GL_CONTEXT_MAJOR_VERSION and SDL_GL_CONTEXT_MINOR_VERSION. These default to 2 and 1 respectively. If the major version is less than 3 then the current context creation method is used, otherwise the appropriate new context creation function is called (depending on the platform). Sample code: if (SDL_Init(SDL_INIT_VIDEO) != 0) { printf("Unable to initialize SDL: %s\n", SDL_GetError()); return 1; } SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, 3); //Without these 2 lines, SDL will create a GL 2.x context SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION, 0); SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1); SDL_Surface* screen = SDL_SetVideoMode( 640, 480, 16, SDL_OPENGL | SDL_FULLSCREEN ); I've implemented context creation on both Win32 and X and run basic tests on both. This patch doesn't provide access to all the options allowed by the new context creation (e.g. shared contexts, forward compatible contexts) but they can be added pretty easily.
author Sam Lantinga <slouken@libsdl.org>
date Tue, 24 Mar 2009 10:43:53 +0000
parents a6694a812119
children 4b594623401b
rev   line source
2162
1d23870d8c49 Added stubs for x11 gamma functions and enabled them in SDL_x11video.c
Bob Pendleton <bob@pendleton.com>
parents:
diff changeset
1 /*
1d23870d8c49 Added stubs for x11 gamma functions and enabled them in SDL_x11video.c
Bob Pendleton <bob@pendleton.com>
parents:
diff changeset
2 SDL - Simple DirectMedia Layer
2859
99210400e8b9 Updated copyright date
Sam Lantinga <slouken@libsdl.org>
parents: 2214
diff changeset
3 Copyright (C) 1997-2009 Sam Lantinga
2162
1d23870d8c49 Added stubs for x11 gamma functions and enabled them in SDL_x11video.c
Bob Pendleton <bob@pendleton.com>
parents:
diff changeset
4
1d23870d8c49 Added stubs for x11 gamma functions and enabled them in SDL_x11video.c
Bob Pendleton <bob@pendleton.com>
parents:
diff changeset
5 This library is free software; you can redistribute it and/or
1d23870d8c49 Added stubs for x11 gamma functions and enabled them in SDL_x11video.c
Bob Pendleton <bob@pendleton.com>
parents:
diff changeset
6 modify it under the terms of the GNU Lesser General Public
1d23870d8c49 Added stubs for x11 gamma functions and enabled them in SDL_x11video.c
Bob Pendleton <bob@pendleton.com>
parents:
diff changeset
7 License as published by the Free Software Foundation; either
1d23870d8c49 Added stubs for x11 gamma functions and enabled them in SDL_x11video.c
Bob Pendleton <bob@pendleton.com>
parents:
diff changeset
8 version 2.1 of the License, or (at your option) any later version.
1d23870d8c49 Added stubs for x11 gamma functions and enabled them in SDL_x11video.c
Bob Pendleton <bob@pendleton.com>
parents:
diff changeset
9
1d23870d8c49 Added stubs for x11 gamma functions and enabled them in SDL_x11video.c
Bob Pendleton <bob@pendleton.com>
parents:
diff changeset
10 This library is distributed in the hope that it will be useful,
1d23870d8c49 Added stubs for x11 gamma functions and enabled them in SDL_x11video.c
Bob Pendleton <bob@pendleton.com>
parents:
diff changeset
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
1d23870d8c49 Added stubs for x11 gamma functions and enabled them in SDL_x11video.c
Bob Pendleton <bob@pendleton.com>
parents:
diff changeset
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
1d23870d8c49 Added stubs for x11 gamma functions and enabled them in SDL_x11video.c
Bob Pendleton <bob@pendleton.com>
parents:
diff changeset
13 Lesser General Public License for more details.
1d23870d8c49 Added stubs for x11 gamma functions and enabled them in SDL_x11video.c
Bob Pendleton <bob@pendleton.com>
parents:
diff changeset
14
1d23870d8c49 Added stubs for x11 gamma functions and enabled them in SDL_x11video.c
Bob Pendleton <bob@pendleton.com>
parents:
diff changeset
15 You should have received a copy of the GNU Lesser General Public
1d23870d8c49 Added stubs for x11 gamma functions and enabled them in SDL_x11video.c
Bob Pendleton <bob@pendleton.com>
parents:
diff changeset
16 License along with this library; if not, write to the Free Software
1d23870d8c49 Added stubs for x11 gamma functions and enabled them in SDL_x11video.c
Bob Pendleton <bob@pendleton.com>
parents:
diff changeset
17 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
1d23870d8c49 Added stubs for x11 gamma functions and enabled them in SDL_x11video.c
Bob Pendleton <bob@pendleton.com>
parents:
diff changeset
18
1d23870d8c49 Added stubs for x11 gamma functions and enabled them in SDL_x11video.c
Bob Pendleton <bob@pendleton.com>
parents:
diff changeset
19 Sam Lantinga
1d23870d8c49 Added stubs for x11 gamma functions and enabled them in SDL_x11video.c
Bob Pendleton <bob@pendleton.com>
parents:
diff changeset
20 slouken@libsdl.org
1d23870d8c49 Added stubs for x11 gamma functions and enabled them in SDL_x11video.c
Bob Pendleton <bob@pendleton.com>
parents:
diff changeset
21 */
1d23870d8c49 Added stubs for x11 gamma functions and enabled them in SDL_x11video.c
Bob Pendleton <bob@pendleton.com>
parents:
diff changeset
22 #include "SDL_config.h"
1d23870d8c49 Added stubs for x11 gamma functions and enabled them in SDL_x11video.c
Bob Pendleton <bob@pendleton.com>
parents:
diff changeset
23
1d23870d8c49 Added stubs for x11 gamma functions and enabled them in SDL_x11video.c
Bob Pendleton <bob@pendleton.com>
parents:
diff changeset
24 #ifndef _SDL_x11gamma_h
1d23870d8c49 Added stubs for x11 gamma functions and enabled them in SDL_x11video.c
Bob Pendleton <bob@pendleton.com>
parents:
diff changeset
25 #define _SDL_x11gamma_h
1d23870d8c49 Added stubs for x11 gamma functions and enabled them in SDL_x11video.c
Bob Pendleton <bob@pendleton.com>
parents:
diff changeset
26
2214
e7164a4dac62 Added gamma table support to X11. Also now supports DirectColor visuals.
Bob Pendleton <bob@pendleton.com>
parents: 2213
diff changeset
27 extern Colormap X11_LookupColormap(Display * display, int scrNum,
e7164a4dac62 Added gamma table support to X11. Also now supports DirectColor visuals.
Bob Pendleton <bob@pendleton.com>
parents: 2213
diff changeset
28 VisualID vid);
2213
59a667370c57 make indent
Bob Pendleton <bob@pendleton.com>
parents: 2162
diff changeset
29 extern void X11_TrackColormap(Display * display, int scrNum,
3010
a6694a812119 Modified and totally untested code to load the color tables for DirectColor and PseudoColor windows.
Bob Pendleton <bob@pendleton.com>
parents: 2859
diff changeset
30 Colormap colormap,
a6694a812119 Modified and totally untested code to load the color tables for DirectColor and PseudoColor windows.
Bob Pendleton <bob@pendleton.com>
parents: 2859
diff changeset
31 Visual * visual, XColor * ramp);
2213
59a667370c57 make indent
Bob Pendleton <bob@pendleton.com>
parents: 2162
diff changeset
32
2162
1d23870d8c49 Added stubs for x11 gamma functions and enabled them in SDL_x11video.c
Bob Pendleton <bob@pendleton.com>
parents:
diff changeset
33 extern int X11_SetDisplayGammaRamp(_THIS, Uint16 * ramp);
1d23870d8c49 Added stubs for x11 gamma functions and enabled them in SDL_x11video.c
Bob Pendleton <bob@pendleton.com>
parents:
diff changeset
34 extern int X11_GetDisplayGammaRamp(_THIS, Uint16 * ramp);
1d23870d8c49 Added stubs for x11 gamma functions and enabled them in SDL_x11video.c
Bob Pendleton <bob@pendleton.com>
parents:
diff changeset
35
1d23870d8c49 Added stubs for x11 gamma functions and enabled them in SDL_x11video.c
Bob Pendleton <bob@pendleton.com>
parents:
diff changeset
36 #endif