Mercurial > sdl-ios-xcode
annotate docs/html/sdlglsetattribute.html @ 1257:448a9a64537b
[PATCH] SDL_GetVideoMode() does not find best mode, part 2
Following commit 1.51, I come accross a problem when SDL must choose between
several video modes that could suit the one asked.
If I ask 320x240 with this list:
768x480 768x240 640x400 640x200 384x480 384x240 320x400 320x200
The smallest selectables modes are 384x240 and 320x400. And SDL choose the later
in this list, but 384x240 is more suitable. So I added a check to compare
the pixel count (surface) of modes, and select the one which has the smallest
pixel count.
In my example, 384x240 has 92160 pixels, and 320x400 has 128000 pixels. So now
SDL will choose 384x240 for the asked 320x240 mode.
author | Patrice Mandin <patmandin@gmail.com> |
---|---|
date | Thu, 19 Jan 2006 21:28:52 +0000 |
parents | 355632dca928 |
children |
rev | line source |
---|---|
0 | 1 <HTML |
2 ><HEAD | |
3 ><TITLE | |
4 >SDL_GL_SetAttribute</TITLE | |
5 ><META | |
6 NAME="GENERATOR" | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
7 CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+ |
0 | 8 "><LINK |
9 REL="HOME" | |
10 TITLE="SDL Library Documentation" | |
11 HREF="index.html"><LINK | |
12 REL="UP" | |
13 TITLE="Video" | |
14 HREF="video.html"><LINK | |
15 REL="PREVIOUS" | |
16 TITLE="SDL_GL_GetAttribute" | |
17 HREF="sdlglgetattribute.html"><LINK | |
18 REL="NEXT" | |
19 TITLE="SDL_GL_SwapBuffers" | |
20 HREF="sdlglswapbuffers.html"></HEAD | |
21 ><BODY | |
22 CLASS="REFENTRY" | |
23 BGCOLOR="#FFF8DC" | |
24 TEXT="#000000" | |
25 LINK="#0000ee" | |
26 VLINK="#551a8b" | |
27 ALINK="#ff0000" | |
28 ><DIV | |
29 CLASS="NAVHEADER" | |
30 ><TABLE | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
31 SUMMARY="Header navigation table" |
0 | 32 WIDTH="100%" |
33 BORDER="0" | |
34 CELLPADDING="0" | |
35 CELLSPACING="0" | |
36 ><TR | |
37 ><TH | |
38 COLSPAN="3" | |
39 ALIGN="center" | |
40 >SDL Library Documentation</TH | |
41 ></TR | |
42 ><TR | |
43 ><TD | |
44 WIDTH="10%" | |
45 ALIGN="left" | |
46 VALIGN="bottom" | |
47 ><A | |
48 HREF="sdlglgetattribute.html" | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
49 ACCESSKEY="P" |
0 | 50 >Prev</A |
51 ></TD | |
52 ><TD | |
53 WIDTH="80%" | |
54 ALIGN="center" | |
55 VALIGN="bottom" | |
56 ></TD | |
57 ><TD | |
58 WIDTH="10%" | |
59 ALIGN="right" | |
60 VALIGN="bottom" | |
61 ><A | |
62 HREF="sdlglswapbuffers.html" | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
63 ACCESSKEY="N" |
0 | 64 >Next</A |
65 ></TD | |
66 ></TR | |
67 ></TABLE | |
68 ><HR | |
69 ALIGN="LEFT" | |
70 WIDTH="100%"></DIV | |
71 ><H1 | |
72 ><A | |
73 NAME="SDLGLSETATTRIBUTE" | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
74 ></A |
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
75 >SDL_GL_SetAttribute</H1 |
0 | 76 ><DIV |
77 CLASS="REFNAMEDIV" | |
78 ><A | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
79 NAME="AEN2742" |
0 | 80 ></A |
81 ><H2 | |
82 >Name</H2 | |
83 >SDL_GL_SetAttribute -- Set a special SDL/OpenGL attribute</DIV | |
84 ><DIV | |
85 CLASS="REFSYNOPSISDIV" | |
86 ><A | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
87 NAME="AEN2745" |
0 | 88 ></A |
89 ><H2 | |
90 >Synopsis</H2 | |
91 ><DIV | |
92 CLASS="FUNCSYNOPSIS" | |
93 ><A | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
94 NAME="AEN2746" |
0 | 95 ></A |
96 ><P | |
97 ></P | |
98 ><PRE | |
99 CLASS="FUNCSYNOPSISINFO" | |
100 >#include "SDL.h"</PRE | |
101 ><P | |
102 ><CODE | |
103 ><CODE | |
104 CLASS="FUNCDEF" | |
105 >int <B | |
106 CLASS="FSFUNC" | |
107 >SDL_GL_SetAttribute</B | |
108 ></CODE | |
109 >(SDL_GLattr attr, int value);</CODE | |
110 ></P | |
111 ><P | |
112 ></P | |
113 ></DIV | |
114 ></DIV | |
115 ><DIV | |
116 CLASS="REFSECT1" | |
117 ><A | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
118 NAME="AEN2752" |
0 | 119 ></A |
120 ><H2 | |
121 >Description</H2 | |
122 ><P | |
123 >Sets the OpenGL <A | |
124 HREF="sdlglattr.html" | |
125 >attribute</A | |
126 > <TT | |
127 CLASS="PARAMETER" | |
128 ><I | |
129 >attr</I | |
130 ></TT | |
131 > to <TT | |
132 CLASS="PARAMETER" | |
133 ><I | |
134 >value</I | |
135 ></TT | |
136 >. The attributes you set don't take effect until after a call to <A | |
137 HREF="sdlsetvideomode.html" | |
138 ><TT | |
139 CLASS="FUNCTION" | |
140 >SDL_SetVideoMode</TT | |
141 ></A | |
142 >. You should use <A | |
143 HREF="sdlglgetattribute.html" | |
144 ><TT | |
145 CLASS="FUNCTION" | |
146 >SDL_GL_GetAttribute</TT | |
147 ></A | |
148 > to check the values after a <TT | |
149 CLASS="FUNCTION" | |
150 >SDL_SetVideoMode</TT | |
151 > call.</P | |
152 ></DIV | |
153 ><DIV | |
154 CLASS="REFSECT1" | |
155 ><A | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
156 NAME="AEN2763" |
0 | 157 ></A |
158 ><H2 | |
159 >Return Value</H2 | |
160 ><P | |
161 >Returns <SPAN | |
162 CLASS="RETURNVALUE" | |
163 >0</SPAN | |
164 > on success, or <SPAN | |
165 CLASS="RETURNVALUE" | |
166 >-1</SPAN | |
167 > on error.</P | |
168 ></DIV | |
169 ><DIV | |
170 CLASS="REFSECT1" | |
171 ><A | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
172 NAME="AEN2768" |
0 | 173 ></A |
174 ><H2 | |
175 >Example</H2 | |
176 ><PRE | |
177 CLASS="PROGRAMLISTING" | |
178 >SDL_GL_SetAttribute( SDL_GL_RED_SIZE, 5 ); | |
179 SDL_GL_SetAttribute( SDL_GL_GREEN_SIZE, 5 ); | |
180 SDL_GL_SetAttribute( SDL_GL_BLUE_SIZE, 5 ); | |
181 SDL_GL_SetAttribute( SDL_GL_DEPTH_SIZE, 16 ); | |
182 SDL_GL_SetAttribute( SDL_GL_DOUBLEBUFFER, 1 ); | |
183 if ( (screen=SDL_SetVideoMode( 640, 480, 16, SDL_OPENGL )) == NULL ) { | |
184 fprintf(stderr, "Couldn't set GL mode: %s\n", SDL_GetError()); | |
185 SDL_Quit(); | |
186 return; | |
187 }</PRE | |
188 ><DIV | |
189 CLASS="NOTE" | |
190 ><BLOCKQUOTE | |
191 CLASS="NOTE" | |
192 ><P | |
193 ><B | |
194 >Note: </B | |
195 >The <TT | |
196 CLASS="LITERAL" | |
197 >SDL_DOUBLEBUF</TT | |
198 > flag is not required to enable double buffering when setting an OpenGL video mode. Double buffering is enabled or disabled using the SDL_GL_DOUBLEBUFFER attribute.</P | |
199 ></BLOCKQUOTE | |
200 ></DIV | |
201 ></DIV | |
202 ><DIV | |
203 CLASS="REFSECT1" | |
204 ><A | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
205 NAME="AEN2774" |
0 | 206 ></A |
207 ><H2 | |
208 >See Also</H2 | |
209 ><P | |
210 ><A | |
211 HREF="sdlglgetattribute.html" | |
212 ><TT | |
213 CLASS="FUNCTION" | |
214 >SDL_GL_GetAttribute</TT | |
215 ></A | |
216 >, | |
217 <A | |
218 HREF="sdlglattr.html" | |
219 >GL Attributes</A | |
220 ></P | |
221 ></DIV | |
222 ><DIV | |
223 CLASS="NAVFOOTER" | |
224 ><HR | |
225 ALIGN="LEFT" | |
226 WIDTH="100%"><TABLE | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
227 SUMMARY="Footer navigation table" |
0 | 228 WIDTH="100%" |
229 BORDER="0" | |
230 CELLPADDING="0" | |
231 CELLSPACING="0" | |
232 ><TR | |
233 ><TD | |
234 WIDTH="33%" | |
235 ALIGN="left" | |
236 VALIGN="top" | |
237 ><A | |
238 HREF="sdlglgetattribute.html" | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
239 ACCESSKEY="P" |
0 | 240 >Prev</A |
241 ></TD | |
242 ><TD | |
243 WIDTH="34%" | |
244 ALIGN="center" | |
245 VALIGN="top" | |
246 ><A | |
247 HREF="index.html" | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
248 ACCESSKEY="H" |
0 | 249 >Home</A |
250 ></TD | |
251 ><TD | |
252 WIDTH="33%" | |
253 ALIGN="right" | |
254 VALIGN="top" | |
255 ><A | |
256 HREF="sdlglswapbuffers.html" | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
257 ACCESSKEY="N" |
0 | 258 >Next</A |
259 ></TD | |
260 ></TR | |
261 ><TR | |
262 ><TD | |
263 WIDTH="33%" | |
264 ALIGN="left" | |
265 VALIGN="top" | |
266 >SDL_GL_GetAttribute</TD | |
267 ><TD | |
268 WIDTH="34%" | |
269 ALIGN="center" | |
270 VALIGN="top" | |
271 ><A | |
272 HREF="video.html" | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
273 ACCESSKEY="U" |
0 | 274 >Up</A |
275 ></TD | |
276 ><TD | |
277 WIDTH="33%" | |
278 ALIGN="right" | |
279 VALIGN="top" | |
280 >SDL_GL_SwapBuffers</TD | |
281 ></TR | |
282 ></TABLE | |
283 ></DIV | |
284 ></BODY | |
285 ></HTML | |
286 > |