This repository has been archived by the owner on Feb 11, 2021. It is now read-only.
/
video.html
507 lines (507 loc) · 10.7 KB
1
2
3
4
5
6
<HTML
><HEAD
><TITLE
>Video</TITLE
><META
NAME="GENERATOR"
7
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
8
9
10
11
12
13
14
15
"><LINK
REL="HOME"
TITLE="SDL Library Documentation"
HREF="index.html"><LINK
REL="UP"
TITLE="SDL Reference"
HREF="reference.html"><LINK
REL="PREVIOUS"
16
17
TITLE="SDL_envvars"
HREF="sdlenvvars.html"><LINK
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
REL="NEXT"
TITLE="SDL_GetVideoSurface"
HREF="sdlgetvideosurface.html"><META
NAME="KEYWORD"
CONTENT="video"><META
NAME="KEYWORD"
CONTENT="function"></HEAD
><BODY
CLASS="CHAPTER"
BGCOLOR="#FFF8DC"
TEXT="#000000"
LINK="#0000ee"
VLINK="#551a8b"
ALINK="#ff0000"
><DIV
CLASS="NAVHEADER"
><TABLE
35
SUMMARY="Header navigation table"
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>SDL Library Documentation</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
52
53
HREF="sdlenvvars.html"
ACCESSKEY="P"
54
55
56
57
58
59
60
61
62
63
64
65
66
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="sdlgetvideosurface.html"
67
ACCESSKEY="N"
68
69
70
71
72
73
74
75
76
77
78
79
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="CHAPTER"
><H1
><A
NAME="VIDEO"
80
81
></A
>Chapter 6. Video</H1
82
83
84
85
86
87
88
89
90
91
92
><DIV
CLASS="TOC"
><DL
><DT
><B
>Table of Contents</B
></DT
><DT
><A
HREF="sdlgetvideosurface.html"
>SDL_GetVideoSurface</A
93
> -- returns a pointer to the current display surface</DT
94
95
96
97
><DT
><A
HREF="sdlgetvideoinfo.html"
>SDL_GetVideoInfo</A
98
> -- returns a pointer to information about the video hardware</DT
99
100
101
102
><DT
><A
HREF="sdlvideodrivername.html"
>SDL_VideoDriverName</A
103
> -- Obtain the name of the video driver</DT
104
105
106
107
><DT
><A
HREF="sdllistmodes.html"
>SDL_ListModes</A
108
> -- Returns a pointer to an array of available screen dimensions for
109
110
111
112
113
the given format and video flags</DT
><DT
><A
HREF="sdlvideomodeok.html"
>SDL_VideoModeOK</A
114
> -- Check to see if a particular video mode is supported.</DT
115
116
117
118
><DT
><A
HREF="sdlsetvideomode.html"
>SDL_SetVideoMode</A
119
> -- Set up a video mode with the specified width, height and bits-per-pixel.</DT
120
121
122
123
><DT
><A
HREF="sdlupdaterect.html"
>SDL_UpdateRect</A
124
> -- Makes sure the given area is updated on the given screen.</DT
125
126
127
128
><DT
><A
HREF="sdlupdaterects.html"
>SDL_UpdateRects</A
129
> -- Makes sure the given list of rectangles is updated on the given screen.</DT
130
131
132
133
><DT
><A
HREF="sdlflip.html"
>SDL_Flip</A
134
> -- Swaps screen buffers</DT
135
136
137
138
><DT
><A
HREF="sdlsetcolors.html"
>SDL_SetColors</A
139
> -- Sets a portion of the colormap for the given 8-bit surface.</DT
140
141
142
143
><DT
><A
HREF="sdlsetpalette.html"
>SDL_SetPalette</A
144
> -- Sets the colors in the palette of an 8-bit surface.</DT
145
146
147
148
><DT
><A
HREF="sdlsetgamma.html"
>SDL_SetGamma</A
149
> -- Sets the color gamma function for the display</DT
150
151
152
153
><DT
><A
HREF="sdlgetgammaramp.html"
>SDL_GetGammaRamp</A
154
> -- Gets the color gamma lookup tables for the display</DT
155
156
157
158
><DT
><A
HREF="sdlsetgammaramp.html"
>SDL_SetGammaRamp</A
159
> -- Sets the color gamma lookup tables for the display</DT
160
161
162
163
><DT
><A
HREF="sdlmaprgb.html"
>SDL_MapRGB</A
164
> -- Map a RGB color value to a pixel format.</DT
165
166
167
168
><DT
><A
HREF="sdlmaprgba.html"
>SDL_MapRGBA</A
169
> -- Map a RGBA color value to a pixel format.</DT
170
171
172
173
><DT
><A
HREF="sdlgetrgb.html"
>SDL_GetRGB</A
174
> -- Get RGB values from a pixel in the specified pixel format.</DT
175
176
177
178
><DT
><A
HREF="sdlgetrgba.html"
>SDL_GetRGBA</A
179
> -- Get RGBA values from a pixel in the specified pixel format.</DT
180
181
182
183
><DT
><A
HREF="sdlcreatergbsurface.html"
>SDL_CreateRGBSurface</A
184
> -- Create an empty SDL_Surface</DT
185
186
187
188
><DT
><A
HREF="sdlcreatergbsurfacefrom.html"
>SDL_CreateRGBSurfaceFrom</A
189
> -- Create an SDL_Surface from pixel data</DT
190
191
192
193
><DT
><A
HREF="sdlfreesurface.html"
>SDL_FreeSurface</A
194
> -- Frees (deletes) a SDL_Surface</DT
195
196
197
198
><DT
><A
HREF="sdllocksurface.html"
>SDL_LockSurface</A
199
> -- Lock a surface for directly access.</DT
200
201
202
203
><DT
><A
HREF="sdlunlocksurface.html"
>SDL_UnlockSurface</A
204
> -- Unlocks a previously locked surface.</DT
205
206
207
208
><DT
><A
HREF="sdlloadbmp.html"
>SDL_LoadBMP</A
209
> -- Load a Windows BMP file into an SDL_Surface.</DT
210
211
212
213
><DT
><A
HREF="sdlsavebmp.html"
>SDL_SaveBMP</A
214
> -- Save an SDL_Surface as a Windows BMP file.</DT
215
216
217
218
><DT
><A
HREF="sdlsetcolorkey.html"
>SDL_SetColorKey</A
219
> -- Sets the color key (transparent pixel) in a blittable surface and
220
221
222
223
224
RLE acceleration.</DT
><DT
><A
HREF="sdlsetalpha.html"
>SDL_SetAlpha</A
225
> -- Adjust the alpha properties of a surface</DT
226
227
228
229
><DT
><A
HREF="sdlsetcliprect.html"
>SDL_SetClipRect</A
230
> -- Sets the clipping rectangle for a surface.</DT
231
232
233
234
><DT
><A
HREF="sdlgetcliprect.html"
>SDL_GetClipRect</A
235
> -- Gets the clipping rectangle for a surface.</DT
236
237
238
239
><DT
><A
HREF="sdlconvertsurface.html"
>SDL_ConvertSurface</A
240
> -- Converts a surface to the same format as another surface.</DT
241
242
243
244
><DT
><A
HREF="sdlblitsurface.html"
>SDL_BlitSurface</A
245
> -- This performs a fast blit from the source surface to the destination surface.</DT
246
247
248
249
><DT
><A
HREF="sdlfillrect.html"
>SDL_FillRect</A
250
> -- This function performs a fast fill of the given rectangle with some color</DT
251
252
253
254
><DT
><A
HREF="sdldisplayformat.html"
>SDL_DisplayFormat</A
255
> -- Convert a surface to the display format</DT
256
257
258
259
><DT
><A
HREF="sdldisplayformatalpha.html"
>SDL_DisplayFormatAlpha</A
260
> -- Convert a surface to the display format</DT
261
262
263
264
><DT
><A
HREF="sdlwarpmouse.html"
>SDL_WarpMouse</A
265
> -- Set the position of the mouse cursor.</DT
266
267
268
269
><DT
><A
HREF="sdlcreatecursor.html"
>SDL_CreateCursor</A
270
> -- Creates a new mouse cursor.</DT
271
272
273
274
><DT
><A
HREF="sdlfreecursor.html"
>SDL_FreeCursor</A
275
> -- Frees a cursor created with SDL_CreateCursor.</DT
276
277
278
279
><DT
><A
HREF="sdlsetcursor.html"
>SDL_SetCursor</A
280
> -- Set the currently active mouse cursor.</DT
281
282
283
284
><DT
><A
HREF="sdlgetcursor.html"
>SDL_GetCursor</A
285
> -- Get the currently active mouse cursor.</DT
286
287
288
289
><DT
><A
HREF="sdlshowcursor.html"
>SDL_ShowCursor</A
290
> -- Toggle whether or not the cursor is shown on the screen.</DT
291
292
293
294
><DT
><A
HREF="sdlglloadlibrary.html"
>SDL_GL_LoadLibrary</A
295
> -- Specify an OpenGL library</DT
296
297
298
299
><DT
><A
HREF="sdlglgetprocaddress.html"
>SDL_GL_GetProcAddress</A
300
> -- Get the address of a GL function</DT
301
302
303
304
><DT
><A
HREF="sdlglgetattribute.html"
>SDL_GL_GetAttribute</A
305
> -- Get the value of a special SDL/OpenGL attribute</DT
306
307
308
309
><DT
><A
HREF="sdlglsetattribute.html"
>SDL_GL_SetAttribute</A
310
> -- Set a special SDL/OpenGL attribute</DT
311
312
313
314
><DT
><A
HREF="sdlglswapbuffers.html"
>SDL_GL_SwapBuffers</A
315
> -- Swap OpenGL framebuffers/Update Display</DT
316
317
318
319
><DT
><A
HREF="sdlcreateyuvoverlay.html"
>SDL_CreateYUVOverlay</A
320
> -- Create a YUV video overlay</DT
321
322
323
324
><DT
><A
HREF="sdllockyuvoverlay.html"
>SDL_LockYUVOverlay</A
325
> -- Lock an overlay</DT
326
327
328
329
><DT
><A
HREF="sdlunlockyuvoverlay.html"
>SDL_UnlockYUVOverlay</A
330
> -- Unlock an overlay</DT
331
332
333
334
><DT
><A
HREF="sdldisplayyuvoverlay.html"
>SDL_DisplayYUVOverlay</A
335
> -- Blit the overlay to the display</DT
336
337
338
339
><DT
><A
HREF="sdlfreeyuvoverlay.html"
>SDL_FreeYUVOverlay</A
340
> -- Free a YUV video overlay</DT
341
342
343
344
><DT
><A
HREF="sdlglattr.html"
>SDL_GLattr</A
345
> -- SDL GL Attributes</DT
346
347
348
349
><DT
><A
HREF="sdlrect.html"
>SDL_Rect</A
350
> -- Defines a rectangular area</DT
351
352
353
354
><DT
><A
HREF="sdlcolor.html"
>SDL_Color</A
355
> -- Format independent color description</DT
356
357
358
359
><DT
><A
HREF="sdlpalette.html"
>SDL_Palette</A
360
> -- Color palette for 8-bit pixel formats</DT
361
362
363
364
><DT
><A
HREF="sdlpixelformat.html"
>SDL_PixelFormat</A
365
> -- Stores surface format information</DT
366
367
368
369
><DT
><A
HREF="sdlsurface.html"
>SDL_Surface</A
370
> -- Graphical Surface Structure</DT
371
372
373
374
><DT
><A
HREF="sdlvideoinfo.html"
>SDL_VideoInfo</A
375
> -- Video Target information</DT
376
377
378
379
><DT
><A
HREF="sdloverlay.html"
>SDL_Overlay</A
380
> -- YUV video overlay</DT
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
></DL
></DIV
><P
>SDL presents a very simple interface to the display framebuffer. The
framebuffer is represented as an offscreen surface to which you can write
directly. If you want the screen to show what you have written, call the <A
HREF="sdlupdaterects.html"
>update</A
> function which will
guarantee that the desired portion of the screen is updated.</P
><P
>Before you call any of the SDL video functions, you must first call
<SPAN
CLASS="TOKEN"
>SDL_Init(SDL_INIT_VIDEO)</SPAN
>, which initializes the video
and events in the SDL library. Check the return code, which should be
<SPAN
CLASS="RETURNVALUE"
>0</SPAN
>, to see if there were any errors in starting up.</P
><P
>If you use both sound and video in your application, you need to call
<SPAN
CLASS="TOKEN"
>SDL_Init(SDL_INIT_AUDIO | SDL_INIT_VIDEO)</SPAN
> before opening the
sound device, otherwise under Win32 DirectX, you won't be able to set
full-screen display modes.</P
><P
>After you have initialized the library, you can start up the video display in a
number of ways. The easiest way is to pick a common screen resolution and
depth and just initialize the video, checking for errors. You will probably
get what you want, but SDL may be emulating your requested mode and converting
the display on update. The best way is to
<A
HREF="sdlgetvideoinfo.html"
>query</A
>, for the best
video mode closest to the desired one, and then
<A
HREF="sdldisplayformat.html"
>convert</A
>
your images to that pixel format.</P
><P
>SDL currently supports any bit depth >= 8 bits per pixel. 8 bpp formats are
considered 8-bit palettized modes, while 12, 15, 16, 24, and 32 bits per pixel
are considered "packed pixel" modes, meaning each pixel contains the RGB color
components packed in the bits of the pixel.</P
><P
>After you have initialized your video mode, you can take the surface that was
returned, and write to it like any other framebuffer, calling the update
routine as you go.</P
><P
>When you have finished your video access and are ready to quit your
application, you should call "<SPAN
CLASS="TOKEN"
>SDL_Quit()</SPAN
>" to shutdown the
video and events.</P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
448
SUMMARY="Footer navigation table"
449
450
451
452
453
454
455
456
457
458
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
459
460
HREF="sdlenvvars.html"
ACCESSKEY="P"
461
462
463
464
465
466
467
468
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
469
ACCESSKEY="H"
470
471
472
473
474
475
476
477
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="sdlgetvideosurface.html"
478
ACCESSKEY="N"
479
480
481
482
483
484
485
486
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
487
>SDL_envvars</TD
488
489
490
491
492
493
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="reference.html"
494
ACCESSKEY="U"
495
496
497
498
499
500
501
502
503
504
505
506
507
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>SDL_GetVideoSurface</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>