Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
wisp
GitHub Repository: wisp/impinj-reader-app
Path: blob/master/Resources/taoframework-2.1.0/bin/Tao.Sdl.xml
178 views
1
<?xml version="1.0"?>
2
<doc>
3
<assembly>
4
<name>Tao.Sdl</name>
5
</assembly>
6
<members>
7
<member name="T:Tao.Sdl.SdlGfx">
8
<summary>
9
SDL graphics drawing primitives and other support functions
10
The SDL_gfx library evolved out of the SDL_gfxPrimitives code which
11
provided basic drawing routines such as lines, circles or polygons
12
and SDL_rotozoom which implemented a interpolating rotozoomer for
13
SDL surfaces.
14
<p>
15
The current components of the SDL_gfx library are:
16
17
<br>Graphic Primitives (SDL_gfxPrimitves.h)</br>
18
<br>Rotozoomer (SDL_rotozoom.h) </br>
19
<br>Framerate control (SDL_framerate.h) </br>
20
MMX image filters (SDL_imageFilter.h)</p>
21
</summary>
22
</member>
23
<member name="F:Tao.Sdl.SdlGfx.SDL_GFX_NATIVE_LIBRARY">
24
<summary>
25
Specifies SdlTtf's native library archive.
26
</summary>
27
<remarks>
28
Specifies SDL_gfx.dll everywhere; will be mapped via .config for mono.
29
</remarks>
30
</member>
31
<member name="F:Tao.Sdl.SdlGfx.CALLING_CONVENTION">
32
<summary>
33
Specifies the calling convention.
34
</summary>
35
<remarks>
36
Specifies <see cref="F:System.Runtime.InteropServices.CallingConvention.Cdecl"/>
37
for Windows and Linux.
38
</remarks>
39
</member>
40
<member name="F:Tao.Sdl.SdlGfx.SDL_GFXPRIMITIVES_MAJOR">
41
<summary>
42
Major Version
43
</summary>
44
</member>
45
<member name="F:Tao.Sdl.SdlGfx.SDL_GFXPRIMITIVES_MINOR">
46
<summary>
47
Minor Version
48
</summary>
49
</member>
50
<member name="F:Tao.Sdl.SdlGfx.SDL_GFXPRIMITIVES_MICRO">
51
<summary>
52
Micro Version
53
</summary>
54
</member>
55
<member name="F:Tao.Sdl.SdlGfx.SMOOTHING_OFF">
56
<summary>
57
58
</summary>
59
</member>
60
<member name="F:Tao.Sdl.SdlGfx.SMOOTHING_ON">
61
<summary>
62
63
</summary>
64
</member>
65
<member name="F:Tao.Sdl.SdlGfx.FPS_UPPER_LIMIT">
66
<summary>
67
68
</summary>
69
</member>
70
<member name="F:Tao.Sdl.SdlGfx.FPS_LOWER_LIMIT">
71
<summary>
72
73
</summary>
74
</member>
75
<member name="F:Tao.Sdl.SdlGfx.FPS_DEFAULT">
76
<summary>
77
78
</summary>
79
</member>
80
<member name="M:Tao.Sdl.SdlGfx.pixelColor(System.IntPtr,System.Int16,System.Int16,System.Int32)">
81
<summary>
82
Pixel
83
</summary>
84
<param name="dst"></param>
85
<param name="x"></param>
86
<param name="y"></param>
87
<param name="color"></param>
88
<returns></returns>
89
</member>
90
<member name="M:Tao.Sdl.SdlGfx.pixelRGBA(System.IntPtr,System.Int16,System.Int16,System.Byte,System.Byte,System.Byte,System.Byte)">
91
<summary>
92
Pixel
93
</summary>
94
<param name="dst"></param>
95
<param name="x"></param>
96
<param name="y"></param>
97
<param name="r"></param>
98
<param name="g"></param>
99
<param name="b"></param>
100
<param name="a"></param>
101
<returns></returns>
102
</member>
103
<member name="M:Tao.Sdl.SdlGfx.hlineColor(System.IntPtr,System.Int16,System.Int16,System.Int16,System.Int32)">
104
<summary>
105
Horizontal line
106
</summary>
107
<param name="dst"></param>
108
<param name="x1"></param>
109
<param name="x2"></param>
110
<param name="y"></param>
111
<param name="color"></param>
112
<returns></returns>
113
</member>
114
<member name="M:Tao.Sdl.SdlGfx.hlineRGBA(System.IntPtr,System.Int16,System.Int16,System.Int16,System.Byte,System.Byte,System.Byte,System.Byte)">
115
<summary>
116
Horizontal line
117
</summary>
118
<param name="dst"></param>
119
<param name="x1"></param>
120
<param name="x2"></param>
121
<param name="y"></param>
122
<param name="r"></param>
123
<param name="g"></param>
124
<param name="b"></param>
125
<param name="a"></param>
126
<returns></returns>
127
</member>
128
<member name="M:Tao.Sdl.SdlGfx.vlineColor(System.IntPtr,System.Int16,System.Int16,System.Int16,System.Int32)">
129
<summary>
130
Vertical line
131
</summary>
132
<param name="dst"></param>
133
<param name="x"></param>
134
<param name="y1"></param>
135
<param name="y2"></param>
136
<param name="color"></param>
137
<returns></returns>
138
</member>
139
<member name="M:Tao.Sdl.SdlGfx.vlineRGBA(System.IntPtr,System.Int16,System.Int16,System.Int16,System.Byte,System.Byte,System.Byte,System.Byte)">
140
<summary>
141
Vertical Line
142
</summary>
143
<param name="dst"></param>
144
<param name="x"></param>
145
<param name="y1"></param>
146
<param name="y2"></param>
147
<param name="r"></param>
148
<param name="g"></param>
149
<param name="b"></param>
150
<param name="a"></param>
151
<returns></returns>
152
</member>
153
<member name="M:Tao.Sdl.SdlGfx.rectangleColor(System.IntPtr,System.Int16,System.Int16,System.Int16,System.Int16,System.Int32)">
154
<summary>
155
Rectangle
156
</summary>
157
<param name="dst"></param>
158
<param name="x1"></param>
159
<param name="y1"></param>
160
<param name="x2"></param>
161
<param name="y2"></param>
162
<param name="color"></param>
163
<returns></returns>
164
</member>
165
<member name="M:Tao.Sdl.SdlGfx.rectangleRGBA(System.IntPtr,System.Int16,System.Int16,System.Int16,System.Int16,System.Byte,System.Byte,System.Byte,System.Byte)">
166
<summary>
167
Rectangle
168
</summary>
169
<param name="dst"></param>
170
<param name="x1"></param>
171
<param name="y1"></param>
172
<param name="x2"></param>
173
<param name="y2"></param>
174
<param name="r"></param>
175
<param name="g"></param>
176
<param name="b"></param>
177
<param name="a"></param>
178
<returns></returns>
179
</member>
180
<member name="M:Tao.Sdl.SdlGfx.boxColor(System.IntPtr,System.Int16,System.Int16,System.Int16,System.Int16,System.Int32)">
181
<summary>
182
Filled rectangle (Box)
183
</summary>
184
<param name="dst"></param>
185
<param name="x1"></param>
186
<param name="y1"></param>
187
<param name="x2"></param>
188
<param name="y2"></param>
189
<param name="color"></param>
190
<returns></returns>
191
</member>
192
<member name="M:Tao.Sdl.SdlGfx.boxRGBA(System.IntPtr,System.Int16,System.Int16,System.Int16,System.Int16,System.Byte,System.Byte,System.Byte,System.Byte)">
193
<summary>
194
Filled rectangle (Box)
195
</summary>
196
<param name="dst"></param>
197
<param name="x1"></param>
198
<param name="y1"></param>
199
<param name="x2"></param>
200
<param name="y2"></param>
201
<param name="r"></param>
202
<param name="g"></param>
203
<param name="b"></param>
204
<param name="a"></param>
205
<returns></returns>
206
</member>
207
<member name="M:Tao.Sdl.SdlGfx.lineColor(System.IntPtr,System.Int16,System.Int16,System.Int16,System.Int16,System.Int32)">
208
<summary>
209
Line
210
</summary>
211
<param name="dst"></param>
212
<param name="x1"></param>
213
<param name="y1"></param>
214
<param name="x2"></param>
215
<param name="y2"></param>
216
<param name="color"></param>
217
<returns></returns>
218
</member>
219
<member name="M:Tao.Sdl.SdlGfx.lineRGBA(System.IntPtr,System.Int16,System.Int16,System.Int16,System.Int16,System.Byte,System.Byte,System.Byte,System.Byte)">
220
<summary>
221
Line
222
</summary>
223
<param name="dst"></param>
224
<param name="x1"></param>
225
<param name="y1"></param>
226
<param name="x2"></param>
227
<param name="y2"></param>
228
<param name="r"></param>
229
<param name="g"></param>
230
<param name="b"></param>
231
<param name="a"></param>
232
<returns></returns>
233
</member>
234
<member name="M:Tao.Sdl.SdlGfx.aalineColor(System.IntPtr,System.Int16,System.Int16,System.Int16,System.Int16,System.Int32)">
235
<summary>
236
AA Line
237
</summary>
238
<param name="dst"></param>
239
<param name="x1"></param>
240
<param name="y1"></param>
241
<param name="x2"></param>
242
<param name="y2"></param>
243
<param name="color"></param>
244
<returns></returns>
245
</member>
246
<member name="M:Tao.Sdl.SdlGfx.aalineRGBA(System.IntPtr,System.Int16,System.Int16,System.Int16,System.Int16,System.Byte,System.Byte,System.Byte,System.Byte)">
247
<summary>
248
AA Line
249
</summary>
250
<param name="dst"></param>
251
<param name="x1"></param>
252
<param name="y1"></param>
253
<param name="x2"></param>
254
<param name="y2"></param>
255
<param name="r"></param>
256
<param name="g"></param>
257
<param name="b"></param>
258
<param name="a"></param>
259
<returns></returns>
260
</member>
261
<member name="M:Tao.Sdl.SdlGfx.circleColor(System.IntPtr,System.Int16,System.Int16,System.Int16,System.Int32)">
262
<summary>
263
Circle
264
</summary>
265
<remarks>
266
267
<p>Binds to C-function in SDL_gfx.h
268
<code>
269
int circleColor(IntPtr dst, short x, short y, short r, int color);
270
</code></p>
271
</remarks>
272
<example>
273
<code>
274
275
</code>
276
</example>
277
<returns>
278
279
</returns>
280
<param name="color"></param>
281
<param name="dst"></param>
282
<param name="r"></param>
283
<param name="x"></param>
284
<param name="y"></param>
285
</member>
286
<member name="M:Tao.Sdl.SdlGfx.circleRGBA(System.IntPtr,System.Int16,System.Int16,System.Int16,System.Byte,System.Byte,System.Byte,System.Byte)">
287
<summary>
288
Circle
289
</summary>
290
<remarks>
291
292
<p>Binds to C-function in SDL_gfx.h
293
<code>
294
int circleRGBA(IntPtr dst, short x, short y, short rad, byte r, byte g, byte b, byte a)
295
</code></p>
296
</remarks>
297
<example>
298
<code>
299
300
</code>
301
</example>
302
<returns>
303
304
</returns>
305
<param name="a"></param>
306
<param name="b"></param>
307
<param name="g"></param>
308
<param name="rad"></param>
309
<param name="dst"></param>
310
<param name="r"></param>
311
<param name="x"></param>
312
<param name="y"></param>
313
</member>
314
<member name="M:Tao.Sdl.SdlGfx.filledCircleColor(System.IntPtr,System.Int16,System.Int16,System.Int16,System.Int32)">
315
<summary>
316
Filled Circle
317
</summary>
318
<remarks>
319
320
<p>Binds to C-function in SDL_gfx.h
321
<code>
322
int filledCircleColor(IntPtr dst, short x, short y, short r, int color);
323
</code></p>
324
</remarks>
325
<example>
326
<code>
327
328
</code>
329
</example>
330
<returns>
331
332
</returns>
333
<param name="color"></param>
334
<param name="dst"></param>
335
<param name="r"></param>
336
<param name="x"></param>
337
<param name="y"></param>
338
</member>
339
<member name="M:Tao.Sdl.SdlGfx.filledCircleRGBA(System.IntPtr,System.Int16,System.Int16,System.Int16,System.Byte,System.Byte,System.Byte,System.Byte)">
340
<summary>
341
Filled Circle
342
</summary>
343
<remarks>
344
345
<p>Binds to C-function in SDL_gfx.h
346
<code>
347
int filledCircleRGBA(IntPtr dst, short x, short y, short rad, byte r, byte g, byte b, byte a)
348
</code></p>
349
</remarks>
350
<example>
351
<code>
352
353
</code>
354
</example>
355
<returns>
356
357
</returns>
358
<param name="a"></param>
359
<param name="b"></param>
360
<param name="g"></param>
361
<param name="rad"></param>
362
<param name="dst"></param>
363
<param name="r"></param>
364
<param name="x"></param>
365
<param name="y"></param>
366
</member>
367
<member name="M:Tao.Sdl.SdlGfx.aacircleColor(System.IntPtr,System.Int16,System.Int16,System.Int16,System.Int32)">
368
<summary>
369
AA Circle
370
</summary>
371
<param name="dst"></param>
372
<param name="x"></param>
373
<param name="y"></param>
374
<param name="r"></param>
375
<param name="color"></param>
376
<returns></returns>
377
</member>
378
<member name="M:Tao.Sdl.SdlGfx.aacircleRGBA(System.IntPtr,System.Int16,System.Int16,System.Int16,System.Byte,System.Byte,System.Byte,System.Byte)">
379
<summary>
380
AA Circle
381
</summary>
382
<param name="dst"></param>
383
<param name="x"></param>
384
<param name="y"></param>
385
<param name="rad"></param>
386
<param name="r"></param>
387
<param name="g"></param>
388
<param name="b"></param>
389
<param name="a"></param>
390
<returns></returns>
391
</member>
392
<member name="M:Tao.Sdl.SdlGfx.ellipseColor(System.IntPtr,System.Int16,System.Int16,System.Int16,System.Int16,System.Int32)">
393
<summary>
394
Ellipse
395
</summary>
396
<param name="dst"></param>
397
<param name="x"></param>
398
<param name="y"></param>
399
<param name="rx"></param>
400
<param name="ry"></param>
401
<param name="color"></param>
402
<returns></returns>
403
</member>
404
<member name="M:Tao.Sdl.SdlGfx.ellipseRGBA(System.IntPtr,System.Int16,System.Int16,System.Int16,System.Int16,System.Byte,System.Byte,System.Byte,System.Byte)">
405
<summary>
406
Ellipse
407
</summary>
408
<param name="dst"></param>
409
<param name="x"></param>
410
<param name="y"></param>
411
<param name="rx"></param>
412
<param name="ry"></param>
413
<param name="r"></param>
414
<param name="g"></param>
415
<param name="b"></param>
416
<param name="a"></param>
417
<returns></returns>
418
</member>
419
<member name="M:Tao.Sdl.SdlGfx.aaellipseColor(System.IntPtr,System.Int16,System.Int16,System.Int16,System.Int16,System.Int32)">
420
<summary>
421
AA Ellipse
422
</summary>
423
<param name="dst"></param>
424
<param name="xc"></param>
425
<param name="yc"></param>
426
<param name="rx"></param>
427
<param name="ry"></param>
428
<param name="color"></param>
429
<returns></returns>
430
</member>
431
<member name="M:Tao.Sdl.SdlGfx.aaellipseRGBA(System.IntPtr,System.Int16,System.Int16,System.Int16,System.Int16,System.Byte,System.Byte,System.Byte,System.Byte)">
432
<summary>
433
AA Ellipse
434
</summary>
435
<param name="dst"></param>
436
<param name="x"></param>
437
<param name="y"></param>
438
<param name="rx"></param>
439
<param name="ry"></param>
440
<param name="r"></param>
441
<param name="g"></param>
442
<param name="b"></param>
443
<param name="a"></param>
444
<returns></returns>
445
</member>
446
<member name="M:Tao.Sdl.SdlGfx.filledEllipseColor(System.IntPtr,System.Int16,System.Int16,System.Int16,System.Int16,System.Int32)">
447
<summary>
448
Filled Ellipse
449
</summary>
450
<param name="dst"></param>
451
<param name="x"></param>
452
<param name="y"></param>
453
<param name="rx"></param>
454
<param name="ry"></param>
455
<param name="color"></param>
456
<returns></returns>
457
</member>
458
<member name="M:Tao.Sdl.SdlGfx.filledEllipseRGBA(System.IntPtr,System.Int16,System.Int16,System.Int16,System.Int16,System.Byte,System.Byte,System.Byte,System.Byte)">
459
<summary>
460
Filled Ellipse
461
</summary>
462
<param name="dst"></param>
463
<param name="x"></param>
464
<param name="y"></param>
465
<param name="rx"></param>
466
<param name="ry"></param>
467
<param name="r"></param>
468
<param name="g"></param>
469
<param name="b"></param>
470
<param name="a"></param>
471
<returns></returns>
472
</member>
473
<member name="M:Tao.Sdl.SdlGfx.pieColor(System.IntPtr,System.Int16,System.Int16,System.Int16,System.Int16,System.Int16,System.Int32)">
474
<summary>
475
Pie
476
</summary>
477
<param name="dst"></param>
478
<param name="x"></param>
479
<param name="y"></param>
480
<param name="rad"></param>
481
<param name="start"></param>
482
<param name="end"></param>
483
<param name="color"></param>
484
<returns></returns>
485
</member>
486
<member name="M:Tao.Sdl.SdlGfx.pieRGBA(System.IntPtr,System.Int16,System.Int16,System.Int16,System.Int16,System.Int16,System.Byte,System.Byte,System.Byte,System.Byte)">
487
<summary>
488
Pie
489
</summary>
490
<param name="dst"></param>
491
<param name="x"></param>
492
<param name="y"></param>
493
<param name="rad"></param>
494
<param name="start"></param>
495
<param name="end"></param>
496
<param name="r"></param>
497
<param name="g"></param>
498
<param name="b"></param>
499
<param name="a"></param>
500
<returns></returns>
501
</member>
502
<member name="M:Tao.Sdl.SdlGfx.filledPieColor(System.IntPtr,System.Int16,System.Int16,System.Int16,System.Int16,System.Int16,System.Int32)">
503
<summary>
504
Filled Pie
505
</summary>
506
<param name="dst"></param>
507
<param name="x"></param>
508
<param name="y"></param>
509
<param name="rad"></param>
510
<param name="start"></param>
511
<param name="end"></param>
512
<param name="color"></param>
513
<returns></returns>
514
</member>
515
<member name="M:Tao.Sdl.SdlGfx.filledPieRGBA(System.IntPtr,System.Int16,System.Int16,System.Int16,System.Int16,System.Int16,System.Byte,System.Byte,System.Byte,System.Byte)">
516
<summary>
517
Filled Pie
518
</summary>
519
<param name="dst"></param>
520
<param name="x"></param>
521
<param name="y"></param>
522
<param name="rad"></param>
523
<param name="start"></param>
524
<param name="end"></param>
525
<param name="r"></param>
526
<param name="g"></param>
527
<param name="b"></param>
528
<param name="a"></param>
529
<returns></returns>
530
</member>
531
<member name="M:Tao.Sdl.SdlGfx.trigonColor(System.IntPtr,System.Int16,System.Int16,System.Int16,System.Int16,System.Int16,System.Int16,System.Int32)">
532
<summary>
533
Trigon
534
</summary>
535
<param name="dst"></param>
536
<param name="x1"></param>
537
<param name="y1"></param>
538
<param name="x2"></param>
539
<param name="y2"></param>
540
<param name="x3"></param>
541
<param name="y3"></param>
542
<param name="color"></param>
543
<returns></returns>
544
</member>
545
<member name="M:Tao.Sdl.SdlGfx.trigonRGBA(System.IntPtr,System.Int16,System.Int16,System.Int16,System.Int16,System.Int16,System.Int16,System.Byte,System.Byte,System.Byte,System.Byte)">
546
<summary>
547
Trigon
548
</summary>
549
<param name="dst"></param>
550
<param name="x1"></param>
551
<param name="y1"></param>
552
<param name="x2"></param>
553
<param name="y2"></param>
554
<param name="x3"></param>
555
<param name="y3"></param>
556
<param name="r"></param>
557
<param name="g"></param>
558
<param name="b"></param>
559
<param name="a"></param>
560
<returns></returns>
561
</member>
562
<member name="M:Tao.Sdl.SdlGfx.aatrigonColor(System.IntPtr,System.Int16,System.Int16,System.Int16,System.Int16,System.Int16,System.Int16,System.Int32)">
563
<summary>
564
AA-Trigon
565
</summary>
566
<param name="dst"></param>
567
<param name="x1"></param>
568
<param name="y1"></param>
569
<param name="x2"></param>
570
<param name="y2"></param>
571
<param name="x3"></param>
572
<param name="y3"></param>
573
<param name="color"></param>
574
<returns></returns>
575
</member>
576
<member name="M:Tao.Sdl.SdlGfx.aatrigonRGBA(System.IntPtr,System.Int16,System.Int16,System.Int16,System.Int16,System.Int16,System.Int16,System.Byte,System.Byte,System.Byte,System.Byte)">
577
<summary>
578
AA-Trigon
579
</summary>
580
<param name="dst"></param>
581
<param name="x1"></param>
582
<param name="y1"></param>
583
<param name="x2"></param>
584
<param name="y2"></param>
585
<param name="x3"></param>
586
<param name="y3"></param>
587
<param name="r"></param>
588
<param name="g"></param>
589
<param name="b"></param>
590
<param name="a"></param>
591
<returns></returns>
592
</member>
593
<member name="M:Tao.Sdl.SdlGfx.filledTrigonColor(System.IntPtr,System.Int16,System.Int16,System.Int16,System.Int16,System.Int16,System.Int16,System.Int32)">
594
<summary>
595
Filled Trigon
596
</summary>
597
<param name="dst"></param>
598
<param name="x1"></param>
599
<param name="y1"></param>
600
<param name="x2"></param>
601
<param name="y2"></param>
602
<param name="x3"></param>
603
<param name="y3"></param>
604
<param name="color"></param>
605
<returns></returns>
606
</member>
607
<member name="M:Tao.Sdl.SdlGfx.filledTrigonRGBA(System.IntPtr,System.Int16,System.Int16,System.Int16,System.Int16,System.Int16,System.Int16,System.Byte,System.Byte,System.Byte,System.Byte)">
608
<summary>
609
Filled Trigon
610
</summary>
611
<param name="dst"></param>
612
<param name="x1"></param>
613
<param name="y1"></param>
614
<param name="x2"></param>
615
<param name="y2"></param>
616
<param name="x3"></param>
617
<param name="y3"></param>
618
<param name="r"></param>
619
<param name="g"></param>
620
<param name="b"></param>
621
<param name="a"></param>
622
<returns></returns>
623
</member>
624
<member name="M:Tao.Sdl.SdlGfx.polygonColor(System.IntPtr,System.Int16[],System.Int16[],System.Int32,System.Int32)">
625
<summary>
626
Polygon
627
</summary>
628
<param name="dst"></param>
629
<param name="vx"></param>
630
<param name="vy"></param>
631
<param name="n"></param>
632
<param name="color"></param>
633
<returns></returns>
634
</member>
635
<member name="M:Tao.Sdl.SdlGfx.polygonRGBA(System.IntPtr,System.Int16[],System.Int16[],System.Int32,System.Byte,System.Byte,System.Byte,System.Byte)">
636
<summary>
637
Polygon
638
</summary>
639
<param name="dst"></param>
640
<param name="vx"></param>
641
<param name="vy"></param>
642
<param name="n"></param>
643
<param name="r"></param>
644
<param name="g"></param>
645
<param name="b"></param>
646
<param name="a"></param>
647
<returns></returns>
648
</member>
649
<member name="M:Tao.Sdl.SdlGfx.aapolygonColor(System.IntPtr,System.Int16[],System.Int16[],System.Int32,System.Int32)">
650
<summary>
651
AA-Polygon
652
</summary>
653
<param name="dst"></param>
654
<param name="vx"></param>
655
<param name="vy"></param>
656
<param name="n"></param>
657
<param name="color"></param>
658
<returns></returns>
659
</member>
660
<member name="M:Tao.Sdl.SdlGfx.aapolygonRGBA(System.IntPtr,System.Int16[],System.Int16[],System.Int32,System.Byte,System.Byte,System.Byte,System.Byte)">
661
<summary>
662
AA-Polygon
663
</summary>
664
<param name="dst"></param>
665
<param name="vx"></param>
666
<param name="vy"></param>
667
<param name="n"></param>
668
<param name="r"></param>
669
<param name="g"></param>
670
<param name="b"></param>
671
<param name="a"></param>
672
<returns></returns>
673
</member>
674
<member name="M:Tao.Sdl.SdlGfx.filledPolygonColor(System.IntPtr,System.Int16[],System.Int16[],System.Int32,System.Int32)">
675
<summary>
676
Filled Polygon
677
</summary>
678
<param name="dst"></param>
679
<param name="vx"></param>
680
<param name="vy"></param>
681
<param name="n"></param>
682
<param name="color"></param>
683
<returns></returns>
684
</member>
685
<member name="M:Tao.Sdl.SdlGfx.filledPolygonRGBA(System.IntPtr,System.Int16[],System.Int16[],System.Int32,System.Byte,System.Byte,System.Byte,System.Byte)">
686
<summary>
687
Filled Polygon
688
</summary>
689
<param name="dst"></param>
690
<param name="vx"></param>
691
<param name="vy"></param>
692
<param name="n"></param>
693
<param name="r"></param>
694
<param name="g"></param>
695
<param name="b"></param>
696
<param name="a"></param>
697
<returns></returns>
698
</member>
699
<member name="M:Tao.Sdl.SdlGfx.texturedPolygon(System.IntPtr,System.Int16[],System.Int16[],System.Int32,System.IntPtr,System.Int32,System.Int32)">
700
<summary>
701
Textured Polygon
702
</summary>
703
<param name="dst"></param>
704
<param name="vx"></param>
705
<param name="vy"></param>
706
<param name="n"></param>
707
<param name="texture"></param>
708
<param name="texture_dx"></param>
709
<param name="texture_dy"></param>
710
<returns></returns>
711
</member>
712
<member name="M:Tao.Sdl.SdlGfx.bezierColor(System.IntPtr,System.Int16[],System.Int16[],System.Int32,System.Int32,System.Int32)">
713
<summary>
714
Bezier
715
</summary>
716
<param name="dst"></param>
717
<param name="vx"></param>
718
<param name="vy"></param>
719
<param name="n"></param>
720
<param name="s">number of steps</param>
721
<param name="color"></param>
722
<returns></returns>
723
</member>
724
<member name="M:Tao.Sdl.SdlGfx.bezierRGBA(System.IntPtr,System.Int16[],System.Int16[],System.Int32,System.Int32,System.Byte,System.Byte,System.Byte,System.Byte)">
725
<summary>
726
Bezier
727
</summary>
728
<param name="dst"></param>
729
<param name="vx"></param>
730
<param name="vy"></param>
731
<param name="n"></param>
732
<param name="s">number of steps</param>
733
<param name="r"></param>
734
<param name="g"></param>
735
<param name="b"></param>
736
<param name="a"></param>
737
<returns></returns>
738
</member>
739
<member name="M:Tao.Sdl.SdlGfx.characterColor(System.IntPtr,System.Int16,System.Int16,System.Char,System.Int32)">
740
<summary>
741
Character
742
</summary>
743
<param name="dst"></param>
744
<param name="x"></param>
745
<param name="y"></param>
746
<param name="c"></param>
747
<param name="color"></param>
748
<returns></returns>
749
</member>
750
<member name="M:Tao.Sdl.SdlGfx.characterRGBA(System.IntPtr,System.Int16,System.Int16,System.Char,System.Byte,System.Byte,System.Byte,System.Byte)">
751
<summary>
752
Character
753
</summary>
754
<param name="dst"></param>
755
<param name="x"></param>
756
<param name="y"></param>
757
<param name="c"></param>
758
<param name="r"></param>
759
<param name="g"></param>
760
<param name="b"></param>
761
<param name="a"></param>
762
<returns></returns>
763
</member>
764
<member name="M:Tao.Sdl.SdlGfx.stringColor(System.IntPtr,System.Int16,System.Int16,System.String,System.Int32)">
765
<summary>
766
String
767
</summary>
768
<param name="dst"></param>
769
<param name="x"></param>
770
<param name="y"></param>
771
<param name="c"></param>
772
<param name="color"></param>
773
<returns></returns>
774
</member>
775
<member name="M:Tao.Sdl.SdlGfx.stringRGBA(System.IntPtr,System.Int16,System.Int16,System.String,System.Byte,System.Byte,System.Byte,System.Byte)">
776
<summary>
777
String
778
</summary>
779
<param name="dst"></param>
780
<param name="x"></param>
781
<param name="y"></param>
782
<param name="c"></param>
783
<param name="r"></param>
784
<param name="g"></param>
785
<param name="b"></param>
786
<param name="a"></param>
787
<returns></returns>
788
</member>
789
<member name="M:Tao.Sdl.SdlGfx.gfxPrimitivesSetFont(System.Object,System.Int32,System.Int32)">
790
<summary>
791
792
</summary>
793
<param name="fontdata"></param>
794
<param name="cw">Width</param>
795
<param name="ch">Height</param>
796
</member>
797
<member name="M:Tao.Sdl.SdlGfx.rotozoomSurface(System.IntPtr,System.Double,System.Double,System.Int32)">
798
<summary>
799
Rotates and zoomes a 32bit or 8bit 'src' surface to newly created 'dst' surface.
800
'angle' is the rotation in degrees. 'zoom' a scaling factor. If 'smooth' is 1
801
then the destination 32bit surface is anti-aliased. If the surface is not 8bit
802
or 32bit RGBA/ABGR it will be converted into a 32bit RGBA format on the fly.
803
</summary>
804
<param name="src"></param>
805
<param name="angle"></param>
806
<param name="zoom"></param>
807
<param name="smooth"></param>
808
<returns></returns>
809
</member>
810
<member name="M:Tao.Sdl.SdlGfx.rotozoomSurfaceXY(System.IntPtr,System.Double,System.Double,System.Double,System.Int32)">
811
<summary>
812
Rotates and zoomes a 32bit or 8bit 'src' surface to newly created 'dst' surface.
813
'angle' is the rotation in degrees.
814
'zoomx' and 'zoomy' are scaling factors that can also be negative.
815
In this case the corresponding axis is flipped.
816
If 'smooth' is 1 then the destination 32bit surface is anti-aliased.
817
If the surface is not 8bit or 32bit RGBA/ABGR it will be converted into
818
a 32bit RGBA format on the fly.
819
Note: Flipping currently only works with antialiasing turned off.
820
</summary>
821
<param name="src"></param>
822
<param name="angle"></param>
823
<param name="zoomx"></param>
824
<param name="zoomy"></param>
825
<param name="smooth"></param>
826
<returns></returns>
827
</member>
828
<member name="M:Tao.Sdl.SdlGfx.rotozoomSurfaceSize(System.Int32,System.Int32,System.Double,System.Double,System.Int32@,System.Int32@)">
829
<summary>
830
Returns the size of the target surface for a rotozoomSurface() call
831
</summary>
832
<param name="width"></param>
833
<param name="height"></param>
834
<param name="angle"></param>
835
<param name="zoom"></param>
836
<param name="dstheight"></param>
837
<param name="dstwidth"></param>
838
<returns></returns>
839
</member>
840
<member name="M:Tao.Sdl.SdlGfx.rotozoomSurfaceSizeXY(System.Int32,System.Int32,System.Double,System.Double,System.Double,System.Int32@,System.Int32@)">
841
<summary>
842
Returns the size of the target surface for a rotozoomSurface() call
843
</summary>
844
<param name="width"></param>
845
<param name="height"></param>
846
<param name="angle"></param>
847
<param name="zoomx"></param>
848
<param name="zoomy"></param>
849
<param name="dstheight"></param>
850
<param name="dstwidth"></param>
851
<returns></returns>
852
</member>
853
<member name="M:Tao.Sdl.SdlGfx.zoomSurface(System.IntPtr,System.Double,System.Double,System.Int32)">
854
<summary>
855
Zooms a 32bit or 8bit 'src' surface to newly created 'dst' surface.
856
'zoomx' and 'zoomy' are scaling factors for width and height. If 'smooth' is 1
857
then the destination 32bit surface is anti-aliased. If the surface is not 8bit
858
or 32bit RGBA/ABGR it will be converted into a 32bit RGBA format on the fly.
859
</summary>
860
<param name="src"></param>
861
<param name="zoomx"></param>
862
<param name="zoomy"></param>
863
<param name="smooth"></param>
864
<returns></returns>
865
</member>
866
<member name="M:Tao.Sdl.SdlGfx.zoomSurfaceSize(System.Int32,System.Int32,System.Double,System.Double,System.Int32@,System.Int32@)">
867
<summary>
868
Returns the size of the target surface for a zoomSurface() call
869
</summary>
870
<param name="width"></param>
871
<param name="height"></param>
872
<param name="zoomx"></param>
873
<param name="zoomy"></param>
874
<param name="dstheight"></param>
875
<param name="dstwidth"></param>
876
<returns></returns>
877
</member>
878
<member name="M:Tao.Sdl.SdlGfx.shrinkSurface(System.IntPtr,System.Int32,System.Int32)">
879
<summary>
880
Shrinks a 32bit or 8bit 'src' surface ti a newly created 'dst' surface.
881
'factorx' and 'factory' are the shrinking ratios (i.e. 2=1/2 the size,
882
3=1/3 the size, etc.) The destination surface is antialiased by averaging
883
the source box RGBA or Y information. If the surface is not 8bit
884
or 32bit RGBA/ABGR it will be converted into a 32bit RGBA format on the fly.
885
</summary>
886
<param name="src"></param>
887
<param name="factorx"></param>
888
<param name="factory"></param>
889
<returns></returns>
890
</member>
891
<member name="M:Tao.Sdl.SdlGfx.SDL_initFramerate(System.IntPtr)">
892
<summary>
893
894
</summary>
895
<remarks>
896
<p>
897
Binds to C-function call in SDL_framerate.h.
898
<code>
899
void SDL_initFramerate(FPSmanager * manager)
900
</code>
901
</p>
902
</remarks>
903
<param name="manager">IntPtr to FPSmanager struct</param>
904
</member>
905
<member name="M:Tao.Sdl.SdlGfx.SDL_setFramerate(System.IntPtr,System.Int32)">
906
<summary>
907
908
</summary>
909
<remarks>
910
<p>
911
Binds to C-function call in SDL_framerate.h.
912
<code>
913
int SDL_setFramerate(FPSmanager * manager, int rate)
914
</code>
915
</p>
916
</remarks>
917
<param name="manager">IntPtr to FPSmanager struct</param>
918
<param name="rate"></param>
919
<returns>Returns 0 for success and -1 for error</returns>
920
</member>
921
<member name="M:Tao.Sdl.SdlGfx.SDL_getFramerate(System.IntPtr)">
922
<summary>
923
924
</summary>
925
<remarks>
926
<p>
927
Binds to C-function call in SDL_framerate.h.
928
<code>
929
int SDL_getFramerate(FPSmanager * manager)
930
</code>
931
</p>
932
</remarks>
933
<param name="manager">IntPtr to FPSmanager struct</param>
934
<returns>Returns value for success and -1 for error</returns>
935
</member>
936
<member name="M:Tao.Sdl.SdlGfx.SDL_framerateDelay(System.IntPtr)">
937
<summary>
938
939
</summary>
940
<remarks>
941
<p>
942
Binds to C-function call in SDL_framerate.h.
943
<code>
944
void SDL_framerateDelay(FPSmanager * manager)
945
</code>
946
</p>
947
</remarks>
948
<param name="manager">IntPtr to FPSmanager struct</param>
949
</member>
950
<member name="M:Tao.Sdl.SdlGfx.SDL_imageFilterMMXdetect">
951
<summary>
952
Detect MMX capability in CPU
953
</summary>
954
<remarks>
955
<p>
956
Binds to C-function call in SDL_imageFilter.h.
957
<code>
958
int SDL_imageFilterMMXdetect(void)
959
</code>
960
</p>
961
</remarks>
962
<returns>
963
Returns 0 for success and -1 for Error.
964
</returns>
965
</member>
966
<member name="M:Tao.Sdl.SdlGfx.SDL_imageFilterMMXoff">
967
<summary>
968
Force use of MMX off.
969
</summary>
970
<remarks>
971
<p>
972
Binds to C-function call in SDL_imageFilter.h.
973
<code>
974
void SDL_imageFilterMMXoff(void)
975
</code>
976
</p>
977
</remarks>
978
</member>
979
<member name="M:Tao.Sdl.SdlGfx.SDL_imageFilterMMXon">
980
<summary>
981
Turn possible use of MMX back on
982
</summary>
983
<remarks>
984
<p>
985
Binds to C-function call in SDL_imageFilter.h.
986
<code>
987
void SDL_imageFilterMMXon(void)
988
</code>
989
</p>
990
</remarks>
991
</member>
992
<member name="M:Tao.Sdl.SdlGfx.SDL_imageFilterAdd(System.Byte[],System.Byte[],System.Byte[],System.Int32)">
993
<summary>
994
SDL_imageFilterAdd: D = saturation255(S1 + S2)
995
</summary>
996
<remarks>
997
Binds to C-function call in SDL_imageFilter.h.
998
<code>
999
int SDL_imageFilterAdd(unsigned char *Src1, unsigned char *Src2, unsigned char *Dest, int length)
1000
</code>
1001
</remarks>
1002
<param name="Src1">Array of bytes</param>
1003
<param name="Src2">Array of bytes</param>
1004
<param name="Dest">Array of bytes returned after operation.</param>
1005
<param name="length">Size of array</param>
1006
<returns>Returns 0 for success and -1 for Error.</returns>
1007
</member>
1008
<member name="M:Tao.Sdl.SdlGfx.SDL_imageFilterMean(System.Byte[],System.Byte[],System.Byte[],System.Int32)">
1009
<summary>
1010
SDL_imageFilterMean: D = S1/2 + S2/2
1011
</summary>
1012
<remarks>
1013
Binds to C-function call in SDL_imageFilter.h.
1014
<code>
1015
int SDL_imageFilterMean(unsigned char *Src1, unsigned char *Src2, unsigned char *Dest, int length)
1016
</code>
1017
</remarks>
1018
<param name="Src1">Array of bytes</param>
1019
<param name="Src2">Array of bytes</param>
1020
<param name="Dest">Array of bytes returned after operation.</param>
1021
<param name="length">Size of array</param>
1022
<returns>Returns 0 for success and -1 for Error.</returns>
1023
</member>
1024
<member name="M:Tao.Sdl.SdlGfx.SDL_imageFilterSub(System.Byte[],System.Byte[],System.Byte[],System.Int32)">
1025
<summary>
1026
SDL_imageFilterSub: D = saturation0(S1 - S2)
1027
</summary>
1028
<remarks>
1029
Binds to C-function call in SDL_framerate.h.
1030
<code>
1031
int SDL_imageFilterSub(unsigned char *Src1, unsigned char *Src2, unsigned char *Dest, int length)
1032
</code>
1033
</remarks>
1034
<param name="Src1">Array of bytes</param>
1035
<param name="Src2">Array of bytes</param>
1036
<param name="Dest">Array of bytes returned after operation.</param>
1037
<param name="length">Size of array</param>
1038
<returns>Returns 0 for success and -1 for Error.</returns>
1039
</member>
1040
<member name="M:Tao.Sdl.SdlGfx.SDL_imageFilterAbsDiff(System.Byte[],System.Byte[],System.Byte[],System.Int32)">
1041
<summary>
1042
SDL_imageFilterAbsDiff: D = | S1 - S2 |
1043
</summary>
1044
<remarks>
1045
Binds to C-function call in SDL_imageFilter.h.
1046
<code>
1047
int SDL_imageFilterAbsDiff(unsigned char *Src1, unsigned char *Src2, unsigned char *Dest, int length)
1048
</code>
1049
</remarks>
1050
<param name="Src1">Array of bytes</param>
1051
<param name="Src2">Array of bytes</param>
1052
<param name="Dest">Array of bytes returned after operation.</param>
1053
<param name="length">Size of array</param>
1054
<returns>Returns 0 for success and -1 for Error.</returns>
1055
</member>
1056
<member name="M:Tao.Sdl.SdlGfx.SDL_imageFilterMult(System.Byte[],System.Byte[],System.Byte[],System.Int32)">
1057
<summary>
1058
SDL_imageFilterMult: D = saturation(S1 * S2)
1059
</summary>
1060
<remarks>
1061
Binds to C-function call in SDL_imageFilter.h.
1062
<code>
1063
int SDL_imageFilterMult(unsigned char *Src1, unsigned char *Src2, unsigned char *Dest, int length)
1064
</code>
1065
</remarks>
1066
<param name="Src1">Array of bytes</param>
1067
<param name="Src2">Array of bytes</param>
1068
<param name="Dest">Array of bytes returned after operation.</param>
1069
<param name="length">Size of array</param>
1070
<returns>Returns 0 for success and -1 for Error.</returns>
1071
</member>
1072
<member name="M:Tao.Sdl.SdlGfx.SDL_imageFilterMultNor(System.Byte[],System.Byte[],System.Byte[],System.Int32)">
1073
<summary>
1074
SDL_imageFilterMultNor: D = S1 * S2 (non-MMX)
1075
</summary>
1076
<remarks>
1077
Binds to C-function call in SDL_imageFilter.h.
1078
<code>
1079
int SDL_imageFilterMultNor(unsigned char *Src1, unsigned char *Src2, unsigned char *Dest, int length)
1080
</code>
1081
</remarks>
1082
<param name="Src1">Array of bytes</param>
1083
<param name="Src2">Array of bytes</param>
1084
<param name="Dest">Array of bytes returned after operation.</param>
1085
<param name="length">Size of array</param>
1086
<returns>Returns 0 for success and -1 for Error.</returns>
1087
</member>
1088
<member name="M:Tao.Sdl.SdlGfx.SDL_imageFilterMultDivby2(System.Byte[],System.Byte[],System.Byte[],System.Int32)">
1089
<summary>
1090
SDL_imageFilterMultDivby2: D = saturation255(S1/2 * S2)
1091
</summary>
1092
<remarks>
1093
Binds to C-function call in SDL_imageFilter.h.
1094
<code>
1095
int SDL_imageFilterMultDivby2(unsigned char *Src1, unsigned char *Src2, unsigned char *Dest, int length)
1096
</code>
1097
</remarks>
1098
<param name="Src1">Array of bytes</param>
1099
<param name="Src2">Array of bytes</param>
1100
<param name="Dest">Array of bytes returned after operation.</param>
1101
<param name="length">Size of array</param>
1102
<returns>Returns 0 for success and -1 for Error.</returns>
1103
</member>
1104
<member name="M:Tao.Sdl.SdlGfx.SDL_imageFilterMultDivby4(System.Byte[],System.Byte[],System.Byte[],System.Int32)">
1105
<summary>
1106
SDL_imageFilterMultDivby4: D = saturation255(S1/2 * S2)
1107
</summary>
1108
<remarks>
1109
Binds to C-function call in SDL_imageFilter.h.
1110
<code>
1111
int SDL_imageFilterMultDivby4(unsigned char *Src1, unsigned char *Src2, unsigned char *Dest, int length)
1112
</code>
1113
</remarks>
1114
<param name="Src1">Array of bytes</param>
1115
<param name="Src2">Array of bytes</param>
1116
<param name="Dest">Array of bytes returned after operation.</param>
1117
<param name="length">Size of array</param>
1118
<returns>Returns 0 for success and -1 for Error.</returns>
1119
</member>
1120
<member name="M:Tao.Sdl.SdlGfx.SDL_imageFilterBitAnd(System.Byte[],System.Byte[],System.Byte[],System.Int32)">
1121
<summary>
1122
SDL_imageFilterBitAnd: D = S1 &amp; S2
1123
</summary>
1124
<remarks>
1125
Binds to C-function call in SDL_imageFilter.h.
1126
<code>
1127
int SDL_imageFilterBitAnd(unsigned char *Src1, unsigned char *Src2, unsigned char *Dest, int length)
1128
</code>
1129
</remarks>
1130
<param name="Src1">Array of bytes</param>
1131
<param name="Src2">Array of bytes</param>
1132
<param name="Dest">Array of bytes returned after operation.</param>
1133
<param name="length">Size of array</param>
1134
<returns>Returns 0 for success and -1 for Error.</returns>
1135
</member>
1136
<member name="M:Tao.Sdl.SdlGfx.SDL_imageFilterBitOr(System.Byte[],System.Byte[],System.Byte[],System.Int32)">
1137
<summary>
1138
SDL_imageFilterBitOr: D = S1 | S2
1139
</summary>
1140
<remarks>
1141
Binds to C-function call in SDL_imageFilter.h.
1142
<code>
1143
int SDL_imageFilterBitAnd(unsigned char *Src1, unsigned char *Src2, unsigned char *Dest, int length)
1144
</code>
1145
</remarks>
1146
<param name="Src1">Array of bytes</param>
1147
<param name="Src2">Array of bytes</param>
1148
<param name="Dest">Array of bytes returned after operation.</param>
1149
<param name="length">Size of array</param>
1150
<returns>Returns 0 for success and -1 for Error.</returns>
1151
</member>
1152
<member name="M:Tao.Sdl.SdlGfx.SDL_imageFilterDiv(System.Byte[],System.Byte[],System.Byte[],System.Int32)">
1153
<summary>
1154
SDL_imageFilterDiv: D = S1 / S2 (non-MMX)
1155
</summary>
1156
<remarks>
1157
int SDL_imageFilterDiv(unsigned char *Src1, unsigned char *Src2, unsigned char *Dest, int length)
1158
</remarks>
1159
<param name="Src1">Array of bytes</param>
1160
<param name="Src2">Array of bytes</param>
1161
<param name="Dest">Array of bytes returned after operation.</param>
1162
<param name="length">Size of array</param>
1163
<returns>Returns 0 for success and -1 for Error.</returns>
1164
</member>
1165
<member name="M:Tao.Sdl.SdlGfx.SDL_imageFilterBitNegation(System.Byte[],System.Byte[],System.Int32)">
1166
<summary>
1167
SDL_imageFilterBitNegation: D = !S
1168
</summary>
1169
<remarks>
1170
Binds to C-function call in SDL_imageFilter.h.
1171
<code>
1172
int SDL_imageFilterNegation(unsigned char *Src1, unsigned char *Src2, unsigned char *Dest, int length)
1173
</code>
1174
</remarks>
1175
<param name="Src1">Array of bytes</param>
1176
<param name="Dest">Array of bytes returned after operation.</param>
1177
<param name="length">Size of array</param>
1178
<returns>Returns 0 for success and -1 for Error.</returns>
1179
</member>
1180
<member name="M:Tao.Sdl.SdlGfx.SDL_imageFilterAddByte(System.Byte[],System.Byte[],System.Int32,System.Byte)">
1181
<summary>
1182
SDL_imageFilterAddByte: D = saturation255(S + C)
1183
</summary>
1184
<remarks>
1185
Binds to C-function call in SDL_imageFilter.h.
1186
<code>
1187
int SDL_imageFilterAddByte(unsigned char *Src1, unsigned char *Dest, int length, unsigned char C)
1188
</code>
1189
</remarks>
1190
<param name="Src1">Array of bytes</param>
1191
<param name="Dest">Array of bytes returned after operation.</param>
1192
<param name="C">Byte to add</param>
1193
<param name="length">Size of array</param>
1194
<returns>Returns 0 for success and -1 for Error.</returns>
1195
</member>
1196
<member name="M:Tao.Sdl.SdlGfx.SDL_imageFilterAddUint(System.Byte[],System.Byte[],System.Int32,System.Int32)">
1197
<summary>
1198
SDL_imageFilterAddUint: D = saturation255(S + (uint)C)
1199
</summary>
1200
<remarks>
1201
Binds to C-function call in SDL_imageFilter.h.
1202
<code>
1203
int SDL_imageFilterAddUint(unsigned char *Src1, unsigned char *Dest, int length, unsigned int C)
1204
</code>
1205
</remarks>
1206
<param name="Src1">Array of bytes</param>
1207
<param name="Dest">Array of bytes returned after operation.</param>
1208
<param name="C">int to add</param>
1209
<param name="length">Size of array</param>
1210
<returns>Returns 0 for success and -1 for Error.</returns>
1211
</member>
1212
<member name="M:Tao.Sdl.SdlGfx.SDL_imageFilterAddByteToHalf(System.Byte[],System.Byte[],System.Int32,System.Byte)">
1213
<summary>
1214
SDL_imageFilterAddByteToHalf: D = saturation255(S/2 + C)
1215
</summary>
1216
<remarks>
1217
Binds to C-function call in SDL_imageFilter.h.
1218
<code>
1219
int SDL_imageFilterAddByteToHalf(unsigned char *Src1, unsigned char *Dest, int length, unsigned char C)
1220
</code>
1221
</remarks>
1222
<param name="Src1">Array of bytes</param>
1223
<param name="Dest">Array of bytes returned after operation.</param>
1224
<param name="C">Byte to add</param>
1225
<param name="length">Size of array</param>
1226
<returns>Returns 0 for success and -1 for Error.</returns>
1227
</member>
1228
<member name="M:Tao.Sdl.SdlGfx.SDL_imageFilterSubByte(System.Byte[],System.Byte[],System.Int32,System.Byte)">
1229
<summary>
1230
SDL_imageFilterSubByte: D = saturation0(S - C)
1231
</summary>
1232
<remarks>
1233
Binds to C-function call in SDL_imageFilter.h.
1234
<code>
1235
int SDL_imageFilterSubByte(unsigned char *Src1, unsigned char *Dest, int length, unsigned char C)
1236
</code>
1237
</remarks>
1238
<param name="Src1">Array of bytes</param>
1239
<param name="Dest">Array of bytes returned after operation.</param>
1240
<param name="C">Byte to add</param>
1241
<param name="length">Size of array</param>
1242
<returns>Returns 0 for success and -1 for Error.</returns>
1243
</member>
1244
<member name="M:Tao.Sdl.SdlGfx.SDL_imageFilterSubUint(System.Byte[],System.Byte[],System.Int32,System.Int32)">
1245
<summary>
1246
SDL_imageFilterSubUint: D = saturation0(S - (uint)C)
1247
</summary>
1248
<remarks>
1249
Binds to C-function call in SDL_imageFilter.h.
1250
<code>
1251
int SDL_imageFilterSubUint(unsigned char *Src1, unsigned char *Dest, int length, unsigned int C)
1252
</code>
1253
</remarks>
1254
<param name="Src1">Array of bytes</param>
1255
<param name="Dest">Array of bytes returned after operation.</param>
1256
<param name="C">int to add</param>
1257
<param name="length">Size of array</param>
1258
<returns>Returns 0 for success and -1 for Error.</returns>
1259
</member>
1260
<member name="M:Tao.Sdl.SdlGfx.SDL_imageFilterShiftRight(System.Byte[],System.Byte[],System.Int32,System.Byte)">
1261
<summary>
1262
SDL_imageFilterShiftRight: D = saturation0(S >> N)
1263
</summary>
1264
<remarks>
1265
Binds to C-function call in SDL_imageFilter.h.
1266
<code>
1267
int SDL_imageFilterShiftRight(unsigned char *Src1, unsigned char *Dest, int length, unsigned char C)
1268
</code>
1269
</remarks>
1270
<param name="Src1">Array of bytes</param>
1271
<param name="Dest">Array of bytes returned after operation.</param>
1272
<param name="N">Shift</param>
1273
<param name="length">Size of array</param>
1274
<returns>Returns 0 for success and -1 for Error.</returns>
1275
</member>
1276
<member name="M:Tao.Sdl.SdlGfx.SDL_imageFilterShiftRightUint(System.Byte[],System.Byte[],System.Int32,System.Byte)">
1277
<summary>
1278
SDL_imageFilterShiftRightUint: D = saturation0((uint)S >> N)
1279
</summary>
1280
<remarks>
1281
Binds to C-function call in SDL_imageFilter.h.
1282
<code>
1283
int SDL_imageFilterShiftRightUint(unsigned char *Src1, unsigned char *Dest, int length, unsigned char C)
1284
</code>
1285
</remarks>
1286
<param name="Src1">Array of bytes</param>
1287
<param name="Dest">Array of bytes returned after operation.</param>
1288
<param name="N">Shift</param>
1289
<param name="length">Size of array</param>
1290
<returns>Returns 0 for success and -1 for Error.</returns>
1291
</member>
1292
<member name="M:Tao.Sdl.SdlGfx.SDL_imageFilterMultByByte(System.Byte[],System.Byte[],System.Int32,System.Byte)">
1293
<summary>
1294
SDL_imageFilterMultByByte: D = saturation255(S * C)
1295
</summary>
1296
<remarks>
1297
Binds to C-function call in SDL_imageFilter.h.
1298
<code>
1299
int SDL_imageFilterMultByByte(unsigned char *Src1, unsigned char *Dest, int length, unsigned char C)
1300
</code>
1301
</remarks>
1302
<param name="Src1">Array of bytes</param>
1303
<param name="Dest">Array of bytes returned after operation.</param>
1304
<param name="C">Byte</param>
1305
<param name="length">Size of array</param>
1306
<returns>Returns 0 for success and -1 for Error.</returns>
1307
</member>
1308
<member name="M:Tao.Sdl.SdlGfx.SDL_imageFilterShiftRightAndMultByByte(System.Byte[],System.Byte[],System.Int32,System.Byte,System.Byte)">
1309
<summary>
1310
SDL_imageFilterShiftRightAndMultByByte: D = saturation255((S >> N) * C)
1311
</summary>
1312
<remarks>
1313
Binds to C-function call in SDL_imageFilter.h.
1314
<code>
1315
int SDL_imageFilterShiftRightAndMultByByte(unsigned char *Src1, unsigned char *Dest, int length, unsigned char N, unsigned char C)
1316
</code>
1317
</remarks>
1318
<param name="Src1">Array of bytes</param>
1319
<param name="Dest">Array of bytes returned after operation.</param>
1320
<param name="C">Byte</param>
1321
<param name="N">Shift</param>
1322
<param name="length">Size of array</param>
1323
<returns>Returns 0 for success and -1 for Error.</returns>
1324
</member>
1325
<member name="M:Tao.Sdl.SdlGfx.SDL_imageFilterShiftLeftByte(System.Byte[],System.Byte[],System.Int32,System.Byte)">
1326
<summary>
1327
SDL_imageFilterShiftLeftByte: D = (S &lt;&lt; N)
1328
</summary>
1329
<remarks>
1330
Binds to C-function call in SDL_imageFilter.h.
1331
<code>
1332
int SDL_imageFilterShiftLeftByte(unsigned char *Src1, unsigned char *Dest, int length, unsigned char N)
1333
</code>
1334
</remarks>
1335
<param name="Src1">Array of bytes</param>
1336
<param name="Dest">Array of bytes returned after operation.</param>
1337
<param name="N">Shift</param>
1338
<param name="length">Size of array</param>
1339
<returns>Returns 0 for success and -1 for Error.</returns>
1340
</member>
1341
<member name="M:Tao.Sdl.SdlGfx.SDL_imageFilterShiftLeft(System.Byte[],System.Byte[],System.Int32,System.Byte)">
1342
<summary>
1343
SDL_imageFilterShiftLeft: D = saturation255(S &lt;&lt; N)
1344
</summary>
1345
<remarks>
1346
Binds to C-function call in SDL_imageFilter.h.
1347
<code>
1348
int SDL_imageFilterShiftLeft(unsigned char *Src1, unsigned char *Dest, int length, unsigned char N)
1349
</code>
1350
</remarks>
1351
<param name="Src1">Array of bytes</param>
1352
<param name="Dest">Array of bytes returned after operation.</param>
1353
<param name="N">Shift</param>
1354
<param name="length">Size of array</param>
1355
<returns>Returns 0 for success and -1 for Error.</returns>
1356
</member>
1357
<member name="M:Tao.Sdl.SdlGfx.SDL_imageFilterShiftLeftUint(System.Byte[],System.Byte[],System.Int32,System.Byte)">
1358
<summary>
1359
SDL_imageFilterShiftLeftUint: D = ((uint)S &lt;&lt; N)
1360
</summary>
1361
<remarks>
1362
Binds to C-function call in SDL_imageFilter.h.
1363
<code>
1364
int SDL_imageFilterShiftLeftUint(unsigned char *Src1, unsigned char *Dest, int length, unsigned char N)
1365
</code>
1366
</remarks>
1367
<param name="Src1">Array of bytes</param>
1368
<param name="Dest">Array of bytes returned after operation.</param>
1369
<param name="N">Shift</param>
1370
<param name="length">Size of array</param>
1371
<returns>Returns 0 for success and -1 for Error.</returns>
1372
</member>
1373
<member name="M:Tao.Sdl.SdlGfx.SDL_imageFilterBinarizeUsingThreshold(System.Byte[],System.Byte[],System.Int32,System.Byte)">
1374
<summary>
1375
SDL_imageFilterBinarizeUsingThreshold: D = S >= T ? 255:0
1376
</summary>
1377
<remarks>
1378
Binds to C-function call in SDL_imageFilter.h.
1379
<code>
1380
int SDL_imageFilterBinarizeUsingThreshold(unsigned char *Src1, unsigned char *Dest, int length, unsigned char T);
1381
</code>
1382
</remarks>
1383
<param name="Src1">Array of bytes</param>
1384
<param name="Dest">Array of bytes returned after operation.</param>
1385
<param name="T">Threshold</param>
1386
<param name="length">Size of array</param>
1387
<returns>Returns 0 for success and -1 for Error.</returns>
1388
</member>
1389
<member name="M:Tao.Sdl.SdlGfx.SDL_imageFilterClipToRange(System.Byte[],System.Byte[],System.Int32,System.Byte,System.Byte)">
1390
<summary>
1391
SDL_imageFilterClipToRange: D = (S &gt;= Tmin) &amp; (S &lt;= Tmax) 255:0
1392
</summary>
1393
<remarks>
1394
Binds to C-function call in SDL_imageFilter.h.
1395
<code>
1396
int SDL_imageFilterClipToRange(unsigned char *Src1, unsigned char *Dest, int length, unsigned char Tmin, unsigned char Tmax);
1397
</code>
1398
</remarks>
1399
<param name="Src1">Array of bytes</param>
1400
<param name="Dest">Array of bytes returned after operation.</param>
1401
<param name="Tmin">Threshold</param>
1402
<param name="Tmax">Threshold</param>
1403
<param name="length">Size of array</param>
1404
<returns>Returns 0 for success and -1 for Error.</returns>
1405
</member>
1406
<member name="M:Tao.Sdl.SdlGfx.SDL_imageFilterNormalizeLinear(System.Byte[],System.Byte[],System.Int32,System.Int32,System.Int32,System.Int32,System.Int32)">
1407
<summary>
1408
SDL_imageFilterNormalizeLinear: D = saturation255((Nmax - Nmin)/(Cmax - Cmin)*(S - Cmin) + Nmin)
1409
</summary>
1410
<remarks>
1411
Binds to C-function call in SDL_imageFilter.h.
1412
<code>
1413
int SDL_imageFilterNormalizeLinear(unsigned char *Src1, unsigned char *Dest, int length, int Cmin, int Cmax, int Nmin, int Nmax);
1414
</code>
1415
</remarks>
1416
<param name="Src1">Array of bytes</param>
1417
<param name="Dest">Array of bytes returned after operation.</param>
1418
<param name="Nmin">Threshold</param>
1419
<param name="Nmax">Threshold</param>
1420
<param name="Cmin">Threshold</param>
1421
<param name="Cmax">Threshold</param>
1422
<param name="length">Size of array</param>
1423
<returns>Returns 0 for success and -1 for Error.</returns>
1424
</member>
1425
<member name="M:Tao.Sdl.SdlGfx.SDL_imageFilterConvolveKernel3x3Divide(System.Byte[],System.Byte[],System.Int32,System.Int32,System.Int16[],System.Byte)">
1426
<summary>
1427
SDL_imageFilterConvolveKernel3x3Divide: Dij = saturation0and255( ... ). For MMX processors only.
1428
</summary>
1429
<remarks>
1430
Binds to C-function call in SDL_imageFilter.h.
1431
<code>
1432
int SDL_imageFilterConvolveKernel3x3Divide(unsigned char *Src, unsigned char *Dest, int rows, int columns, signed short *Kernel, unsigned char Divisor);
1433
</code>
1434
</remarks>
1435
<param name="Src1">Array of bytes</param>
1436
<param name="Dest">Array of bytes returned after operation.</param>
1437
<param name="rows">Threshold</param>
1438
<param name="columns">Threshold</param>
1439
<param name="Kernel">Size of array</param>
1440
<param name="Divisor"></param>
1441
<returns>Returns 0 for success and -1 for Error.</returns>
1442
</member>
1443
<member name="M:Tao.Sdl.SdlGfx.SDL_imageFilterConvolveKernel5x5Divide(System.Byte[],System.Byte[],System.Int32,System.Int32,System.Int16[],System.Byte)">
1444
<summary>
1445
SDL_imageFilterConvolveKernel5x5Divide: Dij = saturation0and255( ... ). For MMX processors only.
1446
</summary>
1447
<remarks>
1448
Binds to C-function call in SDL_imageFilter.h.
1449
<code>
1450
int SDL_imageFilterConvolveKernel5x5Divide(unsigned char *Src, unsigned char *Dest, int rows, int columns, signed short *Kernel, unsigned char Divisor);
1451
</code>
1452
</remarks>
1453
<param name="Src1">Array of bytes</param>
1454
<param name="Dest">Array of bytes returned after operation.</param>
1455
<param name="columns"></param>
1456
<param name="Divisor"></param>
1457
<param name="Kernel"></param>
1458
<param name="rows"></param>
1459
<returns>Returns 0 for success and -1 for Error.</returns>
1460
</member>
1461
<member name="M:Tao.Sdl.SdlGfx.SDL_imageFilterConvolveKernel7x7Divide(System.Byte[],System.Byte[],System.Int32,System.Int32,System.Int16[],System.Byte)">
1462
<summary>
1463
SDL_imageFilterConvolveKernel7x7Divide: Dij = saturation0and255( ... ). For MMX processors only.
1464
</summary>
1465
<remarks>
1466
Binds to C-function call in SDL_imageFilter.h.
1467
<code>
1468
int SDL_imageFilterConvolveKernel7x7Divide(unsigned char *Src, unsigned char *Dest, int rows, int columns, signed short *Kernel, unsigned char Divisor);
1469
</code>
1470
</remarks>
1471
<param name="Src1">Array of bytes</param>
1472
<param name="Dest">Array of bytes returned after operation.</param>
1473
<param name="columns"></param>
1474
<param name="Divisor"></param>
1475
<param name="Kernel"></param>
1476
<param name="rows"></param>
1477
<returns>Returns 0 for success and -1 for Error.</returns>
1478
</member>
1479
<member name="M:Tao.Sdl.SdlGfx.SDL_imageFilterConvolveKernel9x9Divide(System.Byte[],System.Byte[],System.Int32,System.Int32,System.Int16[],System.Byte)">
1480
<summary>
1481
SDL_imageFilterConvolveKernel9x9Divide: Dij = saturation0and255( ... ). For MMX processors only.
1482
</summary>
1483
<remarks>
1484
Binds to C-function call in SDL_imageFilter.h.
1485
<code>
1486
int SDL_imageFilterConvolveKernel9x9Divide(unsigned char *Src, unsigned char *Dest, int rows, int columns, signed short *Kernel, unsigned char Divisor);
1487
</code>
1488
</remarks>
1489
<param name="Src1">Array of bytes</param>
1490
<param name="Dest">Array of bytes returned after operation.</param>
1491
<param name="columns"></param>
1492
<param name="Divisor"></param>
1493
<param name="Kernel"></param>
1494
<param name="rows"></param>
1495
<returns>Returns 0 for success and -1 for Error.</returns>
1496
</member>
1497
<member name="M:Tao.Sdl.SdlGfx.SDL_imageFilterConvolveKernel3x3ShiftRight(System.Byte[],System.Byte[],System.Int32,System.Int32,System.Int16[],System.Byte)">
1498
<summary>
1499
SDL_imageFilterConvolveKernel3x3ShiftRight: Dij = saturation0and255( ... ). For MMX processors only.
1500
</summary>
1501
<remarks>
1502
Binds to C-function call in SDL_imageFilter.h.
1503
<code>
1504
int SDL_imageFilterConvolveKernel3x3ShiftRight(unsigned char *Src, unsigned char *Dest, int rows, int columns, signed short *Kernel, unsigned char NRightShift);
1505
</code>
1506
</remarks>
1507
<param name="Src1">Array of bytes</param>
1508
<param name="Dest">Array of bytes returned after operation.</param>
1509
<param name="columns"></param>
1510
<param name="NRightShift"></param>
1511
<param name="Kernel"></param>
1512
<param name="rows"></param>
1513
<returns>Returns 0 for success and -1 for Error.</returns>
1514
</member>
1515
<member name="M:Tao.Sdl.SdlGfx.SDL_imageFilterConvolveKernel5x5ShiftRight(System.Byte[],System.Byte[],System.Int32,System.Int32,System.Int16[],System.Byte)">
1516
<summary>
1517
SDL_imageFilterConvolveKernel5x5ShiftRight: Dij = saturation0and255( ... ). For MMX processors only.
1518
</summary>
1519
<remarks>
1520
Binds to C-function call in SDL_imageFilter.h.
1521
<code>
1522
int SDL_imageFilterConvolveKernel5x5ShiftRight(unsigned char *Src, unsigned char *Dest, int rows, int columns, signed short *Kernel, unsigned char NRightShift);
1523
</code>
1524
</remarks>
1525
<param name="Src1">Array of bytes</param>
1526
<param name="Dest">Array of bytes returned after operation.</param>
1527
<param name="columns"></param>
1528
<param name="NRightShift"></param>
1529
<param name="Kernel"></param>
1530
<param name="rows"></param>
1531
<returns>Returns 0 for success and -1 for Error.</returns>
1532
</member>
1533
<member name="M:Tao.Sdl.SdlGfx.SDL_imageFilterConvolveKernel7x7ShiftRight(System.Byte[],System.Byte[],System.Int32,System.Int32,System.Int16[],System.Byte)">
1534
<summary>
1535
SDL_imageFilterConvolveKernel7x7ShiftRight: Dij = saturation0and255( ... ). For MMX processors only.
1536
</summary>
1537
<remarks>
1538
Binds to C-function call in SDL_imageFilter.h.
1539
<code>
1540
int SDL_imageFilterConvolveKernel7x7ShiftRight(unsigned char *Src, unsigned char *Dest, int rows, int columns, signed short *Kernel, unsigned char NRightShift);
1541
</code>
1542
</remarks>
1543
<param name="Src1">Array of bytes</param>
1544
<param name="Dest">Array of bytes returned after operation.</param>
1545
<param name="rows">Threshold</param>
1546
<param name="columns">Threshold</param>
1547
<param name="Kernel">Size of array</param>
1548
<param name="NRightShift"></param>
1549
<returns>Returns 0 for success and -1 for Error.</returns>
1550
</member>
1551
<member name="M:Tao.Sdl.SdlGfx.SDL_imageFilterConvolveKernel9x9ShiftRight(System.Byte[],System.Byte[],System.Int32,System.Int32,System.Int16[],System.Byte)">
1552
<summary>
1553
SDL_imageFilterConvolveKernel9x9ShiftRight: Dij = saturation0and255( ... ). For MMX processors only.
1554
</summary>
1555
<remarks>
1556
Binds to C-function call in SDL_imageFilter.h.
1557
<code>
1558
int SDL_imageFilterConvolveKernel9x9ShiftRight(unsigned char *Src, unsigned char *Dest, int rows, int columns, signed short *Kernel, unsigned char NRightShift);
1559
</code>
1560
</remarks>
1561
<param name="Src1">Array of bytes</param>
1562
<param name="Dest">Array of bytes returned after operation.</param>
1563
<param name="rows">Threshold</param>
1564
<param name="columns">Threshold</param>
1565
<param name="Kernel">Size of array</param>
1566
<param name="NRightShift"></param>
1567
<returns>Returns 0 for success and -1 for Error.</returns>
1568
</member>
1569
<member name="M:Tao.Sdl.SdlGfx.SDL_imageFilterSobelX(System.Byte[],System.Byte[],System.Int32,System.Int32)">
1570
<summary>
1571
SDL_imageFilterSobelX: Dij = saturation255( ... ). For MMX processors only.
1572
</summary>
1573
<remarks>
1574
Binds to C-function call in SDL_imageFilter.h.
1575
<code>
1576
int SDL_imageFilterSobelX(unsigned char *Src, unsigned char *Dest, int rows, int columns)
1577
</code>
1578
</remarks>
1579
<param name="Src1">Array of bytes</param>
1580
<param name="Dest">Array of bytes returned after operation.</param>
1581
<param name="rows">Threshold</param>
1582
<param name="columns">Threshold</param>
1583
<returns>Returns 0 for success and -1 for Error.</returns>
1584
</member>
1585
<member name="M:Tao.Sdl.SdlGfx.SDL_imageFilterSobelXShiftRight(System.Byte[],System.Byte[],System.Int32,System.Int32,System.Byte)">
1586
<summary>
1587
SDL_imageFilterSobelXShiftRight: Dij = saturation255( ... ). For MMX processors only.
1588
</summary>
1589
<remarks>
1590
Binds to C-function call in SDL_imageFilter.h.
1591
<code>
1592
int SDL_imageFilterSobelXShiftRight(unsigned char *Src, unsigned char *Dest, int rows, int columns, unsigned char NRightShift);
1593
</code>
1594
</remarks>
1595
<param name="Src1">Array of bytes</param>
1596
<param name="Dest">Array of bytes returned after operation.</param>
1597
<param name="rows">Threshold</param>
1598
<param name="columns">Threshold</param>
1599
<param name="NRightShift"></param>
1600
<returns>Returns 0 for success and -1 for Error.</returns>
1601
</member>
1602
<member name="M:Tao.Sdl.SdlGfx.SDL_imageFilterAlignStack">
1603
<summary>
1604
Align stack to 32 byte boundary -- Functionality untested! --. For MMX processors only.
1605
</summary>
1606
<remarks>
1607
Binds to C-function call in SDL_imageFilter.h.
1608
<code>
1609
void SDL_imageFilterAlignStack(void)
1610
</code>
1611
</remarks>
1612
</member>
1613
<member name="M:Tao.Sdl.SdlGfx.SDL_imageFilterRestoreStack">
1614
<summary>
1615
Restore stack to 32 byte boundary -- Functionality untested! --. For MMX processors only.
1616
</summary>
1617
<remarks>
1618
Binds to C-function call in SDL_imageFilter.h.
1619
<code>
1620
void SDL_imageFilterRestoreStack(void)
1621
</code>
1622
</remarks>
1623
</member>
1624
<member name="M:Tao.Sdl.SdlGfx.SDL_gfxBlitRGBA(System.IntPtr,Tao.Sdl.Sdl.SDL_Rect@,System.IntPtr,Tao.Sdl.Sdl.SDL_Rect)">
1625
<summary>
1626
1627
</summary>
1628
<remarks>
1629
Binds to C-function call in SDL_gfxBlitFunc.h.
1630
<code>
1631
int SDL_gfxBlitRGBA(SDL_Surface * src, SDL_Rect * srcrect, SDL_Surface * dst, SDL_Rect * dstrect);
1632
</code>
1633
</remarks>
1634
</member>
1635
<member name="M:Tao.Sdl.SdlGfx.SDL_gfxSetAlpha(System.IntPtr,System.Byte)">
1636
<summary>
1637
1638
</summary>
1639
<remarks>
1640
Binds to C-function call in SDL_gfxBlitFunc.h.
1641
<code>
1642
int SDL_gfxSetAlpha(SDL_Surface * src, Uint8 a);
1643
</code>
1644
</remarks>
1645
</member>
1646
<member name="T:Tao.Sdl.SdlGfx.tColorRGBA">
1647
<summary>
1648
1649
</summary>
1650
</member>
1651
<member name="F:Tao.Sdl.SdlGfx.tColorRGBA.r">
1652
<summary>
1653
1654
</summary>
1655
</member>
1656
<member name="F:Tao.Sdl.SdlGfx.tColorRGBA.g">
1657
<summary>
1658
1659
</summary>
1660
</member>
1661
<member name="F:Tao.Sdl.SdlGfx.tColorRGBA.b">
1662
<summary>
1663
1664
</summary>
1665
</member>
1666
<member name="F:Tao.Sdl.SdlGfx.tColorRGBA.a">
1667
<summary>
1668
1669
</summary>
1670
</member>
1671
<member name="T:Tao.Sdl.SdlGfx.tColorY">
1672
<summary>
1673
1674
</summary>
1675
</member>
1676
<member name="F:Tao.Sdl.SdlGfx.tColorY.y">
1677
<summary>
1678
1679
</summary>
1680
</member>
1681
<member name="T:Tao.Sdl.SdlGfx.FPSmanager">
1682
<summary>
1683
1684
</summary>
1685
</member>
1686
<member name="F:Tao.Sdl.SdlGfx.FPSmanager.framecount">
1687
<summary>
1688
1689
</summary>
1690
</member>
1691
<member name="F:Tao.Sdl.SdlGfx.FPSmanager.rateticks">
1692
<summary>
1693
1694
</summary>
1695
</member>
1696
<member name="F:Tao.Sdl.SdlGfx.FPSmanager.lastticks">
1697
<summary>
1698
1699
</summary>
1700
</member>
1701
<member name="F:Tao.Sdl.SdlGfx.FPSmanager.rate">
1702
<summary>
1703
1704
</summary>
1705
</member>
1706
<member name="T:Tao.Sdl.SdlTtf">
1707
<summary>
1708
This library supports Sdl_ttf 2.0.8.
1709
This library is a wrapper around the excellent FreeType 1.2 library,
1710
available at: http://www.freetype.org
1711
<p>
1712
WARNING: There may be patent issues with using the FreeType library.
1713
Check the FreeType website for up-to-date details.
1714
</p>
1715
<p>
1716
This library allows you to use TrueType fonts to render text in SDL
1717
applications.
1718
</p>
1719
<p>
1720
Be careful when including fonts with your application, as many of
1721
them are copyrighted.
1722
The Microsoft fonts, for example, are not freely redistributable
1723
and even the free "web"
1724
fonts they provide are only redistributable in their special
1725
executable installer form (May 1998).
1726
There are plenty of freeware and shareware fonts available on the
1727
Internet though, and may suit your purposes.
1728
</p>
1729
</summary>
1730
<remarks>
1731
SDL_ttf supports loading fonts from TrueType font files,
1732
normally ending in .ttf, though some .fon files are also valid for
1733
use. Note that most fonts are copyrighted, check the license on the
1734
font before you use and redistribute
1735
</remarks>
1736
</member>
1737
<member name="F:Tao.Sdl.SdlTtf.SDL_TTF_NATIVE_LIBRARY">
1738
<summary>
1739
Specifies SdlTtf's native library archive.
1740
</summary>
1741
<remarks>
1742
Specifies SDL_ttf.dll everywhere; will be mapped via .config for mono.
1743
</remarks>
1744
</member>
1745
<member name="F:Tao.Sdl.SdlTtf.CALLING_CONVENTION">
1746
<summary>
1747
Specifies the calling convention.
1748
</summary>
1749
<remarks>
1750
Specifies <see cref="F:System.Runtime.InteropServices.CallingConvention.Cdecl"/>
1751
for Windows and Linux.
1752
</remarks>
1753
</member>
1754
<member name="F:Tao.Sdl.SdlTtf.TTF_MAJOR_VERSION">
1755
<summary>
1756
Major Version
1757
</summary>
1758
</member>
1759
<member name="F:Tao.Sdl.SdlTtf.TTF_MINOR_VERSION">
1760
<summary>
1761
Minor Version
1762
</summary>
1763
</member>
1764
<member name="F:Tao.Sdl.SdlTtf.TTF_PATCHLEVEL">
1765
<summary>
1766
Patch Version
1767
</summary>
1768
</member>
1769
<member name="F:Tao.Sdl.SdlTtf.TTF_STYLE_NORMAL">
1770
<summary>
1771
Used to indicate regular, normal, plain rendering style.
1772
</summary>
1773
</member>
1774
<member name="F:Tao.Sdl.SdlTtf.TTF_STYLE_BOLD">
1775
<summary>
1776
Used to indicate bold rendering style.
1777
This is used a bitmask along with other styles.
1778
</summary>
1779
</member>
1780
<member name="F:Tao.Sdl.SdlTtf.TTF_STYLE_ITALIC">
1781
<summary>
1782
Used to indicate italicized rendering style.
1783
This is used a bitmask along with other styles.
1784
</summary>
1785
</member>
1786
<member name="F:Tao.Sdl.SdlTtf.TTF_STYLE_UNDERLINE">
1787
<summary>
1788
Used to indicate underlined rendering style.
1789
This is used a bitmask along with other styles.
1790
</summary>
1791
</member>
1792
<member name="F:Tao.Sdl.SdlTtf.UNICODE_BOM_NATIVE">
1793
<summary>
1794
This allows you to switch byte-order of UNICODE text data
1795
to native order, meaning the mode of your CPU. This is meant
1796
to be used in a UNICODE string that you are using with the
1797
SDL_ttf API.
1798
</summary>
1799
</member>
1800
<member name="F:Tao.Sdl.SdlTtf.UNICODE_BOM_SWAPPED">
1801
<summary>
1802
This allows you to switch byte-order of UNICODE text data to
1803
swapped order, meaning the reversed mode of your CPU.
1804
So if your CPU is LSB, then the data will be interpreted
1805
as MSB. This is meant to be used in a UNICODE string
1806
that you are using with the SDL_ttf API.
1807
</summary>
1808
</member>
1809
<member name="M:Tao.Sdl.SdlTtf.TTF_VERSION">
1810
<summary>
1811
This method can be used to fill a version structure with the compile-time
1812
version of the SDL_ttf library.
1813
</summary>
1814
<returns>
1815
This function returns a <see cref="T:Tao.Sdl.Sdl.SDL_version"/> struct containing the
1816
compiled version number
1817
</returns>
1818
<remarks>
1819
<p>
1820
Binds to C-function call in SDL_ttf.h:
1821
<code>#define SDL_TTF_VERSION(X)
1822
{
1823
(X)-&gt;major = SDL_TTF_MAJOR_VERSION;
1824
(X)-&gt;minor = SDL_TTF_MINOR_VERSION;
1825
(X)-&gt;patch = SDL_TTF_PATCHLEVEL;
1826
}</code>
1827
</p>
1828
</remarks>
1829
</member>
1830
<member name="M:Tao.Sdl.SdlTtf.TTF_Linked_Version">
1831
<summary>
1832
Using this you can compare the runtime version to the
1833
version that you compiled with.
1834
</summary>
1835
<returns>
1836
This function gets the version of the dynamically
1837
linked SDL_ttf library in an <see cref="T:Tao.Sdl.Sdl.SDL_version"/> struct.
1838
</returns>
1839
<remarks>
1840
<p>
1841
Binds to C-function call in SDL_ttf.h:
1842
<code>const SDL_version * TTF_Linked_Version(void)</code>
1843
</p>
1844
</remarks>
1845
</member>
1846
<member name="M:Tao.Sdl.SdlTtf.TTF_ByteSwappedUNICODE(System.Int32)">
1847
<summary>
1848
This function tells the library whether UNICODE text is generally
1849
byteswapped. A UNICODE BOM character in a string will override
1850
this setting for the remainder of that string.
1851
</summary>
1852
<remarks>
1853
This function tells SDL_ttf whether UNICODE (Uint16 per character)
1854
text is generally byteswapped. A UNICODE_BOM_NATIVE or
1855
UNICODE_BOM_SWAPPED character in a string will temporarily
1856
override this setting for the remainder of that string,
1857
however this setting will be restored for the next one.
1858
The default mode is non-swapped, native endianess of the CPU.
1859
<p>Binds to C-function in SDL_ttf.h
1860
<code>
1861
void TTF_ByteSwappedUNICODE(int swapped)
1862
</code></p>
1863
</remarks>
1864
<param name="swapped">
1865
if non-zero then UNICODE data is byte swapped relative to the
1866
CPU's native endianess.<p>
1867
if zero, then do not swap UNICODE data,
1868
use the CPU's native endianess.</p>
1869
</param>
1870
<example>
1871
<code>
1872
// Turn on byte swapping for UNICODE text
1873
TTF_ByteSwappedUNICODE(1);
1874
</code>
1875
</example>
1876
<returns></returns>
1877
</member>
1878
<member name="M:Tao.Sdl.SdlTtf.TTF_Init">
1879
<summary>
1880
Initialize the TTF engine - returns 0 if successful, -1 on error
1881
</summary>
1882
<remarks>
1883
Initialize the truetype font API.
1884
<p>
1885
This must be called before using other functions in this
1886
library, excepting TTF_WasInit.</p>
1887
<p>
1888
SDL does not have to be initialized before this call.</p>
1889
<p>Binds to C-function in SDL_ttf.h
1890
<code>
1891
int TTF_Init()
1892
</code></p>
1893
</remarks>
1894
<example>
1895
<code>
1896
if(TTF_Init()==-1) {
1897
printf("TTF_Init: %s\n", TTF_GetError());
1898
exit(2);
1899
}
1900
</code>
1901
</example>
1902
<returns>
1903
0 on success, -1 on errors
1904
</returns>
1905
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_WasInit"/>
1906
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_Quit"/>
1907
</member>
1908
<member name="M:Tao.Sdl.SdlTtf.TTF_OpenFont(System.String,System.Int32)">
1909
<summary>
1910
Open a font file and create a font of the specified point size.
1911
Some .fon fonts will have several sizes embedded in the file, so the
1912
point size becomes the index of choosing which size.
1913
If the value
1914
is too high, the last indexed size will be the default.
1915
</summary>
1916
<param name="file">File name to load font from.</param>
1917
<param name="ptsize">Point size (based on 72DPI) to load font as.
1918
This basically translates to pixel height.</param>
1919
<remarks>
1920
Load file for use as a font, at ptsize size.
1921
This is actually TTF_OpenFontIndex(file, ptsize, 0).
1922
This can load TTF and FON files.
1923
<p>Binds to C-function in SDL_ttf.h
1924
<code>
1925
TTF_Font *TTF_OpenFont(const char *file, int ptsize)
1926
</code></p>
1927
</remarks>
1928
<example>
1929
<code>
1930
// load font.ttf at size 16 into font
1931
TTF_Font *font;
1932
font=TTF_OpenFont("font.ttf", 16);
1933
if(!font)
1934
{
1935
printf("TTF_OpenFont: %s\n", TTF_GetError());
1936
// handle error
1937
}
1938
</code>
1939
</example>
1940
<returns>
1941
a pointer to the font as a TTF_Font. NULL is returned on errors.
1942
</returns>
1943
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_OpenFontIndex(System.String,System.Int32,System.Int64)"/>
1944
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_OpenFontRW(System.IntPtr,System.Int32,System.Int32)"/>
1945
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_CloseFont(System.IntPtr)"/>
1946
</member>
1947
<member name="M:Tao.Sdl.SdlTtf.TTF_OpenFontIndex(System.String,System.Int32,System.Int64)">
1948
<summary>
1949
Open a font file and create a font of the specified point size.
1950
Some .fon fonts will have several sizes embedded in the file, so the
1951
point size becomes the index of choosing which size.
1952
If the value
1953
is too high, the last indexed size will be the default.
1954
</summary>
1955
<param name="file">File name to load font from.</param>
1956
<param name="ptsize">
1957
Point size (based on 72DPI) to load font as.
1958
This basically translates to pixel height.
1959
</param>
1960
<param name="index">
1961
choose a font face from a multiple font face containing file.
1962
The first face is always index 0.
1963
</param>
1964
<remarks>
1965
Load file, face index, for use as a font, at ptsize size.
1966
This is actually TTF_OpenFontIndexRW(SDL_RWFromFile(file),
1967
ptsize, index), but checks that the RWops it creates is
1968
not NULL. This can load TTF and FON files.
1969
<p>Binds to C-function in SDL_ttf.h
1970
<code>
1971
TTF_Font *TTF_OpenFontIndex(const char *file, int ptsize, long index)
1972
</code></p>
1973
</remarks>
1974
<example>
1975
<code>
1976
// load font.ttf, face 0, at size 16 into font
1977
TTF_Font *font;
1978
font=TTF_OpenFontIndex("font.ttf", 16, 0);
1979
if(!font)
1980
{
1981
printf("TTF_OpenFontIndex: %s\n", TTF_GetError());
1982
// handle error
1983
}
1984
</code>
1985
</example>
1986
<returns>
1987
a pointer to the font as a TTF_Font. NULL is returned on errors.
1988
</returns>
1989
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_OpenFontIndexRW(System.IntPtr,System.Int32,System.Int32,System.Int64)"/>
1990
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_OpenFont(System.String,System.Int32)"/>
1991
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_CloseFont(System.IntPtr)"/>
1992
</member>
1993
<member name="M:Tao.Sdl.SdlTtf.TTF_OpenFontRW(System.IntPtr,System.Int32,System.Int32)">
1994
<summary>
1995
Open a font file suing RWOps and create a font of the specified point size.
1996
Some .fon fonts will have several sizes embedded in the file, so the
1997
point size becomes the index of choosing which size.
1998
If the value
1999
is too high, the last indexed size will be the default.
2000
</summary>
2001
<param name="src">The font is loaded from this.</param>
2002
<param name="freesrc">
2003
A non-zero value mean is will automatically close/free the
2004
src for you.
2005
</param>
2006
<param name="ptsize">
2007
Point size (based on 72DPI) to load font as.
2008
This basically translates to pixel height.
2009
</param>
2010
<remarks>
2011
Load src for use as a font, at ptsize size.
2012
This is actually TTF_OpenFontIndexRW(src, freesrc, ptsize, 0).
2013
This can load TTF and FON formats.
2014
Using SDL_RWops is not covered here,
2015
but they enable you to load from almost any source.
2016
<p>
2017
NOTE: src is not checked for NULL, so be careful.</p>
2018
<p>Binds to C-function in SDL_ttf.h
2019
<code>
2020
TTF_Font *TTF_OpenFontRW(SDL_RWops *src, int freesrc, int ptsize)
2021
</code></p>
2022
</remarks>
2023
<example>
2024
<code>
2025
// load font.ttf at size 16 into font
2026
TTF_Font *font;
2027
font=TTF_OpenFontRW(SDL_RWFromFile("font.ttf"), 1, 16);
2028
if(!font)
2029
{
2030
printf("TTF_OpenFontRW: %s\n", TTF_GetError());
2031
// handle error
2032
}
2033
</code>
2034
</example>
2035
<returns>
2036
a pointer to the font as a TTF_Font. NULL is returned on errors.
2037
</returns>
2038
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_OpenFontIndexRW(System.IntPtr,System.Int32,System.Int32,System.Int64)"/>
2039
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_OpenFont(System.String,System.Int32)"/>
2040
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_CloseFont(System.IntPtr)"/>
2041
</member>
2042
<member name="M:Tao.Sdl.SdlTtf.TTF_OpenFontIndexRW(System.IntPtr,System.Int32,System.Int32,System.Int64)">
2043
<summary>
2044
Open a font file using RWOps with an index and create
2045
a font of the specified point size.
2046
Some .fon fonts will have several sizes embedded in the file, so the
2047
point size becomes the index of choosing which size.
2048
If the value
2049
is too high, the last indexed size will be the default.
2050
</summary>
2051
<param name="freesrc">
2052
A non-zero value mean is will automatically close/free
2053
the src for you.
2054
</param>
2055
<param name="index">
2056
choose a font face from a multiple font face containing file.
2057
The first face is always index 0.
2058
</param>
2059
<param name="src">The font is loaded from this.</param>
2060
<param name="ptsize">
2061
Point size (based on 72DPI) to load font as.
2062
This basically translates to pixel height.
2063
</param>
2064
<remarks>
2065
Load src, face index, for use as a font, at ptsize size.
2066
This can load TTF and FON formats.
2067
Using SDL_RWops is not covered here,
2068
but they enable you to load from almost any source.
2069
2070
NOTE: src is not checked for NULL, so be careful.
2071
<p>Binds to C-function in SDL_ttf.h
2072
<code>
2073
TTF_Font *TTF_OpenFontIndexRW(SDL_RWops *src, int freesrc, int ptsize, long index)
2074
</code></p>
2075
</remarks>
2076
<example>
2077
<code>
2078
// load font.ttf, face 0, at size 16 into font
2079
TTF_Font *font;
2080
font=TTF_OpenFontRW(SDL_RWFromFile("font.ttf"), 1, 16, 0);
2081
if(!font)
2082
{
2083
printf("TTF_OpenFontIndexRW: %s\n", TTF_GetError());
2084
// handle error
2085
}
2086
</code>
2087
</example>
2088
<returns>
2089
a pointer to the font as a TTF_Font. NULL is returned on errors.
2090
</returns>
2091
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_OpenFontIndex(System.String,System.Int32,System.Int64)"/>
2092
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_OpenFontRW(System.IntPtr,System.Int32,System.Int32)"/>
2093
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_CloseFont(System.IntPtr)"/>
2094
</member>
2095
<member name="M:Tao.Sdl.SdlTtf.TTF_SetFontStyle(System.IntPtr,System.Int32)">
2096
<summary>
2097
Set the font style
2098
This font style is implemented by modifying the font glyphs, and
2099
doesn't reflect any inherent properties of the truetype font file.
2100
</summary>
2101
<param name="font">The loaded font to get the style of </param>
2102
<param name="style">
2103
A bitmask of the desired style composed
2104
from the TTF_STYLE_* defined values
2105
</param>
2106
<remarks>
2107
Set the rendering style of the loaded font.
2108
<p>
2109
NOTE: Passing a NULL font into this function will cause a segfault.
2110
</p>
2111
<p>
2112
NOTE: This will flush the internal cache of previously rendered
2113
glyphs, even if there is no change in style, so it may be best
2114
to check the current style using TTF_GetFontStyle first.
2115
</p>
2116
<p>
2117
NOTE: I've seen that combining TTF_STYLE_UNDERLINE with anything
2118
can cause a segfault, other combinations may also do this.
2119
Some brave soul may find the cause of this and fix it...
2120
</p>
2121
<p>Binds to C-function in SDL_ttf.h
2122
<code>
2123
void TTF_SetFontStyle(TTF_Font *font, int style)
2124
</code></p>
2125
</remarks>
2126
<example>
2127
<code>
2128
// set the loaded font's style to bold italics
2129
//TTF_Font *font;
2130
TTF_SetFontStyle(font, TTF_STYLE_BOLD|TTF_STYLE_ITALIC);
2131
2132
// render some text in bold italics...
2133
2134
// set the loaded font's style back to normal
2135
TTF_SetFontStyle(font, TTF_STYLE_NORMAL);
2136
</code>
2137
</example>
2138
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_GetFontStyle(System.IntPtr)"/>
2139
</member>
2140
<member name="M:Tao.Sdl.SdlTtf.TTF_GetFontStyle(System.IntPtr)">
2141
<summary>
2142
Retrieve the font style
2143
This font style is implemented by modifying the font glyphs, and
2144
doesn't reflect any inherent properties of the truetype font file.
2145
</summary>
2146
<remarks>
2147
Get the rendering style of the loaded font.
2148
<p>
2149
NOTE: Passing a NULL font into this function will cause a segfault.
2150
</p>
2151
</remarks>
2152
<param name="font">The loaded font to get the style of </param>
2153
<returns>
2154
The style as a bitmask composed of the following masks:
2155
<br>TTF_STYLE_BOLD</br>
2156
<br>TTF_STYLE_ITALIC</br>
2157
<br>TTF_STYLE_UNDERLINE</br>
2158
<p>If no style is set then TTF_STYLE_NORMAL is returned.</p>
2159
<p>Binds to C-function in SDL_ttf.h
2160
<code>
2161
int TTF_GetFontStyle(TTF_Font *font)
2162
</code></p>
2163
</returns>
2164
<example>
2165
<code>
2166
// get the loaded font's style
2167
//TTF_Font *font;
2168
int style;
2169
style=TTF_GetFontStyle(font);
2170
printf("The font style is:");
2171
if(style==TTF_STYLE_NORMAL)
2172
printf(" normal");
2173
else
2174
{
2175
if(style&amp;TTF_STYLE_BOLD)
2176
printf(" bold");
2177
if(style&amp;TTF_STYLE_ITALIC)
2178
printf(" italic");
2179
if(style&amp;TTF_STYLE_UNDERLINE)
2180
printf(" underline");
2181
}
2182
printf("\n");
2183
</code>
2184
</example>
2185
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_SetFontStyle(System.IntPtr,System.Int32)"/>
2186
</member>
2187
<member name="M:Tao.Sdl.SdlTtf.TTF_FontHeight(System.IntPtr)">
2188
<summary>
2189
Get the total height of the font - usually equal to point size
2190
</summary>
2191
<param name="font">
2192
The loaded font to get the max height of
2193
</param>
2194
<remarks>
2195
Get the maximum pixel height of all glyphs of the loaded font.
2196
You may use this height for rendering text as close together
2197
vertically as possible, though adding at least one pixel height
2198
to it will space it so they can't touch. Remember that SDL_ttf
2199
doesn't handle multiline printing, so you are responsible for
2200
line spacing, see the TTF_FontLineSkip as well.
2201
<p>
2202
NOTE: Passing a NULL font into this function will cause a segfault.</p>
2203
</remarks>
2204
<returns>
2205
The maximum pixel height of all glyphs in the font.
2206
<p>Binds to C-function in SDL_ttf.h
2207
<code>
2208
int TTF_FontHeight(TTF_Font *font)
2209
</code></p>
2210
</returns>
2211
<example>
2212
<code>
2213
// get the loaded font's max height
2214
//TTF_Font *font;
2215
printf("The font max height is: %d\n", TTF_FontHeight(font));
2216
</code>
2217
</example>
2218
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_FontAscent(System.IntPtr)"/>
2219
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_FontDescent(System.IntPtr)"/>
2220
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_FontLineSkip(System.IntPtr)"/>
2221
</member>
2222
<member name="M:Tao.Sdl.SdlTtf.TTF_FontAscent(System.IntPtr)">
2223
<summary>
2224
Get font max ascent (y above origin).
2225
Get the offset from the baseline to the top of the font
2226
This is a positive value, relative to the baseline.
2227
</summary>
2228
<param name="font">The loaded font to get the ascent
2229
(height above baseline) of </param>
2230
<remarks>
2231
Get the maximum pixel ascent of all glyphs of the loaded font.
2232
This can also be interpreted as the distance from the top of
2233
the font to the baseline.
2234
<p>
2235
It could be used when drawing an individual glyph relative to
2236
a top point, by combining it with the glyph's maxy metric to
2237
resolve the top of the rectangle used when blitting the glyph
2238
on the screen.</p>
2239
<p>
2240
rect.y = top + TTF_FontAscent(font) - glyph_metric.maxy;
2241
</p>
2242
<p>NOTE: Passing a NULL font into this function will
2243
cause a segfault.</p>
2244
<p>Binds to C-function in SDL_ttf.h
2245
<code>
2246
int TTF_FontAscent(TTF_Font *font)
2247
</code></p>
2248
</remarks>
2249
<example>
2250
<code>
2251
// get the loaded font's max ascent
2252
//TTF_Font *font;
2253
2254
printf("The font ascent is: %d\n", TTF_FontAscent(font));
2255
</code>
2256
</example>
2257
<returns>
2258
The maximum pixel ascent of all glyphs in the font.
2259
</returns>
2260
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_FontHeight(System.IntPtr)"/>
2261
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_FontDescent(System.IntPtr)"/>
2262
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_FontLineSkip(System.IntPtr)"/>
2263
</member>
2264
<member name="M:Tao.Sdl.SdlTtf.TTF_FontDescent(System.IntPtr)">
2265
<summary>
2266
Get font min descent (y below origin).
2267
Get the offset from the baseline to the bottom of the font
2268
This is a negative value, relative to the baseline.
2269
</summary>
2270
<param name="font">
2271
The loaded font to get the descent (height below baseline) of
2272
</param>
2273
<remarks>
2274
Get the maximum pixel descent of all glyphs of the loaded font.
2275
This can also be interpreted as the distance from the baseline
2276
to the bottom of the font.
2277
It could be used when drawing an individual glyph relative to a
2278
bottom point, by combining it with the glyph's maxy metric
2279
to resolve the top of the rectangle used when blitting the
2280
glyph on the screen.
2281
<p>
2282
rect.y = bottom - TTF_FontDescent(font) - glyph_metric.maxy;
2283
</p>
2284
<p>NOTE: Passing a NULL font into this function will cause a segfault.</p>
2285
<p>Binds to C-function in SDL_ttf.h
2286
<code>
2287
int TTF_FontDescent(TTF_Font *font)
2288
</code></p>
2289
</remarks>
2290
<example>
2291
<code>
2292
// get the loaded font's max descent
2293
//TTF_Font *font;
2294
2295
printf("The font descent is: %d\n", TTF_FontDescent(font));
2296
</code>
2297
</example>
2298
<returns>
2299
The maximum pixel height of all glyphs in the font.
2300
</returns>
2301
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_FontHeight(System.IntPtr)"/>
2302
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_FontAscent(System.IntPtr)"/>
2303
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_FontLineSkip(System.IntPtr)"/>
2304
</member>
2305
<member name="M:Tao.Sdl.SdlTtf.TTF_FontLineSkip(System.IntPtr)">
2306
<summary>
2307
Get the recommended spacing between lines of text for this font.
2308
</summary>
2309
<param name="font">
2310
The loaded font to get the line skip height of
2311
</param>
2312
<remarks>
2313
Get the reccomended pixel height of a rendered line of text
2314
of the loaded font. This is usually larger than the
2315
TTF_FontHeight of the font.
2316
<p>
2317
NOTE: Passing a NULL font into this function will cause a segfault.
2318
</p>
2319
<p>Binds to C-function in SDL_ttf.h
2320
<code>
2321
int TTF_FontLineSkip(TTF_Font *font)
2322
</code></p>
2323
</remarks>
2324
<example>
2325
<code>
2326
// get the loaded font's max descent
2327
//TTF_Font *font;
2328
2329
printf("The font descent is: %d\n", TTF_FontDescent(font));
2330
</code>
2331
</example>
2332
<returns>
2333
The maximum pixel height of all glyphs in the font.
2334
</returns>
2335
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_FontHeight(System.IntPtr)"/>
2336
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_FontAscent(System.IntPtr)"/>
2337
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_FontDescent(System.IntPtr)"/>
2338
</member>
2339
<member name="M:Tao.Sdl.SdlTtf.TTF_FontFaces(System.IntPtr)">
2340
<summary>
2341
Get the number of faces of the font
2342
</summary>
2343
<remarks>
2344
<p>Binds to C-function in SDL_ttf.h
2345
<code>
2346
long TTF_FontFaces(TTF_Font *font)
2347
</code></p>
2348
</remarks>
2349
<example>
2350
<code>
2351
2352
</code>
2353
</example>
2354
<param name="font"></param>
2355
<returns>Number of faces in a font</returns>
2356
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_FontFaceIsFixedWidth(System.IntPtr)"/>
2357
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_FontFaceFamilyName(System.IntPtr)"/>
2358
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_FontFaceStyleName(System.IntPtr)"/>
2359
</member>
2360
<member name="M:Tao.Sdl.SdlTtf.TTF_FontFaceIsFixedWidth(System.IntPtr)">
2361
<summary>
2362
Get whether font is monospaced or not.
2363
</summary>
2364
<remarks>
2365
<p>Binds to C-function in SDL_ttf.h
2366
<code>
2367
int TTF_FontFaceIsFixedWidth(TTF_Font *font)
2368
</code></p>
2369
</remarks>
2370
<example>
2371
<code>
2372
2373
</code>
2374
</example>
2375
<param name="font"></param>
2376
<returns>1 if true, 0 if false</returns>
2377
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_FontFaces(System.IntPtr)"/>
2378
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_FontFaceFamilyName(System.IntPtr)"/>
2379
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_FontFaceStyleName(System.IntPtr)"/>
2380
</member>
2381
<member name="M:Tao.Sdl.SdlTtf.TTF_FontFaceFamilyName(System.IntPtr)">
2382
<summary>
2383
Get current font face family name string.
2384
</summary>
2385
<remarks>
2386
<p>Binds to C-function in SDL_ttf.h
2387
<code>
2388
char * TTF_FontFaceFamilyName(TTF_Font *font)
2389
</code></p>
2390
</remarks>
2391
<example>
2392
<code>
2393
2394
</code>
2395
</example>
2396
<param name="font"></param>
2397
<returns>Name of font family</returns>
2398
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_FontFaces(System.IntPtr)"/>
2399
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_FontFaceIsFixedWidth(System.IntPtr)"/>
2400
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_FontFaceStyleName(System.IntPtr)"/>
2401
</member>
2402
<member name="M:Tao.Sdl.SdlTtf.TTF_FontFaceStyleName(System.IntPtr)">
2403
<summary>
2404
Get current font face style name string.
2405
</summary>
2406
<remarks>
2407
<p>Binds to C-function in SDL_ttf.h
2408
<code>
2409
char * TTF_FontFaceStyleName(TTF_Font *font)
2410
</code></p>
2411
</remarks>
2412
<example>
2413
<code>
2414
2415
</code>
2416
</example>
2417
<param name="font"></param>
2418
<returns></returns>
2419
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_FontFaces(System.IntPtr)"/>
2420
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_FontFaceIsFixedWidth(System.IntPtr)"/>
2421
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_FontFaceFamilyName(System.IntPtr)"/>
2422
</member>
2423
<member name="M:Tao.Sdl.SdlTtf.TTF_GlyphMetrics(System.IntPtr,System.Int16,System.Int32@,System.Int32@,System.Int32@,System.Int32@,System.Int32@)">
2424
<summary>
2425
Get individual font glyph metrics
2426
</summary>
2427
<remarks>
2428
To understand what these metrics mean, here is a useful link:
2429
http://freetype.sourceforge.net/freetype2/docs/tutorial/step2.html
2430
<p>Binds to C-function in SDL_ttf.h
2431
<code>
2432
int TTF_GlyphMetrics(TTF_Font *font, Uint16 ch, int *minx, int *maxx, int *miny, int *maxy, int *advance)
2433
</code></p>
2434
</remarks>
2435
<example>
2436
<code>
2437
2438
</code>
2439
</example>
2440
<param name="font"></param>
2441
<param name="ch"></param>
2442
<param name="minx"></param>
2443
<param name="maxx"></param>
2444
<param name="miny"></param>
2445
<param name="maxy"></param>
2446
<param name="advance"></param>
2447
<returns></returns>
2448
</member>
2449
<member name="M:Tao.Sdl.SdlTtf.TTF_SizeText(System.IntPtr,System.String,System.Int32@,System.Int32@)">
2450
<summary>
2451
Get size of LATIN1 text string as would be rendered
2452
</summary>
2453
<remarks>
2454
<p>Binds to C-function in SDL_ttf.h
2455
<code>
2456
int TTF_SizeText(TTF_Font *font, const char *text, int *w, int *h)
2457
</code></p>
2458
</remarks>
2459
<example>
2460
<code>
2461
2462
</code>
2463
</example>
2464
<param name="font"></param>
2465
<param name="text"></param>
2466
<param name="w"></param>
2467
<param name="h"></param>
2468
<returns></returns>
2469
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_SizeUTF8(System.IntPtr,System.String,System.Int32@,System.Int32@)"/>
2470
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_SizeUNICODE(System.IntPtr,System.String,System.Int32@,System.Int32@)"/>
2471
</member>
2472
<member name="M:Tao.Sdl.SdlTtf.TTF_SizeUTF8(System.IntPtr,System.String,System.Int32@,System.Int32@)">
2473
<summary>
2474
Get size of UTF8 text string as would be rendered
2475
</summary>
2476
<remarks>
2477
<p>Binds to C-function in SDL_ttf.h
2478
<code>
2479
int SDLCALL TTF_SizeUTF8(TTF_Font *font, const char *text, int *w, int *h)
2480
</code></p>
2481
</remarks>
2482
<example>
2483
<code>
2484
2485
</code>
2486
</example>
2487
<param name="font"></param>
2488
<param name="text"></param>
2489
<param name="w"></param>
2490
<param name="h"></param>
2491
<returns></returns>
2492
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_SizeText(System.IntPtr,System.String,System.Int32@,System.Int32@)"/>
2493
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_SizeUNICODE(System.IntPtr,System.String,System.Int32@,System.Int32@)"/>
2494
</member>
2495
<member name="M:Tao.Sdl.SdlTtf.TTF_SizeUNICODE(System.IntPtr,System.String,System.Int32@,System.Int32@)">
2496
<summary>
2497
Get size of UNICODE text string as would be rendered
2498
</summary>
2499
<remarks>
2500
<p>Binds to C-function in SDL_ttf.h
2501
<code>
2502
int SDLCALL TTF_SizeUNICODE(TTF_Font *font, const Uint16 *text, int *w, int *h)
2503
</code></p>
2504
</remarks>
2505
<example>
2506
<code>
2507
2508
</code>
2509
</example>
2510
<param name="font"></param>
2511
<param name="text"></param>
2512
<param name="w"></param>
2513
<param name="h"></param>
2514
<returns></returns>
2515
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_SizeText(System.IntPtr,System.String,System.Int32@,System.Int32@)"/>
2516
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_SizeUTF8(System.IntPtr,System.String,System.Int32@,System.Int32@)"/>
2517
</member>
2518
<member name="M:Tao.Sdl.SdlTtf.TTF_RenderText_Solid(System.IntPtr,System.String,Tao.Sdl.Sdl.SDL_Color)">
2519
<summary>
2520
Draw LATIN1 text in solid mode.
2521
</summary>
2522
<param name="font">
2523
Font to render the text with.
2524
A NULL pointer is not checked.
2525
</param>
2526
<param name="text">
2527
The LATIN1 null terminated string to render.
2528
</param>
2529
<param name="fg">
2530
The color to render the text in. This becomes colormap index 1.
2531
</param>
2532
<returns>
2533
a pointer to a new SDL_Surface.
2534
NULL is returned on errors.
2535
</returns>
2536
<remarks>
2537
<p>This function renders text using a TTF_Font.
2538
This mode of rendering is:</p>
2539
<p>Solid</p>
2540
<p>Quick and Dirty</p>
2541
<p>Create an 8-bit palettized surface and render the given
2542
text at fast quality with the given font and color.
2543
The 0 pixel value is the colorkey, giving a transparent
2544
background, and the 1 pixel value is set to the text
2545
color. The colormap is set to have the desired
2546
foreground color at index 1, this allows you to
2547
change the color without having to render the text
2548
again. Colormap index 0 is of course not drawn,
2549
since it is the colorkey, and thus transparent,
2550
though it's actual color is 255 minus each RGB
2551
component of the foreground. This is the fastest
2552
rendering speed of all the rendering modes. This results in no box
2553
around the text, but the text is not as smooth.
2554
The resulting surface should blit faster than the Blended one.
2555
Use this mode for FPS and other fast changing updating text displays.</p>
2556
<p>Binds to C-function in SDL_ttf.h
2557
<code>
2558
SDL_Surface * TTF_RenderText_Solid(TTF_Font *font, const char *text, SDL_Color fg)
2559
</code></p>
2560
</remarks>
2561
<example>
2562
<code>
2563
// Turn on byte swapping for UNICODE text
2564
SDL_Surface *text_surface;
2565
if(!(text_surface=TTF_RenderText_Solid(font,"Hello World!", &amp;color)))
2566
{
2567
//handle error here, perhaps print TTF_GetError at least
2568
}
2569
</code>
2570
</example>
2571
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_SizeText(System.IntPtr,System.String,System.Int32@,System.Int32@)"/>
2572
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_RenderUTF8_Solid(System.IntPtr,System.String,Tao.Sdl.Sdl.SDL_Color)"/>
2573
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_RenderUNICODE_Solid(System.IntPtr,System.String,Tao.Sdl.Sdl.SDL_Color)"/>
2574
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_RenderGlyph_Solid(System.IntPtr,System.Int16,Tao.Sdl.Sdl.SDL_Color)"/>
2575
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_RenderText_Shaded(System.IntPtr,System.String,Tao.Sdl.Sdl.SDL_Color,Tao.Sdl.Sdl.SDL_Color)"/>
2576
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_RenderText_Blended(System.IntPtr,System.String,Tao.Sdl.Sdl.SDL_Color)"/>
2577
</member>
2578
<member name="M:Tao.Sdl.SdlTtf.TTF_RenderUTF8_Solid(System.IntPtr,System.String,Tao.Sdl.Sdl.SDL_Color)">
2579
<summary>
2580
Draw UTF8 text in solid mode.
2581
</summary>
2582
<remarks>
2583
<p>This function renders text using a TTF_Font.
2584
This mode of rendering is:</p>
2585
<p>Solid</p>
2586
<p>Quick and Dirty</p>
2587
<p>Create an 8-bit palettized surface and render the given
2588
text at fast quality with the given font and color.
2589
The 0 pixel value is the colorkey, giving a transparent
2590
background, and the 1 pixel value is set to the text
2591
color. The colormap is set to have the desired
2592
foreground color at index 1, this allows you to
2593
change the color without having to render the text
2594
again. Colormap index 0 is of course not drawn,
2595
since it is the colorkey, and thus transparent,
2596
though it's actual color is 255 minus each RGB
2597
component of the foreground. This is the fastest
2598
rendering speed of all the rendering modes. This results in no box
2599
around the text, but the text is not as smooth.
2600
The resulting surface should blit faster than the Blended one.
2601
Use this mode for FPS and other fast changing updating text displays.</p>
2602
<p>Binds to C-function in SDL_ttf.h
2603
<code>
2604
SDL_Surface * TTF_RenderUTF8_Solid(TTF_Font *font,const char *text, SDL_Color fg)
2605
</code></p>
2606
</remarks>
2607
<param name="font">
2608
Font to render the text with.
2609
A NULL pointer is not checked.
2610
</param>
2611
<param name="text">
2612
The UTF8 null terminated string to render.
2613
</param>
2614
<param name="fg">
2615
The color to render the text in. This becomes colormap index 1.
2616
</param>
2617
<returns>
2618
a pointer to a new SDL_Surface.
2619
NULL is returned on errors.
2620
</returns>
2621
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_SizeText(System.IntPtr,System.String,System.Int32@,System.Int32@)"/>
2622
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_RenderText_Solid(System.IntPtr,System.String,Tao.Sdl.Sdl.SDL_Color)"/>
2623
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_RenderUNICODE_Solid(System.IntPtr,System.String,Tao.Sdl.Sdl.SDL_Color)"/>
2624
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_RenderGlyph_Solid(System.IntPtr,System.Int16,Tao.Sdl.Sdl.SDL_Color)"/>
2625
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_RenderText_Shaded(System.IntPtr,System.String,Tao.Sdl.Sdl.SDL_Color,Tao.Sdl.Sdl.SDL_Color)"/>
2626
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_RenderText_Blended(System.IntPtr,System.String,Tao.Sdl.Sdl.SDL_Color)"/>
2627
</member>
2628
<member name="M:Tao.Sdl.SdlTtf.TTF_RenderUNICODE_Solid(System.IntPtr,System.String,Tao.Sdl.Sdl.SDL_Color)">
2629
<summary>
2630
Draw UNICODE text in solid mode.
2631
</summary>
2632
<remarks>
2633
<p>This function renders text using a TTF_Font.
2634
This mode of rendering is:</p>
2635
<p>Solid</p>
2636
<p>Quick and Dirty</p>
2637
<p>Create an 8-bit palettized surface and render the given
2638
text at fast quality with the given font and color.
2639
The 0 pixel value is the colorkey, giving a transparent
2640
background, and the 1 pixel value is set to the text
2641
color. The colormap is set to have the desired
2642
foreground color at index 1, this allows you to
2643
change the color without having to render the text
2644
again. Colormap index 0 is of course not drawn,
2645
since it is the colorkey, and thus transparent,
2646
though it's actual color is 255 minus each RGB
2647
component of the foreground. This is the fastest
2648
rendering speed of all the rendering modes. This results in no box
2649
around the text, but the text is not as smooth.
2650
The resulting surface should blit faster than the Blended one.
2651
Use this mode for FPS and other fast changing updating text displays.</p>
2652
<p>Binds to C-function in SDL_ttf.h
2653
<code>
2654
SDL_Surface * SDLCALL TTF_RenderUNICODE_Solid(TTF_Font *font, const Uint16 *text, SDL_Color fg)
2655
</code></p>
2656
</remarks>
2657
<param name="font">
2658
Font to render the text with.
2659
A NULL pointer is not checked.
2660
</param>
2661
<param name="text">
2662
The UNICODE null terminated string to render.
2663
</param>
2664
<param name="fg">
2665
The color to render the text in. This becomes colormap index 1.
2666
</param>
2667
<returns>
2668
This function returns the new surface,
2669
or NULL if there was an error.
2670
</returns>
2671
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_SizeText(System.IntPtr,System.String,System.Int32@,System.Int32@)"/>
2672
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_RenderText_Solid(System.IntPtr,System.String,Tao.Sdl.Sdl.SDL_Color)"/>
2673
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_RenderUTF8_Solid(System.IntPtr,System.String,Tao.Sdl.Sdl.SDL_Color)"/>
2674
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_RenderGlyph_Solid(System.IntPtr,System.Int16,Tao.Sdl.Sdl.SDL_Color)"/>
2675
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_RenderText_Shaded(System.IntPtr,System.String,Tao.Sdl.Sdl.SDL_Color,Tao.Sdl.Sdl.SDL_Color)"/>
2676
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_RenderText_Blended(System.IntPtr,System.String,Tao.Sdl.Sdl.SDL_Color)"/>
2677
</member>
2678
<member name="M:Tao.Sdl.SdlTtf.TTF_RenderGlyph_Solid(System.IntPtr,System.Int16,Tao.Sdl.Sdl.SDL_Color)">
2679
<summary>
2680
Draw a UNICODE glyph in solid mode.
2681
</summary>
2682
<remarks>
2683
<p>This function renders text using a TTF_Font.
2684
This mode of rendering is:</p>
2685
<p>Solid</p>
2686
<p>Quick and Dirty</p>
2687
<p>Create an 8-bit palettized surface and render the given
2688
text at fast quality with the given font and color.
2689
The 0 pixel value is the colorkey, giving a transparent
2690
background, and the 1 pixel value is set to the text
2691
color. The colormap is set to have the desired
2692
foreground color at index 1, this allows you to
2693
change the color without having to render the text
2694
again. Colormap index 0 is of course not drawn,
2695
since it is the colorkey, and thus transparent,
2696
though it's actual color is 255 minus each RGB
2697
component of the foreground. This is the fastest
2698
rendering speed of all the rendering modes. This results in no box
2699
around the text, but the text is not as smooth.
2700
The glyph is rendered without any padding or
2701
centering in the X direction,
2702
and aligned normally in the Y direction.
2703
The resulting surface should blit faster than the Blended one.
2704
Use this mode for FPS and other fast changing updating text displays.</p>
2705
<p>Binds to C-function in SDL_ttf.h
2706
<code>
2707
SDL_Surface * SDLCALL TTF_RenderGlyph_Solid(TTF_Font *font, Uint16 ch, SDL_Color fg)
2708
</code></p>
2709
</remarks>
2710
<param name="font">Font to render glyph with.
2711
A NULL pointer is not checked.</param>
2712
<param name="ch">
2713
The glyph to render
2714
</param>
2715
<param name="fg">
2716
The color to render the text in.
2717
This becomes colormap index 1.
2718
</param>
2719
<returns>
2720
This function returns the new surface,
2721
or NULL if there was an error.
2722
</returns>
2723
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_SizeText(System.IntPtr,System.String,System.Int32@,System.Int32@)"/>
2724
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_RenderText_Solid(System.IntPtr,System.String,Tao.Sdl.Sdl.SDL_Color)"/>
2725
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_RenderUTF8_Solid(System.IntPtr,System.String,Tao.Sdl.Sdl.SDL_Color)"/>
2726
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_RenderUNICODE_Solid(System.IntPtr,System.String,Tao.Sdl.Sdl.SDL_Color)"/>
2727
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_RenderText_Shaded(System.IntPtr,System.String,Tao.Sdl.Sdl.SDL_Color,Tao.Sdl.Sdl.SDL_Color)"/>
2728
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_RenderText_Blended(System.IntPtr,System.String,Tao.Sdl.Sdl.SDL_Color)"/>
2729
</member>
2730
<member name="M:Tao.Sdl.SdlTtf.TTF_RenderText_Shaded(System.IntPtr,System.String,Tao.Sdl.Sdl.SDL_Color,Tao.Sdl.Sdl.SDL_Color)">
2731
<summary>
2732
Draw LATIN1 text in shaded mode.
2733
</summary>
2734
<remarks>
2735
<p>Shaded</p>
2736
<p>Slow and Nice, but with a Solid Box</p>
2737
<p>Create an 8-bit palettized surface and render the
2738
given text at high quality with the given font and colors.
2739
The 0 pixel value is background, while other pixels have
2740
varying degrees of the foreground color from the background
2741
color. This results in a box of the background color around
2742
the text in the foreground color. The text is antialiased.
2743
This will render slower than Solid, but in about the same
2744
time as Blended mode. The resulting surface should blit
2745
as fast as Solid, once it is made. Use this when you need
2746
nice text, and can live with a box...</p>
2747
<p>Binds to C-function in SDL_ttf.h
2748
<code>
2749
SDL_Surface * TTF_RenderText_Shaded(TTF_Font *font, const char *text, SDL_Color fg, SDL_Color bg)
2750
</code></p>
2751
</remarks>
2752
<param name="font">Font to render the text with.
2753
A NULL pointer is not checked.</param>
2754
<param name="fg">
2755
The color to render the text in.
2756
This becomes colormap index 1.
2757
</param>
2758
<param name="bg">
2759
The background color to render in.
2760
</param>
2761
<param name="text">
2762
The LATIN1 null terminated string to render.
2763
</param>
2764
<returns>
2765
This function returns the new surface,
2766
or NULL if there was an error.
2767
</returns>
2768
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_SizeText(System.IntPtr,System.String,System.Int32@,System.Int32@)"/>
2769
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_RenderText_Solid(System.IntPtr,System.String,Tao.Sdl.Sdl.SDL_Color)"/>
2770
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_RenderUTF8_Shaded(System.IntPtr,System.String,Tao.Sdl.Sdl.SDL_Color,Tao.Sdl.Sdl.SDL_Color)"/>
2771
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_RenderUNICODE_Shaded(System.IntPtr,System.String,Tao.Sdl.Sdl.SDL_Color,Tao.Sdl.Sdl.SDL_Color)"/>
2772
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_RenderGlyph_Shaded(System.IntPtr,System.Int16,Tao.Sdl.Sdl.SDL_Color,Tao.Sdl.Sdl.SDL_Color)"/>
2773
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_RenderText_Blended(System.IntPtr,System.String,Tao.Sdl.Sdl.SDL_Color)"/>
2774
</member>
2775
<member name="M:Tao.Sdl.SdlTtf.TTF_RenderUTF8_Shaded(System.IntPtr,System.String,Tao.Sdl.Sdl.SDL_Color,Tao.Sdl.Sdl.SDL_Color)">
2776
<summary>
2777
Draw UTF8 text in shaded mode.
2778
</summary>
2779
<remarks>
2780
<p>Shaded</p>
2781
<p>Slow and Nice, but with a Solid Box</p>
2782
<p>Create an 8-bit palettized surface and render the
2783
given text at high quality with the given font and colors.
2784
The 0 pixel value is background, while other pixels have
2785
varying degrees of the foreground color from the background
2786
color. This results in a box of the background color around
2787
the text in the foreground color. The text is antialiased.
2788
This will render slower than Solid, but in about the same
2789
time as Blended mode. The resulting surface should blit
2790
as fast as Solid, once it is made. Use this when you need
2791
nice text, and can live with a box...</p>
2792
<p>Binds to C-function in SDL_ttf.h
2793
<code>
2794
SDL_Surface * TTF_RenderUTF8_Shaded(TTF_Font *font, const char *text, SDL_Color fg, SDL_Color bg)
2795
</code></p>
2796
</remarks>
2797
<param name="font">Font to render the text with.
2798
A NULL pointer is not checked.</param>
2799
<param name="fg">
2800
The color to render the text in.
2801
This becomes colormap index 1.
2802
</param>
2803
<param name="bg">
2804
The background color to render in.
2805
</param>
2806
<param name="text">
2807
The UTF8 null terminated string to render.
2808
</param>
2809
<returns>
2810
This function returns the new surface,
2811
or NULL if there was an error.
2812
</returns>
2813
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_SizeText(System.IntPtr,System.String,System.Int32@,System.Int32@)"/>
2814
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_RenderText_Solid(System.IntPtr,System.String,Tao.Sdl.Sdl.SDL_Color)"/>
2815
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_RenderText_Shaded(System.IntPtr,System.String,Tao.Sdl.Sdl.SDL_Color,Tao.Sdl.Sdl.SDL_Color)"/>
2816
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_RenderUNICODE_Shaded(System.IntPtr,System.String,Tao.Sdl.Sdl.SDL_Color,Tao.Sdl.Sdl.SDL_Color)"/>
2817
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_RenderGlyph_Shaded(System.IntPtr,System.Int16,Tao.Sdl.Sdl.SDL_Color,Tao.Sdl.Sdl.SDL_Color)"/>
2818
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_RenderText_Blended(System.IntPtr,System.String,Tao.Sdl.Sdl.SDL_Color)"/>
2819
</member>
2820
<member name="M:Tao.Sdl.SdlTtf.TTF_RenderUNICODE_Shaded(System.IntPtr,System.String,Tao.Sdl.Sdl.SDL_Color,Tao.Sdl.Sdl.SDL_Color)">
2821
<summary>
2822
Draw UNICODE text in shaded mode.
2823
</summary>
2824
<remarks>
2825
<p>Shaded</p>
2826
<p>Slow and Nice, but with a Solid Box</p>
2827
<p>Create an 8-bit palettized surface and render the
2828
given text at high quality with the given font and colors.
2829
The 0 pixel value is background, while other pixels have
2830
varying degrees of the foreground color from the background
2831
color. This results in a box of the background color around
2832
the text in the foreground color. The text is antialiased.
2833
This will render slower than Solid, but in about the same
2834
time as Blended mode. The resulting surface should blit
2835
as fast as Solid, once it is made. Use this when you need
2836
nice text, and can live with a box...</p>
2837
<p>Binds to C-function in SDL_ttf.h
2838
<code>
2839
SDL_Surface * TTF_RenderUNICODE_Shaded(TTF_Font *font, const Uint16 *text, SDL_Color fg, SDL_Color bg)
2840
</code></p>
2841
</remarks>
2842
<param name="font">Font to render the text with.
2843
A NULL pointer is not checked.</param>
2844
<param name="fg">
2845
The color to render the text in.
2846
This becomes colormap index 1.
2847
</param>
2848
<param name="bg">
2849
The background color to render in.
2850
</param>
2851
<param name="text">
2852
The UNICODE string to render.
2853
</param>
2854
<returns>
2855
This function returns the new surface,
2856
or NULL if there was an error.
2857
</returns>
2858
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_SizeText(System.IntPtr,System.String,System.Int32@,System.Int32@)"/>
2859
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_RenderText_Solid(System.IntPtr,System.String,Tao.Sdl.Sdl.SDL_Color)"/>
2860
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_RenderText_Shaded(System.IntPtr,System.String,Tao.Sdl.Sdl.SDL_Color,Tao.Sdl.Sdl.SDL_Color)"/>
2861
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_RenderUTF8_Shaded(System.IntPtr,System.String,Tao.Sdl.Sdl.SDL_Color,Tao.Sdl.Sdl.SDL_Color)"/>
2862
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_RenderGlyph_Shaded(System.IntPtr,System.Int16,Tao.Sdl.Sdl.SDL_Color,Tao.Sdl.Sdl.SDL_Color)"/>
2863
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_RenderText_Blended(System.IntPtr,System.String,Tao.Sdl.Sdl.SDL_Color)"/>
2864
</member>
2865
<member name="M:Tao.Sdl.SdlTtf.TTF_RenderGlyph_Shaded(System.IntPtr,System.Int16,Tao.Sdl.Sdl.SDL_Color,Tao.Sdl.Sdl.SDL_Color)">
2866
<summary>
2867
Draw a UNICODE glyph in shaded mode.
2868
</summary>
2869
<remarks>
2870
<p>Shaded</p>
2871
<p>Slow and Nice, but with a Solid Box</p>
2872
<p>Create an 8-bit palettized surface and render the
2873
given text at high quality with the given font and colors.
2874
The 0 pixel value is background, while other pixels have
2875
varying degrees of the foreground color from the background
2876
color. This results in a box of the background color around
2877
the text in the foreground color. The text is antialiased.
2878
This will render slower than Solid, but in about the same
2879
time as Blended mode. The resulting surface should blit
2880
as fast as Solid, once it is made. Use this when you need
2881
nice text, and can live with a box...</p>
2882
<p>Binds to C-function in SDL_ttf.h
2883
<code>
2884
SDL_Surface * TTF_RenderGlyph_Shaded(TTF_Font *font, Uint16 ch, SDL_Color fg, SDL_Color bg)
2885
</code></p>
2886
</remarks>
2887
<param name="font">Font to render the text with.
2888
A NULL pointer is not checked.</param>
2889
<param name="fg">
2890
The color to render the text in.
2891
This becomes colormap index 1.
2892
</param>
2893
<param name="bg">
2894
The background color to render in.
2895
</param>
2896
<param name="ch">
2897
The glyph to render.
2898
</param>
2899
<returns>
2900
This function returns the new surface,
2901
or NULL if there was an error.
2902
</returns>
2903
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_SizeText(System.IntPtr,System.String,System.Int32@,System.Int32@)"/>
2904
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_RenderText_Solid(System.IntPtr,System.String,Tao.Sdl.Sdl.SDL_Color)"/>
2905
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_RenderText_Shaded(System.IntPtr,System.String,Tao.Sdl.Sdl.SDL_Color,Tao.Sdl.Sdl.SDL_Color)"/>
2906
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_RenderUTF8_Shaded(System.IntPtr,System.String,Tao.Sdl.Sdl.SDL_Color,Tao.Sdl.Sdl.SDL_Color)"/>
2907
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_RenderUNICODE_Shaded(System.IntPtr,System.String,Tao.Sdl.Sdl.SDL_Color,Tao.Sdl.Sdl.SDL_Color)"/>
2908
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_RenderText_Blended(System.IntPtr,System.String,Tao.Sdl.Sdl.SDL_Color)"/>
2909
</member>
2910
<member name="M:Tao.Sdl.SdlTtf.TTF_RenderText_Blended(System.IntPtr,System.String,Tao.Sdl.Sdl.SDL_Color)">
2911
<summary>
2912
Draw LATIN1 text in blended mode.
2913
</summary>
2914
<param name="font">
2915
Font to render the text with.
2916
A NULL pointer is not checked.
2917
</param>
2918
<param name="text">
2919
The LATIN1 null terminated string to render.
2920
</param>
2921
<param name="fg">
2922
The color to render the text in. This becomes colormap index 1.
2923
</param>
2924
<returns>
2925
a pointer to a new SDL_Surface.
2926
NULL is returned on errors.
2927
</returns>
2928
<remarks>
2929
<p>This function renders text using a TTF_Font.
2930
This mode of rendering is:</p>
2931
<p>Blended</p>
2932
<p>Slow Slow Slow, but Ultra Nice over another image</p>
2933
<p>Create a 32-bit ARGB surface and render the given text at high
2934
quality, using alpha blending to dither the font with the given
2935
color. This results in a surface with alpha transparency, so you
2936
don't have a solid colored box around the text. The text is
2937
antialiased. This will render slower than Solid, but in about
2938
the same time as Shaded mode. The resulting surface will blit
2939
slower than if you had used Solid or Shaded. Use this when you
2940
want high quality, and the text isn't changing too fast.</p>
2941
<p>Binds to C-function in SDL_ttf.h
2942
<code>
2943
SDL_Surface * SDLCALL TTF_RenderText_Blended(TTF_Font *font, const char *text, SDL_Color fg)
2944
</code></p>
2945
</remarks>
2946
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_SizeText(System.IntPtr,System.String,System.Int32@,System.Int32@)"/>
2947
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_RenderUTF8_Blended(System.IntPtr,System.String,Tao.Sdl.Sdl.SDL_Color)"/>
2948
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_RenderUNICODE_Blended(System.IntPtr,System.String,Tao.Sdl.Sdl.SDL_Color)"/>
2949
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_RenderGlyph_Blended(System.IntPtr,System.Int16,Tao.Sdl.Sdl.SDL_Color)"/>
2950
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_RenderText_Shaded(System.IntPtr,System.String,Tao.Sdl.Sdl.SDL_Color,Tao.Sdl.Sdl.SDL_Color)"/>
2951
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_RenderText_Solid(System.IntPtr,System.String,Tao.Sdl.Sdl.SDL_Color)"/>
2952
</member>
2953
<member name="M:Tao.Sdl.SdlTtf.TTF_RenderUTF8_Blended(System.IntPtr,System.String,Tao.Sdl.Sdl.SDL_Color)">
2954
<summary>
2955
Draw UTF8 text in blended mode.
2956
</summary>
2957
<param name="font">
2958
Font to render the text with.
2959
A NULL pointer is not checked.
2960
</param>
2961
<param name="text">
2962
The UTF8 null terminated string to render.
2963
</param>
2964
<param name="fg">
2965
The color to render the text in. This becomes colormap index 1.
2966
</param>
2967
<returns>
2968
a pointer to a new SDL_Surface.
2969
NULL is returned on errors.
2970
</returns>
2971
<remarks>
2972
<p>This function renders text using a TTF_Font.
2973
This mode of rendering is:</p>
2974
<p>Blended</p>
2975
<p>Slow Slow Slow, but Ultra Nice over another image</p>
2976
<p>Create a 32-bit ARGB surface and render the given text at high
2977
quality, using alpha blending to dither the font with the given
2978
color. This results in a surface with alpha transparency, so you
2979
don't have a solid colored box around the text. The text is
2980
antialiased. This will render slower than Solid, but in about
2981
the same time as Shaded mode. The resulting surface will blit
2982
slower than if you had used Solid or Shaded. Use this when you
2983
want high quality, and the text isn't changing too fast.</p>
2984
<p>Binds to C-function in SDL_ttf.h
2985
<code>
2986
SDL_Surface * SDLCALL TTF_RenderUTF8_Blended(TTF_Font *font, const char *text, SDL_Color fg)
2987
</code></p>
2988
</remarks>
2989
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_SizeText(System.IntPtr,System.String,System.Int32@,System.Int32@)"/>
2990
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_RenderText_Blended(System.IntPtr,System.String,Tao.Sdl.Sdl.SDL_Color)"/>
2991
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_RenderUNICODE_Blended(System.IntPtr,System.String,Tao.Sdl.Sdl.SDL_Color)"/>
2992
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_RenderGlyph_Blended(System.IntPtr,System.Int16,Tao.Sdl.Sdl.SDL_Color)"/>
2993
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_RenderText_Shaded(System.IntPtr,System.String,Tao.Sdl.Sdl.SDL_Color,Tao.Sdl.Sdl.SDL_Color)"/>
2994
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_RenderText_Solid(System.IntPtr,System.String,Tao.Sdl.Sdl.SDL_Color)"/>
2995
</member>
2996
<member name="M:Tao.Sdl.SdlTtf.TTF_RenderUNICODE_Blended(System.IntPtr,System.String,Tao.Sdl.Sdl.SDL_Color)">
2997
<summary>
2998
Draw UNICODE text in blended mode.
2999
</summary>
3000
<param name="font">
3001
Font to render the text with.
3002
A NULL pointer is not checked.
3003
</param>
3004
<param name="text">
3005
The UNICODE string to render.
3006
</param>
3007
<param name="fg">
3008
The color to render the text in. This becomes colormap index 1.
3009
</param>
3010
<returns>
3011
a pointer to a new SDL_Surface.
3012
NULL is returned on errors.
3013
</returns>
3014
<remarks>
3015
<p>This function renders text using a TTF_Font.
3016
This mode of rendering is:</p>
3017
<p>Blended</p>
3018
<p>Slow Slow Slow, but Ultra Nice over another image</p>
3019
<p>Create a 32-bit ARGB surface and render the given text at high
3020
quality, using alpha blending to dither the font with the given
3021
color. This results in a surface with alpha transparency, so you
3022
don't have a solid colored box around the text. The text is
3023
antialiased. This will render slower than Solid, but in about
3024
the same time as Shaded mode. The resulting surface will blit
3025
slower than if you had used Solid or Shaded. Use this when you
3026
want high quality, and the text isn't changing too fast.</p>
3027
<p>Binds to C-function in SDL_ttf.h
3028
<code>
3029
SDL_Surface * TTF_RenderUNICODE_Blended(TTF_Font *font, const Uint16 *text, SDL_Color fg)
3030
</code></p>
3031
</remarks>
3032
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_SizeText(System.IntPtr,System.String,System.Int32@,System.Int32@)"/>
3033
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_RenderText_Blended(System.IntPtr,System.String,Tao.Sdl.Sdl.SDL_Color)"/>
3034
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_RenderUTF8_Blended(System.IntPtr,System.String,Tao.Sdl.Sdl.SDL_Color)"/>
3035
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_RenderGlyph_Blended(System.IntPtr,System.Int16,Tao.Sdl.Sdl.SDL_Color)"/>
3036
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_RenderText_Shaded(System.IntPtr,System.String,Tao.Sdl.Sdl.SDL_Color,Tao.Sdl.Sdl.SDL_Color)"/>
3037
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_RenderText_Solid(System.IntPtr,System.String,Tao.Sdl.Sdl.SDL_Color)"/>
3038
</member>
3039
<member name="M:Tao.Sdl.SdlTtf.TTF_RenderGlyph_Blended(System.IntPtr,System.Int16,Tao.Sdl.Sdl.SDL_Color)">
3040
<summary>
3041
Draw a UNICODE glyph in blended mode.
3042
</summary>
3043
<param name="font">
3044
Font to render the text with.
3045
A NULL pointer is not checked.
3046
</param>
3047
<param name="ch">
3048
The glyph to render.
3049
</param>
3050
<param name="fg">
3051
The color to render the text in. This becomes colormap index 1.
3052
</param>
3053
<returns>
3054
a pointer to a new SDL_Surface.
3055
NULL is returned on errors.
3056
</returns>
3057
<remarks>
3058
<p>This function renders text using a TTF_Font.
3059
This mode of rendering is:</p>
3060
<p>Blended</p>
3061
<p>Slow Slow Slow, but Ultra Nice over another image</p>
3062
<p>Create a 32-bit ARGB surface and render the given text at high
3063
quality, using alpha blending to dither the font with the given
3064
color. This results in a surface with alpha transparency, so you
3065
don't have a solid colored box around the text. The text is
3066
antialiased. This will render slower than Solid, but in about
3067
the same time as Shaded mode. The resulting surface will blit
3068
slower than if you had used Solid or Shaded. Use this when you
3069
want high quality, and the text isn't changing too fast.</p>
3070
<p>Binds to C-function in SDL_ttf.h
3071
<code>
3072
SDL_Surface * TTF_RenderUNICODE_Blended(TTF_Font *font, const Uint16 *text, SDL_Color fg)
3073
</code></p>
3074
</remarks>
3075
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_SizeText(System.IntPtr,System.String,System.Int32@,System.Int32@)"/>
3076
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_RenderText_Blended(System.IntPtr,System.String,Tao.Sdl.Sdl.SDL_Color)"/>
3077
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_RenderUTF8_Blended(System.IntPtr,System.String,Tao.Sdl.Sdl.SDL_Color)"/>
3078
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_RenderUNICODE_Blended(System.IntPtr,System.String,Tao.Sdl.Sdl.SDL_Color)"/>
3079
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_RenderText_Shaded(System.IntPtr,System.String,Tao.Sdl.Sdl.SDL_Color,Tao.Sdl.Sdl.SDL_Color)"/>
3080
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_RenderText_Solid(System.IntPtr,System.String,Tao.Sdl.Sdl.SDL_Color)"/>
3081
</member>
3082
<member name="M:Tao.Sdl.SdlTtf.TTF_CloseFont(System.IntPtr)">
3083
<summary>
3084
Close an opened font file
3085
</summary>
3086
<remarks>
3087
Free the memory used by font, and free font itself as well.
3088
Do not use font after this without loading a new font to it.
3089
<p>Binds to C-function in SDL_ttf.h
3090
<code>
3091
void TTF_CloseFont(TTF_Font *font)
3092
</code></p>
3093
</remarks>
3094
<example>
3095
<code>
3096
// free the font
3097
// TTF_Font *font;
3098
TTF_CloseFont(font);
3099
font=NULL; // to be safe...
3100
</code>
3101
</example>
3102
<param name="font">
3103
Pointer to the TTF_Font to free.
3104
</param>
3105
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_OpenFont(System.String,System.Int32)"/>
3106
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_OpenFontIndex(System.String,System.Int32,System.Int64)"/>
3107
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_OpenFontRW(System.IntPtr,System.Int32,System.Int32)"/>
3108
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_CloseFont(System.IntPtr)"/>
3109
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_OpenFontIndexRW(System.IntPtr,System.Int32,System.Int32,System.Int64)"/>
3110
</member>
3111
<member name="M:Tao.Sdl.SdlTtf.TTF_Quit">
3112
<summary>
3113
De-initialize the TTF engine
3114
</summary>
3115
<remarks>
3116
Shutdown and cleanup the truetype font API.
3117
<p>After calling this the SDL_ttf functions should not be used,
3118
excepting TTF_WasInit. You may, of course,
3119
use TTF_Init to use the functionality again.</p>
3120
<p>Binds to C-function in SDL_ttf.h
3121
<code>
3122
void TTF_Quit()
3123
</code></p>
3124
</remarks>
3125
<example>
3126
<code>
3127
TTF_Quit();
3128
// you could SDL_Quit(); here...or not.
3129
</code>
3130
</example>
3131
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_Init"/>
3132
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_WasInit"/>
3133
</member>
3134
<member name="M:Tao.Sdl.SdlTtf.TTF_WasInit">
3135
<summary>
3136
Check if the TTF engine is initialized.
3137
</summary>
3138
<remarks>
3139
Query the initilization status of the truetype font API.
3140
<p>You may, of course, use this before TTF_Init to avoid
3141
initilizing twice in a row. Or use this to determine
3142
if you need to call TTF_Quit.</p>
3143
<p>Binds to C-function in SDL_ttf.h
3144
<code>
3145
int TTF_WasInit()
3146
</code></p>
3147
</remarks>
3148
<example>
3149
<code>
3150
if(!TTF_WasInit() &amp;&amp; TTF_Init()==-1) {
3151
printf("TTF_Init: %s\n", TTF_GetError());
3152
exit(1);
3153
}
3154
</code>
3155
</example>
3156
<returns></returns>
3157
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_Init"/>
3158
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_Quit"/>
3159
</member>
3160
<member name="M:Tao.Sdl.SdlTtf.TTF_SetError(System.String)">
3161
<summary>
3162
Set the current error string
3163
</summary>
3164
<remarks>
3165
This is the same as SDL_SetError, which sets the error string
3166
which may be fetched with TTF_GetError (or SDL_GetError).
3167
This functions acts like printf, except that it is limited to
3168
SDL_ERRBUFIZE(1024) chars in length. It only accepts the
3169
following format types: %s, %d, %f, %p. No variations are
3170
supported, like %.2f would not work. For any more specifics
3171
read the SDL docs.
3172
<p>Binds to C-function in SDL_image.h
3173
<code>
3174
void TTF_SetError(const char *fmt, ...)
3175
</code>
3176
</p>
3177
</remarks>
3178
<example>
3179
<code>
3180
int myfunc(int i) {
3181
TTF_SetError("myfunc is not implemented! %d was passed in.",i);
3182
return(-1);
3183
}
3184
</code></example>
3185
<param name="message"></param>
3186
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_GetError"/>
3187
</member>
3188
<member name="M:Tao.Sdl.SdlTtf.TTF_GetError">
3189
<summary>
3190
Get the current error string
3191
</summary>
3192
<remarks>
3193
This is the same as SDL_GetError, which returns the last error set
3194
as a string which you may use to tell the user what happened when
3195
an error status has been returned from an SDL_ttf function call.
3196
<p>Binds to C-function in SDL_ttf.h
3197
<code>
3198
char *TTF_GetError()
3199
</code>
3200
</p>
3201
</remarks>
3202
<returns>
3203
a char pointer (string) containing a humam
3204
readable version or the reason for the last error that
3205
occured.
3206
</returns>
3207
<example>
3208
<code>
3209
printf("Oh My Goodness, an error : %s", TTF_GetError());
3210
</code>
3211
</example>
3212
<seealso cref="M:Tao.Sdl.SdlTtf.TTF_SetError(System.String)"/>
3213
</member>
3214
<member name="T:Tao.Sdl.SdlTtf.TTF_Font">
3215
<summary>
3216
The opaque holder of a loaded font
3217
</summary>
3218
<remarks>
3219
The opaque holder of a loaded font. You should always be using
3220
a pointer of this type, as in TTF_Font*, and not just plain
3221
TTF_Font. This stores the font data in a struct that is exposed
3222
only by using the API functions to get information.
3223
You should not try to access the struct data directly,
3224
since the struct may change in different versions of the API,
3225
and thus your program would be unreliable.
3226
<p>Struct in SDL_ttf.h
3227
<code>struct _TTF_Font TTF_Font;
3228
</code></p>
3229
</remarks>
3230
</member>
3231
<member name="T:Tao.Sdl.SdlNet">
3232
<summary>
3233
SDL_net is a portable network library for use with SDL.
3234
</summary>
3235
</member>
3236
<member name="F:Tao.Sdl.SdlNet.SDL_NET_NATIVE_LIBRARY">
3237
<summary>
3238
Specifies SdlNet's native library archive.
3239
</summary>
3240
<remarks>
3241
Specifies SDL_net.dll everywhere; will be mapped via
3242
.config for mono.
3243
</remarks>
3244
</member>
3245
<member name="F:Tao.Sdl.SdlNet.CALLING_CONVENTION">
3246
<summary>
3247
Specifies the calling convention.
3248
</summary>
3249
<remarks>
3250
Specifies <see cref="F:System.Runtime.InteropServices.CallingConvention.Cdecl"/>
3251
for Windows and Linux.
3252
</remarks>
3253
</member>
3254
<member name="F:Tao.Sdl.SdlNet.SDL_NET_MAJOR_VERSION">
3255
<summary>
3256
Major Version
3257
</summary>
3258
</member>
3259
<member name="F:Tao.Sdl.SdlNet.SDL_NET_MINOR_VERSION">
3260
<summary>
3261
Minor Version
3262
</summary>
3263
</member>
3264
<member name="F:Tao.Sdl.SdlNet.SDL_NET_PATCHLEVEL">
3265
<summary>
3266
Patch Version
3267
</summary>
3268
</member>
3269
<member name="F:Tao.Sdl.SdlNet.INADDR_ANY">
3270
<summary>
3271
Used for listening on all network interfaces.
3272
</summary>
3273
</member>
3274
<member name="F:Tao.Sdl.SdlNet.INADDR_NONE">
3275
<summary>
3276
Which has limited applications.
3277
</summary>
3278
</member>
3279
<member name="F:Tao.Sdl.SdlNet.INADDR_BROADCAST">
3280
<summary>
3281
Used as destination when sending a message to all clients on
3282
a subnet that allows broadcasts.
3283
</summary>
3284
</member>
3285
<member name="F:Tao.Sdl.SdlNet.SDLNET_MAX_UDPCHANNELS">
3286
<summary>
3287
The maximum number of channels on a UDP socket.
3288
</summary>
3289
</member>
3290
<member name="F:Tao.Sdl.SdlNet.SDLNET_MAX_UDPADDRESSES">
3291
<summary>
3292
The maximum number of addresses bound to a single UDP socket
3293
channel.
3294
</summary>
3295
</member>
3296
<member name="M:Tao.Sdl.SdlNet.SDL_NET_VERSION">
3297
<summary>
3298
This method can be used to fill a version structure with the compile-time
3299
version of the SDL_net library.
3300
</summary>
3301
<returns>
3302
This function returns a <see cref="T:Tao.Sdl.Sdl.SDL_version"/> struct containing the
3303
compiled version number
3304
</returns>
3305
<remarks>
3306
<p>
3307
Binds to C-function call in SDL_net.h:
3308
<code>#define SDL_NET_VERSION(X)
3309
{
3310
(X)-&gt;major = SDL_NET_MAJOR_VERSION;
3311
(X)-&gt;minor = SDL_NET_MINOR_VERSION;
3312
(X)-&gt;patch = SDL_NET_PATCHLEVEL;
3313
}</code>
3314
</p>
3315
</remarks>
3316
</member>
3317
<member name="M:Tao.Sdl.SdlNet.SDLNet_Linked_Version">
3318
<summary>
3319
Using this you can compare the runtime version to the
3320
version that you compiled with.
3321
</summary>
3322
<returns>
3323
This function gets the version of the dynamically
3324
linked SDL_net library in an <see cref="T:Tao.Sdl.Sdl.SDL_version"/> struct.
3325
</returns>
3326
<remarks>
3327
<p>
3328
Binds to C-function call in SDL_net.h:
3329
<code>const SDL_version * SDLNet_Linked_Version(void)</code>
3330
</p>
3331
</remarks>
3332
</member>
3333
<member name="M:Tao.Sdl.SdlNet.SDLNet_Init">
3334
<summary>
3335
Initialize the network API.
3336
</summary>
3337
<remarks>
3338
This must be called before using other functions in this library.
3339
SDL must be initialized before this call because this
3340
library uses utility functions from the SDL library.
3341
<p>Binds to C-function call in SDL_net.h:
3342
<code>extern DECLSPEC int SDLCALL SDLNet_Init(void);</code>
3343
</p>
3344
</remarks>
3345
<returns>0 on success, -1 on errors</returns>
3346
<example>
3347
<code>
3348
if(SDL_Init(0)==-1) {
3349
printf("SDL_Init: %s\n", SDL_GetError());
3350
exit(1);
3351
}
3352
if(SDLNet_Init()==-1) {
3353
printf("SDLNet_Init: %s\n", SDLNet_GetError());
3354
exit(2);
3355
}
3356
</code>
3357
</example>
3358
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_Quit"/>
3359
</member>
3360
<member name="M:Tao.Sdl.SdlNet.SDLNet_Quit">
3361
<summary>
3362
Shutdown and cleanup the network API.
3363
</summary>
3364
<remarks>
3365
After calling this all sockets are closed, and the SDL_net
3366
functions should not be used. You may, of course, use SDLNet_Init
3367
to use the functionality again.
3368
<p>Binds to C-function call in SDL_net.h:
3369
<code>extern DECLSPEC void SDLCALL SDLNet_Quit(void);</code>
3370
</p>
3371
</remarks>
3372
<example>
3373
<code>
3374
SDLNet_Quit();
3375
// you could SDL_Quit(); here...or not.
3376
</code>
3377
</example>
3378
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_Init"/>
3379
</member>
3380
<member name="M:Tao.Sdl.SdlNet.SDLNet_GetError">
3381
<summary>
3382
Get the current error string
3383
</summary>
3384
<remarks>
3385
This is the same as SDL_GetError, which returns the
3386
last error set as a string which you may use to tell
3387
the user what happened when an error status has been returned
3388
from an SDLNet_function.
3389
<p>Binds to C-function call in SDL_error.h:
3390
<code>#define SDLNet_GetError SDL_GetError</code>
3391
</p>
3392
</remarks>
3393
<returns>
3394
A string containing a human readable version
3395
or the reason for the last error that occured.
3396
</returns>
3397
<example>
3398
<code>
3399
printf("Oh My Goodness, an error : %s", SDLNet_GetError());
3400
</code>
3401
</example>
3402
</member>
3403
<member name="M:Tao.Sdl.SdlNet.SDLNet_SetError(System.String)">
3404
<summary>
3405
This is the same as SDL_SetError, which sets an SDL error message
3406
</summary>
3407
<remarks>
3408
<p>Binds to C-function call in SDL_error.h:
3409
<code>#define SDLNet_SetError SDL_SetError</code>
3410
</p>
3411
</remarks>
3412
<param name="message">
3413
The error message to set.
3414
</param>
3415
</member>
3416
<member name="M:Tao.Sdl.SdlNet.SDLNet_Write16(System.Int16,System.IntPtr)">
3417
<summary>
3418
Put the 16bit (a short on 32bit systems) value
3419
into the data buffer area in network byte order.
3420
</summary>
3421
<remarks>
3422
This helps avoid byte order differences
3423
between two systems that are talking over the network.
3424
The value can be a signed number, the unsigned parameter
3425
type doesn't affect the data. The area pointer need not
3426
be at the beginning of a buffer, but must have at
3427
least 2 bytes of space left,
3428
including the byte currently pointed at.
3429
<p>Binds to C-function call in SDL_error.h:
3430
<code>extern DECLSPEC void SDLCALL SDLNet_Write16(Uint16 value, void *area)</code>
3431
</p>
3432
</remarks>
3433
<example>
3434
<code>
3435
// put my number into a data buffer to prepare for
3436
// sending to a remote host
3437
char data[1024];
3438
Sint16 number=12345;
3439
SDLNet_Write16((Uint16)number,data);
3440
</code>
3441
</example>
3442
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_Write32(System.Int32,System.IntPtr)"/>
3443
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_Read16(System.IntPtr)"/>
3444
<param name="value">
3445
The 16bit number to put into the
3446
area buffer.
3447
</param>
3448
<param name="area">
3449
The pointer into a data buffer, at which to put the number.
3450
</param>
3451
</member>
3452
<member name="M:Tao.Sdl.SdlNet.SDLNet_Write32(System.Int32,System.IntPtr)">
3453
<summary>
3454
Put the 32bit (a long on 32bit systems) value into
3455
the data buffer area in network byte order.
3456
</summary>
3457
<remarks>
3458
This helps avoid byte order differences between two
3459
systems that are talking over the network.
3460
The value can be a signed number, the unsigned
3461
parameter type doesn't affect the data.
3462
The area pointer need not be at the beginning of a buffer,
3463
but must have at least 4 bytes of space left,
3464
including the byte currently pointed at.
3465
<p>Binds to C-function call in SDL_error.h:
3466
<code>extern DECLSPEC void SDLCALL SDLNet_Write32(Uint32 value, void *area)</code>
3467
</p>
3468
</remarks>
3469
<example>
3470
<code>
3471
// put my number into a data buffer to prepare
3472
// for sending to a remote host
3473
char data[1024];
3474
Uint32 number=0xDEADBEEF;
3475
SDLNet_Write32(number,data);
3476
</code>
3477
</example>
3478
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_Write16(System.Int16,System.IntPtr)"/>
3479
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_Read32(System.IntPtr)"/>
3480
<param name="value">
3481
The 32bit number to put into the area buffer.
3482
</param>
3483
<param name="area">
3484
The pointer into a data buffer, at which to put the number.
3485
</param>
3486
</member>
3487
<member name="M:Tao.Sdl.SdlNet.SDLNet_Read16(System.IntPtr)">
3488
<summary>
3489
Get a 16bit (a short on 32bit systems) value from
3490
the data buffer area which is in network byte order.
3491
</summary>
3492
<remarks>
3493
This helps avoid byte order differences between
3494
two systems that are talking over the network.
3495
The returned value can be a signed number,
3496
the unsigned parameter type doesn't affect the data.
3497
The area pointer need not be at the beginning of a buffer,
3498
but must have at least 2 bytes of space left,
3499
including the byte currently pointed at.
3500
<p>Binds to C-function call in SDL_error.h:
3501
<code>extern DECLSPEC Uint16 SDLCALL SDLNet_Read16(void *area)</code>
3502
</p>
3503
</remarks>
3504
<example>
3505
<code>
3506
// get a number from a data buffer to use on this host
3507
//char *ptr; //this points into a previously received data buffer
3508
Sint16 number;
3509
number=(Sint16) SDLNet_Read16(ptr);
3510
// number is now in your hosts byte order, ready to use.
3511
</code>
3512
</example>
3513
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_Write16(System.Int16,System.IntPtr)"/>
3514
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_Read32(System.IntPtr)"/>
3515
<param name="area">The pointer into a data buffer, at which to get the number from.</param>
3516
</member>
3517
<member name="M:Tao.Sdl.SdlNet.SDLNet_Read32(System.IntPtr)">
3518
<summary>
3519
Get a 32bit (a long on 32bit systems) value from the data buffer area which is in network byte order.
3520
</summary>
3521
<remarks>
3522
This helps avoid byte order differences between two
3523
systems that are talking over the network. The
3524
returned value can be a signed number, the unsigned
3525
parameter type doesn't affect the data. The area
3526
pointer need not be at the beginning of a buffer,
3527
but must have at least 4 bytes of space left,
3528
including the byte currently pointed at.
3529
<p>Binds to C-function call in SDL_error.h:
3530
<code>extern DECLSPEC Uint32 SDLCALL SDLNet_Read32(void *area)</code>
3531
</p>
3532
</remarks>
3533
<example>
3534
<code>
3535
// get a number from a data buffer to use on this host
3536
//char *ptr; //this points into a previously received data buffer
3537
Uint32 number;
3538
number=SDLNet_Read32(ptr);
3539
// number is now in your hosts byte order, ready to use.
3540
</code>
3541
</example>
3542
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_Write32(System.Int32,System.IntPtr)"/>
3543
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_Read16(System.IntPtr)"/>
3544
<param name="area">The pointer into a data buffer, at which to get the number from.</param>
3545
</member>
3546
<member name="M:Tao.Sdl.SdlNet.SDLNet_ResolveHost(Tao.Sdl.SdlNet.IPaddress@,System.String,System.Int16)">
3547
<summary>
3548
Resolve the string host, and fill in the IPaddress pointed to by address with the resolved IP and the port number passed in through port.
3549
</summary>
3550
<remarks>
3551
This is the best way to fill in the IPaddress struct for later use. This function does not actually open any sockets, it is used to prepare the arguments for the socket opening functions.
3552
WARNING: this function will put the host and port into Network Byte Order into the address fields, so make sure you pass in the data in your hosts byte order. (normally not an issue)
3553
<p>Binds to C-function call in SDL_net.h:
3554
<code>
3555
extern DECLSPEC int SDLCALL SDLNet_ResolveHost(IPaddress *address, const char *host, Uint16 port)
3556
</code>
3557
</p>
3558
</remarks>
3559
<returns>0 on success. -1 on errors, plus address.host will be INADDR_NONE. An error would likely be that the address could not be resolved. If 'host' is NULL, the resolved host will be set to INADDR_ANY.</returns>
3560
<example>For a server listening on all interfaces, on port 1234:
3561
<code>
3562
// create a server type IPaddress on port 1234
3563
IPaddress ipaddress;
3564
SDLNet_ResolveHost(ipaddress, NULL, 1234);
3565
</code>
3566
For a client connecting to "host.domain.ext", at port 1234:
3567
<code>
3568
// create an IPaddress for host name "host.domain.ext" on port 1234
3569
// this is used by a client
3570
IPaddress ipaddress;
3571
SDLNet_ResolveHost(ipaddress, "host.domain.ext", 1234);
3572
</code>
3573
</example>
3574
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_ResolveIP(Tao.Sdl.SdlNet.IPaddress@)"/>
3575
<seealso cref="T:Tao.Sdl.SdlNet.IPaddress"/>
3576
<param name="address">This points to the IPaddress that will be filled in. It doesn't need to be set before calling this, but it must be allocated in memory.</param>
3577
<param name="host">For connecting to a server, this is the hostname or IP in a string. For becoming a server, this is NULL. If you do use NULL, all network interfaces would be listened to for incoming connections, using the INADDR_ANY address.</param>
3578
<param name="port">For connecting to a server, this is the the servers listening port number. For becoming a server, this is the port to listen on. If you are just doing Domain Name Resolution functions, this can be 0.</param>
3579
</member>
3580
<member name="M:Tao.Sdl.SdlNet.SDLNet_ResolveIP(Tao.Sdl.SdlNet.IPaddress@)">
3581
<summary>
3582
Resolve the IPv4 numeric address in address-&gt;host, and return the hostname as a string.
3583
</summary>
3584
<remarks>
3585
This is the best way to fill in the IPaddress struct for later use. This function does not actually open any sockets, it is used to prepare the arguments for the socket opening functions.
3586
WARNING: this function will put the host and port into Network Byte Order into the address fields, so make sure you pass in the data in your hosts byte order. (normally not an issue)
3587
<p>Binds to C-function call in SDL_net.h:
3588
<code>
3589
extern DECLSPEC const char * SDLCALL SDLNet_ResolveIP(IPaddress *ip);
3590
</code>
3591
</p>
3592
</remarks>
3593
<returns>a valid char pointer (string) on success. the returned hostname will have host and domain, as in "host.domain.ext". NULL is returned on errors, such as when it's not able to resolve the host name. The returned pointer is not to be freed. Each time you call this function the previous pointer's data will change to the new value, so you may have to copy it into a local buffer to keep it around longer.</returns>
3594
<example>
3595
<code>
3596
// resolve the host name of the address in ipaddress
3597
//IPaddress ipaddress;
3598
char *host;
3599
if(!(host=SDLNet_ResolveIP(IPaddress))) {
3600
printf("SDLNet_ResolveIP: %s\n", SDLNet_GetError());
3601
exit(1);
3602
}
3603
</code>
3604
</example>
3605
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_ResolveHost(Tao.Sdl.SdlNet.IPaddress@,System.String,System.Int16)"/>
3606
<seealso cref="T:Tao.Sdl.SdlNet.IPaddress"/>
3607
<param name="address">This points to the IPaddress that will be resolved to a host name. The address-&gt;port is ignored.</param>
3608
</member>
3609
<member name="M:Tao.Sdl.SdlNet.SDLNet_TCP_Open(Tao.Sdl.SdlNet.IPaddress@)">
3610
<summary>
3611
Open a TCP client or server socket
3612
</summary>
3613
<remarks>
3614
Connect to the host and port contained in ip using a TCP connection.
3615
If the host is INADDR_ANY, then only the port number is used, and a socket is created that can be used to later accept incoming TCP connections.
3616
<p>Binds to C-function call in SDL_net.h:
3617
<code>
3618
extern DECLSPEC TCPsocket SDLCALL SDLNet_TCP_Open(IPaddress *ip)
3619
</code>
3620
</p>
3621
</remarks>
3622
<returns>a valid TCPsocket on success, which indicates a successful connection has been established, or a socket has been created that is valid to accept incoming TCP connections. NULL is returned on errors, such as when it's not able to create a socket, or it cannot connect to host and/or port contained in ip.</returns>
3623
<example>
3624
<code>
3625
// connect to localhost at port 9999 using TCP (client)
3626
IPaddress ip;
3627
TCPsocket tcpsock;
3628
3629
if(SDLNet_ResolveHost(&amp;ip,"localhost",9999)==-1) {
3630
printf("SDLNet_ResolveHost: %s\n", SDLNet_GetError());
3631
exit(1);
3632
}
3633
3634
tcpsock=SDLNet_TCP_Open(&amp;ip);
3635
if(!tcpsock) {
3636
printf("SDLNet_TCP_Open: %s\n", SDLNet_GetError());
3637
exit(2);
3638
}
3639
</code>
3640
3641
<code>
3642
// create a listening TCP socket on port 9999 (server)
3643
IPaddress ip;
3644
TCPsocket tcpsock;
3645
3646
if(SDLNet_ResolveHost(&amp;ip,NULL,9999)==-1) {
3647
printf("SDLNet_ResolveHost: %s\n", SDLNet_GetError());
3648
exit(1);
3649
}
3650
3651
tcpsock=SDLNet_TCP_Open(&amp;ip);
3652
if(!tcpsock) {
3653
printf("SDLNet_TCP_Open: %s\n", SDLNet_GetError());
3654
exit(2);
3655
}
3656
</code>
3657
</example>
3658
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_TCP_Accept(Tao.Sdl.SdlNet.TCPsocket)"/>
3659
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_TCP_Close(System.IntPtr)"/>
3660
<seealso cref="T:Tao.Sdl.SdlNet.IPaddress"/>
3661
<seealso cref="T:Tao.Sdl.SdlNet.TCPsocket"/>
3662
3663
<param name="ip">This points to the IPaddress that contains the resolved IP address and port number to use.</param>
3664
</member>
3665
<member name="M:Tao.Sdl.SdlNet.SDLNet_TCP_Accept(Tao.Sdl.SdlNet.TCPsocket)">
3666
<summary>
3667
Accept a connection on a server socket
3668
</summary>
3669
<remarks>
3670
Accept an incoming connection on the server TCPsocket.
3671
Do not use this function on a connected socket.
3672
Server sockets are never connected to a remote host.
3673
What you get back is a new TCPsocket that is connected to the remote host.
3674
This is a non-blocking call, so if no connections are there to be accepted,
3675
you will get a NULL
3676
TCPsocket and the program will continue going.
3677
3678
Accept an incoming connection on the given server socket.
3679
The newly created socket is returned, or NULL if there was an error.
3680
<p>Binds to C-function call in SDL_net.h:
3681
<code>
3682
extern DECLSPEC TCPsocket SDLCALL SDLNet_TCP_Accept(TCPsocket server)
3683
</code>
3684
</p>
3685
</remarks>
3686
<returns>a valid TCPsocket on success, which indicates a successful connection has been established. NULL is returned on errors, such as when it's not able to create a socket, or it cannot finish connecting to the originating host and port. There also may not be a connection attempt in progress, so of course you cannot accept nothing, and you get a NULL in this case as well.</returns>
3687
<example>
3688
<code>
3689
// accept a connection coming in on server_tcpsock
3690
TCPsocket new_tcpsock;
3691
3692
new_tcpsock=SDLNet_TCP_Accept(server_tcpsock);
3693
if(!new_tcpsock) {
3694
printf("SDLNet_TCP_Accept: %s\n", SDLNet_GetError());
3695
}
3696
else {
3697
// communicate over new_tcpsock
3698
}
3699
</code>
3700
</example>
3701
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_TCP_Open(Tao.Sdl.SdlNet.IPaddress@)"/>
3702
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_TCP_Close(System.IntPtr)"/>
3703
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_TCP_GetPeerAddress(Tao.Sdl.SdlNet.TCPsocket)"/>
3704
<seealso cref="T:Tao.Sdl.SdlNet.TCPsocket"/>
3705
<param name="server">
3706
This is the server TCPsocket which was previously created by
3707
SDLNet_TCP_Open.
3708
</param>
3709
</member>
3710
<member name="M:Tao.Sdl.SdlNet.SDLNet_TCP_GetPeerAddress(Tao.Sdl.SdlNet.TCPsocket)">
3711
<summary>
3712
Get the remote host address and port number
3713
</summary>
3714
<remarks>
3715
Get the Peer's (the other side of the connection,
3716
the remote side, not the local side) IP address and port number.
3717
<p>Binds to C-function call in SDL_net.h:
3718
<code>
3719
extern DECLSPEC IPaddress * SDLCALL SDLNet_TCP_GetPeerAddress(TCPsocket sock)
3720
</code>
3721
</p>
3722
</remarks>
3723
<returns>
3724
an IPaddress. NULL is returned on errors, or when sock is a server socket.
3725
</returns>
3726
<example>
3727
<code>
3728
// get the remote IP and port
3729
//TCPsocket new_tcpsock;
3730
IPaddress *remote_ip;
3731
3732
remote_ip=SDLNet_TCP_GetPeerAddress(new_tcpsock);
3733
if(!remote_ip) {
3734
printf("SDLNet_TCP_GetPeerAddress: %s\n", SDLNet_GetError());
3735
printf("This may be a server socket.\n");
3736
}
3737
else {
3738
// print the info in IPaddress or something else...
3739
}
3740
</code>
3741
</example>
3742
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_TCP_Open(Tao.Sdl.SdlNet.IPaddress@)"/>
3743
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_TCP_Accept(Tao.Sdl.SdlNet.TCPsocket)"/>
3744
<seealso cref="T:Tao.Sdl.SdlNet.IPaddress"/>
3745
<seealso cref="T:Tao.Sdl.SdlNet.TCPsocket"/>
3746
<param name="sock">
3747
This is a valid TCPsocket.
3748
</param>
3749
</member>
3750
<member name="M:Tao.Sdl.SdlNet.SDLNet_TCP_Send(Tao.Sdl.SdlNet.TCPsocket,System.IntPtr,System.Int32)">
3751
<summary>
3752
Send data over a connected socket
3753
</summary>
3754
<remarks>
3755
Send data of length len over the socket sock.
3756
This routine is not used for server sockets.
3757
<p>Binds to C-function call in SDL_net.h:
3758
<code>
3759
extern DECLSPEC int SDLCALL SDLNet_TCP_Send(TCPsocket sock, const void *data, int len)
3760
</code>
3761
</p>
3762
</remarks>
3763
<returns>
3764
the number of bytes sent. If the number returned is less than len,
3765
then an error occured, such as the client disconnecting.
3766
</returns>
3767
<example>
3768
<code>
3769
// send a hello over sock
3770
//TCPsocket sock;
3771
int len,result;
3772
char *msg="Hello!";
3773
3774
len=strlen(msg)+1; // add one for the terminating NULL
3775
result=SDLNet_TCP_Send(sock,msg,len);
3776
if(result&lt;len) {
3777
printf("SDLNet_TCP_Send: %s\n", SDLNet_GetError());
3778
// It may be good to disconnect sock because it is likely invalid now.
3779
}
3780
</code>
3781
</example>
3782
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_TCP_Open(Tao.Sdl.SdlNet.IPaddress@)"/>
3783
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_TCP_Close(System.IntPtr)"/>
3784
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_TCP_Accept(Tao.Sdl.SdlNet.TCPsocket)"/>
3785
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_TCP_Recv(Tao.Sdl.SdlNet.TCPsocket,System.IntPtr,System.Int32)"/>
3786
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_TCP_GetPeerAddress(Tao.Sdl.SdlNet.TCPsocket)"/>
3787
<seealso cref="T:Tao.Sdl.SdlNet.TCPsocket"/>
3788
<param name="sock">
3789
This is a valid, connected, TCPsocket.
3790
</param>
3791
<param name="data">
3792
This is a pointer to the data to send over sock.
3793
</param>
3794
<param name="len">
3795
This is the length (in bytes) of the data.
3796
</param>
3797
</member>
3798
<member name="M:Tao.Sdl.SdlNet.SDLNet_TCP_Recv(Tao.Sdl.SdlNet.TCPsocket,System.IntPtr,System.Int32)">
3799
<summary>
3800
Receive data from a connected socket
3801
</summary>
3802
<remarks>Receive data of exactly length maxlen bytes from the socket sock, into the memory pointed to by data. This routine is not used for server sockets. Unless there is an error, or the connection is closed, the buffer will read maxlen bytes. If you read more than is sent from the other end, then it will wait until the full requested length is sent, or until the connection is closed from the other end. You may have to read 1 byte at a time for some applications, for instance, text applications where blocks of text are sent, but you want to read line by line. In that case you may want to find the newline characters yourself to break the lines up, instead of reading some inordinate amount of text which may contain many lines, or not even a full line of text.
3803
<p>Binds to C-function call in SDL_net.h:
3804
<code>
3805
extern DECLSPEC int SDLCALL SDLNet_TCP_Recv(TCPsocket sock, void *data, int maxlen)
3806
</code>
3807
</p>
3808
</remarks>
3809
<returns>
3810
the number of bytes received. If the number returned is less than or equal to zero, then an error occured, or the remote host has closed the connection.
3811
</returns>
3812
<example>
3813
<code>
3814
// receive some text from sock
3815
//TCPsocket sock;
3816
#define MAXLEN 1024
3817
int result;
3818
char msg[MAXLEN];
3819
3820
result=SDLNet_TCP_Recv(sock,msg,MAXLEN);
3821
if(result&lt;=0) {
3822
// An error may have occured, but sometimes you can just ignore it
3823
// It may be good to disconnect sock because it is likely invalid now.
3824
}
3825
printf("Received: \"%s\"\n",msg);
3826
</code>
3827
</example>
3828
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_TCP_Open(Tao.Sdl.SdlNet.IPaddress@)"/>
3829
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_TCP_Close(System.IntPtr)"/>
3830
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_TCP_Accept(Tao.Sdl.SdlNet.TCPsocket)"/>
3831
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_TCP_Send(Tao.Sdl.SdlNet.TCPsocket,System.IntPtr,System.Int32)"/>
3832
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_TCP_GetPeerAddress(Tao.Sdl.SdlNet.TCPsocket)"/>
3833
<seealso cref="T:Tao.Sdl.SdlNet.TCPsocket"/>
3834
<param name="sock">
3835
This is a valid, connected, TCPsocket.
3836
</param>
3837
<param name="data">
3838
This is a pointer to the buffer that receives the data from sock.
3839
</param>
3840
<param name="maxlen">
3841
This is the maximum length (in bytes) that will be read into data.
3842
</param>
3843
</member>
3844
<member name="M:Tao.Sdl.SdlNet.SDLNet_TCP_Close(System.IntPtr)">
3845
<summary>
3846
Close a TCP socket
3847
</summary>
3848
<remarks>
3849
This shutsdown, disconnects, and closes the TCPsocket sock. After this, you can be assured that this socket is not in use anymore. You can reuse the sock variable after this to open a new connection with SDLNet_TCP_Open. Do not try to use any other functions on a closed socket, as it is now invalid.
3850
3851
<p>Binds to C-function call in SDL_net.h:
3852
<code>
3853
extern DECLSPEC void SDLCALL SDLNet_TCP_Close(TCPsocket sock)
3854
</code>
3855
</p>
3856
</remarks>
3857
<returns>
3858
nothing, this always succeeds for all we need to know.
3859
</returns>
3860
<example>
3861
<code>
3862
// close the connection on sock
3863
//TCPsocket sock;
3864
3865
SDLNet_TCP_Close(sock);
3866
</code>
3867
</example>
3868
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_TCP_Close(System.IntPtr)"/>
3869
<seealso cref="T:Tao.Sdl.SdlNet.TCPsocket"/>
3870
<param name="sock">
3871
A valid TCPsocket. This can be a server or client type socket.
3872
</param>
3873
</member>
3874
<member name="M:Tao.Sdl.SdlNet.SDLNet_AllocPacket(System.Int32)">
3875
<summary>
3876
Allocate a new UDP packet with a data buffer
3877
</summary>
3878
<remarks>
3879
Create (via malloc) a new UDPpacket with a data buffer of size bytes. The new packet should be freed using SDLNet_FreePacket when you are done using it.
3880
<p>Binds to C-function call in SDL_net.h:
3881
<code>
3882
extern DECLSPEC UDPpacket * SDLCALL SDLNet_AllocPacket(int size)
3883
</code>
3884
</p>
3885
</remarks>
3886
<returns>
3887
a pointer to a new empty UDPpacket. NULL is returned on errors, such as out-of-memory.
3888
</returns>
3889
<example>
3890
<code>
3891
// create a new UDPpacket to hold 1024 bytes of data
3892
UDPpacket *packet;
3893
3894
packet=SDLNet_AllocPacket(1024);
3895
if(!packet) {
3896
printf("SDLNet_AllocPacket: %s\n", SDLNet_GetError());
3897
// perhaps do something else since you can't make this packet
3898
}
3899
else {
3900
// do stuff with this new packet
3901
// SDLNet_FreePacket this packet when finished with it
3902
}
3903
</code>
3904
</example>
3905
<seealso cref="T:Tao.Sdl.SdlNet.UDPpacket"/>
3906
<seealso cref="T:Tao.Sdl.SdlNet.IPaddress"/>
3907
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_AllocPacketV(System.Int32,System.Int32)"/>
3908
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_ResizePacket(System.IntPtr,System.Int32)"/>
3909
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_FreePacket(System.IntPtr)"/>
3910
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_UDP_Send(System.IntPtr,System.Int32,System.IntPtr)"/>
3911
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_UDP_SendV(System.IntPtr,System.IntPtr,System.Int32)"/>
3912
<param name="size">
3913
Size, in bytes, of the data buffer to be allocated in the new UDPpacket. Zero is invalid.
3914
</param>
3915
</member>
3916
<member name="M:Tao.Sdl.SdlNet.SDLNet_ResizePacket(System.IntPtr,System.Int32)">
3917
<summary>
3918
Resize the data buffer in a UDPpacket
3919
</summary>
3920
<remarks>
3921
Resize a UDPpackets data buffer to size bytes. The old data buffer will not be retained, so the new buffer is invalid after this call.
3922
<p>Binds to C-function call in SDL_net.h:
3923
<code>
3924
extern DECLSPEC int SDLCALL SDLNet_ResizePacket(UDPpacket *packet, int newsize)
3925
</code>
3926
</p>
3927
</remarks>
3928
<returns>
3929
the new size of the data in the packet. If the number returned is less than what you asked for, that's an error.
3930
</returns>
3931
<example>
3932
<code>
3933
// Resize a UDPpacket to hold 2048 bytes of data
3934
//UDPpacket *packet;
3935
int newsize;
3936
3937
newsize=SDLNet_ResizePacket(packet, 2048);
3938
if(newsize&lt;2048) {
3939
printf("SDLNet_ResizePacket: %s\n", SDLNet_GetError());
3940
// perhaps do something else since you didn't get the buffer you wanted
3941
}
3942
else {
3943
// do stuff with the resized packet
3944
}
3945
</code>
3946
</example>
3947
<seealso cref="T:Tao.Sdl.SdlNet.UDPpacket"/>
3948
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_AllocPacket(System.Int32)"/>
3949
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_AllocPacketV(System.Int32,System.Int32)"/>
3950
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_FreePacket(System.IntPtr)"/>
3951
<param name="packet">
3952
A pointer to the UDPpacket to be resized.
3953
</param>
3954
<param name="newsize">
3955
The new desired size, in bytes, of the data buffer to be allocated in the UDPpacket.
3956
Zero is invalid.
3957
</param>
3958
</member>
3959
<member name="M:Tao.Sdl.SdlNet.SDLNet_FreePacket(System.IntPtr)">
3960
<summary>
3961
Free a previously allocated UDPpacket
3962
</summary>
3963
<remarks>
3964
Free a UDPpacket from memory. Do not use this UDPpacket after this function is called on it.
3965
<p>Binds to C-function call in SDL_net.h:
3966
<code>
3967
extern DECLSPEC void SDLCALL SDLNet_FreePacket(UDPpacket *packet)
3968
</code>
3969
</p>
3970
</remarks>
3971
<returns>
3972
nothing, this always succeeds.
3973
</returns>
3974
<example>
3975
<code>
3976
// Free a UDPpacket
3977
//UDPpacket *packet;
3978
3979
SDLNet_FreePacket(packet);
3980
packet=NULL; //just to help you know that it is freed
3981
</code>
3982
</example>
3983
<seealso cref="T:Tao.Sdl.SdlNet.UDPpacket"/>
3984
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_AllocPacket(System.Int32)"/>
3985
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_AllocPacketV(System.Int32,System.Int32)"/>
3986
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_FreePacketV(System.IntPtr)"/>
3987
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_ResizePacket(System.IntPtr,System.Int32)"/>
3988
<param name="packet">
3989
A pointer to the UDPpacket to be freed from memory.
3990
</param>
3991
</member>
3992
<member name="M:Tao.Sdl.SdlNet.SDLNet_AllocPacketV(System.Int32,System.Int32)">
3993
<summary>
3994
Allocate a vector of UDPpackets
3995
</summary>
3996
<remarks>
3997
Create (via malloc) a vector of new UDPpackets, each with data buffers of size bytes. The new packet vector should be freed using SDLNet_FreePacketV when you are done using it. The returned vector is one entry longer than requested, for a terminating NULL.
3998
<p>Binds to C-function call in SDL_net.h:
3999
<code>
4000
extern DECLSPEC UDPpacket ** SDLCALL SDLNet_AllocPacketV(int howmany, int size)
4001
</code>
4002
</p>
4003
</remarks>
4004
<returns>
4005
a pointer to a new empty UDPpacket vector. NULL is returned on errors, such as out-of-memory.
4006
</returns>
4007
<example>
4008
<code>
4009
// create a new UDPpacket vector to hold 1024 bytes of data in 10 packets
4010
UDPpacket **packetV;
4011
4012
packetV=SDLNet_AllocPacketV(10, 1024);
4013
if(!packetV) {
4014
printf("SDLNet_AllocPacketV: %s\n", SDLNet_GetError());
4015
// perhaps do something else since you can't make this packet
4016
}
4017
else {
4018
// do stuff with this new packet vector
4019
// SDLNet_FreePacketV this packet vector when finished with it
4020
}
4021
</code>
4022
</example>
4023
<seealso cref="T:Tao.Sdl.SdlNet.UDPpacket"/>
4024
<seealso cref="T:Tao.Sdl.SdlNet.IPaddress"/>
4025
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_AllocPacketV(System.Int32,System.Int32)"/>
4026
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_ResizePacket(System.IntPtr,System.Int32)"/>
4027
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_FreePacket(System.IntPtr)"/>
4028
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_UDP_Send(System.IntPtr,System.Int32,System.IntPtr)"/>
4029
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_UDP_SendV(System.IntPtr,System.IntPtr,System.Int32)"/>
4030
<param name="howmany">
4031
The number of UDPpackets to allocate.
4032
</param>
4033
<param name="size">
4034
Size, in bytes, of the data buffers to be allocated in the new UDPpackets.
4035
Zero is invalid.
4036
</param>
4037
</member>
4038
<member name="M:Tao.Sdl.SdlNet.SDLNet_FreePacketV(System.IntPtr)">
4039
<summary>
4040
Free a vector of UDPpackets
4041
</summary>
4042
<remarks>
4043
Free a UDPpacket vector from memory. Do not use this UDPpacket vector, or any UDPpacket in it, after this function is called on it.
4044
<p>Binds to C-function call in SDL_net.h:
4045
<code>
4046
extern DECLSPEC void SDLCALL SDLNet_FreePacketV(UDPpacket **packetV)
4047
</code>
4048
</p>
4049
</remarks>
4050
<returns>
4051
nothing, this always succeeds.
4052
</returns>
4053
<example>
4054
<code>
4055
// Free a UDPpacket vector
4056
//UDPpacket **packet;
4057
4058
SDLNet_FreePacketV(packetV);
4059
packetV=NULL; //just to help you know that it is freed
4060
</code>
4061
</example>
4062
<seealso cref="T:Tao.Sdl.SdlNet.UDPpacket"/>
4063
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_AllocPacket(System.Int32)"/>
4064
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_AllocPacketV(System.Int32,System.Int32)"/>
4065
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_FreePacket(System.IntPtr)"/>
4066
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_ResizePacket(System.IntPtr,System.Int32)"/>
4067
<param name="packetV">
4068
A pointer to the UDPpacket to be freed from memory.
4069
</param>
4070
</member>
4071
<member name="M:Tao.Sdl.SdlNet.SDLNet_UDP_Open(System.Int16)">
4072
<summary>
4073
Create a UDP socket
4074
</summary>
4075
<remarks>Open a socket to be used for UDP packet sending and/or receiving.
4076
If a non-zero port is given it will be used, otherwise any open port
4077
number will be used automatically. Unlike TCP sockets, this socket
4078
does not require a remote host IP to connect to, this is because UDP
4079
ports are never actually connected like TCP ports are. This socket
4080
is able to send and receive directly after this simple creation.
4081
4082
If 'port' is non-zero, the UDP socket is bound to a local port.
4083
The 'port' should be given in native byte order, but is used
4084
internally in network (big endian) byte order, in addresses, etc.
4085
This allows other systems to send to this socket via a known port.
4086
<p>Binds to C-function call in SDL_net.h:
4087
<code>
4088
extern DECLSPEC UDPsocket SDLCALL SDLNet_UDP_Open(Uint16 port)
4089
</code>
4090
</p>
4091
</remarks>
4092
<returns>
4093
a valid UDPsocket on success. NULL is returned on errors,
4094
such as when it's not able to create a socket,
4095
or it cannot assign the non-zero port as requested.
4096
</returns>
4097
<example>
4098
Note that below I say server, but clients may also open
4099
a specific port, though it is prefered that a client be
4100
more flexible, given that the port may be already allocated
4101
by another process, such as a server. In such a case you
4102
will not be able to open the socket, and your program
4103
will be stuck, so it is better to just use whatever port
4104
you are given by using a specified port of zero.
4105
Then the client will always work. The client can inform
4106
the server what port to talk back to, or the server can
4107
just look at the source of the packets it is receiving
4108
to know where to respond to.
4109
<code>
4110
// create a UDPsocket on port 6666 (server)
4111
UDPsocket udpsock;
4112
4113
udpsock=SDLNet_UDP_Open(6666);
4114
if(!udpsock) {
4115
printf("SDLNet_UDP_Open: %s\n", SDLNet_GetError());
4116
exit(2);
4117
}
4118
</code>
4119
4120
<code>
4121
// create a UDPsocket on any available port (client)
4122
UDPsocket udpsock;
4123
4124
udpsock=SDLNet_UDP_Open(0);
4125
if(!udpsock) {
4126
printf("SDLNet_UDP_Open: %s\n", SDLNet_GetError());
4127
exit(2);
4128
}
4129
</code>
4130
</example>
4131
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_UDP_Close(System.IntPtr)"/>
4132
<seealso cref="T:Tao.Sdl.SdlNet.UDPsocket"/>
4133
<param name="port">
4134
This is the port number (in native byte order) on which to receive UDP
4135
packets. Most servers will want to use a known port number here so that
4136
clients can easily communicate with the server. This can also be zero,
4137
which then opens an anonymous unused port number, to most likely be
4138
used to send UDP packets from.
4139
</param>
4140
</member>
4141
<member name="M:Tao.Sdl.SdlNet.SDLNet_UDP_Bind(System.IntPtr,System.Int32,Tao.Sdl.SdlNet.IPaddress@)">
4142
<summary>
4143
Assign an IP address number to a socket channel
4144
</summary>
4145
<remarks>
4146
Bind an address to a channel on a socket.
4147
Incoming packets are only allowed from bound addresses for the socket channel.
4148
All outgoing packets on that channel,
4149
regardless of the packets internal address,
4150
will attempt to send once on each bound address on that channel.
4151
You may assign up to SDLNET_MAX_UDPADDRESSES to each channel.
4152
<p>Binds to C-function call in SDL_net.h:
4153
<code>
4154
extern DECLSPEC int SDLCALL SDLNet_UDP_Bind(UDPsocket sock, int channel, IPaddress *address)
4155
</code>
4156
</p>
4157
</remarks>
4158
<returns>
4159
The channel number that was bound. -1 is returned on errors, such as no free channels, or this channel has SDLNET_MAX_UDPADDRESSES already assigned to it, or you have used a channel higher or equal to SDLNET_MAX_UDPCHANNELS, or lower than -1.
4160
</returns>
4161
<example>
4162
<code>
4163
// Bind address to the first free channel
4164
//UDPsocket udpsock;
4165
//IPaddress *address;
4166
int channel;
4167
4168
channel=SDLNet_UDP_Bind(udpsock, -1, address);
4169
if(channel==-1) {
4170
printf("SDLNet_UDP_Bind: %s\n", SDLNet_GetError());
4171
// do something because we failed to bind
4172
}
4173
</code>
4174
</example>
4175
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_UDP_Unbind(System.IntPtr,System.Int32)"/>
4176
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_UDP_GetPeerAddress(System.IntPtr,System.Int32)"/>
4177
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_UDP_Open(System.Int16)"/>
4178
<seealso cref="T:Tao.Sdl.SdlNet.IPaddress"/>
4179
<seealso cref="T:Tao.Sdl.SdlNet.UDPsocket"/>
4180
<param name="sock">
4181
the UDPsocket on which to assign the address.
4182
</param>
4183
<param name="channel">The channel to assign address to. This should be less than SDLNET_MAX_UDPCHANNELS. If -1 is used, then the first unbound channel will be used, this should only be used for incomming packet filtering, as it will find the first channel with less than SDLNET_MAX_UDPADDRESSES assigned to it and use that one.
4184
</param>
4185
<param name="address">
4186
The resolved IPaddress to assign to the socket's channel.
4187
The host and port are both used.
4188
It is not helpful to bind 0.0.0.0 to a channel.
4189
</param>
4190
</member>
4191
<member name="M:Tao.Sdl.SdlNet.SDLNet_UDP_Unbind(System.IntPtr,System.Int32)">
4192
<summary>
4193
Remove all assigned IP addresses from a socket channel
4194
</summary>
4195
<remarks>
4196
This removes all previously assigned (bound) addresses
4197
from a socket channel.
4198
After this you may bind new addresses to the socket
4199
channel.
4200
<p>Binds to C-function call in SDL_net.h:
4201
<code>
4202
extern DECLSPEC void SDLCALL SDLNet_UDP_Unbind(UDPsocket sock, int channel)
4203
</code>
4204
</p>
4205
</remarks>
4206
<returns>
4207
nothing, this always succeeds.
4208
</returns>
4209
<example>
4210
<code>
4211
// unbind all addresses on the UDPsocket channel 0
4212
//UDPsocket udpsock;
4213
4214
SDLNet_UDP_Unbind(udpsock, 0);
4215
</code>
4216
</example>
4217
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_UDP_Bind(System.IntPtr,System.Int32,Tao.Sdl.SdlNet.IPaddress@)"/>
4218
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_UDP_Close(System.IntPtr)"/>
4219
<seealso cref="T:Tao.Sdl.SdlNet.UDPsocket"/>
4220
<param name="sock">
4221
A valid UDPsocket to unbind addresses from.
4222
</param>
4223
<param name="channel">
4224
The channel to unbind the addresses from in the UDPsocket.
4225
</param>
4226
</member>
4227
<member name="M:Tao.Sdl.SdlNet.SDLNet_UDP_GetPeerAddress(System.IntPtr,System.Int32)">
4228
<summary>
4229
Get the assigned IP address for a socket channel or get
4230
the port you opened the socket with
4231
</summary>
4232
<remarks>
4233
Get the primary address assigned to this channel.
4234
Only the first bound address is returned.
4235
When channel is -1, get the port that this socket
4236
is bound to on the local computer,
4237
this only means something if you opened the socket
4238
with a specific port number.
4239
Do not free the returned IPaddress pointer.
4240
<p>Binds to C-function call in SDL_net.h:
4241
<code>
4242
extern DECLSPEC IPaddress * SDLCALL SDLNet_UDP_GetPeerAddress(UDPsocket sock, int channel)
4243
</code>
4244
</p>
4245
</remarks>
4246
<returns>
4247
a pointer to an IPaddress.
4248
NULL is returned for unbound channels and on any errors.
4249
</returns>
4250
<example>
4251
<code>
4252
// get the primary address bound to UDPsocket channel 0
4253
4254
//UDPsocket udpsock;
4255
//IPaddress *address;
4256
4257
address=SDLNet_UDP_GetPeerAddress(udpsock, 0);
4258
if(!address) {
4259
printf("SDLNet_UDP_GetPeerAddress: %s\n", SDLNet_GetError());
4260
// do something because we failed to get the address
4261
}
4262
else {
4263
// perhaps print out address-&gt;host and address-&gt;port
4264
}
4265
</code>
4266
</example>
4267
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_UDP_Unbind(System.IntPtr,System.Int32)"/>
4268
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_UDP_Bind(System.IntPtr,System.Int32,Tao.Sdl.SdlNet.IPaddress@)"/>
4269
<seealso cref="T:Tao.Sdl.SdlNet.UDPsocket"/>
4270
<param name="sock">
4271
A valid UDPsocket that probably has an address assigned to the channel.
4272
</param>
4273
<param name="channel">
4274
The channel to get the primary address from in the socket.
4275
This may also be -1 to get the port which this socket is
4276
bound to on the local computer.
4277
</param>
4278
</member>
4279
<member name="M:Tao.Sdl.SdlNet.SDLNet_UDP_SendV(System.IntPtr,System.IntPtr,System.Int32)">
4280
<summary>
4281
Send a UDPpacket vector
4282
</summary>
4283
<remarks>
4284
Send npackets of packetV using the specified sock socket.
4285
Each packet is sent in the same way as in SDLNet_UDP_Send
4286
(see section 3.4.6 SDLNet_UDP_Send).
4287
Don't forget to set the length of the packets in the len
4288
element of the packets you are sending!
4289
<p>Binds to C-function call in SDL_net.h:
4290
<code>
4291
extern DECLSPEC int SDLCALL SDLNet_UDP_SendV(UDPsocket sock, UDPpacket **packets, int npackets)
4292
</code>
4293
</p>
4294
</remarks>
4295
<returns>
4296
The number of destinations sent to that worked,
4297
for each packet in the vector, all summed up.
4298
0 is returned on errors.
4299
</returns>
4300
<example>
4301
<code>
4302
// send a vector of 10 packets using UDPsocket
4303
//UDPsocket udpsock;
4304
//UDPpacket **packetV;
4305
int numsent;
4306
4307
numsent=SDLNet_UDP_SendV(udpsock, packetV, 10);
4308
if(!numsent) {
4309
printf("SDLNet_UDP_SendV: %s\n", SDLNet_GetError());
4310
// do something because we failed to send
4311
// this may just be because no addresses are bound to the channels...
4312
}
4313
</code>
4314
</example>
4315
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_UDP_Bind(System.IntPtr,System.Int32,Tao.Sdl.SdlNet.IPaddress@)"/>
4316
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_UDP_Send(System.IntPtr,System.Int32,System.IntPtr)"/>
4317
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_UDP_Recv(System.IntPtr,System.IntPtr)"/>
4318
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_UDP_RecvV(System.IntPtr,System.IntPtr)"/>
4319
<seealso cref="T:Tao.Sdl.SdlNet.UDPpacket"/>
4320
<seealso cref="T:Tao.Sdl.SdlNet.UDPsocket"/>
4321
<param name="sock">
4322
A valid UDPsocket.
4323
</param>
4324
<param name="packets">
4325
The vector of packets to send.
4326
</param>
4327
<param name="npackets">
4328
number of packets in the packetV vector to send.
4329
</param>
4330
</member>
4331
<member name="M:Tao.Sdl.SdlNet.SDLNet_UDP_Send(System.IntPtr,System.Int32,System.IntPtr)">
4332
<summary>
4333
Send a UDPpacket
4334
</summary>
4335
<remarks>
4336
Send packet using the specified socket sock, using the
4337
specified channel or else the packet's address.
4338
If channel is not -1 then the packet is sent to all the
4339
socket channels bound addresses. If socket sock's channel
4340
is not bound to any destinations, then the packet is not
4341
sent at all!
4342
If the channel is -1, then the packet's address is used
4343
as the destination.
4344
Don't forget to set the length of the packet in the len
4345
element of the packet you are sending! NOTE: the packet-&gt;channel
4346
will be set to the channel passed in to this function.
4347
<p>Binds to C-function call in SDL_net.h:
4348
<code>
4349
extern DECLSPEC int SDLCALL SDLNet_UDP_Send(UDPsocket sock, int channel, UDPpacket *packet)
4350
</code>
4351
</p>
4352
</remarks>
4353
<returns>
4354
The number of destinations sent to that worked.
4355
0 is returned on errors.Note that since a channel can
4356
point to multiple destinations, there should be just as
4357
many packets sent, so dont assume it will always return 1
4358
on success. Unfortunately there's no way to get the number
4359
of destinations bound to a channel, so either you have to
4360
remember the number bound, or just test for the zero
4361
return value indicating all channels failed.
4362
</returns>
4363
<example>
4364
<code>
4365
// send a packet using a UDPsocket, using the packet's channel as the channel
4366
//UDPsocket udpsock;
4367
//UDPpacket *packet;
4368
int numsent;
4369
4370
numsent=SDLNet_UDP_Send(udpsock, packet-&gt;channel, packet);
4371
if(!numsent) {
4372
printf("SDLNet_UDP_Send: %s\n", SDLNet_GetError());
4373
// do something because we failed to send
4374
// this may just be because no addresses are bound to the channel...
4375
}
4376
</code>
4377
Here's a way of sending one packet using it's internal channel setting.
4378
This is actually what SDLNet_UDP_Send ends up calling for you.
4379
<code>
4380
// send a packet using a UDPsocket, using the packet's channel as the channel
4381
//UDPsocket udpsock;
4382
//UDPpacket *packet;
4383
int numsent;
4384
4385
numsent=SDLNet_UDP_SendV(sock, &amp;packet, 1);
4386
if(!numsent) {
4387
printf("SDLNet_UDP_SendV: %s\n", SDLNet_GetError());
4388
// do something because we failed to send
4389
// this may just be because no addresses are bound to the channel...
4390
}
4391
</code>
4392
</example>
4393
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_UDP_Bind(System.IntPtr,System.Int32,Tao.Sdl.SdlNet.IPaddress@)"/>
4394
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_UDP_SendV(System.IntPtr,System.IntPtr,System.Int32)"/>
4395
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_UDP_Recv(System.IntPtr,System.IntPtr)"/>
4396
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_UDP_RecvV(System.IntPtr,System.IntPtr)"/>
4397
<seealso cref="T:Tao.Sdl.SdlNet.UDPpacket"/>
4398
<seealso cref="T:Tao.Sdl.SdlNet.UDPsocket"/>
4399
<param name="sock">
4400
A valid UDPsocket.
4401
</param>
4402
<param name="channel">
4403
what channel to send packet on.
4404
</param>
4405
<param name="packet">
4406
The packet to send.
4407
</param>
4408
</member>
4409
<member name="M:Tao.Sdl.SdlNet.SDLNet_UDP_RecvV(System.IntPtr,System.IntPtr)">
4410
<summary>
4411
Receive into a UDPpacket vector
4412
</summary>
4413
<remarks>
4414
Receive into a packet vector on the specified socket sock.
4415
packetV is a NULL terminated array. Packets will be
4416
received until the NULL is reached, or there are none
4417
ready to be received.
4418
This call is otherwise the same as SDLNet_UDP_Recv
4419
<p>Binds to C-function call in SDL_net.h:
4420
<code>
4421
extern DECLSPEC int SDLCALL SDLNet_UDP_RecvV(UDPsocket sock, UDPpacket **packets)
4422
</code>
4423
</p>
4424
</remarks>
4425
<returns>
4426
the number of packets received.
4427
0 is returned when no packets are received.
4428
-1 is returned on errors.
4429
</returns>
4430
<example>
4431
<code>
4432
// try to receive some waiting udp packets
4433
//UDPsocket udpsock;
4434
//UDPpacket **packetV;
4435
int numrecv, i;
4436
4437
numrecv=SDLNet_UDP_RecvV(udpsock, &amp;packetV);
4438
if(numrecv==-1) {
4439
// handle error, perhaps just print out the SDL_GetError string.
4440
}
4441
for(i=0; i&lt;numrecv; i++) {
4442
// do something with packetV[i]
4443
}
4444
</code>
4445
</example>
4446
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_UDP_Bind(System.IntPtr,System.Int32,Tao.Sdl.SdlNet.IPaddress@)"/>
4447
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_UDP_Send(System.IntPtr,System.Int32,System.IntPtr)"/>
4448
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_UDP_SendV(System.IntPtr,System.IntPtr,System.Int32)"/>
4449
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_UDP_Recv(System.IntPtr,System.IntPtr)"/>
4450
<seealso cref="T:Tao.Sdl.SdlNet.UDPpacket"/>
4451
<seealso cref="T:Tao.Sdl.SdlNet.UDPsocket"/>
4452
<param name="sock">
4453
A valid UDPsocket.
4454
</param>
4455
<param name="packets">
4456
The packet vector to receive into.
4457
</param>
4458
</member>
4459
<member name="M:Tao.Sdl.SdlNet.SDLNet_UDP_Recv(System.IntPtr,System.IntPtr)">
4460
<summary>
4461
Receive into a UDPpacket
4462
</summary>
4463
<remarks>
4464
Receive a packet on the specified sock socket.
4465
The packet you pass in must have enough of a data size
4466
allocated for the incoming packet data to fit into.
4467
This means you should have knowledge of your size needs
4468
before trying to receive UDP packets.
4469
The packet will have it's address set to the remote
4470
sender's address.
4471
The socket's channels are checked in highest to lowest
4472
order, so if an address is bound to multiple channels,
4473
the highest channel with the source address bound will
4474
be retreived before the lower bound channels. So, the
4475
packets channel will also be set to the highest numbered
4476
channel that has the remote address and port assigned to
4477
it. Otherwise the channel will -1, which you can filter
4478
out easily if you want to ignore unbound source address.
4479
Note that the local and remote channel numbers do not have
4480
to, and probably won't, match, as they are only local
4481
settings, they are not sent in the packet.
4482
This is a non-blocking call, meaning if there's no data
4483
ready to be received the function will return.
4484
<p>Binds to C-function call in SDL_net.h:
4485
<code>
4486
extern DECLSPEC int SDLCALL SDLNet_UDP_Recv(UDPsocket sock, UDPpacket *packet)
4487
</code>
4488
</p>
4489
</remarks>
4490
<returns>
4491
1 is returned when a packet is received.
4492
0 is returned when no packets are received.
4493
-1 is returned on errors.
4494
</returns>
4495
<example>
4496
<code>
4497
// try to receive some waiting udp packets
4498
//UDPsocket udpsock;
4499
//UDPpacket packet;
4500
int numrecv;
4501
4502
numrecv=SDLNet_UDP_Recv(udpsock, &amp;packet);
4503
if(numrecv) {
4504
// do something with packet
4505
}
4506
</code>
4507
</example>
4508
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_UDP_Bind(System.IntPtr,System.Int32,Tao.Sdl.SdlNet.IPaddress@)"/>
4509
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_UDP_Send(System.IntPtr,System.Int32,System.IntPtr)"/>
4510
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_UDP_SendV(System.IntPtr,System.IntPtr,System.Int32)"/>
4511
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_UDP_RecvV(System.IntPtr,System.IntPtr)"/>
4512
<seealso cref="T:Tao.Sdl.SdlNet.UDPpacket"/>
4513
<seealso cref="T:Tao.Sdl.SdlNet.UDPsocket"/>
4514
<param name="sock">
4515
A valid UDPsocket.
4516
</param>
4517
<param name="packet">
4518
The packet to receive into.
4519
</param>
4520
</member>
4521
<member name="M:Tao.Sdl.SdlNet.SDLNet_UDP_Close(System.IntPtr)">
4522
<summary>
4523
Close and free a UDP socket
4524
</summary>
4525
<remarks>
4526
Shutdown, close, and free a UDPsocket.
4527
Don't use the UDPsocket after calling this,
4528
except to open a new one.
4529
<p>Binds to C-function call in SDL_net.h:
4530
<code>
4531
extern DECLSPEC void SDLCALL SDLNet_UDP_Close(UDPsocket sock)
4532
</code>
4533
</p>
4534
</remarks>
4535
<returns>
4536
nothing, this always succeeds.
4537
</returns>
4538
<example>
4539
<code>
4540
// unbind all addresses on the UDPsocket channel 0
4541
//UDPsocket udpsock;
4542
4543
SDLNet_UDP_Close(udpsock);
4544
udpsock=NULL; //this helps us know that this UDPsocket is not valid anymore
4545
</code>
4546
</example>
4547
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_UDP_Open(System.Int16)"/>
4548
<seealso cref="T:Tao.Sdl.SdlNet.UDPsocket"/>
4549
<param name="sock">
4550
A valid UDPsocket to shutdown, close, and free.
4551
</param>
4552
</member>
4553
<member name="M:Tao.Sdl.SdlNet.SDLNet_AllocSocketSet(System.Int32)">
4554
<summary>
4555
Create a new socket set
4556
</summary>
4557
<remarks>
4558
Create a socket set that will be able to watch up to
4559
maxsockets number of sockets. The same socket set can
4560
be used for both UDP and TCP sockets.
4561
<p>Binds to C-function call in SDL_net.h:
4562
<code>
4563
extern DECLSPEC SDLNet_SocketSet SDLCALL SDLNet_AllocSocketSet(int maxsockets)
4564
</code>
4565
</p>
4566
</remarks>
4567
<returns>
4568
A new, empty, SDLNet_SocketSet. NULL is returned on errors, such as out-of-memory.
4569
</returns>
4570
<example>
4571
<code>
4572
// Create a socket set to handle up to 16 sockets
4573
SDLNet_SocketSet set;
4574
4575
set=SDLNet_AllocSocketSet(16);
4576
if(!set) {
4577
printf("SDLNet_AllocSocketSet: %s\n", SDLNet_GetError());
4578
exit(1); //most of the time this is a major error, but do what you want.
4579
}
4580
</code>
4581
</example>
4582
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_FreeSocketSet(Tao.Sdl.SdlNet.SDLNet_SocketSet)"/>
4583
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_AddSocket(Tao.Sdl.SdlNet.SDLNet_SocketSet,Tao.Sdl.SdlNet.SDLNet_GenericSocket)"/>
4584
<seealso cref="T:Tao.Sdl.SdlNet.SDLNet_SocketSet"/>
4585
<seealso cref="T:Tao.Sdl.SdlNet.UDPsocket"/>
4586
<seealso cref="T:Tao.Sdl.SdlNet.TCPsocket"/>
4587
<param name="maxsockets">
4588
The maximum number of sockets you will want to watch.
4589
</param>
4590
</member>
4591
<member name="M:Tao.Sdl.SdlNet.SDLNet_AddSocket(Tao.Sdl.SdlNet.SDLNet_SocketSet,Tao.Sdl.SdlNet.SDLNet_GenericSocket)">
4592
<summary>
4593
Add a socket to a socket set
4594
</summary>
4595
<remarks>
4596
Add a socket to a socket set that will be watched.
4597
<p>Binds to C-function call in SDL_net.h:
4598
<code>
4599
extern DECLSPEC int SDLCALL SDLNet_AddSocket(SDLNet_SocketSet set, SDLNet_GenericSocket sock)
4600
</code>
4601
</p>
4602
</remarks>
4603
<returns>
4604
the number of sockets used in the set on success. -1 is returned on errors.
4605
</returns>
4606
<example>
4607
<code>
4608
// add two sockets to a socket set
4609
//SDLNet_SocketSet set;
4610
//UDPsocket udpsock;
4611
//TCPsocket tcpsock;
4612
int numused;
4613
4614
numused=SDLNet_UDP_AddSocket(set,udpsock);
4615
if(numused==-1) {
4616
printf("SDLNet_AddSocket: %s\n", SDLNet_GetError());
4617
// perhaps you need to restart the set and make it bigger...
4618
}
4619
numused=SDLNet_TCP_AddSocket(set,tcpsock);
4620
if(numused==-1) {
4621
printf("SDLNet_AddSocket: %s\n", SDLNet_GetError());
4622
// perhaps you need to restart the set and make it bigger...
4623
}
4624
</code>
4625
</example>
4626
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_AllocSocketSet(System.Int32)"/>
4627
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_DelSocket(Tao.Sdl.SdlNet.SDLNet_SocketSet,Tao.Sdl.SdlNet.SDLNet_GenericSocket)"/>
4628
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_CheckSockets(Tao.Sdl.SdlNet.SDLNet_SocketSet,System.Int32)"/>
4629
<seealso cref="T:Tao.Sdl.SdlNet.SDLNet_SocketSet"/>
4630
<seealso cref="T:Tao.Sdl.SdlNet.UDPsocket"/>
4631
<seealso cref="T:Tao.Sdl.SdlNet.TCPsocket"/>
4632
<param name="set">
4633
The socket set to add this socket to
4634
</param>
4635
<param name="sock">
4636
The socket to add to the socket set
4637
</param>
4638
</member>
4639
<member name="M:Tao.Sdl.SdlNet.SDLNet_TCP_AddSocket(Tao.Sdl.SdlNet.SDLNet_SocketSet,System.IntPtr)">
4640
<summary>
4641
Add a socket to a socket set
4642
</summary>
4643
<remarks>
4644
Add a socket to a socket set that will be watched.
4645
<p>Binds to C-function call in SDL_net.h:
4646
<code>
4647
#define SDLNet_TCP_AddSocket(set, sock) SDLNet_AddSocket(set, (SDLNet_GenericSocket)sock)
4648
</code>
4649
</p>
4650
</remarks>
4651
<returns>
4652
the number of sockets used in the set on success. -1 is returned on errors.
4653
</returns>
4654
<example>
4655
<code>
4656
// add two sockets to a socket set
4657
//SDLNet_SocketSet set;
4658
//UDPsocket udpsock;
4659
//TCPsocket tcpsock;
4660
int numused;
4661
4662
numused=SDLNet_UDP_AddSocket(set,udpsock);
4663
if(numused==-1) {
4664
printf("SDLNet_AddSocket: %s\n", SDLNet_GetError());
4665
// perhaps you need to restart the set and make it bigger...
4666
}
4667
numused=SDLNet_TCP_AddSocket(set,tcpsock);
4668
if(numused==-1) {
4669
printf("SDLNet_AddSocket: %s\n", SDLNet_GetError());
4670
// perhaps you need to restart the set and make it bigger...
4671
}
4672
</code>
4673
</example>
4674
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_AllocSocketSet(System.Int32)"/>
4675
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_DelSocket(Tao.Sdl.SdlNet.SDLNet_SocketSet,Tao.Sdl.SdlNet.SDLNet_GenericSocket)"/>
4676
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_CheckSockets(Tao.Sdl.SdlNet.SDLNet_SocketSet,System.Int32)"/>
4677
<seealso cref="T:Tao.Sdl.SdlNet.SDLNet_SocketSet"/>
4678
<seealso cref="T:Tao.Sdl.SdlNet.UDPsocket"/>
4679
<seealso cref="T:Tao.Sdl.SdlNet.TCPsocket"/>
4680
<param name="set">
4681
The socket set to add this socket to
4682
</param>
4683
<param name="sock">
4684
The socket to add to the socket set
4685
</param>
4686
</member>
4687
<member name="M:Tao.Sdl.SdlNet.SDLNet_UDP_AddSocket(Tao.Sdl.SdlNet.SDLNet_SocketSet,System.IntPtr)">
4688
<summary>
4689
Add a socket to a socket set
4690
</summary>
4691
<remarks>
4692
Add a socket to a socket set that will be watched.
4693
<p>Binds to C-function call in SDL_net.h:
4694
<code>
4695
#define SDLNet_UDP_AddSocket(set, sock) SDLNet_AddSocket(set, (SDLNet_GenericSocket)sock)
4696
</code>
4697
</p>
4698
</remarks>
4699
<returns>
4700
the number of sockets used in the set on success. -1 is returned on errors.
4701
</returns>
4702
<example>
4703
<code>
4704
// add two sockets to a socket set
4705
//SDLNet_SocketSet set;
4706
//UDPsocket udpsock;
4707
//TCPsocket tcpsock;
4708
int numused;
4709
4710
numused=SDLNet_UDP_AddSocket(set,udpsock);
4711
if(numused==-1) {
4712
printf("SDLNet_AddSocket: %s\n", SDLNet_GetError());
4713
// perhaps you need to restart the set and make it bigger...
4714
}
4715
numused=SDLNet_TCP_AddSocket(set,tcpsock);
4716
if(numused==-1) {
4717
printf("SDLNet_AddSocket: %s\n", SDLNet_GetError());
4718
// perhaps you need to restart the set and make it bigger...
4719
}
4720
</code>
4721
</example>
4722
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_AllocSocketSet(System.Int32)"/>
4723
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_DelSocket(Tao.Sdl.SdlNet.SDLNet_SocketSet,Tao.Sdl.SdlNet.SDLNet_GenericSocket)"/>
4724
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_CheckSockets(Tao.Sdl.SdlNet.SDLNet_SocketSet,System.Int32)"/>
4725
<seealso cref="T:Tao.Sdl.SdlNet.SDLNet_SocketSet"/>
4726
<seealso cref="T:Tao.Sdl.SdlNet.UDPsocket"/>
4727
<seealso cref="T:Tao.Sdl.SdlNet.TCPsocket"/>
4728
<param name="set">
4729
The socket set to add this socket to
4730
</param>
4731
<param name="sock">
4732
The socket to add to the socket set
4733
</param>
4734
</member>
4735
<member name="M:Tao.Sdl.SdlNet.SDLNet_DelSocket(Tao.Sdl.SdlNet.SDLNet_SocketSet,Tao.Sdl.SdlNet.SDLNet_GenericSocket)">
4736
<summary>
4737
Remove a socket from a socket set
4738
</summary>
4739
<remarks>
4740
Free the socket set from memory.
4741
Do not reference the set after this call,
4742
except to allocate a new one.
4743
<p>Binds to C-function call in SDL_net.h:
4744
<code>
4745
extern DECLSPEC int SDLCALL SDLNet_DelSocket(SDLNet_SocketSet set, SDLNet_GenericSocket sock)
4746
</code>
4747
</p>
4748
</remarks>
4749
<returns>
4750
the number of sockets used in the set on success. -1 is returned on errors.
4751
</returns>
4752
<example>
4753
<code>
4754
// remove two sockets from a socket set
4755
//SDLNet_SocketSet set;
4756
//UDPsocket udpsock;
4757
//TCPsocket tcpsock;
4758
int numused;
4759
4760
numused=SDLNet_UDP_DelSocket(set,udpsock);
4761
if(numused==-1) {
4762
printf("SDLNet_DelSocket: %s\n", SDLNet_GetError());
4763
// perhaps the socket is not in the set
4764
}
4765
numused=SDLNet_TCP_DelSocket(set,tcpsock);
4766
if(numused==-1) {
4767
printf("SDLNet_DelSocket: %s\n", SDLNet_GetError());
4768
// perhaps the socket is not in the set
4769
}
4770
</code>
4771
</example>
4772
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_AddSocket(Tao.Sdl.SdlNet.SDLNet_SocketSet,Tao.Sdl.SdlNet.SDLNet_GenericSocket)"/>
4773
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_FreeSocketSet(Tao.Sdl.SdlNet.SDLNet_SocketSet)"/>
4774
<seealso cref="T:Tao.Sdl.SdlNet.SDLNet_SocketSet"/>
4775
<seealso cref="T:Tao.Sdl.SdlNet.UDPsocket"/>
4776
<seealso cref="T:Tao.Sdl.SdlNet.TCPsocket"/>
4777
<param name="set">
4778
The socket set to remove this socket from
4779
</param>
4780
<param name="sock">
4781
the socket to remove from the socket set
4782
</param>
4783
</member>
4784
<member name="M:Tao.Sdl.SdlNet.SDLNet_TCP_DelSocket(Tao.Sdl.SdlNet.SDLNet_SocketSet,System.IntPtr)">
4785
<summary>
4786
Remove a socket from a socket set
4787
</summary>
4788
<remarks>
4789
Free the socket set from memory.
4790
Do not reference the set after this call,
4791
except to allocate a new one.
4792
<p>Binds to C-function call in SDL_net.h:
4793
<code>
4794
#define SDLNet_TCP_DelSocket(set, sock) SDLNet_DelSocket(set, (SDLNet_GenericSocket)sock)
4795
</code>
4796
</p>
4797
</remarks>
4798
<returns>
4799
the number of sockets used in the set on success. -1 is returned on errors.
4800
</returns>
4801
<example>
4802
<code>
4803
// remove two sockets from a socket set
4804
//SDLNet_SocketSet set;
4805
//UDPsocket udpsock;
4806
//TCPsocket tcpsock;
4807
int numused;
4808
4809
numused=SDLNet_UDP_DelSocket(set,udpsock);
4810
if(numused==-1) {
4811
printf("SDLNet_DelSocket: %s\n", SDLNet_GetError());
4812
// perhaps the socket is not in the set
4813
}
4814
numused=SDLNet_TCP_DelSocket(set,tcpsock);
4815
if(numused==-1) {
4816
printf("SDLNet_DelSocket: %s\n", SDLNet_GetError());
4817
// perhaps the socket is not in the set
4818
}
4819
</code>
4820
</example>
4821
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_AddSocket(Tao.Sdl.SdlNet.SDLNet_SocketSet,Tao.Sdl.SdlNet.SDLNet_GenericSocket)"/>
4822
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_FreeSocketSet(Tao.Sdl.SdlNet.SDLNet_SocketSet)"/>
4823
<seealso cref="T:Tao.Sdl.SdlNet.SDLNet_SocketSet"/>
4824
<seealso cref="T:Tao.Sdl.SdlNet.UDPsocket"/>
4825
<seealso cref="T:Tao.Sdl.SdlNet.TCPsocket"/>
4826
<param name="set">
4827
The socket set to remove this socket from
4828
</param>
4829
<param name="sock">
4830
the socket to remove from the socket set
4831
</param>
4832
</member>
4833
<member name="M:Tao.Sdl.SdlNet.SDLNet_UDP_DelSocket(Tao.Sdl.SdlNet.SDLNet_SocketSet,System.IntPtr)">
4834
<summary>
4835
Remove a socket from a socket set
4836
</summary>
4837
<remarks>
4838
Free the socket set from memory.
4839
Do not reference the set after this call,
4840
except to allocate a new one.
4841
<p>Binds to C-function call in SDL_net.h:
4842
<code>
4843
#define SDLNet_UDP_DelSocket(set, sock) SDLNet_DelSocket(set, (SDLNet_GenericSocket)sock)
4844
</code>
4845
</p>
4846
</remarks>
4847
<returns>
4848
the number of sockets used in the set on success. -1 is returned on errors.
4849
</returns>
4850
<example>
4851
<code>
4852
// remove two sockets from a socket set
4853
//SDLNet_SocketSet set;
4854
//UDPsocket udpsock;
4855
//TCPsocket tcpsock;
4856
int numused;
4857
4858
numused=SDLNet_UDP_DelSocket(set,udpsock);
4859
if(numused==-1) {
4860
printf("SDLNet_DelSocket: %s\n", SDLNet_GetError());
4861
// perhaps the socket is not in the set
4862
}
4863
numused=SDLNet_TCP_DelSocket(set,tcpsock);
4864
if(numused==-1) {
4865
printf("SDLNet_DelSocket: %s\n", SDLNet_GetError());
4866
// perhaps the socket is not in the set
4867
}
4868
</code>
4869
</example>
4870
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_AddSocket(Tao.Sdl.SdlNet.SDLNet_SocketSet,Tao.Sdl.SdlNet.SDLNet_GenericSocket)"/>
4871
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_FreeSocketSet(Tao.Sdl.SdlNet.SDLNet_SocketSet)"/>
4872
<seealso cref="T:Tao.Sdl.SdlNet.SDLNet_SocketSet"/>
4873
<seealso cref="T:Tao.Sdl.SdlNet.UDPsocket"/>
4874
<seealso cref="T:Tao.Sdl.SdlNet.TCPsocket"/>
4875
<param name="set">
4876
The socket set to remove this socket from
4877
</param>
4878
<param name="sock">
4879
the socket to remove from the socket set
4880
</param>
4881
</member>
4882
<member name="M:Tao.Sdl.SdlNet.SDLNet_CheckSockets(Tao.Sdl.SdlNet.SDLNet_SocketSet,System.Int32)">
4883
<summary>
4884
Check and wait for sockets in a set to have activity
4885
</summary>
4886
<remarks>
4887
Check all sockets in the socket set for activity. If a non-zero timeout is given then this function will wait for activity, or else it will wait for timeout milliseconds.
4888
NOTE: "activity" also includes disconnections and other errors, which would be determined by a failed read/write attempt.
4889
<p>Binds to C-function call in SDL_net.h:
4890
<code>
4891
extern DECLSPEC int SDLCALL SDLNet_CheckSockets(SDLNet_SocketSet set, Uint32 timeout)
4892
</code>
4893
</p>
4894
</remarks>
4895
<returns>
4896
the number of sockets with activity. -1 is returned on errors, and you may not get a meaningful error message. -1 is also returned for an empty set (nothing to check).
4897
</returns>
4898
<example>
4899
<code>
4900
// Wait for up to 1 second for network activity
4901
//SDLNet_SocketSet set;
4902
int numready;
4903
4904
numready=SDLNet_CheckSockets(set, 1000);
4905
if(numready==-1) {
4906
printf("SDLNet_CheckSockets: %s\n", SDLNet_GetError());
4907
//most of the time this is a system error, where perror might help you.
4908
perror("SDLNet_CheckSockets");
4909
}
4910
else if(numready) {
4911
printf("There are %d sockets with activity!\n",numready);
4912
// check all sockets with SDLNet_SocketReady and handle the active ones.
4913
}
4914
</code>
4915
</example>
4916
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_SocketReady(System.IntPtr)"/>
4917
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_AddSocket(Tao.Sdl.SdlNet.SDLNet_SocketSet,Tao.Sdl.SdlNet.SDLNet_GenericSocket)"/>
4918
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_DelSocket(Tao.Sdl.SdlNet.SDLNet_SocketSet,Tao.Sdl.SdlNet.SDLNet_GenericSocket)"/>
4919
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_AllocSocketSet(System.Int32)"/>
4920
<seealso cref="T:Tao.Sdl.SdlNet.SDLNet_SocketSet"/>
4921
<seealso cref="T:Tao.Sdl.SdlNet.UDPsocket"/>
4922
<seealso cref="T:Tao.Sdl.SdlNet.TCPsocket"/>
4923
<param name="set">
4924
The socket set to check
4925
</param>
4926
<param name="timeout">
4927
The amount of time (in milliseconds).
4928
0 means no waiting.
4929
-1 means to wait over 49 days! (think about it)
4930
</param>
4931
</member>
4932
<member name="M:Tao.Sdl.SdlNet.SDLNet_SocketReady(System.IntPtr)">
4933
<summary>
4934
See if a socket has activity
4935
</summary>
4936
<remarks>
4937
Check whether a socket has been marked as active. This function should only be used on a socket in a socket set, and that set has to have had SDLNet_CheckSockets (see SDLNet_CheckSockets) called upon it.
4938
<p>Binds to C-function call in SDL_net.h:
4939
<code>
4940
#define SDLNet_SocketReady(sock) ((sock != NULL) &amp;&amp; ((SDLNet_GenericSocket)sock)-&gt;ready)
4941
</code>
4942
</p>
4943
</remarks>
4944
<returns>
4945
non-zero for activity. zero is returned for no activity.
4946
</returns>
4947
<example>
4948
<code>
4949
// Wait forever for a connection attempt
4950
//SDLNet_SocketSet set;
4951
//TCPsocket serversock, client;
4952
int numready;
4953
4954
numready=SDLNet_CheckSockets(set, 1000);
4955
if(numready==-1) {
4956
printf("SDLNet_CheckSockets: %s\n", SDLNet_GetError());
4957
//most of the time this is a system error, where perror might help you.
4958
perror("SDLNet_CheckSockets");
4959
}
4960
else if(numready) {
4961
printf("There are %d sockets with activity!\n",numready);
4962
// check all sockets with SDLNet_SocketReady and handle the active ones.
4963
if(SDLNet_SocketReady(serversock)) {
4964
client=SDLNet_TCP_Accept(serversock);
4965
if(client) {
4966
// play with the client.
4967
}
4968
}
4969
}
4970
</code>
4971
To just quickly do network handling with no waiting, we do this.
4972
<code>
4973
// Check for, and handle UDP data
4974
//SDLNet_SocketSet set;
4975
//UDPsocket udpsock;
4976
//UDPpacket *packet;
4977
int numready, numpkts;
4978
4979
numready=SDLNet_CheckSockets(set, 0);
4980
if(numready==-1) {
4981
printf("SDLNet_CheckSockets: %s\n", SDLNet_GetError());
4982
//most of the time this is a system error, where perror might help you.
4983
perror("SDLNet_CheckSockets");
4984
}
4985
else if(numready) {
4986
printf("There are %d sockets with activity!\n",numready);
4987
// check all sockets with SDLNet_SocketReady and handle the active ones.
4988
if(SDLNet_SocketReady(udpsock)) {
4989
numpkts=SDLNet_UDP_Recv(udpsock,&amp;packet);
4990
if(numpkts) {
4991
// process the packet.
4992
}
4993
}
4994
}
4995
</code>
4996
</example>
4997
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_CheckSockets(Tao.Sdl.SdlNet.SDLNet_SocketSet,System.Int32)"/>
4998
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_AddSocket(Tao.Sdl.SdlNet.SDLNet_SocketSet,Tao.Sdl.SdlNet.SDLNet_GenericSocket)"/>
4999
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_DelSocket(Tao.Sdl.SdlNet.SDLNet_SocketSet,Tao.Sdl.SdlNet.SDLNet_GenericSocket)"/>
5000
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_AllocSocketSet(System.Int32)"/>
5001
<seealso cref="T:Tao.Sdl.SdlNet.SDLNet_SocketSet"/>
5002
<seealso cref="T:Tao.Sdl.SdlNet.UDPsocket"/>
5003
<seealso cref="T:Tao.Sdl.SdlNet.TCPsocket"/>
5004
<param name="sock">
5005
The socket to check for activity.
5006
Both UDPsocket and TCPsocket can be used with this function.
5007
</param>
5008
</member>
5009
<member name="M:Tao.Sdl.SdlNet.SDLNet_FreeSocketSet(Tao.Sdl.SdlNet.SDLNet_SocketSet)">
5010
<summary>
5011
Free a socket set
5012
</summary>
5013
<remarks>
5014
Free the socket set from memory.
5015
Do not reference the set after this call,
5016
except to allocate a new one.
5017
<p>Binds to C-function call in SDL_net.h:
5018
<code>
5019
extern DECLSPEC void SDLCALL SDLNet_FreeSocketSet(SDLNet_SocketSet set)
5020
</code>
5021
</p>
5022
</remarks>
5023
<returns>
5024
nothing, this call always succeeds.
5025
</returns>
5026
<example>
5027
<code>
5028
// free a socket set
5029
//SDLNet_SocketSet set;
5030
5031
SDLNet_FreeSocketSet(set);
5032
set=NULL; //this helps us remember that this set is not allocated
5033
</code>
5034
</example>
5035
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_AllocSocketSet(System.Int32)"/>
5036
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_AddSocket(Tao.Sdl.SdlNet.SDLNet_SocketSet,Tao.Sdl.SdlNet.SDLNet_GenericSocket)"/>
5037
<seealso cref="T:Tao.Sdl.SdlNet.SDLNet_SocketSet"/>
5038
<seealso cref="T:Tao.Sdl.SdlNet.UDPsocket"/>
5039
<seealso cref="T:Tao.Sdl.SdlNet.TCPsocket"/>
5040
<param name="set">
5041
The socket set to free from memory
5042
</param>
5043
</member>
5044
<member name="T:Tao.Sdl.SdlNet.IPaddress">
5045
<summary>
5046
IP Address and Port number
5047
</summary>
5048
<remarks>
5049
This type contains the information used to
5050
form network connections and sockets.
5051
<p>Binds to C-function call in SDL_net.h:
5052
<code>
5053
typedef struct {
5054
Uint32 host;
5055
Uint16 port;
5056
} IPaddress;
5057
</code>
5058
</p>
5059
</remarks>
5060
<seealso cref="T:Tao.Sdl.SdlNet.UDPpacket"/>
5061
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_TCP_Open(Tao.Sdl.SdlNet.IPaddress@)"/>
5062
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_ResolveHost(Tao.Sdl.SdlNet.IPaddress@,System.String,System.Int16)"/>
5063
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_ResolveIP(Tao.Sdl.SdlNet.IPaddress@)"/>
5064
</member>
5065
<member name="F:Tao.Sdl.SdlNet.IPaddress.host">
5066
<summary>
5067
The 32-bit IPv4 address of a host, encoded in Network Byte
5068
Order.
5069
</summary>
5070
</member>
5071
<member name="F:Tao.Sdl.SdlNet.IPaddress.port">
5072
<summary>
5073
The 16-bit IPv4 port number of a socket,
5074
encoded in Network Byte Order.
5075
</summary>
5076
</member>
5077
<member name="T:Tao.Sdl.SdlNet.UDPpacket">
5078
<summary>
5079
UDP packet data encapsulation
5080
</summary>
5081
<remarks>
5082
This struct is used with UDPsockets to send and receive data.
5083
It also helps keep track of a packets sending/receiving
5084
settings and status. The channels concept helps prioritize,
5085
or segregate differring types of data packets.
5086
<p>Binds to C-function call in SDL_net.h:
5087
<code>
5088
typedef struct {
5089
int channel;
5090
Uint8 *data;
5091
int len;
5092
int maxlen;
5093
int status;
5094
IPaddress address;
5095
} UDPpacket;
5096
</code>
5097
</p>
5098
</remarks>
5099
<seealso cref="T:Tao.Sdl.SdlNet.UDPsocket"/>
5100
<seealso cref="T:Tao.Sdl.SdlNet.IPaddress"/>
5101
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_AllocPacket(System.Int32)"/>
5102
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_ResizePacket(System.IntPtr,System.Int32)"/>
5103
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_FreePacket(System.IntPtr)"/>
5104
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_AllocPacketV(System.Int32,System.Int32)"/>
5105
<seealso cref="M:Tao.Sdl.SdlNet.SDLNet_FreePacketV(System.IntPtr)"/>
5106
</member>
5107
<member name="F:Tao.Sdl.SdlNet.UDPpacket.channel">
5108
<summary>
5109
The (software) channel number for this packet.
5110
This can also be used as a priority value for the packet.
5111
If no channel is assigned, the value is -1.
5112
</summary>
5113
</member>
5114
<member name="F:Tao.Sdl.SdlNet.UDPpacket.data">
5115
<summary>
5116
The data contained in this packet, this is the meat.
5117
</summary>
5118
</member>
5119
<member name="F:Tao.Sdl.SdlNet.UDPpacket.len">
5120
<summary>
5121
This is the meaningful length of the data in bytes.
5122
</summary>
5123
</member>
5124
<member name="F:Tao.Sdl.SdlNet.UDPpacket.maxlen">
5125
<summary>
5126
This is size of the data buffer, which may be larger
5127
than the meaningful length. This is only used for
5128
packet creation on the senders side.
5129
</summary>
5130
</member>
5131
<member name="F:Tao.Sdl.SdlNet.UDPpacket.status">
5132
<summary>
5133
This contains the number of bytes sent, or a -1 on errors,
5134
after sending. This is useless for a received packet.
5135
</summary>
5136
</member>
5137
<member name="F:Tao.Sdl.SdlNet.UDPpacket.address">
5138
<summary>
5139
This is the resolved IPaddress to be used when sending,
5140
or it is the remote source of a received packet.
5141
</summary>
5142
</member>
5143
<member name="T:Tao.Sdl.SdlNet.TCPsocket">
5144
<summary>
5145
TCP socket type (opaque)
5146
</summary>
5147
<remarks>
5148
This is an opaque data type used for TCP connections.
5149
This is a pointer, and so it could be NULL at times.
5150
NULL would indicate no socket has been established.
5151
<code>
5152
typedef struct _TCPsocket *TCPsocket
5153
</code>
5154
</remarks>
5155
<seealso cref="T:Tao.Sdl.SdlNet.UDPsocket"/>
5156
<seealso cref="T:Tao.Sdl.SdlNet.SDLNet_GenericSocket"/>
5157
</member>
5158
<member name="T:Tao.Sdl.SdlNet.UDPsocket">
5159
<summary>
5160
UDP socket type (opaque)
5161
</summary>
5162
<remarks>
5163
This is an opaque data type used for UDP sockets.
5164
This is a pointer, and so it could be NULL at times.
5165
NULL would indicate no socket has been established.
5166
<code>
5167
typedef struct _UDPsocket *UDPsocket
5168
</code>
5169
</remarks>
5170
<seealso cref="T:Tao.Sdl.SdlNet.UDPpacket"/>
5171
<seealso cref="T:Tao.Sdl.SdlNet.TCPsocket"/>
5172
<seealso cref="T:Tao.Sdl.SdlNet.SDLNet_GenericSocket"/>
5173
</member>
5174
<member name="T:Tao.Sdl.SdlNet.SDLNet_SocketSet">
5175
<summary>
5176
Socket Set type (opaque)
5177
</summary>
5178
<remarks>
5179
This is an opaque data type used for socket sets.
5180
This is a pointer, and so it could be NULL at times.
5181
NULL would indicate no socket set has been created.
5182
<code>
5183
typedef struct _SDLNet_SocketSet *SDLNet_SocketSet
5184
</code>
5185
</remarks>
5186
<seealso cref="T:Tao.Sdl.SdlNet.TCPsocket"/>
5187
<seealso cref="T:Tao.Sdl.SdlNet.UDPsocket"/>
5188
</member>
5189
<member name="T:Tao.Sdl.SdlNet.SDLNet_GenericSocket">
5190
<summary>
5191
A generic type for UDP and TCP sockets
5192
</summary>
5193
<remarks>
5194
This data type is able to be used for both UDPsocket
5195
and TCPsocket types.
5196
After calling SDLNet_CheckSockets,
5197
if this socket is in SDLNet_SocketSet used,
5198
the ready will be set according to activity on the socket.
5199
This is the only real use for this type, as it doesn't
5200
help you know what type of socket it is.
5201
<code>
5202
typedef struct {
5203
int ready;
5204
} *SDLNet_GenericSocket;
5205
</code>
5206
</remarks>
5207
<seealso cref="T:Tao.Sdl.SdlNet.TCPsocket"/>
5208
<seealso cref="T:Tao.Sdl.SdlNet.UDPsocket"/>
5209
</member>
5210
<member name="F:Tao.Sdl.SdlNet.SDLNet_GenericSocket.ready">
5211
<summary>
5212
Non-zero when data is ready to be read,
5213
or a server socket has a connection attempt
5214
ready to be accepted.
5215
</summary>
5216
</member>
5217
<member name="T:Tao.Sdl.Smpeg">
5218
<summary>
5219
SMPEG bindings for .NET.
5220
<p></p>
5221
</summary>
5222
<remarks>
5223
</remarks>
5224
</member>
5225
<member name="F:Tao.Sdl.Smpeg.SMPEG_NATIVE_LIBRARY">
5226
<summary>
5227
Specifies Smpeg's native library archive.
5228
</summary>
5229
<remarks>
5230
Specifies smpeg.dll everywhere; will be mapped via .config for mono.
5231
</remarks>
5232
</member>
5233
<member name="F:Tao.Sdl.Smpeg.CALLING_CONVENTION">
5234
<summary>
5235
Specifies the calling convention.
5236
</summary>
5237
<remarks>
5238
Specifies <see cref="F:System.Runtime.InteropServices.CallingConvention.Cdecl"/>
5239
for Windows and Linux.
5240
</remarks>
5241
</member>
5242
<member name="F:Tao.Sdl.Smpeg.SMPEG_FILTER_INFO_MB_ERROR">
5243
<summary>
5244
Filter info flag
5245
</summary>
5246
</member>
5247
<member name="F:Tao.Sdl.Smpeg.SMPEG_FILTER_INFO_PIXEL_ERROR">
5248
<summary>
5249
Filter info flag
5250
</summary>
5251
</member>
5252
<member name="F:Tao.Sdl.Smpeg.SMPEG_MAJOR_VERSION">
5253
<summary>
5254
Major Version
5255
</summary>
5256
</member>
5257
<member name="F:Tao.Sdl.Smpeg.SMPEG_MINOR_VERSION">
5258
<summary>
5259
Minor Version
5260
</summary>
5261
</member>
5262
<member name="F:Tao.Sdl.Smpeg.SMPEG_PATCHLEVEL">
5263
<summary>
5264
Patch Version
5265
</summary>
5266
</member>
5267
<member name="F:Tao.Sdl.Smpeg.SMPEG_ERROR">
5268
<summary>
5269
MPEG status code.
5270
</summary>
5271
<remarks>
5272
Part of SMPEGstatus C-style enum
5273
</remarks>
5274
</member>
5275
<member name="F:Tao.Sdl.Smpeg.SMPEG_STOPPED">
5276
<summary>
5277
MPEG status code.
5278
</summary>
5279
<remarks>
5280
Part of SMPEGstatus C-style enum
5281
</remarks>
5282
</member>
5283
<member name="F:Tao.Sdl.Smpeg.SMPEG_PLAYING">
5284
<summary>
5285
MPEG status code.
5286
</summary>
5287
<remarks>
5288
Part of SMPEGstatus C-style enum
5289
</remarks>
5290
</member>
5291
<member name="M:Tao.Sdl.Smpeg.SMPEGfilter_null">
5292
<summary>
5293
The null filter (default).
5294
It simply copies the source rectangle to the video overlay.
5295
</summary>
5296
<remarks>
5297
<p>Binds to C-function in MPEGfilter.h
5298
<code>
5299
SMPEG_Filter * SMPEGfilter_null(void)
5300
</code></p></remarks>
5301
<returns>IntPtr to <see cref="T:Tao.Sdl.Smpeg.SMPEG_Filter"/></returns>
5302
<seealso cref="M:Tao.Sdl.Smpeg.SMPEGfilter_bilinear"/>
5303
<seealso cref="M:Tao.Sdl.Smpeg.SMPEGfilter_deblocking"/>
5304
</member>
5305
<member name="M:Tao.Sdl.Smpeg.SMPEGfilter_bilinear">
5306
<summary>
5307
The bilinear filter.
5308
A basic low-pass filter that will produce a smoother image.
5309
</summary>
5310
<remarks>
5311
<p>Binds to C-function in MPEGfilter.h
5312
<code>
5313
SMPEG_Filter * SMPEGfilter_bilinear(void)
5314
</code></p></remarks>
5315
<returns>IntPtr to <see cref="T:Tao.Sdl.Smpeg.SMPEG_Filter"/></returns>
5316
<seealso cref="M:Tao.Sdl.Smpeg.SMPEGfilter_null"/>
5317
<seealso cref="M:Tao.Sdl.Smpeg.SMPEGfilter_deblocking"/>
5318
</member>
5319
<member name="M:Tao.Sdl.Smpeg.SMPEGfilter_deblocking">
5320
<summary>
5321
The deblocking filter.
5322
It filters block borders and non-intra coded blocks
5323
to reduce blockiness
5324
</summary>
5325
<remarks>
5326
<p>Binds to C-function in MPEGfilter.h
5327
<code>
5328
SMPEG_Filter * SMPEGfilter_deblocking(void)
5329
</code></p></remarks>
5330
<returns>IntPtr to <see cref="T:Tao.Sdl.Smpeg.SMPEG_Filter"/></returns>
5331
<seealso cref="M:Tao.Sdl.Smpeg.SMPEGfilter_null"/>
5332
<seealso cref="M:Tao.Sdl.Smpeg.SMPEGfilter_bilinear"/>
5333
</member>
5334
<member name="M:Tao.Sdl.Smpeg.SMPEG_VERSION">
5335
<summary>
5336
This method can be used to fill a version structure with the compile-time
5337
version of the SMPEG library.
5338
</summary>
5339
<returns>
5340
This function returns a <see cref="T:Tao.Sdl.Smpeg.SMPEG_version"/> struct containing the
5341
compiled version number
5342
</returns>
5343
<remarks>
5344
<p>
5345
Binds to C-function call in smpeg.h:
5346
<code>#define SMPEG_VERSION(X)
5347
{
5348
(X)-&gt;major = SMPEG_MAJOR_VERSION;
5349
(X)-&gt;minor = SMPEG_MINOR_VERSION;
5350
(X)-&gt;patch = SMPEG_PATCHLEVEL;
5351
}</code>
5352
</p>
5353
</remarks>
5354
</member>
5355
<member name="M:Tao.Sdl.Smpeg.SMPEG_new(System.String,Tao.Sdl.Smpeg.SMPEG_Info@,System.Int32)">
5356
<summary>
5357
Create a new SMPEG object from an MPEG file.
5358
</summary>
5359
<remarks>
5360
<p>Binds to a C-function call in smpeg.h
5361
<code>SMPEG* SMPEG_new(const char *file, SMPEG_Info* info, int sdl_audio);
5362
</code></p></remarks>
5363
<param name="file"></param>
5364
<param name="info">On return, if 'info' is not NULL,
5365
it will be filled with information about the MPEG object.</param>
5366
<param name="sdl_audio">
5367
The sdl_audio parameter indicates if SMPEG should
5368
initialize the SDL audio
5369
subsystem. If not, you will have to use the
5370
SMPEG_playaudio() function below
5371
to extract the decoded data. Never set this parameter to false (i.e. 0).
5372
This will cause the video playback to run very slowly.
5373
To disable audio,
5374
use the <see cref="M:Tao.Sdl.Smpeg.SMPEG_enableaudio(System.IntPtr,System.Int32)"/> function.</param>
5375
<returns>This function returns a new SMPEG object.
5376
Use SMPEG_error() to find out whether or not there
5377
was a problem building the MPEG stream.</returns>
5378
</member>
5379
<member name="M:Tao.Sdl.Smpeg.SMPEG_new_descr(System.Int32,Tao.Sdl.Smpeg.SMPEG_Info@,System.Int32)">
5380
<summary>
5381
Create a new SMPEG object from a file descriptor.
5382
</summary>
5383
<remarks>
5384
<p>Binds to a C-function call in smpeg.h
5385
<code>SMPEG* SMPEG_new_descr(int file, SMPEG_Info* info, int sdl_audio)
5386
</code></p></remarks>
5387
<param name="file"></param>
5388
<param name="info">On return, if 'info' is not NULL,
5389
it will be filled with information about the MPEG object.</param>
5390
<param name="sdl_audio">
5391
The sdl_audio parameter indicates if SMPEG should
5392
initialize the SDL audio
5393
subsystem. If not, you will have to use the
5394
SMPEG_playaudio() function below
5395
to extract the decoded data.</param>
5396
<returns>This function returns a new SMPEG object.
5397
Use SMPEG_error() to find out whether or not there
5398
was a problem building the MPEG stream.</returns>
5399
</member>
5400
<member name="M:Tao.Sdl.Smpeg.SMPEG_new_data(System.Object,System.Int32,Tao.Sdl.Smpeg.SMPEG_Info@,System.Int32)">
5401
<summary>
5402
Create a new SMPEG object from for a raw chunk of data.
5403
</summary>
5404
<remarks>
5405
SMPEG makes a copy of the data, so the application is free to
5406
delete after a successful call to this function.
5407
<p>Binds to a C-function call in smpeg.h
5408
<code>
5409
SMPEG* SMPEG_new_data(void *data, int size, SMPEG_Info* info, int sdl_audio)
5410
</code></p></remarks>
5411
<param name="data">Raw chunck of data</param>
5412
<param name="size">Size of chunk</param>
5413
<param name="info">On return, if 'info' is not NULL,
5414
it will be filled with information about the MPEG object.</param>
5415
<param name="sdl_audio">
5416
The sdl_audio parameter indicates if SMPEG should
5417
initialize the SDL audio
5418
subsystem. If not, you will have to use the
5419
SMPEG_playaudio() function below
5420
to extract the decoded data.</param>
5421
<returns>This function returns a new SMPEG object.
5422
Use SMPEG_error() to find out whether or not there
5423
was a problem building the MPEG stream.</returns>
5424
</member>
5425
<member name="M:Tao.Sdl.Smpeg.SMPEG_new_rwops(System.IntPtr,Tao.Sdl.Smpeg.SMPEG_Info@,System.Int32)">
5426
<summary>
5427
Create a new SMPEG object from a generic SDL_RWops structure.
5428
</summary>
5429
<remarks>
5430
<p>Binds to a C-function call in smpeg.h
5431
<code>
5432
SMPEG* SMPEG_new_rwops(SDL_RWops *src, SMPEG_Info* info, int sdl_audio);
5433
</code></p></remarks>
5434
<param name="src"></param>
5435
<param name="info">On return, if 'info' is not NULL,
5436
it will be filled with information about the MPEG object.</param>
5437
<param name="sdl_audio">
5438
The sdl_audio parameter indicates if SMPEG should
5439
initialize the SDL audio
5440
subsystem. If not, you will have to use the
5441
SMPEG_playaudio() function below
5442
to extract the decoded data.</param>
5443
<returns>This function returns a new SMPEG object.
5444
Use SMPEG_error() to find out whether or not there
5445
was a problem building the MPEG stream.</returns>
5446
</member>
5447
<member name="M:Tao.Sdl.Smpeg.SMPEG_getinfo(System.IntPtr,Tao.Sdl.Smpeg.SMPEG_Info@)">
5448
<summary>
5449
Get current information about an SMPEG object
5450
</summary>
5451
<remarks>
5452
<p>Binds to a C-function call in smpeg.h
5453
<code>
5454
void SMPEG_getinfo( SMPEG* mpeg, SMPEG_Info* info )
5455
</code></p></remarks>
5456
<param name="mpeg">Handle to MPEG file.</param>
5457
<param name="info">On return, if 'info' is not NULL,
5458
it will be filled with information about the MPEG object.</param>
5459
</member>
5460
<member name="M:Tao.Sdl.Smpeg.SMPEG_enableaudio(System.IntPtr,System.Int32)">
5461
<summary>
5462
Enable or disable audio playback in MPEG stream
5463
</summary>
5464
<remarks>
5465
<p>Binds to a C-function call in smpeg.h
5466
<code>
5467
void SMPEG_enableaudio( SMPEG* mpeg, int enable )
5468
</code></p></remarks>
5469
<param name="mpeg">Handle to MPEG file.</param>
5470
<param name="enable"></param>
5471
</member>
5472
<member name="M:Tao.Sdl.Smpeg.SMPEG_enablevideo(System.IntPtr,System.Int32)">
5473
<summary>
5474
Enable or disable video playback in MPEG stream
5475
</summary>
5476
<remarks>
5477
<p>Binds to a C-function call in smpeg.h
5478
<code>
5479
void SMPEG_enablevideo( SMPEG* mpeg, int enable )
5480
</code></p></remarks>
5481
<param name="mpeg">Handle to MPEG file.</param>
5482
<param name="enable"></param>
5483
</member>
5484
<member name="M:Tao.Sdl.Smpeg.SMPEG_delete(System.IntPtr)">
5485
<summary>
5486
Delete an SMPEG object.
5487
</summary>
5488
<remarks>
5489
<p>Binds to a C-function call in smpeg.h
5490
<code>
5491
void SMPEG_delete( SMPEG* mpeg )
5492
</code></p></remarks>
5493
<param name="mpeg">Handle to MPEG file.</param>
5494
</member>
5495
<member name="M:Tao.Sdl.Smpeg.SMPEG_status(System.IntPtr)">
5496
<summary>
5497
Get the current status of an SMPEG object
5498
</summary>
5499
<remarks>
5500
<p>Binds to a C-function call in smpeg.h
5501
<code>
5502
SMPEGstatus SMPEG_status( SMPEG* mpeg )
5503
</code></p></remarks>
5504
<param name="mpeg">Handle to MPEG file.</param>
5505
<returns>
5506
SMPEG status: SMPEG_ERROR, SMPEG_PLAYING, SMPEG_STOPPED
5507
</returns>
5508
</member>
5509
<member name="M:Tao.Sdl.Smpeg.SMPEG_setvolume(System.IntPtr,System.Int32)">
5510
<summary>
5511
Set the audio volume of an MPEG stream, in the range 0-100
5512
</summary>
5513
<remarks>
5514
<p>Binds to a C-function call in smpeg.h
5515
<code>
5516
void SMPEG_setvolume( SMPEG* mpeg, int volume )
5517
</code></p></remarks>
5518
<param name="mpeg">Handle to MPEG file.</param>
5519
<param name="volume">Range from 0 - 100.</param>
5520
</member>
5521
<member name="M:Tao.Sdl.Smpeg.SMPEG_setdisplay(System.IntPtr,System.IntPtr,System.IntPtr,Tao.Sdl.Smpeg.SMPEG_DisplayCallback)">
5522
<summary>
5523
Set the destination surface for MPEG video playback
5524
</summary>
5525
<remarks>
5526
<p>Binds to a C-function call in smpeg.h
5527
<code>
5528
void SMPEG_setdisplay(SMPEG* mpeg, SDL_Surface* dst, SDL_mutex* surfLock, SMPEG_DisplayCallback callback);
5529
</code></p></remarks>
5530
<param name="mpeg">Handle to MPEG file.</param>
5531
<param name="dst"></param>
5532
<param name="surfLock">
5533
'surfLock' is a mutex used to synchronize access to 'dst',
5534
and can be NULL.
5535
</param>
5536
<param name="callback">
5537
'callback' is a function called when an area of 'dst' needs
5538
to be updated.
5539
If 'callback' is NULL, the default function (SDL_UpdateRect)
5540
will be used.
5541
</param>
5542
</member>
5543
<member name="M:Tao.Sdl.Smpeg.SMPEG_loop(System.IntPtr,System.Int32)">
5544
<summary>
5545
Set or clear looping play on an SMPEG object
5546
</summary>
5547
<remarks>
5548
<p>Binds to a C-function call in smpeg.h
5549
<code>
5550
void SMPEG_loop( SMPEG* mpeg, int repeat )
5551
</code></p></remarks>
5552
<param name="mpeg">Handle to MPEG file.</param>
5553
<param name="repeat"></param>
5554
</member>
5555
<member name="M:Tao.Sdl.Smpeg.SMPEG_scaleXY(System.IntPtr,System.Int32,System.Int32)">
5556
<summary>
5557
Scale pixel display on an SMPEG object
5558
</summary>
5559
<remarks>
5560
<p>Binds to a C-function call in smpeg.h
5561
<code>
5562
void SMPEG_scaleXY( SMPEG* mpeg, int width, int height )
5563
</code></p></remarks>
5564
<param name="mpeg">Handle to MPEG file.</param>
5565
<param name="width"></param>
5566
<param name="height"></param>
5567
</member>
5568
<member name="M:Tao.Sdl.Smpeg.SMPEG_scale(System.IntPtr,System.Int32)">
5569
<summary>
5570
Scale pixel display on an SMPEG object
5571
</summary>
5572
<remarks>
5573
<p>Binds to a C-function call in smpeg.h
5574
<code>
5575
void SMPEG_scale( SMPEG* mpeg, int scale )
5576
</code></p></remarks>
5577
<param name="mpeg">Handle to MPEG file.</param>
5578
<param name="scale"></param>
5579
</member>
5580
<member name="M:Tao.Sdl.Smpeg.SMPEG_double(System.IntPtr,System.Int32)">
5581
<summary>
5582
Scale pixel display on an SMPEG object
5583
</summary>
5584
<remarks>
5585
<p>Binds to a C-function call in smpeg.h
5586
<code>
5587
#define SMPEG_double(mpeg, on) \
5588
SMPEG_scale(mpeg, (on) ? 2 : 1)
5589
</code></p></remarks>
5590
<param name="mpeg">Handle to MPEG file.</param>
5591
<param name="on"></param>
5592
</member>
5593
<member name="M:Tao.Sdl.Smpeg.SMPEG_move(System.IntPtr,System.Int32,System.Int32)">
5594
<summary>
5595
Move the video display area within the destination surface
5596
</summary>
5597
<remarks>
5598
<p>Binds to a C-function call in smpeg.h
5599
<code>
5600
void SMPEG_move( SMPEG* mpeg, int x, int y )
5601
</code>
5602
</p>
5603
</remarks>
5604
<param name="mpeg">Handle to MPEG file.</param>
5605
<param name="x"></param>
5606
<param name="y"></param>
5607
</member>
5608
<member name="M:Tao.Sdl.Smpeg.SMPEG_setdisplayregion(System.IntPtr,System.Int32,System.Int32,System.Int32,System.Int32)">
5609
<summary>
5610
Set the region of the video to be shown
5611
</summary>
5612
<remarks>
5613
<p>Binds to a C-function call in smpeg.h
5614
<code>
5615
void SMPEG_setdisplayregion(SMPEG* mpeg, int x, int y, int w, int h)
5616
</code>
5617
</p>
5618
</remarks>
5619
<param name="mpeg">Handle to MPEG file.</param>
5620
<param name="h"></param>
5621
<param name="w"></param>
5622
<param name="x"></param>
5623
<param name="y"></param>
5624
</member>
5625
<member name="M:Tao.Sdl.Smpeg.SMPEG_play(System.IntPtr)">
5626
<summary>
5627
Play an SMPEG object
5628
</summary>
5629
<remarks>
5630
<p>Binds to a C-function call in smpeg.h
5631
<code>
5632
void SMPEG_play( SMPEG* mpeg )
5633
</code></p></remarks>
5634
<param name="mpeg">Handle to MPEG file.</param>
5635
</member>
5636
<member name="M:Tao.Sdl.Smpeg.SMPEG_pause(System.IntPtr)">
5637
<summary>
5638
Pause/Resume playback of an SMPEG object
5639
</summary>
5640
<remarks>
5641
<p>Binds to a C-function call in smpeg.h
5642
<code>
5643
void SMPEG_pause( IntPtr mpeg )
5644
</code></p></remarks>
5645
<param name="mpeg">Handle to MPEG file.</param>
5646
</member>
5647
<member name="M:Tao.Sdl.Smpeg.SMPEG_stop(System.IntPtr)">
5648
<summary>
5649
Stop playback of an SMPEG object
5650
</summary>
5651
<remarks>
5652
<p>Binds to a C-function call in smpeg.h
5653
<code>
5654
void SMPEG_stop( SMPEG* mpeg )
5655
</code></p></remarks>
5656
<param name="mpeg">Handle to MPEG file.</param>
5657
</member>
5658
<member name="M:Tao.Sdl.Smpeg.SMPEG_rewind(System.IntPtr)">
5659
<summary>
5660
Rewind the play position of an SMPEG object
5661
to the beginning of the MPEG
5662
</summary>
5663
<remarks>
5664
<p>Binds to a C-function call in smpeg.h
5665
<code>
5666
void SMPEG_rewind( SMPEG* mpeg )
5667
</code></p></remarks>
5668
<param name="mpeg">Handle to MPEG file.</param>
5669
</member>
5670
<member name="M:Tao.Sdl.Smpeg.SMPEG_seek(System.IntPtr,System.Int32)">
5671
<summary>
5672
Seek 'bytes' bytes in the MPEG stream
5673
</summary>
5674
<remarks>
5675
<p>Binds to a C-function call in smpeg.h
5676
<code>
5677
void SMPEG_seek( SMPEG* mpeg, int bytes)
5678
</code></p></remarks>
5679
<param name="mpeg">Handle to MPEG file.</param>
5680
<param name="bytes">Bytes in the MPEG stream.</param>
5681
</member>
5682
<member name="M:Tao.Sdl.Smpeg.SMPEG_skip(System.IntPtr,System.Single)">
5683
<summary>
5684
Skip 'seconds' seconds in the MPEG stream
5685
</summary>
5686
<remarks>
5687
<p>Binds to a C-function call in smpeg.h
5688
<code>
5689
void SMPEG_skip( SMPEG* mpeg, float seconds );
5690
</code></p></remarks>
5691
<param name="mpeg">Handle to MPEG file.</param>
5692
<param name="seconds">Seconds in the MPEG stream.</param>
5693
</member>
5694
<member name="M:Tao.Sdl.Smpeg.SMPEG_renderFrame(System.IntPtr,System.Int32)">
5695
<summary>
5696
Render a particular frame in the MPEG video
5697
</summary>
5698
<remarks>
5699
API CHANGE: This function no longer takes a target surface and position.
5700
Use SMPEG_setdisplay() and SMPEG_move() to set this information.
5701
<p>Binds to a C-function call in smpeg.h
5702
<code>
5703
void SMPEG_renderFrame( SMPEG* mpeg, int framenum )
5704
</code>
5705
</p>
5706
</remarks>
5707
<param name="mpeg">Handle to MPEG file.</param>
5708
<param name="framenum">Frame number</param>
5709
</member>
5710
<member name="M:Tao.Sdl.Smpeg.SMPEG_renderFinal(System.IntPtr,System.IntPtr,System.Int32,System.Int32)">
5711
<summary>
5712
Render the last frame of an MPEG video
5713
</summary>
5714
<remarks>
5715
<p>Binds to a C-function call in smpeg.h
5716
<code>
5717
void SMPEG_renderFinal( SMPEG* mpeg, SDL_Surface* dst, int x, int y )
5718
</code>
5719
</p>
5720
</remarks>
5721
<param name="mpeg">Handle to MPEG file.</param>
5722
<param name="dst">SDL_Surface pointer</param>
5723
<param name="x"></param>
5724
<param name="y"></param>
5725
</member>
5726
<member name="M:Tao.Sdl.Smpeg.SMPEG_filter(System.IntPtr,System.IntPtr)">
5727
<summary>
5728
Set video filter
5729
</summary>
5730
<remarks>
5731
<p>Binds to a C-function call in smpeg.h
5732
<code>
5733
SMPEG_Filter * SMPEG_filter( SMPEG* mpeg, SMPEG_Filter * filter )
5734
</code>
5735
</p>
5736
</remarks>
5737
<param name="mpeg">Handle to MPEG file.</param>
5738
<param name="filter">IntPtr to SPEG_Filter</param>
5739
</member>
5740
<member name="M:Tao.Sdl.Smpeg.SMPEG_error(System.IntPtr)">
5741
<summary>
5742
SMPEG errors messages.
5743
</summary>
5744
<remarks>
5745
<p>Binds to a C-function call in smpeg.h
5746
<code>
5747
char *SMPEG_error( SMPEG* mpeg );
5748
</code></p></remarks>
5749
<param name="mpeg">MPEG file pointer</param>
5750
<returns>
5751
Return NULL if there is no error in the MPEG stream,
5752
or an error message
5753
if there was a fatal error in the MPEG stream for the SMPEG object..
5754
</returns>
5755
</member>
5756
<member name="M:Tao.Sdl.Smpeg.SMPEG_playAudio(System.IntPtr,System.Byte[],System.Int32)">
5757
<summary>
5758
Exported callback function for audio playback.
5759
</summary>
5760
<remarks>
5761
The function takes a buffer and the amount of data to fill, and returns
5762
the amount of data in bytes that was actually written. This will be the
5763
amount requested unless the MPEG audio has finished.
5764
<p>Binds to a C-function call in smpeg.h
5765
<code>
5766
int SMPEG_playAudio( SMPEG *mpeg, Uint8 *stream, int len )
5767
</code>
5768
</p>
5769
</remarks>
5770
<param name="mpeg">Handle to MPEG file.</param>
5771
<param name="stream">Bytestream of data</param>
5772
<param name="len">Amount of data to fill</param>
5773
<returns>Amount of data in bytes that was actually written</returns>
5774
</member>
5775
<member name="M:Tao.Sdl.Smpeg.SMPEG_playAudioSDL(System.IntPtr,System.Byte[],System.Int32)">
5776
<summary>
5777
Wrapper for SMPEG_playAudio() that can be passed to SDL and SDL_mixer.
5778
Exported callback function for audio playback.
5779
</summary>
5780
<remarks>
5781
The function takes a buffer and the amount of data to fill, and returns
5782
the amount of data in bytes that was actually written. This will be the
5783
amount requested unless the MPEG audio has finished.
5784
<p>Binds to a C-function call in smpeg.h
5785
<code>
5786
void SMPEG_playAudioSDL( void *mpeg, Uint8 *stream, int len )
5787
</code>
5788
</p>
5789
</remarks>
5790
<param name="mpeg">MPEG object.</param>
5791
<param name="stream">Bytestream of data</param>
5792
<param name="len">Amount of data to fill</param>
5793
</member>
5794
<member name="M:Tao.Sdl.Smpeg.SMPEG_wantedSpec(System.IntPtr,System.IntPtr)">
5795
<summary>
5796
Get the best SDL audio spec for the audio stream
5797
</summary>
5798
<remarks>
5799
<p>Binds to a C-function call in smpeg.h
5800
<code>
5801
int SMPEG_wantedSpec( SMPEG *mpeg, SDL_AudioSpec *wanted )
5802
</code>
5803
</p>
5804
</remarks>
5805
<param name="mpeg">MPEG object.</param>
5806
<param name="wanted">SDL_AudioSpec</param>
5807
<returns></returns>
5808
</member>
5809
<member name="M:Tao.Sdl.Smpeg.SMPEG_actualSpec(System.IntPtr,Tao.Sdl.Sdl.SDL_AudioSpec@)">
5810
<summary>
5811
Inform SMPEG of the actual SDL audio spec used for sound playback
5812
</summary>
5813
<remarks>
5814
<p>Binds to a C-function call in smpeg.h
5815
<code>
5816
void SMPEG_actualSpec( SMPEG *mpeg, SDL_AudioSpec *spec )
5817
</code>
5818
</p>
5819
</remarks>
5820
<param name="mpeg">MPEG object.</param>
5821
<param name="spec">SDL_AudioSpec</param>
5822
<returns></returns>
5823
</member>
5824
<member name="T:Tao.Sdl.Smpeg.SMPEG_FilterInfo">
5825
<summary>
5826
Filter info from SMPEG
5827
</summary>
5828
<remarks>
5829
<p>Struct in MPEGfilter.h
5830
<code>
5831
typedef struct SMPEG_FilterInfo {
5832
Uint16* yuv_mb_square_error;
5833
Uint16* yuv_pixel_square_error;
5834
}
5835
</code>
5836
</p>
5837
</remarks>
5838
</member>
5839
<member name="F:Tao.Sdl.Smpeg.SMPEG_FilterInfo.yuv_mb_square_error">
5840
<summary>
5841
5842
</summary>
5843
</member>
5844
<member name="F:Tao.Sdl.Smpeg.SMPEG_FilterInfo.yuv_pixel_square_error">
5845
<summary>
5846
5847
</summary>
5848
</member>
5849
<member name="T:Tao.Sdl.Smpeg.SMPEG_Filter">
5850
<summary>
5851
The filter definition itself
5852
</summary>
5853
<remarks>
5854
<p>Struct in MPEGfilter.h
5855
<code>
5856
typedef struct SMPEG_Filter {
5857
Uint32 flags;
5858
void * data;
5859
SMPEG_FilterCallback callback;
5860
SMPEG_FilterDestroy destroy;
5861
}
5862
</code></p></remarks>
5863
</member>
5864
<member name="F:Tao.Sdl.Smpeg.SMPEG_Filter.flags">
5865
<summary>
5866
5867
</summary>
5868
</member>
5869
<member name="F:Tao.Sdl.Smpeg.SMPEG_Filter.data">
5870
<summary>
5871
5872
</summary>
5873
</member>
5874
<member name="F:Tao.Sdl.Smpeg.SMPEG_Filter.callback">
5875
<summary>
5876
5877
</summary>
5878
</member>
5879
<member name="F:Tao.Sdl.Smpeg.SMPEG_Filter.destroy">
5880
<summary>
5881
5882
</summary>
5883
</member>
5884
<member name="T:Tao.Sdl.Smpeg.SMPEG_version">
5885
<summary>
5886
Structure to hold version number of the SMPEG library
5887
</summary>
5888
</member>
5889
<member name="F:Tao.Sdl.Smpeg.SMPEG_version.major">
5890
<summary>
5891
Major version
5892
</summary>
5893
</member>
5894
<member name="F:Tao.Sdl.Smpeg.SMPEG_version.minor">
5895
<summary>
5896
Minor version
5897
</summary>
5898
</member>
5899
<member name="F:Tao.Sdl.Smpeg.SMPEG_version.patch">
5900
<summary>
5901
Patch version
5902
</summary>
5903
</member>
5904
<member name="M:Tao.Sdl.Smpeg.SMPEG_version.ToString">
5905
<summary>
5906
5907
</summary>
5908
<returns></returns>
5909
</member>
5910
<member name="T:Tao.Sdl.Smpeg.SMPEG_Info">
5911
<summary>
5912
Used to get information about the SMPEG object
5913
</summary>
5914
<remarks>
5915
<p>
5916
<code>
5917
typedef struct _SMPEG_Info {
5918
int has_audio;
5919
int has_video;
5920
int width;
5921
int height;
5922
int current_frame;
5923
double current_fps;
5924
char audio_string[80];
5925
int audio_current_frame;
5926
Uint32 current_offset;
5927
Uint32 total_size;
5928
double current_time;
5929
double total_time;
5930
} SMPEG_Info;
5931
</code></p></remarks>
5932
</member>
5933
<member name="F:Tao.Sdl.Smpeg.SMPEG_Info.has_audio">
5934
<summary>
5935
5936
</summary>
5937
</member>
5938
<member name="F:Tao.Sdl.Smpeg.SMPEG_Info.has_video">
5939
<summary>
5940
5941
</summary>
5942
</member>
5943
<member name="F:Tao.Sdl.Smpeg.SMPEG_Info.width">
5944
<summary>
5945
Width of movie file
5946
</summary>
5947
</member>
5948
<member name="F:Tao.Sdl.Smpeg.SMPEG_Info.height">
5949
<summary>
5950
Height of movie file
5951
</summary>
5952
</member>
5953
<member name="F:Tao.Sdl.Smpeg.SMPEG_Info.current_frame">
5954
<summary>
5955
5956
</summary>
5957
</member>
5958
<member name="F:Tao.Sdl.Smpeg.SMPEG_Info.current_fps">
5959
<summary>
5960
5961
</summary>
5962
</member>
5963
<member name="F:Tao.Sdl.Smpeg.SMPEG_Info.audio_string">
5964
<summary>
5965
5966
</summary>
5967
</member>
5968
<member name="F:Tao.Sdl.Smpeg.SMPEG_Info.audio_current_frame">
5969
<summary>
5970
5971
</summary>
5972
</member>
5973
<member name="F:Tao.Sdl.Smpeg.SMPEG_Info.current_offset">
5974
<summary>
5975
5976
</summary>
5977
</member>
5978
<member name="F:Tao.Sdl.Smpeg.SMPEG_Info.total_size">
5979
<summary>
5980
Movie file size in bytes
5981
</summary>
5982
</member>
5983
<member name="F:Tao.Sdl.Smpeg.SMPEG_Info.current_time">
5984
<summary>
5985
5986
</summary>
5987
</member>
5988
<member name="F:Tao.Sdl.Smpeg.SMPEG_Info.total_time">
5989
<summary>
5990
Length of movie file in seconds.
5991
</summary>
5992
</member>
5993
<member name="T:Tao.Sdl.Smpeg.SMPEG_FilterCallback">
5994
<summary>
5995
Callback function for the filter
5996
</summary>
5997
<remarks>
5998
<p>
5999
<code>
6000
typedef void (* SMPEG_FilterCallback)( SDL_Overlay * dest, SDL_Overlay * source, SDL_Rect * region, SMPEG_FilterInfo * filter_info, void * data );
6001
</code></p></remarks>
6002
</member>
6003
<member name="T:Tao.Sdl.Smpeg.SMPEG_FilterDestroy">
6004
<summary>
6005
Callback function for the filter
6006
</summary>
6007
<remarks>
6008
<p>Binds to a callback function in MPEGfilter.h
6009
<code>
6010
typedef void (* SMPEG_FilterDestroy)( struct SMPEG_Filter * filter )
6011
</code></p></remarks>
6012
</member>
6013
<member name="T:Tao.Sdl.Smpeg.SMPEG_DisplayCallback">
6014
<summary>
6015
Matches the declaration of SDL_UpdateRect()
6016
</summary>
6017
<remarks>
6018
<p>Binds to a callback function in smpeg.h
6019
<code>
6020
typedef void(*SMPEG_DisplayCallback)(SDL_Surface* dst, int x, int y, unsigned int w, unsigned int h);
6021
</code>
6022
</p>
6023
</remarks>
6024
</member>
6025
<member name="T:Tao.Sdl.SdlMixer">
6026
<summary>
6027
<p>SdlMixer is a simple multi-channel audio mixer.
6028
It supports 8 channels of 16 bit stereo audio, plus a
6029
single channel of music, mixed by the popular MikMod MOD,
6030
Timidity MIDI and SMPEG MP3 libraries.</p>
6031
<p>
6032
The mixer can currently load Microsoft WAVE files and
6033
Creative Labs VOC files as audio samples, and can load MIDI
6034
files via Timidity and the following music formats via
6035
MikMod: .MOD .S3M .IT .XM. It can load Ogg Vorbis streams
6036
as music if built with the Ogg Vorbis libraries, and
6037
finally it can load MP3 music using the SMPEG library.</p>
6038
<p>
6039
The process of mixing MIDI files to wave output is very CPU
6040
intensive, so if playing regular WAVE files sound great, but
6041
playing MIDI files sound choppy, try using 8-bit audio,
6042
mono audio, or lower frequencies.</p>
6043
</summary>
6044
<remarks>
6045
This assumes you have gotten SDL_mixer and installed it
6046
on your system. SDL_mixer has an INSTALL document in the
6047
source distribution to help you get it compiled and installed.
6048
SDL_mixer supports playing music and sound samples from
6049
the following formats:
6050
<code>
6051
- WAVE/RIFF (.wav)
6052
- AIFF (.aiff)
6053
- VOC (.voc)
6054
- MOD (.mod .xm .s3m .669 .it .med and more) using included mikmod
6055
- MIDI (.mid) using timidity or native midi hardware
6056
- OggVorbis (.ogg) requiring ogg/vorbis libraries on system
6057
- MP3 (.mp3) requiring SMPEG library on system
6058
- also any command-line player, which is not mixed by SDL_mixer...
6059
</code>
6060
<p>
6061
When using SDL_mixer functions you need to avoid the
6062
following functions from SDL:</p>
6063
<p><code>
6064
SDL_OpenAudio
6065
Use Mix_OpenAudio instead.
6066
SDL_CloseAudio
6067
Use Mix_CloseAudio instead.
6068
SDL_PauseAudio
6069
Use Mix_Pause(-1) and Mix_PauseMusic instead, to pause.
6070
Use Mix_Resume(-1) and Mix_ResumeMusic instead, to unpause.
6071
SDL_LockAudio
6072
This is just not needed since SDL_mixer handles this for you.
6073
Using it may cause problems as well.
6074
SDL_UnlockAudio
6075
This is just not needed since SDL_mixer handles this for you.
6076
Using it may cause problems as well. </code></p>
6077
<p>You may call the following functions freely:</p>
6078
<code>
6079
SDL_AudioDriverName
6080
This will still work as usual.
6081
SDL_GetAudioStatus
6082
This will still work, though it will likely return
6083
SDL_AUDIO_PLAYING even though SDL_mixer is just playing silence.
6084
It is also a BAD idea to call SDL_mixer and SDL audio
6085
functions from a callback. Callbacks include Effects
6086
functions and other SDL_mixer audio hooks. </code>
6087
</remarks>
6088
</member>
6089
<member name="F:Tao.Sdl.SdlMixer.SDL_MIXER_NATIVE_LIBRARY">
6090
<summary>
6091
Specifies SdlMixer native library archive.
6092
</summary>
6093
<remarks>
6094
Specifies SDL_mixer.dll everywhere; will be mapped via .config for mono.
6095
</remarks>
6096
</member>
6097
<member name="F:Tao.Sdl.SdlMixer.CALLING_CONVENTION">
6098
<summary>
6099
Specifies the calling convention.
6100
</summary>
6101
<remarks>
6102
Specifies <see cref="F:System.Runtime.InteropServices.CallingConvention.Cdecl"/>
6103
for Windows and Linux.
6104
</remarks>
6105
</member>
6106
<member name="F:Tao.Sdl.SdlMixer.MIX_MAJOR_VERSION">
6107
<summary>
6108
Major Version
6109
</summary>
6110
</member>
6111
<member name="F:Tao.Sdl.SdlMixer.MIX_MINOR_VERSION">
6112
<summary>
6113
Minor Version
6114
</summary>
6115
</member>
6116
<member name="F:Tao.Sdl.SdlMixer.MIX_PATCHLEVEL">
6117
<summary>
6118
Patch Version
6119
</summary>
6120
</member>
6121
<member name="F:Tao.Sdl.SdlMixer.MIX_CHANNELS">
6122
<summary>
6123
The default mixer has this many simultaneous mixing
6124
channels after the first call to Mix_OpenAudio.
6125
</summary>
6126
</member>
6127
<member name="F:Tao.Sdl.SdlMixer.MIX_DEFAULT_FREQUENCY">
6128
<summary>
6129
Good default sample rate in Hz (samples per second)
6130
for PC sound cards.
6131
</summary>
6132
</member>
6133
<member name="F:Tao.Sdl.SdlMixer.MIX_DEFAULT_CHANNELS">
6134
<summary>
6135
Stereo sound is a good default.
6136
</summary>
6137
</member>
6138
<member name="F:Tao.Sdl.SdlMixer.MIX_MAX_VOLUME">
6139
<summary>
6140
Maximum value for any volume setting.
6141
</summary>
6142
<remarks>
6143
This is currently the same as <see cref="F:Tao.Sdl.Sdl.SDL_MIX_MAXVOLUME"/>.
6144
</remarks>
6145
</member>
6146
<member name="F:Tao.Sdl.SdlMixer.MIX_CHANNEL_POST">
6147
<summary>
6148
This is the channel number used for post processing effects.
6149
</summary>
6150
</member>
6151
<member name="F:Tao.Sdl.SdlMixer.MIX_EFFECTSMAXSPEED">
6152
<summary>
6153
A convience definition for the string name of the
6154
environment variable to define when you desire
6155
the internal effects to sacrifice quality and/or
6156
RAM for speed. The environment variable must be
6157
set (else nonexisting) before Mix_OpenAudio is
6158
called for the setting to take effect.
6159
</summary>
6160
</member>
6161
<member name="F:Tao.Sdl.SdlMixer.MIX_NO_FADING">
6162
<summary>
6163
6164
</summary>
6165
</member>
6166
<member name="F:Tao.Sdl.SdlMixer.MIX_FADING_OUT">
6167
<summary>
6168
6169
</summary>
6170
</member>
6171
<member name="F:Tao.Sdl.SdlMixer.MIX_FADING_IN">
6172
<summary>
6173
6174
</summary>
6175
</member>
6176
<member name="F:Tao.Sdl.SdlMixer.MUS_NONE">
6177
<summary>
6178
6179
</summary>
6180
</member>
6181
<member name="F:Tao.Sdl.SdlMixer.MUS_CMD">
6182
<summary>
6183
6184
</summary>
6185
</member>
6186
<member name="F:Tao.Sdl.SdlMixer.MUS_WAV">
6187
<summary>
6188
6189
</summary>
6190
</member>
6191
<member name="F:Tao.Sdl.SdlMixer.MUS_MOD">
6192
<summary>
6193
6194
</summary>
6195
</member>
6196
<member name="F:Tao.Sdl.SdlMixer.MUS_MID">
6197
<summary>
6198
6199
</summary>
6200
</member>
6201
<member name="F:Tao.Sdl.SdlMixer.MUS_OGG">
6202
<summary>
6203
6204
</summary>
6205
</member>
6206
<member name="F:Tao.Sdl.SdlMixer.MUS_MP3">
6207
<summary>
6208
6209
</summary>
6210
</member>
6211
<member name="M:Tao.Sdl.SdlMixer.MIX_VERSION">
6212
<summary>
6213
This method can be used to fill a version structure with the compile-time
6214
version of the SDL_mixer library.
6215
</summary>
6216
<returns>
6217
This function returns a <see cref="T:Tao.Sdl.Sdl.SDL_version"/> struct containing the
6218
compiled version number
6219
</returns>
6220
<remarks>
6221
<p>
6222
Binds to C-function call in SDL_mixer.h:
6223
<code>#define SDL_MIX_VERSION(X)
6224
{
6225
(X)-&gt;major = SDL_MIX_MAJOR_VERSION;
6226
(X)-&gt;minor = SDL_MIX_MINOR_VERSION;
6227
(X)-&gt;patch = SDL_MIX_PATCHLEVEL;
6228
}</code>
6229
</p>
6230
</remarks>
6231
</member>
6232
<member name="M:Tao.Sdl.SdlMixer.Mix_Linked_Version">
6233
<summary>
6234
Using this you can compare the runtime version to the
6235
version that you compiled with.
6236
</summary>
6237
<returns>
6238
This function gets the version of the dynamically
6239
linked SDL_mixer library in an <see cref="T:Tao.Sdl.Sdl.SDL_version"/> struct.
6240
</returns>
6241
<remarks>
6242
<p>
6243
Binds to C-function call in SDL_mixer.h:
6244
<code>const SDL_version * Mix_Linked_Version(void)</code>
6245
</p>
6246
</remarks>
6247
</member>
6248
<member name="M:Tao.Sdl.SdlMixer.Mix_OpenAudio(System.Int32,System.Int16,System.Int32,System.Int32)">
6249
<summary>
6250
Open the mixer with a certain audio format
6251
</summary>
6252
<remarks>
6253
Initialize the mixer API.
6254
<p>
6255
This must be called before using other functions in this
6256
library.
6257
SDL must be initialized with SDL_INIT_AUDIO before this call.
6258
frequency would be 44100 for 44.1KHz, which is CD audio rate.
6259
Most games use 22050, because 44100 requires too much CPU power
6260
on older computers. chunksize is the size of each mixed sample.
6261
The smaller this is the more your hooks will be called.
6262
If make this too small on a slow system, sound may skip.
6263
If made to large, sound effects will lag behind the action more.
6264
You want a happy medium for your target computer.
6265
You also may make this 4096, or larger, if you are
6266
just playing music. MIX_CHANNELS(8) mixing channels
6267
will be allocated by default. You may call this function
6268
multiple times, however you will have to call Mix_CloseAudio
6269
just as many times for the device to actually close.
6270
The format will not changed on subsequent calls.
6271
So you will have to close all the way before
6272
trying to open with different format parameters.</p>
6273
6274
<p>format is based on SDL audio support, see SDL_audio.h. Here are the values listed there:</p>
6275
6276
<code>
6277
AUDIO_U8
6278
Unsigned 8-bit samples
6279
6280
AUDIO_S8
6281
Signed 8-bit samples
6282
6283
AUDIO_U16LSB
6284
Unsigned 16-bit samples, in little-endian byte order
6285
6286
AUDIO_S16LSB
6287
Signed 16-bit samples, in little-endian byte order
6288
6289
AUDIO_U16MSB
6290
Unsigned 16-bit samples, in big-endian byte order
6291
6292
AUDIO_S16MSB
6293
Signed 16-bit samples, in big-endian byte order
6294
6295
AUDIO_U16
6296
same as AUDIO_U16LSB (for backwards compatability probably)
6297
6298
AUDIO_S16
6299
same as AUDIO_S16LSB (for backwards compatability probably)
6300
6301
AUDIO_U16SYS
6302
Unsigned 16-bit samples, in system byte order
6303
6304
AUDIO_S16SYS
6305
Signed 16-bit samples, in system byte order
6306
</code>
6307
6308
<p>MIX_DEFAULT_FORMAT is the same as AUDIO_S16SYS.</p>
6309
<p>Binds to C-funtion in SDL_mixer.h
6310
<code>
6311
int Mix_OpenAudio(int frequency, Uint16 format, int channels, int chunksize)
6312
</code></p>
6313
</remarks>
6314
<param name="frequency">
6315
Output sampling frequency in samples per second (Hz).
6316
you might use MIX_DEFAULT_FREQUENCY(22050)
6317
since that is a good value for most games.
6318
</param>
6319
<param name="format">
6320
Output sample format.
6321
</param>
6322
<param name="channels">
6323
Number of sound channels in output.
6324
Set to 2 for stereo, 1 for mono.
6325
This has nothing to do with mixing channels.
6326
</param>
6327
<param name="chunksize">
6328
Bytes used per output sample.
6329
</param>
6330
<returns>
6331
0 on success, -1 on errors
6332
</returns>
6333
<example>
6334
<code>
6335
// start SDL with audio support
6336
if(SDL_Init(SDL_INIT_AUDIO)==-1)
6337
{
6338
printf("SDL_Init: %s\n", SDL_GetError());
6339
exit(1);
6340
}
6341
// open 44.1KHz, signed 16bit, system byte order,
6342
// stereo audio, using 1024 byte chunks
6343
if(Mix_OpenAudio(44100, MIX_DEFAULT_FORMAT, 2, 1024)==-1)
6344
{
6345
printf("Mix_OpenAudio: %s\n", Mix_GetError());
6346
exit(2);
6347
}
6348
</code>
6349
</example>
6350
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_CloseAudio"/>
6351
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_QuerySpec(System.Int32@,System.Int16@,System.Int32@)"/>
6352
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_AllocateChannels(System.Int32)"/>
6353
</member>
6354
<member name="M:Tao.Sdl.SdlMixer.Mix_AllocateChannels(System.Int32)">
6355
<summary>
6356
Dynamically change the number of channels managed by the mixer.
6357
If decreasing the number of channels, the upper channels are
6358
stopped.
6359
<p>This function returns the new number of allocated channels.</p>
6360
</summary>
6361
<remarks>
6362
Set the number of channels being mixed.
6363
This can be called multiple times,
6364
even with sounds playing. If numchans is less
6365
than the current number of channels, then the
6366
higher channels will be stopped, freed, and
6367
therefore not mixed any longer. It's
6368
probably not a good idea to change the
6369
size 1000 times a second though.
6370
If any channels are deallocated,
6371
any callback set by Mix_ChannelFinished
6372
will be called when each channel
6373
is halted to be freed. Note: passing
6374
in zero WILL free all mixing channels,
6375
however music will still play.
6376
</remarks>
6377
<param name="numchans">
6378
Number of channels to allocate for mixing.
6379
A negative number will not do anything, it will tell
6380
you how many channels are currently allocated.
6381
</param>
6382
<returns>
6383
The number of channels allocated.
6384
Never fails...but a high number of channels
6385
can segfault if you run out of memory. We're talking REALLY high!
6386
</returns>
6387
<example>
6388
<code>
6389
// allocate 16 mixing channels
6390
Mix_AllocateChannels(16);
6391
</code></example>
6392
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_OpenAudio(System.Int32,System.Int16,System.Int32,System.Int32)"/>
6393
</member>
6394
<member name="M:Tao.Sdl.SdlMixer.Mix_QuerySpec(System.Int32@,System.Int16@,System.Int32@)">
6395
<summary>
6396
Get output format.
6397
</summary>
6398
<remarks>
6399
Get the actual audio format in use by the opened
6400
audio device.
6401
This may or may not match the parameters you
6402
passed to Mix_OpenAudio.
6403
<p>Binds to C-function in SDL_mixer.h
6404
<code>int Mix_QuerySpec(int *frequency, Uint16 *format, int *channels)
6405
</code></p>
6406
</remarks>
6407
<param name="channels">
6408
A pointer to an int where the
6409
number of audio channels will be stored.
6410
2 will mean stereo, 1 will mean mono.
6411
</param>
6412
<param name="format">
6413
A pointer to a short where the output format actually
6414
being used by the audio device will be stored.
6415
</param>
6416
<param name="frequency">
6417
A pointer to an int
6418
where the frequency actually used by the opened
6419
audio device will be stored.
6420
</param>
6421
<returns>
6422
0 on error. If the device was open the number of times
6423
it was opened will be returned. The values of the
6424
arguments variables are not set on an error.
6425
</returns>
6426
<example>
6427
<code>
6428
// get and print the audio format in use
6429
int numtimesopened, frequency, channels;
6430
Uint16 format;
6431
numtimesopened=Mix_QuerySpec(&amp;frequency, &amp;format, &amp;channels);
6432
if(!numtimesopened)
6433
{
6434
printf("Mix_QuerySpec: %s\n",Mix_GetError());
6435
}
6436
else
6437
{
6438
char *format_str="Unknown";
6439
switch(format)
6440
{
6441
case AUDIO_U8: format_str="U8"; break;
6442
case AUDIO_S8: format_str="S8"; break;
6443
case AUDIO_U16LSB: format_str="U16LSB"; break;
6444
case AUDIO_S16LSB: format_str="S16LSB"; break;
6445
case AUDIO_U16MSB: format_str="U16MSB"; break;
6446
case AUDIO_S16MSB: format_str="S16MSB"; break;
6447
}
6448
printf("opened=%d times frequency=%dHz format=%s channels=%d",
6449
numtimesopened, frequency, format, channels);
6450
}
6451
</code>
6452
</example>
6453
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_OpenAudio(System.Int32,System.Int16,System.Int32,System.Int32)"/>
6454
</member>
6455
<member name="M:Tao.Sdl.SdlMixer.Mix_LoadWAV_RW(System.IntPtr,System.Int32)">
6456
<summary>
6457
Load a wave file or a music (.mod .s3m .it .xm) file
6458
</summary>
6459
<remarks>
6460
Load src for use as a sample.
6461
This can load WAVE, AIFF, RIFF, OGG, and VOC formats.
6462
Using SDL_RWops is not covered here, but they enable
6463
you to load from almost any source.
6464
<p>Binds to C-function in SDL_mixer.h
6465
<code>Mix_Chunk *Mix_LoadWAV_RW(SDL_RWops *src, int freesrc)
6466
</code></p>
6467
</remarks>
6468
<param name="src">
6469
The source SDL_RWops as a pointer.
6470
The sample is loaded from this.
6471
</param>
6472
<param name="freesrc">
6473
A non-zero value mean is will automatically
6474
close/free the src for you.
6475
</param>
6476
<returns>
6477
a pointer to the sample as a Mix_Chunk.
6478
NULL is returned on errors.
6479
</returns>
6480
<example>
6481
<code>
6482
// load sample.wav in to sample
6483
Mix_Chunk *sample;
6484
sample=Mix_LoadWAV_RW(SDL_RWFromFile("sample.wav", "rb"), 1);
6485
if(!sample)
6486
{
6487
printf("Mix_LoadWAV_RW: %s\n", Mix_GetError());
6488
// handle error
6489
}
6490
</code></example>
6491
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_LoadWAV(System.String)"/>
6492
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_QuickLoad_WAV(System.IntPtr)"/>
6493
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_FreeChunk(System.IntPtr)"/>
6494
</member>
6495
<member name="M:Tao.Sdl.SdlMixer.Mix_LoadWAV(System.String)">
6496
<summary>
6497
Load WAV from a file.
6498
</summary>
6499
<param name="file">
6500
File name to load sample from.
6501
</param>
6502
<remarks>
6503
Load file for use as a sample.
6504
This is actually Mix_LoadWAV_RW(SDL_RWFromFile(file, "rb"), 1).
6505
This can load WAVE, AIFF, RIFF, OGG, and VOC files.
6506
<p>Binds to C-function in SDL_mixer.h
6507
<code>Mix_Chunk *Mix_LoadWAV(char *file)
6508
</code></p>
6509
</remarks>
6510
<returns>
6511
a pointer to the sample as a Mix_Chunk.
6512
NULL is returned on errors.
6513
</returns>
6514
<example>
6515
<code>
6516
// load sample.wav in to sample
6517
Mix_Chunk *sample;
6518
sample=Mix_LoadWAV("sample.wav");
6519
if(!sample)
6520
{
6521
printf("Mix_LoadWAV: %s\n", Mix_GetError());
6522
// handle error
6523
}
6524
</code></example>
6525
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_LoadWAV_RW(System.IntPtr,System.Int32)"/>
6526
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_QuickLoad_WAV(System.IntPtr)"/>
6527
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_FreeChunk(System.IntPtr)"/>
6528
</member>
6529
<member name="M:Tao.Sdl.SdlMixer.Mix_LoadMUS(System.String)">
6530
<summary>
6531
Load a music file into a Mix_Music
6532
</summary>
6533
<param name="file">Name of music file to use.
6534
</param>
6535
<returns>
6536
A pointer to a Mix_Music. NULL is returned on errors.
6537
</returns>
6538
<remarks>
6539
Load music file to use. This can load WAVE, MOD, MIDI, OGG, MP3,
6540
and any file that you use a command to play with.
6541
<p>If you are using an external command to play the music,
6542
you must call Mix_SetMusicCMD before this, otherwise the
6543
internal players will be used. Alternatively, if you have
6544
set an external command up and don't want to use it, you
6545
must call Mix_SetMusicCMD(NULL) to use the built-in players
6546
again.</p>
6547
<p>Binds to C-function in SDL_mixer.h
6548
<code>Mix_Music *Mix_LoadMUS(const char *file)
6549
</code></p>
6550
</remarks>
6551
<example>
6552
<code>
6553
// load the MP3 file "music.mp3" to play as music
6554
Mix_Music *music;
6555
music=Mix_LoadMUS("music.mp3");
6556
if(!music)
6557
{
6558
printf("Mix_LoadMUS(\"music.mp3\"): %s\n", Mix_GetError());
6559
// this might be a critical error...
6560
}
6561
</code></example>
6562
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_SetMusicCMD(System.String)"/>
6563
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_PlayMusic(System.IntPtr,System.Int32)"/>
6564
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_FadeInMusic(System.IntPtr,System.Int32,System.Int32)"/>
6565
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_FadeInMusicPos(System.IntPtr,System.Int32,System.Int32,System.Double)"/>
6566
</member>
6567
<member name="M:Tao.Sdl.SdlMixer.Mix_LoadMUS_RW(System.IntPtr)">
6568
<summary>
6569
Load a music file from an SDL_RWop object (Ogg and MikMod specific currently)
6570
</summary>
6571
<remarks>
6572
<p>Binds to C-function in SDL_mixer.h
6573
<code>Mix_Music *Mix_LoadMUS_RW(SDL_RWops *rw)
6574
</code></p>
6575
</remarks>
6576
</member>
6577
<member name="M:Tao.Sdl.SdlMixer.Mix_QuickLoad_WAV(System.IntPtr)">
6578
<summary>
6579
Load a wave file of the mixer format from a memory buffer
6580
</summary>
6581
<remarks>
6582
Load mem as a WAVE/RIFF file into a new sample.
6583
The WAVE in mem must be already in the output format.
6584
It would be better to use Mix_LoadWAV_RW if you aren't sure.
6585
Note: This function does very little checking.
6586
If the format mismatches the output format, or
6587
if the buffer is not a WAVE, it will not return an error.
6588
This is probably a dangerous function to use.
6589
<p>Binds to C-function in SDL_mixer.h
6590
<code>Mix_Chunk *Mix_QuickLoad_WAV(Uint8 *mem)
6591
</code>
6592
</p>
6593
</remarks>
6594
<param name="mem">
6595
Memory buffer containing a WAVE file in output format.
6596
</param>
6597
<returns>
6598
a pointer to the sample as a Mix_Chunk.
6599
NULL is returned on errors.
6600
</returns>
6601
<example>
6602
<code>
6603
// quick-load a wave from memory
6604
// Uint8 *wave; // I assume you have the wave loaded raw,
6605
// or compiled in the program...
6606
Mix_Chunk *wave_chunk;
6607
if(!(wave_chunk=Mix_QuickLoad_WAV(wave)))
6608
{
6609
printf("Mix_QuickLoad_WAV: %s\n", Mix_GetError());
6610
// handle error
6611
}
6612
</code></example>
6613
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_LoadWAV(System.String)"/>
6614
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_QuickLoad_RAW(System.IntPtr,System.Int32)"/>
6615
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_FreeChunk(System.IntPtr)"/>
6616
</member>
6617
<member name="M:Tao.Sdl.SdlMixer.Mix_QuickLoad_RAW(System.IntPtr,System.Int32)">
6618
<summary>
6619
Load raw audio data of the mixer format from a memory buffer
6620
</summary>
6621
<remarks>
6622
Load mem as a raw sample. The data in mem must be already in
6623
the output format. If you aren't sure what you are doing,
6624
this is not a good function for you!
6625
<p>Note: This function does very little checking.
6626
If the format mismatches the output format it
6627
will not return an error. This is probably a
6628
dangerous function to use.</p>
6629
<p>Binds to C-function in SDL_mixer.h
6630
<code>Mix_Chunk *Mix_QuickLoad_RAW(Uint8 *mem)
6631
</code>
6632
</p>
6633
</remarks>
6634
<param name="len"></param>
6635
<param name="mem">
6636
Memory buffer containing a WAVE file in output format.
6637
Load mem as a raw sample.
6638
The data in mem must be already in the output format.
6639
If you aren't sure what you are doing,
6640
this is not a good function for you!
6641
</param>
6642
<returns>
6643
a pointer to the sample as a Mix_Chunk.
6644
NULL is returned on errors, such as when out of memory.
6645
</returns>
6646
<example>
6647
<code>
6648
// quick-load a raw sample from memory
6649
// Uint8 *raw; // I assume you have the raw data here,
6650
// or compiled in the program...
6651
Mix_Chunk *raw_chunk;
6652
if(!(raw_chunk=Mix_QuickLoad_RAW(raw)))
6653
{
6654
printf("Mix_QuickLoad_RAW: %s\n", Mix_GetError());
6655
// handle error
6656
}
6657
</code></example>
6658
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_LoadWAV(System.String)"/>
6659
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_QuickLoad_WAV(System.IntPtr)"/>
6660
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_FreeChunk(System.IntPtr)"/>
6661
</member>
6662
<member name="M:Tao.Sdl.SdlMixer.Mix_FreeChunk(System.IntPtr)">
6663
<summary>
6664
Free an audio chunk previously loaded
6665
</summary>
6666
<remarks>
6667
Free the memory used in chunk, and free chunk itself as well.
6668
Do not use chunk after this without loading a new sample to
6669
it. Note: It's a bad idea to free a chunk that is still
6670
being played...
6671
<p>Binds to C-function in SDL_mixer.h
6672
<code>void Mix_FreeChunk(Mix_Chunk *chunk)
6673
</code>
6674
</p>
6675
</remarks>
6676
<param name="chunk">
6677
Pointer to the Mix_Chunk to free.
6678
</param>
6679
<example>
6680
<code>
6681
// free the sample
6682
// Mix_Chunk *sample;
6683
Mix_FreeChunk(sample);
6684
sample=NULL; // to be safe...
6685
</code></example>
6686
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_LoadWAV(System.String)"/>
6687
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_QuickLoad_WAV(System.IntPtr)"/>
6688
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_LoadWAV_RW(System.IntPtr,System.Int32)"/>
6689
</member>
6690
<member name="M:Tao.Sdl.SdlMixer.Mix_FreeMusic(System.IntPtr)">
6691
<summary>
6692
Free a Mix_Music
6693
</summary>
6694
<remarks>
6695
Free the loaded music. If music is playing it will be halted.
6696
If music is fading out, then this function will wait (blocking)
6697
until the fade out is complete.
6698
<p>Binds to C-function in SDL_mixer.h
6699
<code>void Mix_FreeMusic(Mix_Music *music)
6700
</code>
6701
</p>
6702
</remarks>
6703
<example>
6704
<code>
6705
// free music
6706
Mix_Music *music;
6707
Mix_FreeMusic(music);
6708
music=NULL; // so we know we freed it...
6709
</code>
6710
</example>
6711
<param name="music">Pointer to Mix_Music to free.</param>
6712
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_LoadMUS(System.String)"/>
6713
</member>
6714
<member name="M:Tao.Sdl.SdlMixer.Mix_GetMusicType(System.IntPtr)">
6715
<summary>
6716
Find out the music format of a mixer music,
6717
or the currently playing music, if 'music' is NULL.
6718
</summary>
6719
<remarks>
6720
Tells you the file format encoding of the music.
6721
This may be handy when used with Mix_SetMusicPosition,
6722
and other music functions that vary based on the type
6723
of music being played. If you want to know the type of
6724
music currently being played, pass in NULL to music.
6725
<p>Binds to C-function in SDL_mixer.h
6726
<code>Mix_MusicType Mix_GetMusicType(const Mix_Music *music)
6727
</code>
6728
</p>
6729
</remarks>
6730
<param name="music">The music to get the type of.
6731
NULL will get the currently playing music type.
6732
</param>
6733
<returns>The type of music or if music is NULL then
6734
the currently playing music type, otherwise MUS_NONE
6735
if no music is playing.</returns>
6736
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_SetPosition(System.Int32,System.Int16,System.Byte)"/>
6737
<example>
6738
<code>
6739
// print the type of music currently playing
6740
switch(Mix_GetMusicType(NULL))
6741
{
6742
case MUS_NONE:
6743
MUS_CMD:
6744
printf("Command based music is playing.\n");
6745
break;
6746
MUS_WAV:
6747
printf("WAVE/RIFF music is playing.\n");
6748
break;
6749
MUS_MOD:
6750
printf("MOD music is playing.\n");
6751
break;
6752
MUS_MID:
6753
printf("MIDI music is playing.\n");
6754
break;
6755
MUS_OGG:
6756
printf("OGG music is playing.\n");
6757
break;
6758
MUS_MP3:
6759
printf("MP3 music is playing.\n");
6760
break;
6761
default:
6762
printf("Unknown music is playing.\n");
6763
break;
6764
}
6765
</code></example>
6766
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_SetPosition(System.Int32,System.Int16,System.Byte)"/>
6767
</member>
6768
<member name="M:Tao.Sdl.SdlMixer.Mix_SetPostMix(Tao.Sdl.SdlMixer.MixFunctionDelegate,System.IntPtr)">
6769
<summary>
6770
Hook in a postmix processor
6771
</summary>
6772
<remarks>
6773
Hook a processor function mix_func to the postmix stream for post
6774
processing effects. You may just be reading the data and
6775
displaying it, or you may be altering the stream to add an
6776
echo. Most processors also have state data that they allocate
6777
as they are in use, this would be stored in the arg pointer
6778
data space. This processor is never really finished, until
6779
the audio device is closed, or you pass NULL as the mix_func.
6780
<p>There can only be one postmix function used at a time through
6781
this method. Use
6782
Mix_RegisterEffect(MIX_CHANNEL_POST, mix_func, NULL, arg) to
6783
use multiple postmix processors.</p>
6784
<p>This postmix processor is run AFTER all the registered
6785
postmixers set up by Mix_RegisterEffect.</p>
6786
<p>
6787
<code>void Mix_SetPostMix(void (*mix_func)(void *udata, Uint8 *stream, int len), void *arg)
6788
</code>
6789
</p>
6790
</remarks>
6791
<example>
6792
<code>
6793
// make a passthru processor function that does nothing...
6794
void noEffect(void *udata, Uint8 *stream, int len)
6795
{
6796
// you could work with stream here...
6797
}
6798
...
6799
// register noEffect as a postmix processor
6800
Mix_SetPostMix(noEffect, NULL);
6801
</code>
6802
</example>
6803
<param name="mix_func">The function pointer for the postmix processor.
6804
NULL unregisters the current postmixer.</param>
6805
<param name="arg">A pointer to data to pass into the mix_func's
6806
udata parameter. It is a good place to keep the state data for
6807
the processor, especially if the processor is made to handle
6808
multiple channels at the same time.
6809
This may be NULL, depending on the processor.</param>
6810
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_RegisterEffect(System.Int32,Tao.Sdl.SdlMixer.MixEffectFunctionDelegate,Tao.Sdl.SdlMixer.MixEffectDoneDelegate,System.IntPtr)"/>
6811
</member>
6812
<member name="M:Tao.Sdl.SdlMixer.Mix_HookMusic(Tao.Sdl.SdlMixer.MixFunctionDelegate,System.IntPtr)">
6813
<summary>
6814
Hook for a custom music player
6815
</summary>
6816
<remarks>
6817
This sets up a custom music player function. The function will
6818
be called with arg passed into the udata parameter when the
6819
mix_func is called. The stream parameter passes in the audio
6820
stream buffer to be filled with len bytes of music. The music
6821
player will then be called automatically when the mixer needs
6822
it. Music playing will start as soon as this is called. All the
6823
music playing and stopping functions have no effect on music
6824
after this. Pause and resume will work. Using a custom music
6825
player and the internal music player is not possible, the custom
6826
music player takes priority. To stop the custom music player call
6827
Mix_HookMusic(NULL, NULL).
6828
<p>NOTE: NEVER call SDL_Mixer functions, nor SDL_LockAudio,
6829
from a callback function.</p>
6830
<p>
6831
<code>void Mix_HookMusic(void (*mix_func)(void *udata, Uint8 *stream, int len), void *arg)
6832
</code>
6833
</p>
6834
</remarks>
6835
<example>
6836
<code>
6837
// make a music play function
6838
// it expects udata to be a pointer to an int
6839
void myMusicPlayer(void *udata, Uint8 *stream, int len)
6840
{
6841
int i, pos=*(int*)udata;
6842
6843
// fill buffer with...uh...music...
6844
for(i=0; i&lt;len; i++)
6845
stream[i]=(i+pos)&amp;ff;
6846
6847
// set udata for next time
6848
pos+=len;
6849
*(int*)udata=pos;
6850
}
6851
...
6852
// use myMusicPlayer for playing...uh...music
6853
int music_pos=0;
6854
Mix_HookMusic(myMusicPlayer, &amp;music_pos);
6855
</code>
6856
</example>
6857
<param name="mix_func">Function pointer to a music player mixer function.
6858
NULL will stop the use of the music player,
6859
returning the mixer to using the internal music players
6860
like usual.</param>
6861
<param name="arg">
6862
This is passed to the mix_func's udata parameter when it is called.
6863
</param>
6864
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_SetMusicCMD(System.String)"/>
6865
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_GetMusicHookData"/>
6866
</member>
6867
<member name="M:Tao.Sdl.SdlMixer.Mix_HookMusicFinished(Tao.Sdl.SdlMixer.MusicFinishedDelegate)">
6868
<summary>
6869
Add your own callback when the music has finished playing.
6870
This callback is only called if the music finishes naturally.
6871
</summary>
6872
<remarks>
6873
This sets up a function to be called when music playback is halted.
6874
Any time music stops, the music_finished function will be called.
6875
Call with NULL to remove the callback.
6876
<p>NOTE: NEVER call SDL_Mixer functions, nor SDL_LockAudio,
6877
from a callback function.</p>
6878
<p>Binds to C-function in SDL_mixer.h
6879
<code>void Mix_HookMusicFinished(void (*music_finished)())
6880
</code>
6881
</p>
6882
</remarks>
6883
<param name="music_finished">
6884
Function pointer to a void function().
6885
NULL will remove the hook.
6886
</param>
6887
<example>
6888
<code>
6889
// make a music finished function
6890
void musicFinished()
6891
{
6892
printf("Music stopped.\n");
6893
}
6894
...
6895
// use musicFinished for when music stops
6896
Mix_HookMusicFinished(musicFinished);
6897
</code></example>
6898
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_HaltMusic"/>
6899
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_FadeOutMusic(System.Int32)"/>
6900
</member>
6901
<member name="M:Tao.Sdl.SdlMixer.Mix_GetMusicHookData">
6902
<summary>
6903
Get a pointer to the user data for the current music hook
6904
</summary>
6905
<remarks>
6906
Get the arg passed into Mix_HookMusic.
6907
<p>Binds to C-function in SDL_mixer.h
6908
<code>void *Mix_GetMusicHookData()
6909
</code>
6910
</p>
6911
</remarks>
6912
<example>
6913
<code>
6914
// retrieve the music hook data pointer
6915
void *data;
6916
data=Mix_GetMusicHookData();
6917
</code></example>
6918
<returns>the arg pointer.</returns>
6919
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_HookMusic(Tao.Sdl.SdlMixer.MixFunctionDelegate,System.IntPtr)"/>
6920
</member>
6921
<member name="M:Tao.Sdl.SdlMixer.Mix_ChannelFinished(Tao.Sdl.SdlMixer.ChannelFinishedDelegate)">
6922
<summary>
6923
Set callback for when channel finishes playing
6924
</summary>
6925
<remarks>
6926
When channel playback is halted, then the specified
6927
channel_finished function is called. The channel parameter
6928
will contain the channel number that has finished.
6929
<p>NOTE: NEVER call SDL_Mixer functions,
6930
nor SDL_LockAudio, from a callback function.</p>
6931
<p>Binds to C-function in SDL_mixer.h
6932
<code>void Mix_ChannelFinished(void (*channel_finished)(int channel))
6933
</code>
6934
</p>
6935
</remarks>
6936
<example>
6937
<code>
6938
// a simple channel_finished function
6939
void channelDone(int channel)
6940
{
6941
printf("channel %d finished playback.\n",channel);
6942
}
6943
6944
// make a channelDone function
6945
void channelDone(int channel)
6946
{
6947
printf("channel %d finished playing.\n", channel);
6948
}
6949
...
6950
// set the callback for when a channel stops playing
6951
Mix_ChannelFinished(channelDone);
6952
</code></example>
6953
<param name="channel_finished">
6954
Function to call when any channel finishes playback.
6955
</param>
6956
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_HaltChannel(System.Int32)"/>
6957
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_ExpireChannel(System.Int32,System.Int32)"/>
6958
</member>
6959
<member name="M:Tao.Sdl.SdlMixer.Mix_RegisterEffect(System.Int32,Tao.Sdl.SdlMixer.MixEffectFunctionDelegate,Tao.Sdl.SdlMixer.MixEffectDoneDelegate,System.IntPtr)">
6960
<summary>
6961
Hook a processor to a channel
6962
</summary>
6963
<remarks>
6964
Hook a processor function f into a channel for post processing
6965
effects. You may just be reading the data and displaying it,
6966
or you may be altering the stream to add an echo. Most
6967
processors also have state data that they allocate as they
6968
are in use, this would be stored in the arg pointer data space.
6969
When a processor is finished being used, any function passed
6970
into d will be called, which is when your processor should clean
6971
up the data in the arg data space.
6972
<p>The effects are put into a linked list, and always appended to
6973
the end, meaning they always work on previously registered effects
6974
output. Effects may be added multiple times in a row. Effects are
6975
cumulative this way.</p>
6976
<p>
6977
<code>int Mix_RegisterEffect(int chan, Mix_EffectFunc_t f, Mix_EffectDone_t d, void *arg)
6978
</code></p></remarks>
6979
<param name="f">
6980
The function pointer for the effects processor.
6981
</param>
6982
<param name="arg"></param>
6983
<param name="chan">channel number to register f and d on.
6984
Use MIX_CHANNEL_POST to process the postmix stream.</param>
6985
<param name="d">
6986
The function pointer for any cleanup routine to be called
6987
when the channel is done playing a sample.
6988
This may be NULL for any processors that don't need to
6989
clean up any memory or other dynamic data.
6990
</param>
6991
<returns>
6992
Zero on errors, such as a nonexisting channel
6993
</returns>
6994
<example>
6995
<code>
6996
// make a passthru processor function that does nothing...
6997
void noEffect(int chan, void *stream, int len, void *udata)
6998
{
6999
// you could work with stream here...
7000
}
7001
...
7002
// register noEffect as a postmix processor
7003
if(!Mix_RegisterEffect(MIX_CHANNEL_POST, noEffect, NULL, NULL))
7004
{
7005
printf("Mix_RegisterEffect: %s\n", Mix_GetError());
7006
}
7007
</code></example>
7008
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_UnregisterEffect(System.Int32,Tao.Sdl.SdlMixer.MixEffectFunctionDelegate)"/>
7009
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_UnregisterAllEffects(System.Int32)"/>
7010
</member>
7011
<member name="M:Tao.Sdl.SdlMixer.Mix_UnregisterEffect(System.Int32,Tao.Sdl.SdlMixer.MixEffectFunctionDelegate)">
7012
<summary>
7013
Unhook a processor from a channel
7014
</summary>
7015
<remarks>
7016
Remove the oldest (first found) registered effect function
7017
f from the effect list for channel. This only removes the
7018
first found occurance of that function, so it may need to
7019
be called multiple times if you added the same function multiple
7020
times, just stop removing when Mix_UnregisterEffect returns an
7021
error, to remove all occurances of f from a channel.
7022
<p>If the channel is active the registered effect will have its
7023
Mix_EffectDone_t function called, if it was specified in
7024
Mix_RegisterEffect.</p>
7025
<p>
7026
<code>int Mix_UnregisterEffect(int channel, Mix_EffectFunc_t f)
7027
</code></p></remarks>
7028
<param name="f">The function to remove from channel.</param>
7029
<param name="chan">Channel number to remove f from as a post processor.
7030
<p>Use MIX_CHANNEL_POST for the postmix stream.</p></param>
7031
<returns>
7032
Zero on errors, such as invalid channel,
7033
or effect function not registered on channel.
7034
</returns>
7035
<example>
7036
<code>
7037
// unregister the noEffect from the postmix effects
7038
// this removes all occurances of noEffect registered to the postmix
7039
while(Mix_UnregisterEffect(MIX_CHANNEL_POST, noEffect));
7040
// you may print Mix_GetError() if you want to check it.
7041
// it should say "No such effect registered" after this loop.
7042
</code></example>
7043
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_RegisterEffect(System.Int32,Tao.Sdl.SdlMixer.MixEffectFunctionDelegate,Tao.Sdl.SdlMixer.MixEffectDoneDelegate,System.IntPtr)"/>
7044
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_UnregisterAllEffects(System.Int32)"/>
7045
</member>
7046
<member name="M:Tao.Sdl.SdlMixer.Mix_UnregisterAllEffects(System.Int32)">
7047
<summary>
7048
Unhook all processors from a channel
7049
</summary>
7050
<remarks>
7051
This removes all effects registered to channel.
7052
If the channel is active all the registered effects will
7053
have their Mix_EffectDone_t functions called, if they
7054
were specified in Mix_RegisterEffect.
7055
<p>
7056
<code>int Mix_UnregisterAllEffects(int channel)
7057
</code></p></remarks>
7058
<param name="channel">
7059
Channel to remove all effects from.
7060
Use MIX_CHANNEL_POST for the postmix stream.
7061
</param>
7062
<returns>
7063
Zero on errors, such as channel not existing.
7064
</returns>
7065
<example>
7066
<code>
7067
// remove all effects from channel 0
7068
if(!Mix_UnregisterAllEffects(0))
7069
{
7070
printf("Mix_UnregisterAllEffects: %s\n", Mix_GetError());
7071
}
7072
</code></example>
7073
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_UnregisterEffect(System.Int32,Tao.Sdl.SdlMixer.MixEffectFunctionDelegate)"/>
7074
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_RegisterEffect(System.Int32,Tao.Sdl.SdlMixer.MixEffectFunctionDelegate,Tao.Sdl.SdlMixer.MixEffectDoneDelegate,System.IntPtr)"/>
7075
</member>
7076
<member name="M:Tao.Sdl.SdlMixer.Mix_SetPanning(System.Int32,System.Byte,System.Byte)">
7077
<summary>
7078
Stereo panning
7079
</summary>
7080
<remarks>
7081
This effect will only work on stereo audio. Meaning you called
7082
Mix_OpenAudio with 2 channels (MIX_DEFAULT_CHANNELS). The easiest
7083
way to do true panning is to call
7084
Mix_SetPanning(channel, left, 254 - left); so that the total
7085
volume is correct, if you consider the maximum volume to be 127
7086
per channel for center, or 254 max for left, this works, but
7087
about halves the effective volume.
7088
<p>This Function registers the effect for you, so don't try to
7089
Mix_RegisterEffect it yourself.</p>
7090
<p>NOTE: Setting both left and right to 255 will unregister the
7091
effect from channel. You cannot unregister it any other way,
7092
unless you use Mix_UnregisterAllEffects on the channel.</p>
7093
<p>NOTE: Using this function on a mono audio device will not
7094
register the effect, nor will it return an error status.</p>
7095
<p>Binds to C-function in SDL_mixer.h
7096
<code>int Mix_SetPanning(int channel, Uint8 left, Uint8 right)
7097
</code>
7098
</p>
7099
</remarks>
7100
<param name="channel">
7101
Channel number to register this effect on.
7102
Use MIX_CHANNEL_POST to process the postmix stream.
7103
</param>
7104
<param name="left">
7105
Volume for the left channel, range is 0(silence) to 255(loud)
7106
</param>
7107
<param name="right">
7108
Volume for the left channel, range is 0(silence) to 255(loud)
7109
</param>
7110
<returns>
7111
Zero on errors, such as bad channel, or if Mix_RegisterEffect failed.
7112
</returns>
7113
<example>
7114
<code>
7115
// pan channel 1 halfway to the left
7116
if(!Mix_SetPanning(1, 255, 127))
7117
{
7118
printf("Mix_SetPanning: %s\n", Mix_GetError());
7119
// no panning, is it ok?
7120
}
7121
</code>
7122
</example>
7123
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_SetPosition(System.Int32,System.Int16,System.Byte)"/>
7124
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_UnregisterAllEffects(System.Int32)"/>
7125
</member>
7126
<member name="M:Tao.Sdl.SdlMixer.Mix_SetPosition(System.Int32,System.Int16,System.Byte)">
7127
<summary>
7128
Panning(angular) and distance
7129
</summary>
7130
<remarks>
7131
<p>Binds to C-function in SDL_mixer.h
7132
<code>int Mix_SetPosition(int channel, Sint16 angle, Uint8 distance)
7133
</code>
7134
</p>
7135
</remarks>
7136
<param name="channel">
7137
Channel number to register this effect on.
7138
Use MIX_CHANNEL_POST to process the postmix stream.
7139
</param>
7140
<param name="angle">
7141
Direction in relation to forward from 0 to 360 degrees.
7142
Larger angles will be reduced to this range using angles % 360.
7143
0 = directly in front.
7144
90 = directly to the right.
7145
180 = directly behind.
7146
270 = directly to the left.
7147
So you can see it goes clockwise starting at directly in front.
7148
This ends up being similar in effect to Mix_SetPanning.
7149
</param>
7150
<param name="distance">
7151
The distance from the listener, from 0(near/loud) to 255(far/quiet).
7152
This is the same as the Mix_SetDistance effect.
7153
</param>
7154
<returns>
7155
Zero on errors, such as an invalid channel,
7156
or if Mix_RegisterEffect failed.
7157
</returns>
7158
<example>
7159
<code>
7160
// set channel 2 to be behind and right, and 100 units away
7161
if(!Mix_SetPosition(2, 135, 100))
7162
{
7163
printf("Mix_SetPosition: %s\n", Mix_GetError());
7164
// no position effect, is it ok?
7165
}
7166
</code></example>
7167
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_SetPanning(System.Int32,System.Byte,System.Byte)"/>
7168
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_SetDistance(System.Int32,System.Byte)"/>
7169
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_UnregisterAllEffects(System.Int32)"/>
7170
</member>
7171
<member name="M:Tao.Sdl.SdlMixer.Mix_SetDistance(System.Int32,System.Byte)">
7172
<summary>
7173
Distance attenuation (volume)
7174
</summary>
7175
<remarks>
7176
This effect simulates a simple attenuation of volume due to distance.
7177
The volume never quite reaches silence, even at max distance.
7178
NOTE: Using a distance of 0 will cause the effect to unregister
7179
itself from channel. You cannot unregister it any other way,
7180
unless you use Mix_UnregisterAllEffects on the channel.
7181
<p>Binds to C-function in SDL_mixer.h
7182
<code>int Mix_SetDistance(int channel, Uint8 distance)
7183
</code>
7184
</p>
7185
</remarks>
7186
<param name="channel">
7187
Channel number to register this effect on.
7188
Use MIX_CHANNEL_POST to process the postmix stream.
7189
</param>
7190
<param name="distance">
7191
Specify the distance from the listener,
7192
from 0(close/loud) to 255(far/quiet).
7193
</param>
7194
<returns>
7195
Zero on errors, such as an invalid channel,
7196
or if Mix_RegisterEffect failed.
7197
</returns>
7198
<example>
7199
<code>
7200
// distance channel 1 to be farthest away
7201
if(!Mix_SetDistance(1, 255))
7202
{
7203
printf("Mix_SetDistance: %s\n", Mix_GetError());
7204
// no distance, is it ok?
7205
}
7206
</code></example>
7207
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_SetPosition(System.Int32,System.Int16,System.Byte)"/>
7208
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_UnregisterAllEffects(System.Int32)"/>
7209
</member>
7210
<member name="M:Tao.Sdl.SdlMixer.Mix_SetReverseStereo(System.Int32,System.Int32)">
7211
<summary>
7212
Swap stereo left and right
7213
</summary>
7214
<remarks>
7215
Simple reverse stereo, swaps left and right channel sound.
7216
<p>NOTE: Using a flip of 0, will cause the effect to unregister
7217
itself from channel. You cannot unregister it any other way,
7218
unless you use Mix_UnregisterAllEffects on the channel.</p>
7219
<p>Binds to C-function in SDL_mixer.h
7220
<code>int Mix_SetReverseStereo(int channel, int flip)
7221
</code>
7222
</p>
7223
</remarks>
7224
<param name="channel">
7225
Channel number to register this effect on.
7226
Use MIX_CHANNEL_POST to process the postmix stream.
7227
</param>
7228
<param name="flip">
7229
Must be non-zero to work, means nothing to the effect processor itself.
7230
set to zero to unregister the effect from channel.
7231
</param>
7232
<returns>
7233
Zero on errors, such as an invalid channel, or if Mix_RegisterEffect failed.
7234
</returns>
7235
<example>
7236
<code>
7237
// set the total mixer output to be reverse stereo
7238
if(!Mix_SetReverseStereo(MIX_CHANNEL_POST, 1))
7239
{
7240
printf("Mix_SetReverseStereo: %s\n", Mix_GetError());
7241
// no reverse stereo, is it ok?
7242
}
7243
</code>
7244
</example>
7245
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_UnregisterAllEffects(System.Int32)"/>
7246
</member>
7247
<member name="M:Tao.Sdl.SdlMixer.Mix_ReserveChannels(System.Int32)">
7248
<summary>
7249
Prevent channels from being used in default group
7250
</summary>
7251
<remarks>
7252
Reserve num channels from being used when playing samples when
7253
passing in -1 as a channel number to playback functions. The
7254
channels are reserved starting from channel 0 to num-1. Passing
7255
in zero will unreserve all channels. Normally SDL_mixer starts
7256
without any channels reserved.
7257
<p>
7258
The following functions are affected by this setting:
7259
<br><see cref="M:Tao.Sdl.SdlMixer.Mix_PlayChannel(System.Int32,System.IntPtr,System.Int32)"/></br>
7260
<br><see cref="M:Tao.Sdl.SdlMixer.Mix_PlayChannelTimed(System.Int32,System.IntPtr,System.Int32,System.Int32)"/></br>
7261
<br><see cref="M:Tao.Sdl.SdlMixer.Mix_FadeInChannel(System.Int32,System.IntPtr,System.Int32,System.Int32)"/></br>
7262
<br><see cref="M:Tao.Sdl.SdlMixer.Mix_FadeInChannelTimed(System.Int32,System.IntPtr,System.Int32,System.Int32,System.Int32)"/></br>
7263
</p>
7264
<p>Binds to C-function in SDL_mixer.h
7265
<code>int Mix_ReserveChannels(int num)
7266
</code>
7267
</p>
7268
</remarks>
7269
<param name="num">
7270
Number of channels to reserve from default mixing.
7271
Zero removes all reservations.
7272
</param>
7273
<returns>The number of channels reserved.
7274
Never fails, but may return less channels than you ask for,
7275
depending on the number of channels previously allocated.
7276
</returns>
7277
<example>
7278
<code>
7279
// reserve the first 8 mixing channels
7280
int reserved_count;
7281
reserved_count=Mix_ReserveChannels(8);
7282
if(reserved_count!=8)
7283
{
7284
printf("reserved %d channels from default mixing.\n",reserved_count);
7285
printf("8 channels were not reserved!\n");
7286
// this might be a critical error...
7287
}
7288
</code></example>
7289
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_AllocateChannels(System.Int32)"/>
7290
</member>
7291
<member name="M:Tao.Sdl.SdlMixer.Mix_GroupChannel(System.Int32,System.Int32)">
7292
<summary>
7293
Add/remove channel to/from group
7294
</summary>
7295
<remarks>
7296
Add which channel to group tag, or reset
7297
it's group to the default group tag (-1).
7298
<p>Binds to C-function in SDL_mixer.h
7299
<code>int Mix_GroupChannel(int which, int tag)
7300
</code>
7301
</p>
7302
</remarks>
7303
<param name="which">
7304
Channel number of channels to assign tag to.
7305
</param>
7306
<param name="tag">
7307
A group number Any positive numbers (including zero).
7308
-1 is the default group. Use -1 to remove a group tag essentially.
7309
</param>
7310
<returns>
7311
True(1) on success. False(0) is returned when
7312
the channel specified is invalid.
7313
</returns>
7314
<example>
7315
<code>
7316
// add channel 0 to group 1
7317
if(!Mix_GroupChannel(0,1))
7318
{
7319
// bad channel, apparently channel 1 isn't allocated
7320
}
7321
</code></example>
7322
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_GroupChannels(System.Int32,System.Int32,System.Int32)"/>
7323
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_AllocateChannels(System.Int32)"/>
7324
</member>
7325
<member name="M:Tao.Sdl.SdlMixer.Mix_GroupChannels(System.Int32,System.Int32,System.Int32)">
7326
<summary>
7327
Assign several consecutive channels to a group
7328
</summary>
7329
<remarks>
7330
Add channels starting at from up through to to group tag,
7331
or reset it's group to the default group tag (-1).
7332
<p>Binds to C-function in SDL_mixer.h
7333
<code>int Mix_GroupChannels(int from, int to, int tag)
7334
</code>
7335
</p>
7336
</remarks>
7337
<param name="from">
7338
First Channel number of channels to assign tag to.
7339
Must be less or equal to to.
7340
</param>
7341
<param name="to">
7342
Last Channel number of channels to assign tag to. Must be greater or equal to from.
7343
</param>
7344
<param name="tag">
7345
A group number. Any positive numbers (including zero).
7346
-1 is the default group. Use -1 to remove a group tag essentially.
7347
</param>
7348
<returns>
7349
The number of tagged channels on success. If that number is less
7350
than to-from+1 then some channels were no tagged because they didn't
7351
exist.
7352
</returns>
7353
<example>
7354
<code>
7355
// add channels 0 through 7 to group 1
7356
if(Mix_GroupChannels(0,7,1)!=8)
7357
{
7358
// some bad channels, apparently some channels aren't allocated
7359
}
7360
</code></example>
7361
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_GroupChannel(System.Int32,System.Int32)"/>
7362
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_AllocateChannels(System.Int32)"/>
7363
</member>
7364
<member name="M:Tao.Sdl.SdlMixer.Mix_GroupAvailable(System.Int32)">
7365
<summary>
7366
Get first inactive channel in group.
7367
</summary>
7368
<remarks>
7369
Find the first available (not playing) channel in group tag.
7370
<p>Binds to C-function in SDL_mixer.h
7371
<code>int Mix_GroupAvailable(int tag)
7372
</code>
7373
</p>
7374
</remarks>
7375
<param name="tag">
7376
A group number Any positive numbers (including zero).
7377
-1 will search ALL channels.
7378
</param>
7379
<returns>
7380
The channel found on success. -1 is returned when no
7381
channels in the group are available.
7382
</returns>
7383
<example>
7384
<code>
7385
// find the first available channel in group 1
7386
int channel;
7387
channel=Mix_GroupAvailable(1);
7388
if (channel==-1)
7389
{
7390
// no channel available...
7391
// perhaps search for oldest or newest channel in use...
7392
}
7393
</code></example>
7394
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_GroupOldest(System.Int32)"/>
7395
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_GroupNewer(System.Int32)"/>
7396
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_GroupChannel(System.Int32,System.Int32)"/>
7397
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_GroupChannels(System.Int32,System.Int32,System.Int32)"/>
7398
</member>
7399
<member name="M:Tao.Sdl.SdlMixer.Mix_GroupCount(System.Int32)">
7400
<summary>
7401
Get number of channels in group.
7402
</summary>
7403
<remarks>
7404
Count the number of channels in group tag.
7405
<p>Binds to C-function in SDL_mixer.h
7406
<code>int Mix_GroupCount(int tag)
7407
</code>
7408
</p>
7409
</remarks>
7410
<param name="tag">
7411
A group number Any positive numbers (including zero).
7412
-1 will count ALL channels.
7413
</param>
7414
<returns>
7415
The number of channels found in the group. This function never fails.
7416
</returns>
7417
<example>
7418
<code>
7419
// count the number of channels in group 1
7420
printf("There are %d channels in group 1\n", Mix_GroupCount(1));
7421
</code></example>
7422
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_GroupChannel(System.Int32,System.Int32)"/>
7423
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_GroupChannels(System.Int32,System.Int32,System.Int32)"/>
7424
</member>
7425
<member name="M:Tao.Sdl.SdlMixer.Mix_GroupOldest(System.Int32)">
7426
<summary>
7427
Get oldest busy channel in group
7428
</summary>
7429
<remarks>
7430
Find the oldest actively playing channel in group tag.
7431
<p>Binds to C-function in SDL_mixer.h
7432
<code>int Mix_GroupOldest(int tag)
7433
</code>
7434
</p>
7435
</remarks>
7436
<param name="tag">
7437
A group number Any positive numbers (including zero).
7438
-1 will search ALL channels.
7439
</param>
7440
<returns>
7441
The channel found on success. -1 is returned when no channels in
7442
the group are playing or the group is empty.
7443
</returns>
7444
<example>
7445
<code>
7446
// find the oldest playing channel in group 1
7447
int channel;
7448
channel=Mix_GroupOldest(1);
7449
if (channel==-1)
7450
{
7451
// no channel playing or allocated...
7452
// perhaps just search for an available channel...
7453
}
7454
</code></example>
7455
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_GroupNewer(System.Int32)"/>
7456
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_GroupAvailable(System.Int32)"/>
7457
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_GroupChannel(System.Int32,System.Int32)"/>
7458
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_GroupChannels(System.Int32,System.Int32,System.Int32)"/>
7459
</member>
7460
<member name="M:Tao.Sdl.SdlMixer.Mix_GroupNewer(System.Int32)">
7461
<summary>
7462
Get youngest busy channel in group
7463
</summary>
7464
<remarks>
7465
Find the newest, most recently started, actively playing
7466
channel in group tag.
7467
<p>Binds to C-function in SDL_mixer.h
7468
<code>int Mix_GroupNewer(int tag)
7469
</code>
7470
</p>
7471
</remarks>
7472
<param name="tag">
7473
A group number Any positive numbers (including zero).
7474
-1 will search ALL channels.
7475
</param>
7476
<returns>
7477
The channel found on success. -1 is returned when no channels in
7478
the group are playing or the group is empty.
7479
</returns>
7480
<example>
7481
<code>
7482
// find the newest playing channel in group 1
7483
int channel;
7484
channel=Mix_GroupNewer(1);
7485
if (channel==-1)
7486
{
7487
// no channel playing or allocated...
7488
// perhaps just search for an available channel...
7489
}
7490
</code>
7491
</example>
7492
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_GroupOldest(System.Int32)"/>
7493
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_GroupAvailable(System.Int32)"/>
7494
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_GroupChannel(System.Int32,System.Int32)"/>
7495
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_GroupChannels(System.Int32,System.Int32,System.Int32)"/>
7496
</member>
7497
<member name="M:Tao.Sdl.SdlMixer.Mix_PlayChannelTimed(System.Int32,System.IntPtr,System.Int32,System.Int32)">
7498
<summary>
7499
Play loop and limit by time.
7500
</summary>
7501
<remarks>
7502
If the sample is long enough and has enough
7503
loops then the sample will stop after ticks milliseconds.
7504
Otherwise this function is the same as <see cref="M:Tao.Sdl.SdlMixer.Mix_PlayChannel(System.Int32,System.IntPtr,System.Int32)"/>.
7505
<p>Binds to C-function in SDL_mixer.h
7506
<code>int Mix_PlayChannelTimed(int channel, Mix_Chunk *chunk, int loops, int ticks)
7507
</code>
7508
</p>
7509
</remarks>
7510
<param name="channel">
7511
Channel to play on, or -1 for the first free unreserved channel.
7512
</param>
7513
<param name="chunk">
7514
Sample to play.
7515
</param>
7516
<param name="loops">
7517
Number of loops, -1 is infinite loops.
7518
Passing one here plays the sample twice (1 loop).
7519
</param>
7520
<param name="ticks">
7521
Millisecond limit to play sample, at most.
7522
If not enough loops or the sample chunk is not long enough,
7523
then the sample may stop before this timeout occurs.
7524
-1 means play forever.
7525
</param>
7526
<returns>
7527
the channel the sample is played on.
7528
On any errors, -1 is returned.
7529
</returns>
7530
<example>
7531
<code>
7532
// play sample on first free unreserved channel
7533
// play it for half a second
7534
// Mix_Chunk *sample; //previously loaded
7535
if(Mix_PlayChannelTimed(-1, sample, -1 , 500)==-1)
7536
{
7537
printf("Mix_PlayChannel: %s\n",Mix_GetError());
7538
// may be critical error, or maybe just no channels were free.
7539
// you could allocated another channel in that case...
7540
}
7541
</code>
7542
</example>
7543
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_PlayChannel(System.Int32,System.IntPtr,System.Int32)"/>
7544
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_FadeInChannelTimed(System.Int32,System.IntPtr,System.Int32,System.Int32,System.Int32)"/>
7545
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_FadeOutChannel(System.Int32,System.Int32)"/>
7546
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_ReserveChannels(System.Int32)"/>
7547
</member>
7548
<member name="M:Tao.Sdl.SdlMixer.Mix_PlayChannel(System.Int32,System.IntPtr,System.Int32)">
7549
<summary>
7550
Play loop.
7551
</summary>
7552
<remarks>
7553
Play chunk on channel, or if channel is -1,
7554
pick the first free unreserved channel.
7555
The sample will play for loops+1 number of times,
7556
unless stopped by halt, or fade out, or setting a
7557
new expiration time of less time than it would have
7558
originally taken to play the loops, or closing the mixer.
7559
<p>Note: this just calls Mix_PlayChannelTimed()
7560
with ticks set to -1.</p>
7561
<p>Binds to C-function in SDL_mixer.h
7562
<code>int Mix_PlayChannel(int channel, Mix_Chunk *chunk, int loops)
7563
</code>
7564
</p>
7565
</remarks>
7566
<param name="channel">
7567
Channel to play on, or -1 for the first free unreserved channel.
7568
</param>
7569
<param name="chunk">
7570
Sample to play.
7571
</param>
7572
<param name="loops">
7573
Number of loops, -1 is infinite loops.
7574
Passing one here plays the sample twice (1 loop).
7575
</param>
7576
<returns>
7577
the channel the sample is played on. On any errors,
7578
-1 is returned.
7579
</returns>
7580
<example>
7581
<code>
7582
// play sample on first free unreserved channel
7583
// play it exactly once through
7584
// Mix_Chunk *sample; //previously loaded
7585
if(Mix_PlayChannel(-1, sample, 1)==-1)
7586
{
7587
printf("Mix_PlayChannel: %s\n",Mix_GetError());
7588
// may be critical error, or maybe just no channels were free.
7589
// you could allocated another channel in that case...
7590
}
7591
</code>
7592
</example>
7593
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_PlayChannelTimed(System.Int32,System.IntPtr,System.Int32,System.Int32)"/>
7594
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_FadeInChannel(System.Int32,System.IntPtr,System.Int32,System.Int32)"/>
7595
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_HaltChannel(System.Int32)"/>
7596
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_ExpireChannel(System.Int32,System.Int32)"/>
7597
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_ReserveChannels(System.Int32)"/>
7598
</member>
7599
<member name="M:Tao.Sdl.SdlMixer.Mix_PlayMusic(System.IntPtr,System.Int32)">
7600
<summary>
7601
Play music, with looping
7602
</summary>
7603
<remarks>
7604
Play the loaded music loop times through from start to finish.
7605
The previous music will be halted, or if fading out it waits
7606
(blocking) for that to finish.
7607
<p>Binds to C-function in SDL_mixer.h
7608
<code>int Mix_PlayMusic(Mix_Music *music, int loops)
7609
</code>
7610
</p>
7611
</remarks>
7612
<param name="music">
7613
Pointer to Mix_Music to play.
7614
</param>
7615
<param name="loops">
7616
number of times to play through the music.
7617
<br>0 plays the music zero times...</br>
7618
<br>-1 plays the music forever (or as close as it can get to that)</br>
7619
</param>
7620
<returns>
7621
0 on success, or -1 on errors.
7622
</returns>
7623
<example>
7624
<code>
7625
// play music forever
7626
// Mix_Music *music; // I assume this has been loaded already
7627
if(Mix_PlayMusic(music, -1)==-1)
7628
{
7629
printf("Mix_PlayMusic: %s\n", Mix_GetError());
7630
// well, there's no music, but most games don't break without music...
7631
}
7632
</code>
7633
</example>
7634
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_FadeInMusic(System.IntPtr,System.Int32,System.Int32)"/>
7635
</member>
7636
<member name="M:Tao.Sdl.SdlMixer.Mix_FadeInMusic(System.IntPtr,System.Int32,System.Int32)">
7637
<summary>
7638
Play music, with looping, and fade in
7639
</summary>
7640
<remarks>
7641
Fade in over ms milliseconds of time, the loaded music,
7642
playing it loop times through from start to finish.
7643
The fade in effect only applies to the first loop.
7644
Any previous music will be halted, or if it is fading out i
7645
t will wait (blocking) for the fade to complete.
7646
This function is the same as Mix_FadeInMusicPos(music, loops, ms, 0).
7647
<p>Binds to C-function in SDL_mixer.h
7648
<code>int Mix_FadeInMusic(Mix_Music *music, int loops, int ms)
7649
</code>
7650
</p>
7651
</remarks>
7652
<param name="music">
7653
Pointer to Mix_Music to play.
7654
</param>
7655
<param name="loops">
7656
number of times to play through the music.
7657
<br>
7658
0 plays the music zero times...
7659
</br>
7660
<br>
7661
-1 plays the music forever (or as close as it can get to that)
7662
</br>
7663
</param>
7664
<param name="ms">
7665
Milliseconds for the fade-in effect to complete.
7666
</param>
7667
<returns>
7668
0 on success, or -1 on errors.
7669
</returns>
7670
<example>
7671
<code>
7672
// play music forever, fading in over 2 seconds
7673
// Mix_Music *music; // I assume this has been loaded already
7674
if(Mix_FadeInMusic(music, -1, 2000)==-1)
7675
{
7676
printf("Mix_FadeInMusic: %s\n", Mix_GetError());
7677
// well, there's no music, but most games don't break without music...
7678
}
7679
</code>
7680
</example>
7681
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_PlayMusic(System.IntPtr,System.Int32)"/>
7682
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_FadeInMusicPos(System.IntPtr,System.Int32,System.Int32,System.Double)"/>
7683
</member>
7684
<member name="M:Tao.Sdl.SdlMixer.Mix_FadeInMusicPos(System.IntPtr,System.Int32,System.Int32,System.Double)">
7685
<summary>
7686
Play music from a start point, with looping, and fade in
7687
</summary>
7688
<remarks>
7689
Fade in over ms milliseconds of time, the loaded music,
7690
playing it loop times through from start to finish.
7691
The fade in effect only applies to the first loop. The first
7692
time the music is played, it posistion will be set to position,
7693
which means different things for different types of music files,
7694
see Mix_SetMusicPosition for more info on that. Any previous
7695
music will be halted, or if it is fading out it will wait
7696
(blocking) for the fade to complete.
7697
<p>Binds to C-function in SDL_mixer.h
7698
<code>int Mix_FadeInMusicPos(Mix_Music *music, int loops, int ms, double position)
7699
</code>
7700
</p>
7701
</remarks>
7702
<param name="music">
7703
Pointer to Mix_Music to play.
7704
</param>
7705
<param name="loops">
7706
number of times to play through the music.
7707
<br>
7708
0 plays the music zero times...
7709
</br>
7710
<br>
7711
-1 plays the music forever (or as close as it can get to that)
7712
</br>
7713
</param>
7714
<param name="ms">
7715
Milliseconds for the fade-in effect to complete.
7716
</param>
7717
<param name="position">
7718
Position to play from, see <see cref="M:Tao.Sdl.SdlMixer.Mix_SetMusicPosition(System.Double)"/> for meaning.
7719
</param>
7720
<returns>
7721
0 on success, or -1 on errors.
7722
</returns>
7723
<example>
7724
<code>
7725
// play music forever, fading in over 2 seconds
7726
// Mix_Music *music; // I assume this has been loaded already
7727
if(Mix_FadeInMusicPos(music, -1, 2000)==-1)
7728
{
7729
printf("Mix_FadeInMusic: %s\n", Mix_GetError());
7730
// well, there's no music, but most games don't break without music...
7731
}
7732
</code>
7733
</example>
7734
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_PlayMusic(System.IntPtr,System.Int32)"/>
7735
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_FadeInMusic(System.IntPtr,System.Int32,System.Int32)"/>
7736
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_SetMusicPosition(System.Double)"/>
7737
</member>
7738
<member name="M:Tao.Sdl.SdlMixer.Mix_FadeInChannelTimed(System.Int32,System.IntPtr,System.Int32,System.Int32,System.Int32)">
7739
<summary>
7740
Play loop with fade in and limit by time
7741
</summary>
7742
<remarks>
7743
If the sample is long enough and has enough loops then the sample
7744
will stop after ticks milliseconds. Otherwise this function
7745
is the same as <see cref="M:Tao.Sdl.SdlMixer.Mix_FadeInChannel(System.Int32,System.IntPtr,System.Int32,System.Int32)"/>.
7746
<p>Binds to C-function in SDL_mixer.h
7747
<code>int Mix_FadeInChannelTimed(int channel, Mix_Chunk *chunk, int loops, int ms, int ticks)
7748
</code>
7749
</p>
7750
</remarks>
7751
<param name="channel">
7752
Channel to play on, or -1 for the first free unreserved channel.
7753
</param>
7754
<param name="chunk">
7755
Sample to play.
7756
</param>
7757
<param name="loops">
7758
Number of loops, -1 is infinite loops.
7759
</param>
7760
<param name="ms">
7761
Milliseconds of time that the fade-in effect should
7762
take to go from silence to full volume.
7763
</param>
7764
<param name="ticks">Millisecond limit to play sample, at most.
7765
If not enough loops or the sample chunk is not long enough,
7766
then the sample may stop before this timeout occurs.
7767
-1 means play forever.</param>
7768
<returns>
7769
the channel the sample is played on. On any errors, -1 is returned.
7770
</returns>
7771
<example>
7772
<code>
7773
// play sample on first free unreserved channel
7774
// play it for half a second
7775
// Mix_Chunk *sample; //previously loaded
7776
if(Mix_PlayChannelTimed(-1, sample, -1 , 500)==-1)
7777
{
7778
printf("Mix_PlayChannel: %s\n",Mix_GetError());
7779
// may be critical error, or maybe just no channels were free.
7780
// you could allocated another channel in that case...
7781
}
7782
</code>
7783
</example>
7784
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_PlayChannelTimed(System.Int32,System.IntPtr,System.Int32,System.Int32)"/>
7785
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_FadeInChannel(System.Int32,System.IntPtr,System.Int32,System.Int32)"/>
7786
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_HaltChannel(System.Int32)"/>
7787
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_FadingChannel(System.Int32)"/>
7788
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_ReserveChannels(System.Int32)"/>
7789
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_ExpireChannel(System.Int32,System.Int32)"/>
7790
</member>
7791
<member name="M:Tao.Sdl.SdlMixer.Mix_FadeInChannel(System.Int32,System.IntPtr,System.Int32,System.Int32)">
7792
<summary>
7793
Play loop with fade in
7794
</summary>
7795
<remarks>
7796
Play chunk on channel, or if channel is -1,
7797
pick the first free unreserved channel.
7798
The channel volume starts at 0 and fades up to
7799
full volume over ms milliseconds of time.
7800
The sample may end before the fade-in is
7801
complete if it is too short or doesn't have enough loops.
7802
The sample will play for loops+1 number of times,
7803
unless stopped by halt, or fade out, or setting
7804
a new expiration time of less time than it would
7805
have originally taken to play the loops, or closing the mixer.
7806
Note: this just calls <see cref="M:Tao.Sdl.SdlMixer.Mix_FadeInChannelTimed(System.Int32,System.IntPtr,System.Int32,System.Int32,System.Int32)"/>
7807
with ticks set to -1.
7808
<p>Binds to C-function in SDL_mixer.h
7809
<code>int Mix_FadeInChannel(int channel, Mix_Chunk *chunk, int loops, int ms)
7810
</code>
7811
</p>
7812
</remarks>
7813
<param name="channel">
7814
Channel to play on, or -1 for the first free unreserved channel.
7815
</param>
7816
<param name="chunk">Sample to play.</param>
7817
<param name="loops">
7818
Number of loops, -1 is infinite loops.
7819
Passing one here plays the sample twice (1 loop).
7820
</param>
7821
<param name="ms">
7822
Milliseconds of time that the fade-in effect
7823
should take to go from silence to full volume.
7824
</param>
7825
<returns>
7826
the channel the sample is played on.
7827
On any errors, -1 is returned.
7828
</returns>
7829
<example>
7830
<code>
7831
// play sample on first free unreserved channel
7832
// play it exactly 3 times through
7833
// fade in over one second
7834
// Mix_Chunk *sample; //previously loaded
7835
if(Mix_FadeInChannel(-1, sample, 3, 1000)==-1)
7836
{
7837
printf("Mix_FadeInChannel: %s\n",Mix_GetError());
7838
// may be critical error, or maybe just no channels were free.
7839
// you could allocated another channel in that case...
7840
}
7841
</code>
7842
</example>
7843
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_PlayChannel(System.Int32,System.IntPtr,System.Int32)"/>
7844
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_FadeInChannelTimed(System.Int32,System.IntPtr,System.Int32,System.Int32,System.Int32)"/>
7845
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_FadingChannel(System.Int32)"/>
7846
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_FadeOutChannel(System.Int32,System.Int32)"/>
7847
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_ReserveChannels(System.Int32)"/>
7848
</member>
7849
<member name="M:Tao.Sdl.SdlMixer.Mix_Volume(System.Int32,System.Int32)">
7850
<summary>
7851
Set the mix volume of a channel
7852
</summary>
7853
<remarks>
7854
Set the volume for any allocated channel.
7855
If channel is -1 then all channels at are set at once.
7856
The volume is applied during the final mix, along
7857
with the sample volume. So setting this volume to
7858
64 will halve the output of all samples played on
7859
the specified channel. All channels default to a
7860
volume of 128, which is the max. Newly allocated
7861
channels will have the max volume set, so setting
7862
all channels volumes does not affect subsequent
7863
channel allocations.
7864
<p>Binds to C-function in SDL_mixer.h
7865
<code>int Mix_Volume(int channel, int volume)
7866
</code>
7867
</p>
7868
</remarks>
7869
<param name="channel">
7870
Channel to set mix volume for.
7871
-1 will set the volume for all allocated channels.
7872
</param>
7873
<param name="volume">
7874
The volume to use from 0 to MIX_MAX_VOLUME(128).
7875
If greater than MIX_MAX_VOLUME,
7876
then it will be set to MIX_MAX_VOLUME.
7877
If less than 0 then the volume will not be set.
7878
</param>
7879
<returns>
7880
current volume of the channel.
7881
If channel is -1, the average volume is returned.
7882
</returns>
7883
<example>
7884
<code>
7885
// set channel 1 to half volume
7886
Mix_Volume(1,MIX_MAX_VOLUME/2);
7887
7888
// print the average volume
7889
printf("Average volume is %d\n",Mix_Volume(-1,-1));
7890
</code>
7891
</example>
7892
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_VolumeChunk(System.IntPtr,System.Int32)"/>
7893
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_VolumeMusic(System.Int32)"/>
7894
</member>
7895
<member name="M:Tao.Sdl.SdlMixer.Mix_VolumeChunk(System.IntPtr,System.Int32)">
7896
<summary>
7897
Set mix volume
7898
</summary>
7899
<remarks>
7900
Set chunk-&gt;volume to volume.
7901
The volume setting will take effect
7902
when the chunk is used on a channel,
7903
being mixed into the output.
7904
<p>Binds to C-function in SDL_mixer.h
7905
<code>int Mix_VolumeChunk(Mix_Chunk *chunk, int volume)
7906
</code>
7907
</p>
7908
</remarks>
7909
<param name="chunk">
7910
Pointer to the Mix_Chunk to set the volume in.
7911
</param>
7912
<param name="volume">
7913
The volume to use from 0 to MIX_MAX_VOLUME(128).
7914
If greater than MIX_MAX_VOLUME,
7915
then it will be set to MIX_MAX_VOLUME.
7916
If less than 0 then chunk-&gt;volume will not be set.
7917
</param>
7918
<returns>
7919
previous chunk-&gt;volume setting.
7920
if you passed a negative value for volume then this
7921
volume is still the current volume for the chunk.
7922
</returns>
7923
<example>
7924
<code>
7925
// set the sample's volume to 1/2
7926
// Mix_Chunk *sample;
7927
int previous_volume;
7928
previous_volume=Mix_VolumeChunk(sample, MIX_MAX_VOLUME/2);
7929
printf("previous_volume: %d\n", previous_volume);
7930
</code>
7931
</example>
7932
<seealso cref="T:Tao.Sdl.SdlMixer.Mix_Chunk"/>
7933
</member>
7934
<member name="M:Tao.Sdl.SdlMixer.Mix_VolumeMusic(System.Int32)">
7935
<summary>
7936
Set music volume
7937
</summary>
7938
<remarks>
7939
Set the volume to volume, if it is 0 or greater, and return the
7940
previous volume setting. Setting the volume during a fade will
7941
not work, the faders use this function to perform their effect!
7942
Setting volume while using an external music player set by
7943
<see cref="M:Tao.Sdl.SdlMixer.Mix_SetMusicCMD(System.String)"/> will have no effect, and
7944
<see cref="M:Tao.Sdl.SdlMixer.Mix_GetError"/> will
7945
show the reason why not.
7946
<p>Binds to C-function in SDL_mixer.h
7947
<code>int Mix_VolumeMusic(int volume)
7948
</code>
7949
</p>
7950
</remarks>
7951
<param name="volume">
7952
Music volume, from 0 to MIX_MAX_VOLUME(128).
7953
Values greater than MIX_MAX_VOLUME will use MIX_MAX_VOLUME.
7954
-1 does not set the volume, but does return the current volume setting.
7955
</param>
7956
<returns>
7957
The previous volume setting.
7958
</returns>
7959
<example>
7960
<code>
7961
// set the music volume to 1/2 maximum, and then check it
7962
printf("volume was : %d\n", Mix_VolumeMusic(MIX_MAX_VOLUME/2));
7963
printf("volume is now : %d\n", Mix_VolumeMusic(-1));
7964
</code>
7965
</example>
7966
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_FadeInMusic(System.IntPtr,System.Int32,System.Int32)"/>
7967
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_FadeOutMusic(System.Int32)"/>
7968
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_SetMusicCMD(System.String)"/>
7969
</member>
7970
<member name="M:Tao.Sdl.SdlMixer.Mix_HaltChannel(System.Int32)">
7971
<summary>
7972
Stop playing on a channel
7973
</summary>
7974
<remarks>
7975
Halt channel playback, or all channels if -1 is passed in.
7976
Any callback set by Mix_ChannelFinished will be called.
7977
<p>Binds to C-function in SDL_mixer.h
7978
<code>int Mix_HaltChannel(int channel)
7979
</code>
7980
</p>
7981
</remarks>
7982
<param name="channel">
7983
Channel to stop playing, or -1 for all channels.
7984
</param>
7985
<returns>
7986
always returns zero. (kinda silly)
7987
</returns>
7988
<example>
7989
<code>
7990
// halt playback on all channels
7991
Mix_HaltChannel(-1);
7992
</code></example>
7993
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_ExpireChannel(System.Int32,System.Int32)"/>
7994
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_FadeOutChannel(System.Int32,System.Int32)"/>
7995
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_ChannelFinished(Tao.Sdl.SdlMixer.ChannelFinishedDelegate)"/>
7996
</member>
7997
<member name="M:Tao.Sdl.SdlMixer.Mix_HaltGroup(System.Int32)">
7998
<summary>
7999
Stop a group
8000
</summary>
8001
<remarks>
8002
Halt playback on all channels in group tag.
8003
Any callback set by Mix_ChannelFinished will be called once for each channel that stops.
8004
<p>Binds to C-function in SDL_mixer.h
8005
<code>int Mix_HaltGroup(int tag)
8006
</code>
8007
</p>
8008
</remarks>
8009
<param name="tag">
8010
Group to fade out.
8011
NOTE: -1 will NOT halt all channels. Use Mix_HaltChannel(-1) for that instead.
8012
</param>
8013
<returns>
8014
always returns zero. (more silly than <see cref="M:Tao.Sdl.SdlMixer.Mix_HaltChannel(System.Int32)"/>)
8015
</returns>
8016
<example>
8017
<code>
8018
// halt playback on all channels in group 1
8019
Mix_HaltGroup(1);
8020
</code>
8021
</example>
8022
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_FadeOutGroup(System.Int32,System.Int32)"/>
8023
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_HaltChannel(System.Int32)"/>
8024
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_ChannelFinished(Tao.Sdl.SdlMixer.ChannelFinishedDelegate)"/>
8025
</member>
8026
<member name="M:Tao.Sdl.SdlMixer.Mix_HaltMusic">
8027
<summary>
8028
Stop music playback
8029
</summary>
8030
<remarks>
8031
Halt playback of music. This interrupts music fader effects.
8032
Any callback set by Mix_HookMusicFinished will be called
8033
when the music stops.
8034
<p>Binds to C-function in SDL_mixer.h
8035
<code>int Mix_HaltMusic()
8036
</code>
8037
</p>
8038
</remarks>
8039
<returns>always returns zero. (even more silly than Mix_HaltGroup)
8040
</returns>
8041
<example>
8042
<code>
8043
// halt music playback
8044
Mix_HaltMusic();
8045
</code>
8046
</example>
8047
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_FadeOutMusic(System.Int32)"/>
8048
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_HookMusicFinished(Tao.Sdl.SdlMixer.MusicFinishedDelegate)"/>
8049
</member>
8050
<member name="M:Tao.Sdl.SdlMixer.Mix_ExpireChannel(System.Int32,System.Int32)">
8051
<summary>
8052
Change the timed stoppage of a channel
8053
</summary>
8054
<remarks>
8055
Halt channel playback, or all channels if -1 is passed in,
8056
after ticks milliseconds. Any callback set by
8057
<see cref="M:Tao.Sdl.SdlMixer.Mix_ChannelFinished(Tao.Sdl.SdlMixer.ChannelFinishedDelegate)"/>
8058
will be called when the channel expires.
8059
<p>Binds to C-function in SDL_mixer.h
8060
<code>int Mix_ExpireChannel(int channel, int ticks)
8061
</code>
8062
</p>
8063
</remarks>
8064
<param name="channel">
8065
Channel to stop playing, or -1 for all channels.
8066
</param>
8067
<param name="ticks">
8068
Milliseconds until channel(s) halt playback.
8069
</param>
8070
<returns>
8071
Number of channels set to expire. Whether or not they are active.
8072
</returns>
8073
<example>
8074
<code>
8075
// halt playback on all channels in 2 seconds
8076
Mix_ExpireChannel(-1, 2000);
8077
</code>
8078
</example>
8079
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_HaltChannel(System.Int32)"/>
8080
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_FadeOutChannel(System.Int32,System.Int32)"/>
8081
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_ChannelFinished(Tao.Sdl.SdlMixer.ChannelFinishedDelegate)"/>
8082
</member>
8083
<member name="M:Tao.Sdl.SdlMixer.Mix_FadeOutChannel(System.Int32,System.Int32)">
8084
<summary>
8085
Stop playing channel after timed fade out
8086
</summary>
8087
<remarks>
8088
Gradually fade out which channel over ms milliseconds starting
8089
from now. The channel will be halted after the fade out is
8090
completed. Only channels that are playing are set to fade out,
8091
including paused channels. Any callback set by
8092
<see cref="M:Tao.Sdl.SdlMixer.Mix_ChannelFinished(Tao.Sdl.SdlMixer.ChannelFinishedDelegate)"/> will be called when the channel
8093
finishes fading out.
8094
<p>Binds to C-function in SDL_mixer.h
8095
<code>int Mix_FadeOutChannel(int which, int ms)
8096
</code>
8097
</p>
8098
</remarks>
8099
<param name="which">
8100
Channel to fade out, or -1 to fade all channels out.
8101
</param>
8102
<param name="ms">
8103
Milliseconds of time that the fade-out effect
8104
should take to go to silence, starting now.
8105
</param>
8106
<returns>The number of channels set to fade out.
8107
</returns>
8108
<example>
8109
<code>
8110
// fade out all channels to finish 3 seconds from now
8111
printf("starting fade out of %d channels\n", Mix_FadeOutChannel(-1, 3000));
8112
</code>
8113
</example>
8114
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_FadeInChannel(System.Int32,System.IntPtr,System.Int32,System.Int32)"/>
8115
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_FadeInChannelTimed(System.Int32,System.IntPtr,System.Int32,System.Int32,System.Int32)"/>
8116
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_FadingChannel(System.Int32)"/>
8117
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_ChannelFinished(Tao.Sdl.SdlMixer.ChannelFinishedDelegate)"/>
8118
</member>
8119
<member name="M:Tao.Sdl.SdlMixer.Mix_FadeOutGroup(System.Int32,System.Int32)">
8120
<summary>
8121
Fade out a group over time
8122
</summary>
8123
<remarks>
8124
Gradually fade out channels in group tag over ms milliseconds
8125
starting from now. The channels will be halted after the fade
8126
out is completed. Only channels that are playing are set to
8127
fade out, including paused channels. Any callback set by
8128
<see cref="M:Tao.Sdl.SdlMixer.Mix_ChannelFinished(Tao.Sdl.SdlMixer.ChannelFinishedDelegate)"/> will be called when each
8129
channel finishes fading out.
8130
<p>Binds to C-function in SDL_mixer.h
8131
<code>int Mix_FadeOutGroup(int tag, int ms)
8132
</code>
8133
</p>
8134
</remarks>
8135
<param name="tag">
8136
Group to fade out.
8137
NOTE: -1 will NOT fade all channels out.
8138
Use Mix_FadeOutChannel(-1) for that instead.
8139
</param>
8140
<param name="ms">
8141
Milliseconds of time that the fade-out effect
8142
should take to go to silence, starting now.
8143
</param>
8144
<returns>
8145
The number of channels set to fade out.
8146
</returns>
8147
<example>
8148
<code>
8149
// fade out all channels in group 1 to finish 3 seconds from now
8150
printf("starting fade out of %d channels\n", Mix_FadeOutGroup(1, 3000));
8151
</code>
8152
</example>
8153
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_HaltGroup(System.Int32)"/>
8154
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_FadeOutChannel(System.Int32,System.Int32)"/>
8155
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_FadingChannel(System.Int32)"/>
8156
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_ChannelFinished(Tao.Sdl.SdlMixer.ChannelFinishedDelegate)"/>
8157
</member>
8158
<member name="M:Tao.Sdl.SdlMixer.Mix_FadeOutMusic(System.Int32)">
8159
<summary>
8160
Stop music, with fade out
8161
</summary>
8162
<remarks>
8163
Gradually fade out the music over ms milliseconds starting from
8164
now. The music will be halted after the fade out is completed.
8165
Only when music is playing and not fading already are set to
8166
fade out, including paused channels. Any callback set by
8167
<see cref="M:Tao.Sdl.SdlMixer.Mix_HookMusicFinished(Tao.Sdl.SdlMixer.MusicFinishedDelegate)"/> will be called when
8168
the music finishes fading out.
8169
<p>Binds to C-function in SDL_mixer.h
8170
<code>int Mix_FadeOutMusic(int ms)
8171
</code>
8172
</p>
8173
</remarks>
8174
<param name="ms">
8175
Milliseconds of time that the fade-out effect
8176
should take to go to silence, starting now.
8177
</param>
8178
<returns>1 on success, 0 on failure.</returns>
8179
<example>
8180
<code>
8181
// fade out music to finish 3 seconds from now
8182
while(!Mix_FadeOutMusic(3000) &amp;&amp; Mix_PlayingMusic())
8183
{
8184
// wait for any fades to complete
8185
SDL_Delay(100);
8186
}
8187
</code>
8188
</example>
8189
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_HaltMusic"/>
8190
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_FadingMusic"/>
8191
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_PlayingMusic"/>
8192
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_HookMusicFinished(Tao.Sdl.SdlMixer.MusicFinishedDelegate)"/>
8193
</member>
8194
<member name="M:Tao.Sdl.SdlMixer.Mix_FadingMusic">
8195
<summary>
8196
Get status of current music fade activity
8197
</summary>
8198
<remarks>
8199
Tells you if music is fading in, out, or not at all.
8200
Does not tell you if the channel is playing anything,
8201
or paused, so you'd need to test that separately.
8202
<p>Binds to C-function in SDL_mixer.h
8203
<code>Mix_Fading Mix_FadingMusic()
8204
</code>
8205
</p>
8206
</remarks>
8207
<returns>
8208
the fading status. Never returns an error.
8209
</returns>
8210
<example>
8211
<code>
8212
// check the music fade status
8213
switch(Mix_FadingMusic())
8214
{
8215
case MIX_NO_FADING:
8216
printf("Not fading music.\n");
8217
break;
8218
case MIX_FADING_OUT:
8219
printf("Fading out music.\n");
8220
break;
8221
case MIX_FADING_IN:
8222
printf("Fading in music.\n");
8223
break;
8224
}
8225
</code>
8226
</example>
8227
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_PausedMusic"/>
8228
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_PlayingMusic"/>
8229
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_FadeInMusicPos(System.IntPtr,System.Int32,System.Int32,System.Double)"/>
8230
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_FadeOutMusic(System.Int32)"/>
8231
</member>
8232
<member name="M:Tao.Sdl.SdlMixer.Mix_FadingChannel(System.Int32)">
8233
<summary>
8234
Get the fade status of a channel
8235
</summary>
8236
<remarks>
8237
Tells you if which channel is fading in, out, or not.
8238
Does not tell you if the channel is playing anything,
8239
or paused, so you'd need to test that separately.
8240
<p>Binds to C-function in SDL_mixer.h
8241
<code>Mix_Fading Mix_FadingChannel(int which)
8242
</code>
8243
</p>
8244
</remarks>
8245
<param name="which">
8246
Channel to get the fade activity status from.
8247
-1 is not valid, and will probably crash the program.
8248
</param>
8249
<returns>the fading status. Never returns an error.
8250
</returns>
8251
<example>
8252
<code>
8253
// check the fade status on channel 0
8254
switch(Mix_FadingChannel(0))
8255
{
8256
case MIX_NO_FADING:
8257
printf("Not fading.\n");
8258
break;
8259
case MIX_FADING_OUT:
8260
printf("Fading out.\n");
8261
break;
8262
case MIX_FADING_IN:
8263
printf("Fading in.\n");
8264
break;
8265
}
8266
</code>
8267
</example>
8268
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_Paused(System.Int32)"/>
8269
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_Playing(System.Int32)"/>
8270
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_FadeInChannel(System.Int32,System.IntPtr,System.Int32,System.Int32)"/>
8271
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_FadeInChannelTimed(System.Int32,System.IntPtr,System.Int32,System.Int32,System.Int32)"/>
8272
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_FadeOutChannel(System.Int32,System.Int32)"/>
8273
</member>
8274
<member name="M:Tao.Sdl.SdlMixer.Mix_Pause(System.Int32)">
8275
<summary>
8276
Pause a particular channel
8277
</summary>
8278
<remarks>
8279
Pause channel, or all playing channels if -1 is passed in.
8280
You may still halt a paused channel.
8281
Note: Only channels which are actively playing will be paused.
8282
<p>Binds to C-function in SDL_mixer.h
8283
<code>void Mix_Pause(int channel)
8284
</code>
8285
</p>
8286
</remarks>
8287
<param name="channel">
8288
Channel to pause on, or -1 for all channels.
8289
</param>
8290
<example>
8291
<code>
8292
// pause all sample playback
8293
Mix_Pause(-1);
8294
</code>
8295
</example>
8296
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_Resume(System.Int32)"/>
8297
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_Paused(System.Int32)"/>
8298
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_HaltChannel(System.Int32)"/>
8299
</member>
8300
<member name="M:Tao.Sdl.SdlMixer.Mix_Resume(System.Int32)">
8301
<summary>
8302
Resume a paused channel
8303
</summary>
8304
<remarks>
8305
Unpause channel, or all playing and
8306
paused channels if -1 is passed in.
8307
<p>Binds to C-function in SDL_mixer.h
8308
<code>void Mix_Resume(int channel)
8309
</code>
8310
</p>
8311
</remarks>
8312
<param name="channel">
8313
Channel to resume playing, or -1 for all channels.
8314
</param>
8315
<example>
8316
<code>
8317
// resume playback on all previously active channels
8318
Mix_Resume(-1);
8319
</code>
8320
</example>
8321
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_Pause(System.Int32)"/>
8322
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_Paused(System.Int32)"/>
8323
</member>
8324
<member name="M:Tao.Sdl.SdlMixer.Mix_Paused(System.Int32)">
8325
<summary>
8326
Get the pause status of a channel
8327
</summary>
8328
<remarks>
8329
Tells you if channel is paused, or not.
8330
Note: Does not check if the channel has been halted
8331
after it was paused, which may seem a little weird.
8332
<p>Binds to C-function in SDL_mixer.h
8333
<code>int Mix_Paused(int channel)
8334
</code>
8335
</p>
8336
</remarks>
8337
<param name="channel">
8338
Channel to test whether it is paused or not.
8339
-1 will tell you how many channels are paused.
8340
</param>
8341
<returns>
8342
Zero if the channel is not paused. Otherwise if you passed in -1,
8343
the number of paused channels is returned. If you passed in a
8344
specific channel, then 1 is returned if it is paused.
8345
</returns>
8346
<example>
8347
<code>
8348
// check the pause status on all channels
8349
printf("%d channels are paused\n", Mix_Paused(-1));
8350
</code>
8351
</example>
8352
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_Playing(System.Int32)"/>
8353
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_Pause(System.Int32)"/>
8354
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_Resume(System.Int32)"/>
8355
</member>
8356
<member name="M:Tao.Sdl.SdlMixer.Mix_PauseMusic">
8357
<summary>
8358
Pause music
8359
</summary>
8360
<remarks>
8361
Pause the music playback. You may halt paused music.
8362
Note: Music can only be paused if it is actively playing.
8363
<p>Binds to C-function in SDL_mixer.h
8364
<code>void Mix_PauseMusic()
8365
</code>
8366
</p>
8367
</remarks>
8368
<example>
8369
<code>
8370
// pause music playback
8371
Mix_PauseMusic();
8372
</code>
8373
</example>
8374
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_ResumeMusic"/>
8375
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_PausedMusic"/>
8376
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_HaltMusic"/>
8377
</member>
8378
<member name="M:Tao.Sdl.SdlMixer.Mix_ResumeMusic">
8379
<summary>
8380
Resume paused music
8381
</summary>
8382
<remarks>
8383
Unpause the music. This is safe to use on halted,
8384
paused, and already playing music.
8385
<p>Binds to C-function in SDL_mixer.h
8386
<code>void Mix_ResumeMusic()
8387
</code>
8388
</p>
8389
</remarks>
8390
<example>
8391
<code>
8392
// resume music playback
8393
Mix_ResumeMusic();
8394
</code>
8395
</example>
8396
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_PauseMusic"/>
8397
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_PausedMusic"/>
8398
</member>
8399
<member name="M:Tao.Sdl.SdlMixer.Mix_RewindMusic">
8400
<summary>
8401
Rewind music to beginning
8402
</summary>
8403
<remarks>
8404
Rewind the music to the start. This is safe to use on halted,
8405
paused, and already playing music. It is not useful to rewind
8406
the music immediately after starting playback, because it
8407
starts at the beginning by default.
8408
<p>This function only works for these streams:
8409
MOD, OGG, MP3, Native MIDI.</p>
8410
<p>Binds to C-function in SDL_mixer.h
8411
<code>void Mix_RewindMusic()
8412
</code>
8413
</p>
8414
</remarks>
8415
<example>
8416
<code>
8417
// rewind music playback to the start
8418
Mix_RewindMusic();
8419
</code>
8420
</example>
8421
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_PlayMusic(System.IntPtr,System.Int32)"/>
8422
</member>
8423
<member name="M:Tao.Sdl.SdlMixer.Mix_PausedMusic">
8424
<summary>
8425
Test whether music is paused
8426
</summary>
8427
<remarks>
8428
Tells you if music is paused, or not.
8429
Note: Does not check if the music was been halted
8430
after it was paused, which may seem a little weird.
8431
<p>Binds to C-function in SDL_mixer.h
8432
<code>int Mix_PausedMusic()
8433
</code>
8434
</p>
8435
</remarks>
8436
<returns>
8437
Zero if music is not paused. 1 if it is paused.
8438
</returns>
8439
<example>
8440
<code>
8441
// check the music pause status
8442
printf("music is%s paused\n", Mix_PausedMusic()?"":" not");
8443
</code>
8444
</example>
8445
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_PlayingMusic"/>
8446
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_PauseMusic"/>
8447
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_ResumeMusic"/>
8448
</member>
8449
<member name="M:Tao.Sdl.SdlMixer.Mix_SetMusicPosition(System.Double)">
8450
<summary>
8451
Set position of playback in stream.
8452
</summary>
8453
<remarks>
8454
Set the position of the currently playing music.
8455
The position takes different meanings for different music sources.
8456
It only works on the music sources listed below.
8457
<code>
8458
MOD
8459
The double is cast to Uint16 and used for a pattern number in the module.
8460
Passing zero is similar to rewinding the song.
8461
OGG
8462
Jumps to position seconds from the beginning of the song.
8463
MP3
8464
Jumps to position seconds from the current position in the stream.
8465
</code>
8466
So you may want to call Mix_RewindMusic before this.
8467
Does not go in reverse...negative values do nothing.
8468
<p>Binds to C-function in SDL_mixer.h
8469
<code>int Mix_SetMusicPosition(double position)
8470
</code>
8471
</p>
8472
</remarks>
8473
<param name="position">Position to play from.</param>
8474
<returns>
8475
0 on success, or -1 if the codec doesn't support this function.
8476
</returns>
8477
<example>
8478
<code>
8479
// skip one minute into the song, from the start
8480
// this assumes you are playing an MP3
8481
Mix_RewindMusic();
8482
if(Mix_SetMusicPosition(60.0)==-1)
8483
{
8484
printf("Mix_SetMusicPosition: %s\n", Mix_GetError());
8485
}
8486
</code>
8487
</example>
8488
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_FadeInMusicPos(System.IntPtr,System.Int32,System.Int32,System.Double)"/>
8489
</member>
8490
<member name="M:Tao.Sdl.SdlMixer.Mix_Playing(System.Int32)">
8491
<summary>
8492
Get the active playing status of a channel
8493
</summary>
8494
<remarks>
8495
Tells you if channel is playing, or not.
8496
Note: Does not check if the channel has been paused.
8497
<p>Binds to C-function in SDL_mixer.h
8498
<code>int Mix_Playing(int channel)
8499
</code>
8500
</p>
8501
</remarks>
8502
<param name="channel">
8503
Channel to test whether it is playing or not.
8504
-1 will tell you how many channels are playing.
8505
</param>
8506
<returns>
8507
Zero if the channel is not playing. Otherwise if you passed in -1,
8508
the number of channels playing is returned. If you passed in a
8509
specific channel, then 1 is returned if it is playing.</returns>
8510
<example>
8511
<code>
8512
// check how many channels are playing samples
8513
printf("%d channels are playing\n", Mix_Playing(-1));
8514
</code>
8515
</example>
8516
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_Paused(System.Int32)"/>
8517
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_PlayChannel(System.Int32,System.IntPtr,System.Int32)"/>
8518
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_Pause(System.Int32)"/>
8519
</member>
8520
<member name="M:Tao.Sdl.SdlMixer.Mix_PlayingMusic">
8521
<summary>
8522
Test whether music is playing
8523
</summary>
8524
<remarks>
8525
Tells you if music is actively playing, or not.
8526
Note: Does not check if the channel has been paused.
8527
<p>Binds to C-function in SDL_mixer.h
8528
<code>int Mix_PlayingMusic()
8529
</code>
8530
</p>
8531
</remarks>
8532
<returns></returns>
8533
<example>
8534
<code>
8535
// check if music is playing
8536
printf("music is%s playing.\n", Mix_PlayingMusic()?"":" not");
8537
</code>
8538
</example>
8539
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_PausedMusic"/>
8540
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_FadingMusic"/>
8541
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_PlayMusic(System.IntPtr,System.Int32)"/>
8542
</member>
8543
<member name="M:Tao.Sdl.SdlMixer.Mix_SetMusicCMD(System.String)">
8544
<summary>
8545
Use external program for music playback
8546
</summary>
8547
<remarks>
8548
Setup a command line music player to use to play music.
8549
Any music playing will be halted. The music file to play
8550
is set by calling <see cref="M:Tao.Sdl.SdlMixer.Mix_LoadMUS(System.String)"/>(filename),
8551
and the filename is appended as the last argument on the
8552
commandline. This allows you to reuse the music command
8553
to play multiple files. The command will be sent signals
8554
SIGTERM to halt, SIGSTOP to pause, and SIGCONT to resume.
8555
The command program should react correctly to those signals
8556
for it to function properly with SDL_Mixer.
8557
<see cref="M:Tao.Sdl.SdlMixer.Mix_VolumeMusic(System.Int32)"/> has no effect when using an
8558
external music player, and <see cref="M:Tao.Sdl.SdlMixer.Mix_GetError"/> will
8559
have an error code set. You should set the music volume in
8560
the music player's command if the music player supports that.
8561
Looping music works, by calling the command again when the
8562
previous music player process has ended. Playing music
8563
through a command uses a forked process to execute the music command.
8564
<p>To use the internal music players set the command to NULL.</p>
8565
<p>NOTE: External music is not mixed by SDL_mixer,
8566
so no post-processing hooks will be for music.</p>
8567
<p>NOTE: Playing music through an external command may not work
8568
if the sound driver does not support multiple openings of the
8569
audio device, since SDL_Mixer already has the audio device
8570
open for playing samples through channels.</p>
8571
<p>NOTE: Commands are not totally portable, so be careful.</p>
8572
<p>Binds to C-function in SDL_mixer.h
8573
<code>int Mix_SetMusicCMD(const char *command)
8574
</code>
8575
</p>
8576
</remarks>
8577
<param name="command">
8578
System command to play the music. Should be a complete command,
8579
as if typed in to the command line, but it should expect the
8580
filename to be added as the last argument.
8581
NULL will turn off using an external command for music,
8582
returning to the internal music playing functionality.
8583
</param>
8584
<returns>
8585
0 on success, or -1 on any errors, such as running out of memory.
8586
</returns>
8587
<example>
8588
<code>
8589
// use mpg123 to play music
8590
Mix_Music *music=NULL;
8591
if(Mix_SetMusicCMD("mpg123 -q")==-1)
8592
{
8593
perror("Mix_SetMusicCMD");
8594
}
8595
else
8596
{
8597
// play some mp3 file
8598
music=Mix_LoadMUS("music.mp3");
8599
if(music)
8600
{
8601
Mix_PlayMusic(music,1);
8602
}
8603
}
8604
</code>
8605
</example>
8606
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_PlayMusic(System.IntPtr,System.Int32)"/>
8607
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_VolumeMusic(System.Int32)"/>
8608
</member>
8609
<member name="M:Tao.Sdl.SdlMixer.Mix_SetSynchroValue(System.Int32)">
8610
<summary>
8611
Synchro value is set by MikMod from modules while playing
8612
</summary>
8613
<remarks>
8614
<p>Binds to C-function in SDL_mixer.h
8615
<code>int Mix_SetSynchroValue(int value)
8616
</code>
8617
</p>
8618
</remarks>
8619
<param name="value"></param>
8620
<returns></returns>
8621
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_GetSynchroValue"/>
8622
</member>
8623
<member name="M:Tao.Sdl.SdlMixer.Mix_GetSynchroValue">
8624
<summary>
8625
Synchro value is set by MikMod from modules while playing
8626
</summary>
8627
<remarks>
8628
<p>Binds to C-function in SDL_mixer.h
8629
<code>int Mix_GetSynchroValue(void)
8630
</code>
8631
</p>
8632
</remarks>
8633
<returns></returns>
8634
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_SetSynchroValue(System.Int32)"/>
8635
</member>
8636
<member name="M:Tao.Sdl.SdlMixer.Mix_GetChunk(System.Int32)">
8637
<summary>
8638
Get the sample playing on a channel
8639
</summary>
8640
<remarks>
8641
Get the most recent sample chunk pointer played on channel.
8642
This pointer may be currently playing, or just the last used.
8643
Note: The actual chunk may have been freed, so this pointer
8644
may not be valid anymore.
8645
<p>Binds to C-function in SDL_mixer.h
8646
<code>Mix_Chunk *Mix_GetChunk(int channel)
8647
</code>
8648
</p>
8649
</remarks>
8650
<param name="channel">
8651
Channel to get the current Mix_Chunk playing.
8652
-1 is not valid, but will not crash the program.
8653
</param>
8654
<returns>
8655
Pointer to the Mix_Chunk. NULL is returned if the channel is not
8656
allocated, or if the channel has not played any samples yet.
8657
</returns>
8658
<example>
8659
<code>
8660
// get the last chunk used by channel 0
8661
printf("Mix_Chunk* last in use on channel 0 was: %08p\n", Mix_GetChunk(0));
8662
</code>
8663
</example>
8664
<seealso cref="T:Tao.Sdl.SdlMixer.Mix_Chunk"/>
8665
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_Playing(System.Int32)"/>
8666
</member>
8667
<member name="M:Tao.Sdl.SdlMixer.Mix_CloseAudio">
8668
<summary>
8669
Close sound mixer
8670
</summary>
8671
<remarks>
8672
<p>Shutdown and cleanup the mixer API.</p>
8673
After calling this all audio is stopped,
8674
the device is closed, and the SDL_mixer functions
8675
should not be used. You may, of course,
8676
use Mix_OpenAudio to start
8677
the functionality again.
8678
<p>Note: This function doesn't do anything until you
8679
have called it the same number of times that you called
8680
<see cref="M:Tao.Sdl.SdlMixer.Mix_OpenAudio(System.Int32,System.Int16,System.Int32,System.Int32)"/>. You may use
8681
<see cref="M:Tao.Sdl.SdlMixer.Mix_QuerySpec(System.Int32@,System.Int16@,System.Int32@)"/> to find out how many
8682
times Mix_CloseAudio needs to be called before the device is
8683
actually closed.</p>
8684
<p>Binds to C-function in SDL_mixer.h
8685
<code>void Mix_CloseAudio()
8686
</code>
8687
</p>
8688
</remarks>
8689
<returns></returns>
8690
<example>
8691
<code>
8692
Mix_CloseAudio();
8693
// you could SDL_Quit(); here...or not.
8694
</code>
8695
</example>
8696
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_OpenAudio(System.Int32,System.Int16,System.Int32,System.Int32)"/>
8697
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_QuerySpec(System.Int32@,System.Int16@,System.Int32@)"/>
8698
</member>
8699
<member name="M:Tao.Sdl.SdlMixer.Mix_SetError(System.String)">
8700
<summary>
8701
Set the current error string
8702
</summary>
8703
<remarks>
8704
This is the same as SDL_SetError, which sets the error string
8705
which may be fetched with Mix_GetError (or SDL_GetError).
8706
This functions acts like printf, except that it is limited to
8707
SDL_ERRBUFIZE(1024) chars in length. It only accepts the
8708
following format types: %s, %d, %f, %p. No variations are
8709
supported, like %.2f would not work. For any more specifics
8710
read the SDL docs.
8711
<p>Binds to C-function in SDL_mixer.h
8712
<code>
8713
void Mix_SetError(const char *fmt, ...)
8714
</code>
8715
</p>
8716
</remarks>
8717
<example>
8718
<code>
8719
int mymixfunc(int i) {
8720
Mix_SetError("mymixfunc is not implemented! %d was passed in.",i);
8721
return(-1);
8722
}
8723
</code></example>
8724
<param name="message"></param>
8725
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_GetError"/>
8726
</member>
8727
<member name="M:Tao.Sdl.SdlMixer.Mix_GetError">
8728
<summary>
8729
Get the current error string
8730
</summary>
8731
<remarks>
8732
This is the same as SDL_GetError, which returns the last error set
8733
as a string which you may use to tell the user what happened when
8734
an error status has been returned from an SDL_mixer function call.
8735
<p>Binds to C-function in SDL_mixer.h
8736
<code>
8737
char *Mix_GetError()
8738
</code>
8739
</p>
8740
</remarks>
8741
<returns>
8742
a char pointer (string) containing a humam
8743
readable version or the reason for the last error that
8744
occured.
8745
</returns>
8746
<example>
8747
<code>
8748
printf("Oh My Goodness, an error : %s", Mix_GetError());
8749
</code>
8750
</example>
8751
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_SetError(System.String)"/>
8752
</member>
8753
<member name="P:Tao.Sdl.SdlMixer.MIX_DEFAULT_FORMAT">
8754
<summary>
8755
The suggested default is signed 16bit samples in host byte order.
8756
</summary>
8757
</member>
8758
<member name="T:Tao.Sdl.SdlMixer.Mix_Chunk">
8759
<summary>
8760
The internal format for an audio chunk
8761
</summary>
8762
<remarks>
8763
The internal format for an audio chunk.
8764
This stores the sample data, the length in bytes of that data,
8765
and the volume to use when mixing the sample.
8766
<p>Struct in SDL_mixer.h
8767
<code>
8768
typedef struct Mix_Chunk {
8769
int allocated;
8770
Uint8 *abuf;
8771
Uint32 alen;
8772
Uint8 volume; /* Per-sample volume, 0-128 */
8773
} Mix_Chunk;
8774
</code></p>
8775
</remarks>
8776
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_VolumeChunk(System.IntPtr,System.Int32)"/>
8777
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_GetChunk(System.Int32)"/>
8778
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_LoadWAV(System.String)"/>
8779
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_LoadWAV_RW(System.IntPtr,System.Int32)"/>
8780
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_FreeChunk(System.IntPtr)"/>
8781
</member>
8782
<member name="F:Tao.Sdl.SdlMixer.Mix_Chunk.allocated">
8783
<summary>
8784
a boolean indicating whether to free abuf when the chunk
8785
is freed.
8786
</summary>
8787
<remarks>0 if the memory was not allocated and thus not
8788
owned by this chunk.
8789
1 if the memory was allocated and is thus owned by this chunk.
8790
</remarks>
8791
</member>
8792
<member name="F:Tao.Sdl.SdlMixer.Mix_Chunk.abuf">
8793
<summary>
8794
Pointer to the sample data, which is
8795
in the output format and sample rate.
8796
</summary>
8797
</member>
8798
<member name="F:Tao.Sdl.SdlMixer.Mix_Chunk.alen">
8799
<summary>
8800
Length of abuf in bytes.
8801
</summary>
8802
</member>
8803
<member name="F:Tao.Sdl.SdlMixer.Mix_Chunk.volume">
8804
<summary>
8805
0 = silent, 128 = max volume.
8806
This takes effect when mixing.
8807
</summary>
8808
</member>
8809
<member name="T:Tao.Sdl.SdlMixer.MusicFinishedDelegate">
8810
<summary>
8811
8812
</summary>
8813
</member>
8814
<member name="T:Tao.Sdl.SdlMixer.MixFunctionDelegate">
8815
<summary>
8816
8817
</summary>
8818
</member>
8819
<member name="T:Tao.Sdl.SdlMixer.ChannelFinishedDelegate">
8820
<summary>
8821
8822
</summary>
8823
</member>
8824
<member name="T:Tao.Sdl.SdlMixer.MixEffectFunctionDelegate">
8825
<summary>
8826
Special effect callback function pointer
8827
</summary>
8828
<remarks>
8829
This is the prototype for effect processing functions.
8830
These functions are used to apply effects processing on
8831
a sample chunk. As a channel plays a sample, the registered
8832
effect functions are called. Each effect would then read and
8833
perhaps alter the len bytes of stream. It may also be
8834
advantageous to keep the effect state in the udata, with would
8835
be setup when registering the effect function on a channel.
8836
<p>
8837
<code>
8838
void (*Mix_EffectFunc_t)(int chan, void *stream, int len, void *udata)
8839
</code></p>
8840
</remarks>
8841
<param name="chan">
8842
The channel number that this effect is effecting now.
8843
MIX_CHANNEL_POST is passed in for post processing effects over the
8844
final mix.
8845
</param>
8846
<param name="stream">
8847
The buffer containing the current sample to process.
8848
</param>
8849
<param name="len">
8850
The length of stream in bytes.
8851
</param>
8852
<param name="udata">
8853
User data pointer that was passed in to Mix_RegisterEffect
8854
when registering this effect processor function.
8855
</param>
8856
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_RegisterEffect(System.Int32,Tao.Sdl.SdlMixer.MixEffectFunctionDelegate,Tao.Sdl.SdlMixer.MixEffectDoneDelegate,System.IntPtr)"/>
8857
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_UnregisterEffect(System.Int32,Tao.Sdl.SdlMixer.MixEffectFunctionDelegate)"/>
8858
</member>
8859
<member name="T:Tao.Sdl.SdlMixer.MixEffectDoneDelegate">
8860
<summary>
8861
Special effect done callback function pointer
8862
</summary>
8863
<remarks>
8864
This is the prototype for effect processing functions.
8865
This is called when a channel has finished playing, or
8866
halted, or is deallocated. This is also called when a processor
8867
is unregistered while processing is active. At that time the effects
8868
processing function may want to reset some internal variables or
8869
free some memory. It should free memory at least, because the
8870
processor could be freed after this call.
8871
<p>
8872
<code>void (*Mix_EffectDone_t)(int chan, void *udata)
8873
</code></p></remarks>
8874
<param name="chan">
8875
The channel number that this effect is effecting now.
8876
MIX_CHANNEL_POST is passed in for post processing effects over the
8877
final mix.
8878
</param>
8879
<param name="udata">
8880
User data pointer that was passed in to Mix_RegisterEffect
8881
when registering this effect processor function.
8882
</param>
8883
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_RegisterEffect(System.Int32,Tao.Sdl.SdlMixer.MixEffectFunctionDelegate,Tao.Sdl.SdlMixer.MixEffectDoneDelegate,System.IntPtr)"/>
8884
<seealso cref="M:Tao.Sdl.SdlMixer.Mix_UnregisterEffect(System.Int32,Tao.Sdl.SdlMixer.MixEffectFunctionDelegate)"/>
8885
</member>
8886
<member name="T:Tao.Sdl.SdlImage">
8887
<summary>
8888
SDL_Image bindings for .NET.
8889
<p>A simple library to load images of various formats as SDL surfaces.</p>
8890
</summary>
8891
<remarks>
8892
Images provide the basic visual building blocks for any user
8893
interface. Colors and fun shapes are the stuff that we as kids
8894
looked at for
8895
hours at a time while trying to shoot down big aliens and rescue
8896
pixelated princesses. Now it's our turn to make the images that
8897
others will remember later in life perhaps. Now how do we get
8898
this dang images into our SDL programs, and be flexible in the
8899
handling of the images so that we don't even have to worry about
8900
what various formats they may be in? This is where SDLimage makes
8901
all of our lives easier. This document doesn't help you make
8902
artwork, but it will give you the functional knowledge on how to
8903
get that art into your game. Now go forth and make your Stick Figure
8904
of Justice, someone else might fill in for your lack of artistry,
8905
at least you won't have to make much of an effort to include the
8906
new and better art into your code.
8907
<p>
8908
This is a simple library to load images of various formats as
8909
SDL surfaces.</p>
8910
<p>This library supports BMP, PNM (PPM/PGM/PBM), XPM, LBM, PCX,
8911
GIF, JPEG, PNG,
8912
TGA, and TIFF formats.</p>
8913
<p>
8914
<br>JPEG support requires the JPEG library.</br>
8915
<br>PNG support requires the PNG library.
8916
and the Zlib library.</br>
8917
<br>TIFF support requires the TIFF library.</br>
8918
</p>
8919
<p>
8920
SDL_image supports loading and decoding images from the
8921
following formats:</p>
8922
<code>
8923
TGA TrueVision Targa (MUST have .tga)
8924
8925
BMP Windows Bitmap(.bmp)
8926
8927
PNM Portable Anymap (.pnm)
8928
8929
.pbm = Portable BitMap (mono)
8930
.pgm = Portable GreyMap (256 greys)
8931
.ppm = Portable PixMap (full color)
8932
8933
XPM X11 Pixmap (.xpm) can be #included directly in code
8934
This is NOT the same as XBM(X11 Bitmap) format, which is for monocolor
8935
images.
8936
8937
XCF
8938
8939
GIMP native (.xcf) (XCF = eXperimental Computing Facility?)
8940
This format is always changing, and since there's no library supplied
8941
by the GIMP project to load XCF, the loader may frequently fail to
8942
load much of any image from an XCF file. It's better to load this
8943
in GIMP and convert to a better supported image format.
8944
8945
PCX ZSoft IBM PC Paintbrush (.pcx)
8946
GIF CompuServe Graphics Interchange Format (.gif)
8947
JPG Joint Photographic Experts Group JFIF format (.jpg or .jpeg)
8948
TIF Tagged Image File Format (.tif or .tiff)
8949
LBM Interleaved Bitmap (.lbm or .iff) FORM : ILBM or PBM(packed bitmap)
8950
HAM6, HAM8, and 24bit types are not supported.
8951
PNG Portable Network Graphics (.png)
8952
</code>
8953
</remarks>
8954
</member>
8955
<member name="F:Tao.Sdl.SdlImage.SDL_IMAGE_NATIVE_LIBRARY">
8956
<summary>
8957
Specifies SdlImage's native library archive.
8958
</summary>
8959
<remarks>
8960
Specifies SDL_image.dll everywhere; will be mapped via .config for mono.
8961
</remarks>
8962
</member>
8963
<member name="F:Tao.Sdl.SdlImage.CALLING_CONVENTION">
8964
<summary>
8965
Specifies the calling convention.
8966
</summary>
8967
<remarks>
8968
Specifies <see cref="F:System.Runtime.InteropServices.CallingConvention.Cdecl"/>
8969
for Windows and Linux.
8970
</remarks>
8971
</member>
8972
<member name="F:Tao.Sdl.SdlImage.SDL_IMAGE_MAJOR_VERSION">
8973
<summary>
8974
Major Version
8975
</summary>
8976
</member>
8977
<member name="F:Tao.Sdl.SdlImage.SDL_IMAGE_MINOR_VERSION">
8978
<summary>
8979
Minor Version
8980
</summary>
8981
</member>
8982
<member name="F:Tao.Sdl.SdlImage.SDL_IMAGE_PATCHLEVEL">
8983
<summary>
8984
Patch Version
8985
</summary>
8986
</member>
8987
<member name="M:Tao.Sdl.SdlImage.SDL_IMAGE_VERSION">
8988
<summary>
8989
This method can be used to fill a version structure with the compile-time
8990
version of the SDL_image library.
8991
</summary>
8992
<returns>
8993
This function returns a <see cref="T:Tao.Sdl.Sdl.SDL_version"/> struct containing the
8994
compiled version number
8995
</returns>
8996
<remarks>
8997
<p>
8998
Binds to C-function call in SDL_image.h:
8999
<code>#define SDL_IMAGE_VERSION(X)
9000
{
9001
(X)-&gt;major = SDL_IMAGE_MAJOR_VERSION;
9002
(X)-&gt;minor = SDL_IMAGE_MINOR_VERSION;
9003
(X)-&gt;patch = SDL_IMAGE_PATCHLEVEL;
9004
}</code>
9005
</p>
9006
</remarks>
9007
</member>
9008
<member name="M:Tao.Sdl.SdlImage.IMG_Linked_Version">
9009
<summary>
9010
Using this you can compare the runtime version to the
9011
version that you compiled with.
9012
</summary>
9013
<returns>
9014
This function gets the version of the dynamically
9015
linked SDL_image library in an <see cref="T:Tao.Sdl.Sdl.SDL_version"/> struct.
9016
</returns>
9017
<remarks>
9018
<p>
9019
Binds to C-function call in SDL_image.h:
9020
<code>const SDL_version * IMG_Linked_Version(void)</code>
9021
</p>
9022
</remarks>
9023
</member>
9024
<member name="M:Tao.Sdl.SdlImage.IMG_LoadTyped_RW(System.IntPtr,System.Int32,System.String)">
9025
<summary>
9026
Load an image from an SDL data source.
9027
The 'type' may be one of: "BMP", "GIF", "PNG", etc.
9028
If the image format supports a transparent pixel, SDL will set the
9029
colorkey for the surface. You can enable RLE acceleration on the
9030
surface afterwards by calling:
9031
SDL_SetColorKey(image, SDL_RLEACCEL, image.format.colorkey);
9032
</summary>
9033
<param name="freesrc">
9034
A non-zero value mean is will automatically close/free
9035
the src for you.
9036
</param>
9037
<param name="src">
9038
The image is loaded from this.
9039
</param>
9040
<param name="type">
9041
A string that indicates which format type to interpret the image
9042
as.
9043
<p>Here is a list of the currently recognized strings
9044
(case is not important):</p>
9045
<br>"TGA"</br>
9046
<br>"BMP"</br>
9047
<br>"PNM"</br>
9048
<br>"XPM"</br>
9049
<br>"XCF"</br>
9050
<br>"PCX"</br>
9051
<br>"GIF"</br>
9052
<br>"JPG"</br>
9053
<br>"TIF"</br>
9054
<br>"LBM"</br>
9055
<br>"PNG"</br>
9056
</param>
9057
<remarks>
9058
Load src for use as a surface.
9059
This can load all supported image formats.
9060
This method does not guarantee that the format
9061
specified by type is the format of the loaded image,
9062
except in the case when TGA format is specified
9063
(or any other non-magicable format).
9064
Using SDL_RWops is not covered here,
9065
but they enable you to load from almost any source.
9066
<p>Binds to C-function in SDL_image.h
9067
<code>
9068
SDL_Surface *IMG_LoadTyped_RW(SDL_RWops *src, int freesrc, char *type)
9069
</code>
9070
</p>
9071
</remarks>
9072
<returns>
9073
a pointer to the image as a new SDL_Surface.
9074
NULL is returned on errors.
9075
</returns>
9076
<example>
9077
<code>
9078
// load sample.tga into image
9079
SDL_Surface *image;
9080
image=IMG_Load_RW(SDL_RWFromFile("sample.tga", "rb"), 1, "TGA");
9081
if(!image)
9082
{
9083
printf("IMG_Load_RW: %s\n", IMG_GetError());
9084
// handle error
9085
}
9086
</code>
9087
</example>
9088
<seealso cref="M:Tao.Sdl.SdlImage.IMG_Load(System.String)"/>
9089
<seealso cref="M:Tao.Sdl.SdlImage.IMG_Load_RW(System.IntPtr,System.Int32)"/>
9090
</member>
9091
<member name="M:Tao.Sdl.SdlImage.IMG_Load(System.String)">
9092
<summary>
9093
Load from a file.
9094
</summary>
9095
<remarks>
9096
Load file for use as an image in a new surface.
9097
This actually calls IMG_LoadTyped_RW, with the file extension
9098
used as the type string. This can load all supported image files,
9099
including TGA as long as the filename ends with ".tga".
9100
It is best to call this outside of event loops, and rather
9101
keep the loaded images around until you are really done with
9102
them, as disk speed and image conversion to a surface is not
9103
that speedy. Don't forget to SDL_FreeSurface the returned
9104
surface pointer when you are through with it.
9105
<p>Binds to C-function in SDL_image.h
9106
<code>
9107
SDL_Surface *IMG_Load(const char *file)
9108
</code>
9109
</p>
9110
</remarks>
9111
<param name="file">
9112
Image file name to load a surface from.
9113
</param>
9114
<returns>
9115
a pointer to the image as a new SDL_Surface.
9116
NULL is returned on errors, such as no support
9117
built for the image, or a file reading error.
9118
</returns>
9119
<example>
9120
<code>
9121
// load sample.png into image
9122
SDL_Surface *image;
9123
image=IMG_Load("sample.png");
9124
if(!image)
9125
{
9126
printf("IMG_Load: %s\n", IMG_GetError());
9127
// handle error
9128
}
9129
</code>
9130
</example>
9131
<seealso cref="M:Tao.Sdl.SdlImage.IMG_Load_RW(System.IntPtr,System.Int32)"/>
9132
<seealso cref="M:Tao.Sdl.SdlImage.IMG_LoadTyped_RW(System.IntPtr,System.Int32,System.String)"/>
9133
</member>
9134
<member name="M:Tao.Sdl.SdlImage.IMG_Load_RW(System.IntPtr,System.Int32)">
9135
<summary>
9136
Load an image of an unspecified format
9137
</summary>
9138
<param name="freesrc">
9139
A non-zero value mean is will automatically close/free
9140
the src for you.
9141
</param>
9142
<param name="src">
9143
The image is loaded from pointer.
9144
</param>
9145
<remarks>
9146
Load src for use as a surface.
9147
This can load all supported image formats, except TGA.
9148
Using SDL_RWops is not covered here,
9149
but they enable you to load from almost any source.
9150
<p>Binds to C-function in SDL_image.h
9151
<code>
9152
SDL_Surface *IMG_Load_RW(SDL_RWops *src, int freesrc)
9153
</code>
9154
</p>
9155
</remarks>
9156
<returns>
9157
a pointer to the image as a new SDL_Surface.
9158
NULL is returned on errors.
9159
</returns>
9160
<example>
9161
<code>
9162
// load sample.png in to image
9163
SDL_Surface *image;
9164
image=IMG_Load_RW(SDL_RWFromFile("sample.png", "rb"), 1);
9165
if(!image)
9166
{
9167
printf("IMG_Load_RW: %s\n", IMG_GetError());
9168
// handle error
9169
}
9170
</code>
9171
</example>
9172
<seealso cref="M:Tao.Sdl.SdlImage.IMG_Load(System.String)"/>
9173
<seealso cref="M:Tao.Sdl.SdlImage.IMG_LoadTyped_RW(System.IntPtr,System.Int32,System.String)"/>
9174
</member>
9175
<member name="M:Tao.Sdl.SdlImage.IMG_isBMP(System.IntPtr)">
9176
<summary>
9177
Test for valid, supported BMP file.
9178
</summary>
9179
<remarks>
9180
If the BMP format is supported,
9181
then the image data is tested to see if it is readable as a BMP,
9182
otherwise it returns false (Zero).
9183
<p>Binds to C-function in SDL_image.h
9184
<code>
9185
int IMG_isBMP(SDL_RWops *src)
9186
</code>
9187
</p>
9188
</remarks>
9189
<param name="src"></param>
9190
<returns>
9191
1 if the image is a BMP and the BMP format support is
9192
compiled into SDL_image. 0 is returned otherwise.
9193
</returns>
9194
<example>
9195
<code>
9196
// Test sample.bmp to see if it is a BMP
9197
SDL_RWops *rwop;
9198
rwop=SDL_RWFromFile("sample.bmp", "rb");
9199
if(IMG_isBMP(rwop))
9200
printf("sample.bmp is a BMP file.\n");
9201
else
9202
printf("sample.bmp is not a BMP file, or BMP support is not available.\n");
9203
</code>
9204
</example>
9205
<seealso cref="M:Tao.Sdl.SdlImage.IMG_LoadTyped_RW(System.IntPtr,System.Int32,System.String)"/>
9206
</member>
9207
<member name="M:Tao.Sdl.SdlImage.IMG_isPNM(System.IntPtr)">
9208
<summary>
9209
Test for valid, supported PNM file.
9210
</summary>
9211
<remarks>
9212
If the PNM format is supported,
9213
then the image data is tested to see if it is readable as a PNM,
9214
otherwise it returns false (Zero).
9215
<p>Binds to C-function in SDL_image.h
9216
<code>
9217
int IMG_isPNM(SDL_RWops *src)
9218
</code>
9219
</p>
9220
</remarks>
9221
<param name="src"></param>
9222
<returns>
9223
1 if the image is a PNM and the PNM format support is
9224
compiled into SDL_image. 0 is returned otherwise.
9225
</returns>
9226
<example>
9227
<code>
9228
// Test sample.pnm to see if it is a PNM
9229
SDL_RWops *rwop;
9230
rwop=SDL_RWFromFile("sample.pnm", "rb");
9231
if(IMG_isPNM(rwop))
9232
printf("sample.pnm is a PNM file.\n");
9233
else
9234
printf("sample.pnm is not a PNM file, or PNM support is not available.\n");
9235
</code></example>
9236
<seealso cref="M:Tao.Sdl.SdlImage.IMG_LoadTyped_RW(System.IntPtr,System.Int32,System.String)"/>
9237
</member>
9238
<member name="M:Tao.Sdl.SdlImage.IMG_isXPM(System.IntPtr)">
9239
<summary>
9240
Test for valid, supported XPM file.
9241
</summary>
9242
<remarks>
9243
If the XPM format is supported,
9244
then the image data is tested to see if it is readable as a XPM,
9245
otherwise it returns false (Zero).
9246
<p>Binds to C-function in SDL_image.h
9247
<code>
9248
int IMG_isXPM(SDL_RWops *src)
9249
</code>
9250
</p>
9251
</remarks>
9252
<param name="src"></param>
9253
<returns>
9254
1 if the image is a XPM and the XPM format support is
9255
compiled into SDL_image. 0 is returned otherwise.
9256
</returns>
9257
<example>
9258
<code>
9259
// Test sample.xpm to see if it is a XPM
9260
SDL_RWops *rwop;
9261
rwop=SDL_RWFromFile("sample.xpm", "rb");
9262
if(IMG_isXPM(rwop))
9263
printf("sample.xpm is a XPM file.\n");
9264
else
9265
printf("sample.xpm is not a XPM file, or XPM support is not available.\n");
9266
</code></example>
9267
<seealso cref="M:Tao.Sdl.SdlImage.IMG_LoadTyped_RW(System.IntPtr,System.Int32,System.String)"/>
9268
</member>
9269
<member name="M:Tao.Sdl.SdlImage.IMG_isXV(System.IntPtr)">
9270
<summary>
9271
Test for valid, supported XV file.
9272
</summary>
9273
<remarks>
9274
If the XV format is supported,
9275
then the image data is tested to see if it is readable as a XV,
9276
otherwise it returns false (Zero).
9277
<p>Binds to C-function in SDL_image.h
9278
<code>
9279
int IMG_isXV(SDL_RWops *src)
9280
</code>
9281
</p>
9282
</remarks>
9283
<param name="src"></param>
9284
<returns>
9285
1 if the image is a XV and the XV format support is
9286
compiled into SDL_image. 0 is returned otherwise.
9287
</returns>
9288
<example>
9289
<code>
9290
// Test sample.xv to see if it is a XV
9291
SDL_RWops *rwop;
9292
rwop=SDL_RWFromFile("sample.xv", "rb");
9293
if(IMG_isXV(rwop))
9294
printf("sample.xpm is a XV file.\n");
9295
else
9296
printf("sample.xpm is not a XV file, or XV support is not available.\n");
9297
</code></example>
9298
<seealso cref="M:Tao.Sdl.SdlImage.IMG_LoadTyped_RW(System.IntPtr,System.Int32,System.String)"/>
9299
</member>
9300
<member name="M:Tao.Sdl.SdlImage.IMG_isXCF(System.IntPtr)">
9301
<summary>
9302
Test for valid, supported XCF file.
9303
</summary>
9304
<remarks>
9305
If the XCF format is supported,
9306
then the image data is tested to see if it is readable as a XCF,
9307
otherwise it returns false (Zero).
9308
<p>Binds to C-function in SDL_image.h
9309
<code>
9310
int IMG_isXCF(SDL_RWops *src)
9311
</code>
9312
</p>
9313
</remarks>
9314
<param name="src"></param>
9315
<returns>
9316
1 if the image is a XCF and the XCF format support is
9317
compiled into SDL_image. 0 is returned otherwise.
9318
</returns>
9319
<example>
9320
<code>
9321
// Test sample.xcf to see if it is a XCF
9322
SDL_RWops *rwop;
9323
rwop=SDL_RWFromFile("sample.xcf", "rb");
9324
if(IMG_isXCF(rwop))
9325
printf("sample.xcf is a XCF file.\n");
9326
else
9327
printf("sample.xcf is not a XCF file, or XCF support is not available.\n");
9328
</code></example>
9329
<seealso cref="M:Tao.Sdl.SdlImage.IMG_LoadTyped_RW(System.IntPtr,System.Int32,System.String)"/>
9330
</member>
9331
<member name="M:Tao.Sdl.SdlImage.IMG_isPCX(System.IntPtr)">
9332
<summary>
9333
Test for valid, supported PCX file.
9334
</summary>
9335
<remarks>
9336
If the PCX format is supported,
9337
then the image data is tested to see if it is readable as a PCX,
9338
otherwise it returns false (Zero).
9339
<p>Binds to C-function in SDL_image.h
9340
<code>
9341
int IMG_isPCX(SDL_RWops *src)
9342
</code>
9343
</p>
9344
</remarks>
9345
<param name="src"></param>
9346
<returns>
9347
1 if the image is a PCX and the PCX format support is
9348
compiled into SDL_image. 0 is returned otherwise.
9349
</returns>
9350
<example>
9351
<code>
9352
// Test sample.pcx to see if it is a PCX
9353
SDL_RWops *rwop;
9354
rwop=SDL_RWFromFile("sample.pcx", "rb");
9355
if(IMG_isPCX(rwop))
9356
printf("sample.pcx is a PCX file.\n");
9357
else
9358
printf("sample.pcx is not a PCX file, or PCX support is not available.\n");
9359
</code>
9360
</example>
9361
<seealso cref="M:Tao.Sdl.SdlImage.IMG_LoadTyped_RW(System.IntPtr,System.Int32,System.String)"/>
9362
</member>
9363
<member name="M:Tao.Sdl.SdlImage.IMG_isGIF(System.IntPtr)">
9364
<summary>
9365
Test for valid, supported GIF file.
9366
</summary>
9367
<remarks>
9368
If the GIF format is supported,
9369
then the image data is tested to see if it is readable as a GIF,
9370
otherwise it returns false (Zero).
9371
<p>Binds to C-function in SDL_image.h
9372
<code>
9373
int IMG_isGIF(SDL_RWops *src)
9374
</code>
9375
</p>
9376
</remarks>
9377
<param name="src"></param>
9378
<returns>
9379
1 if the image is a GIF and the GIF format support is
9380
compiled into SDL_image. 0 is returned otherwise.
9381
</returns>
9382
<example>
9383
<code>
9384
// Test sample.gif to see if it is a GIF
9385
SDL_RWops *rwop;
9386
rwop=SDL_RWFromFile("sample.gif", "rb");
9387
if(IMG_isGIF(rwop))
9388
printf("sample.gif is a GIF file.\n");
9389
else
9390
printf("sample.gif is not a GIF file, or GIF support is not available.\n");
9391
</code>
9392
</example>
9393
<seealso cref="M:Tao.Sdl.SdlImage.IMG_LoadTyped_RW(System.IntPtr,System.Int32,System.String)"/>
9394
</member>
9395
<member name="M:Tao.Sdl.SdlImage.IMG_isJPG(System.IntPtr)">
9396
<summary>
9397
Test for valid, supported JPG file.
9398
</summary>
9399
<remarks>
9400
If the JPG format is supported,
9401
then the image data is tested to see if it is readable as a JPG,
9402
otherwise it returns false (Zero).
9403
<p>Binds to C-function in SDL_image.h
9404
<code>
9405
int IMG_isJPG(SDL_RWops *src)
9406
</code>
9407
</p>
9408
</remarks>
9409
<param name="src"></param>
9410
<returns>
9411
1 if the image is a JPG and the JPG format support is
9412
compiled into SDL_image. 0 is returned otherwise.
9413
</returns>
9414
<example>
9415
<code>
9416
// Test sample.jpg to see if it is a JPG
9417
SDL_RWops *rwop;
9418
rwop=SDL_RWFromFile("sample.jpg", "rb");
9419
if(IMG_isJPG(rwop))
9420
printf("sample.jpg is a JPG file.\n");
9421
else
9422
printf("sample.jpg is not a JPG file, or JPG support is not available.\n");
9423
</code></example>
9424
<seealso cref="M:Tao.Sdl.SdlImage.IMG_LoadTyped_RW(System.IntPtr,System.Int32,System.String)"/>
9425
</member>
9426
<member name="M:Tao.Sdl.SdlImage.IMG_isTIF(System.IntPtr)">
9427
<summary>
9428
Test for valid, supported TIF file.
9429
</summary>
9430
<remarks>
9431
If the TIF format is supported,
9432
then the image data is tested to see if it is readable as a TIF,
9433
otherwise it returns false (Zero).
9434
<p>Binds to C-function in SDL_image.h
9435
<code>
9436
int IMG_isTIF(SDL_RWops *src)
9437
</code>
9438
</p>
9439
</remarks>
9440
<param name="src"></param>
9441
<returns>
9442
1 if the image is a TIF and the TIF format support is
9443
compiled into SDL_image. 0 is returned otherwise.
9444
</returns>
9445
<example>
9446
<code>
9447
// Test sample.tif to see if it is a TIF
9448
SDL_RWops *rwop;
9449
rwop=SDL_RWFromFile("sample.tif", "rb");
9450
if(IMG_isTIF(rwop))
9451
printf("sample.tif is a TIF file.\n");
9452
else
9453
printf("sample.tif is not a TIF file, or TIF support is not available.\n");
9454
</code></example>
9455
<seealso cref="M:Tao.Sdl.SdlImage.IMG_LoadTyped_RW(System.IntPtr,System.Int32,System.String)"/>
9456
</member>
9457
<member name="M:Tao.Sdl.SdlImage.IMG_isPNG(System.IntPtr)">
9458
<summary>
9459
Test for valid, supported PNG file.
9460
</summary>
9461
<remarks>
9462
If the PNG format is supported,
9463
then the image data is tested to see if it is readable as a PNG,
9464
otherwise it returns false (Zero).
9465
<p>Binds to C-function in SDL_image.h
9466
<code>
9467
int IMG_isPNG(SDL_RWops *src)
9468
</code>
9469
</p>
9470
</remarks>
9471
<param name="src"></param>
9472
<returns>
9473
1 if the image is a PNG and the PNG format support is
9474
compiled into SDL_image. 0 is returned otherwise.
9475
</returns>
9476
<example>
9477
<code>
9478
// Test sample.png to see if it is a PNG
9479
SDL_RWops *rwop;
9480
rwop=SDL_RWFromFile("sample.png", "rb");
9481
if(IMG_isPNG(rwop))
9482
printf("sample.png is a PNG file.\n");
9483
else
9484
printf("sample.png is not a PNG file, or PNG support is not available.\n");
9485
</code>
9486
</example>
9487
<seealso cref="M:Tao.Sdl.SdlImage.IMG_LoadTyped_RW(System.IntPtr,System.Int32,System.String)"/>
9488
</member>
9489
<member name="M:Tao.Sdl.SdlImage.IMG_isLBM(System.IntPtr)">
9490
<summary>
9491
Test for valid, supported LBM file.
9492
</summary>
9493
<remarks>
9494
If the LBM format is supported,
9495
then the image data is tested to see if it is readable as a LBM,
9496
otherwise it returns false (Zero).
9497
<p>Binds to C-function in SDL_image.h
9498
<code>
9499
int IMG_isLBM(SDL_RWops *src)
9500
</code>
9501
</p>
9502
</remarks>
9503
<param name="src"></param>
9504
<returns>
9505
1 if the image is a LBM and the LBM format support is
9506
compiled into SDL_image. 0 is returned otherwise.
9507
</returns>
9508
<example>
9509
<code>
9510
// Test sample.lbm to see if it is a LBM
9511
SDL_RWops *rwop;
9512
rwop=SDL_RWFromFile("sample.lbm", "rb");
9513
if(IMG_isLBM(rwop))
9514
printf("sample.lbm is a LBM file.\n");
9515
else
9516
printf("sample.lbm is not a LBM file, or LBM support is not available.\n");
9517
</code></example>
9518
<seealso cref="M:Tao.Sdl.SdlImage.IMG_LoadTyped_RW(System.IntPtr,System.Int32,System.String)"/>
9519
</member>
9520
<member name="M:Tao.Sdl.SdlImage.IMG_LoadBMP_RW(System.IntPtr)">
9521
<summary>
9522
Load a .BMP image.
9523
</summary>
9524
<param name="src">
9525
The BMP image is loaded from this
9526
</param>
9527
<returns>
9528
a pointer to the image as a new SDL_Surface.
9529
NULL is returned on errors, like if BMP is not supported,
9530
or a read error.
9531
</returns>
9532
<remarks>
9533
Load src as a BMP image for use as a surface,
9534
if BMP support is compiled into the SDL_image library.
9535
<p>Binds to C-function in SDL_image.h
9536
<code>
9537
SDL_Surface *IMG_LoadBMP_RW(SDL_RWops *src)
9538
</code>
9539
</p>
9540
</remarks>
9541
<example>
9542
<code>
9543
// load sample.bmp into image
9544
SDL_Surface *image;
9545
SDL_RWops *rwop;
9546
rwop=SDL_RWFromFile("sample.bmp", "rb");
9547
image=IMG_LoadBMP_RW(rwop);
9548
if(!image)
9549
{
9550
printf("IMG_LoadBMP_RW: %s\n", IMG_GetError());
9551
// handle error
9552
}
9553
</code></example>
9554
<seealso cref="M:Tao.Sdl.SdlImage.IMG_LoadTyped_RW(System.IntPtr,System.Int32,System.String)"/>
9555
<seealso cref="M:Tao.Sdl.SdlImage.IMG_isBMP(System.IntPtr)"/>
9556
</member>
9557
<member name="M:Tao.Sdl.SdlImage.IMG_LoadPNM_RW(System.IntPtr)">
9558
<summary>
9559
Load a .PNM image.
9560
</summary>
9561
<param name="src">
9562
The PNM image is loaded from this
9563
</param>
9564
<returns>
9565
a pointer to the image as a new SDL_Surface.
9566
NULL is returned on errors, like if PNM is not supported,
9567
or a read error.
9568
</returns>
9569
<remarks>
9570
Load src as a PNM image for use as a surface,
9571
if PNM support is compiled into the SDL_image library.
9572
<p>Binds to C-function in SDL_image.h
9573
<code>
9574
SDL_Surface *IMG_LoadPNM_RW(SDL_RWops *src)
9575
</code>
9576
</p>
9577
</remarks>
9578
<example>
9579
<code>
9580
// load sample.pnm into image
9581
SDL_Surface *image;
9582
SDL_RWops *rwop;
9583
rwop=SDL_RWFromFile("sample.pnm", "rb");
9584
image=IMG_LoadPNM_RW(rwop);
9585
if(!image)
9586
{
9587
printf("IMG_LoadPNM_RW: %s\n", IMG_GetError());
9588
// handle error
9589
}
9590
</code>
9591
</example>
9592
<seealso cref="M:Tao.Sdl.SdlImage.IMG_LoadTyped_RW(System.IntPtr,System.Int32,System.String)"/>
9593
<seealso cref="M:Tao.Sdl.SdlImage.IMG_isPNM(System.IntPtr)"/>
9594
</member>
9595
<member name="M:Tao.Sdl.SdlImage.IMG_LoadXPM_RW(System.IntPtr)">
9596
<summary>
9597
Load a .XPM image.
9598
</summary>
9599
<param name="src">
9600
The XPM image is loaded from this
9601
</param>
9602
<returns>
9603
a pointer to the image as a new SDL_Surface.
9604
NULL is returned on errors, like if XPM is not supported,
9605
or a read error.
9606
</returns>
9607
<remarks>
9608
Load src as a XPM image for use as a surface,
9609
if XPM support is compiled into the SDL_image library.
9610
<p>Binds to C-function in SDL_image.h
9611
<code>
9612
SDL_Surface *IMG_LoadXPM_RW(SDL_RWops *src)
9613
</code>
9614
</p>
9615
</remarks>
9616
<example>
9617
<code>
9618
// load sample.xpm into image
9619
SDL_Surface *image;
9620
SDL_RWops *rwop;
9621
rwop=SDL_RWFromFile("sample.xpm", "rb");
9622
image=IMG_LoadXPM_RW(rwop);
9623
if(!image)
9624
{
9625
printf("IMG_LoadXPM_RW: %s\n", IMG_GetError());
9626
// handle error
9627
}
9628
</code>
9629
</example>
9630
<seealso cref="M:Tao.Sdl.SdlImage.IMG_LoadTyped_RW(System.IntPtr,System.Int32,System.String)"/>
9631
<seealso cref="M:Tao.Sdl.SdlImage.IMG_isXPM(System.IntPtr)"/>
9632
<seealso cref="M:Tao.Sdl.SdlImage.IMG_ReadXPMFromArray(System.String[])"/>
9633
</member>
9634
<member name="M:Tao.Sdl.SdlImage.IMG_LoadXCF_RW(System.IntPtr)">
9635
<summary>
9636
Load a .XCF image.
9637
</summary>
9638
<param name="src">
9639
The XCF image is loaded from this
9640
</param>
9641
<returns>
9642
a pointer to the image as a new SDL_Surface.
9643
NULL is returned on errors, like if XCF is not supported,
9644
or a read error.
9645
</returns>
9646
<remarks>
9647
Load src as a XCF image for use as a surface,
9648
if XCF support is compiled into the SDL_image library.
9649
<p>Binds to C-function in SDL_image.h
9650
<code>
9651
SDL_Surface *IMG_LoadXCF_RW(SDL_RWops *src)
9652
</code>
9653
</p>
9654
</remarks>
9655
<example>
9656
<code>
9657
// load sample.xcf into image
9658
SDL_Surface *image;
9659
SDL_RWops *rwop;
9660
rwop=SDL_RWFromFile("sample.xcf", "rb");
9661
image=IMG_LoadXCF_RW(rwop);
9662
if(!image)
9663
{
9664
printf("IMG_LoadXCF_RW: %s\n", IMG_GetError());
9665
// handle error
9666
}
9667
</code>
9668
</example>
9669
<seealso cref="M:Tao.Sdl.SdlImage.IMG_LoadTyped_RW(System.IntPtr,System.Int32,System.String)"/>
9670
<seealso cref="M:Tao.Sdl.SdlImage.IMG_isXCF(System.IntPtr)"/>
9671
</member>
9672
<member name="M:Tao.Sdl.SdlImage.IMG_LoadXV_RW(System.IntPtr)">
9673
<summary>
9674
Load a .XV image.
9675
</summary>
9676
<param name="src">
9677
The XV image is loaded from this
9678
</param>
9679
<returns>
9680
a pointer to the image as a new SDL_Surface.
9681
NULL is returned on errors, like if XV is not supported,
9682
or a read error.
9683
</returns>
9684
<remarks>
9685
Load src as a XV image for use as a surface,
9686
if XV support is compiled into the SDL_image library.
9687
<p>Binds to C-function in SDL_image.h
9688
<code>
9689
SDL_Surface *IMG_LoadXV_RW(SDL_RWops *src)
9690
</code>
9691
</p>
9692
</remarks>
9693
<example>
9694
<code>
9695
// load sample.xv into image
9696
SDL_Surface *image;
9697
SDL_RWops *rwop;
9698
rwop=SDL_RWFromFile("sample.xv", "rb");
9699
image=IMG_LoadXV_RW(rwop);
9700
if(!image)
9701
{
9702
printf("IMG_LoadXV_RW: %s\n", IMG_GetError());
9703
// handle error
9704
}
9705
</code>
9706
</example>
9707
<seealso cref="M:Tao.Sdl.SdlImage.IMG_LoadTyped_RW(System.IntPtr,System.Int32,System.String)"/>
9708
<seealso cref="M:Tao.Sdl.SdlImage.IMG_isXV(System.IntPtr)"/>
9709
</member>
9710
<member name="M:Tao.Sdl.SdlImage.IMG_LoadPCX_RW(System.IntPtr)">
9711
<summary>
9712
Load a .PCX image.
9713
</summary>
9714
<param name="src">
9715
The PCX image is loaded from this
9716
</param>
9717
<returns>
9718
a pointer to the image as a new SDL_Surface.
9719
NULL is returned on errors, like if PCX is not supported,
9720
or a read error.
9721
</returns>
9722
<remarks>
9723
Load src as a PCX image for use as a surface,
9724
if PCX support is compiled into the SDL_image library.
9725
<p>Binds to C-function in SDL_image.h
9726
<code>
9727
SDL_Surface *IMG_LoadPCX_RW(SDL_RWops *src)
9728
</code>
9729
</p>
9730
</remarks>
9731
<example>
9732
<code>
9733
// load sample.pcx into image
9734
SDL_Surface *image;
9735
SDL_RWops *rwop;
9736
rwop=SDL_RWFromFile("sample.pcx", "rb");
9737
image=IMG_LoadPCX_RW(rwop);
9738
if(!image)
9739
{
9740
printf("IMG_LoadPCX_RW: %s\n", IMG_GetError());
9741
// handle error
9742
}
9743
</code>
9744
</example>
9745
<seealso cref="M:Tao.Sdl.SdlImage.IMG_LoadTyped_RW(System.IntPtr,System.Int32,System.String)"/>
9746
<seealso cref="M:Tao.Sdl.SdlImage.IMG_isPCX(System.IntPtr)"/>
9747
</member>
9748
<member name="M:Tao.Sdl.SdlImage.IMG_LoadGIF_RW(System.IntPtr)">
9749
<summary>
9750
Load a .GIF image.
9751
</summary>
9752
<param name="src">
9753
The GIF image is loaded from this
9754
</param>
9755
<returns>
9756
a pointer to the image as a new SDL_Surface.
9757
NULL is returned on errors, like if GIF is not supported,
9758
or a read error.
9759
</returns>
9760
<remarks>
9761
Load src as a GIF image for use as a surface,
9762
if GIF support is compiled into the SDL_image library.
9763
<p>Binds to C-function in SDL_image.h
9764
<code>
9765
SDL_Surface *IMG_LoadGIF_RW(SDL_RWops *src)
9766
</code></p>
9767
</remarks>
9768
<example>
9769
<code>
9770
// load sample.gif into image
9771
SDL_Surface *image;
9772
SDL_RWops *rwop;
9773
rwop=SDL_RWFromFile("sample.gif", "rb");
9774
image=IMG_LoadGIF_RW(rwop);
9775
if(!image)
9776
{
9777
printf("IMG_LoadGIF_RW: %s\n", IMG_GetError());
9778
// handle error
9779
}
9780
</code>
9781
</example>
9782
<seealso cref="M:Tao.Sdl.SdlImage.IMG_LoadTyped_RW(System.IntPtr,System.Int32,System.String)"/>
9783
<seealso cref="M:Tao.Sdl.SdlImage.IMG_isGIF(System.IntPtr)"/>
9784
</member>
9785
<member name="M:Tao.Sdl.SdlImage.IMG_LoadJPG_RW(System.IntPtr)">
9786
<summary>
9787
Load a .JPG image.
9788
</summary>
9789
<param name="src">
9790
The JPG image is loaded from this
9791
</param>
9792
<returns>
9793
a pointer to the image as a new SDL_Surface.
9794
NULL is returned on errors, like if JPG is not supported,
9795
or a read error.
9796
</returns>
9797
<remarks>
9798
Load src as a JPG image for use as a surface,
9799
if JPG support is compiled into the SDL_image library.
9800
<p>Binds to C-function in SDL_image.h
9801
<code>
9802
SDL_Surface *IMG_LoadJPG_RW(SDL_RWops *src)
9803
</code>
9804
</p>
9805
</remarks>
9806
<example>
9807
<code>
9808
// load sample.jpg into image
9809
SDL_Surface *image;
9810
SDL_RWops *rwop;
9811
rwop=SDL_RWFromFile("sample.jpg", "rb");
9812
image=IMG_LoadJPG_RW(rwop);
9813
if(!image)
9814
{
9815
printf("IMG_LoadJPG_RW: %s\n", IMG_GetError());
9816
// handle error
9817
}
9818
</code>
9819
</example>
9820
<seealso cref="M:Tao.Sdl.SdlImage.IMG_LoadTyped_RW(System.IntPtr,System.Int32,System.String)"/>
9821
<seealso cref="M:Tao.Sdl.SdlImage.IMG_isJPG(System.IntPtr)"/>
9822
</member>
9823
<member name="M:Tao.Sdl.SdlImage.IMG_LoadTIF_RW(System.IntPtr)">
9824
<summary>
9825
Load a .TIF image.
9826
</summary>
9827
<param name="src">
9828
The TIF image is loaded from this
9829
</param>
9830
<returns>
9831
a pointer to the image as a new SDL_Surface.
9832
NULL is returned on errors, like if TIF is not supported,
9833
or a read error.
9834
</returns>
9835
<remarks>
9836
Load src as a TIF image for use as a surface,
9837
if TIF support is compiled into the SDL_image library.
9838
<p>Binds to C-function in SDL_image.h
9839
<code>
9840
SDL_Surface *IMG_LoadTIF_RW(SDL_RWops *src)
9841
</code>
9842
</p>
9843
</remarks>
9844
<example>
9845
<code>
9846
// load sample.tif into image
9847
SDL_Surface *image;
9848
SDL_RWops *rwop;
9849
rwop=SDL_RWFromFile("sample.tif", "rb");
9850
image=IMG_LoadTIF_RW(rwop);
9851
if(!image)
9852
{
9853
printf("IMG_LoadTIF_RW: %s\n", IMG_GetError());
9854
// handle error
9855
}
9856
</code>
9857
</example>
9858
<seealso cref="M:Tao.Sdl.SdlImage.IMG_LoadTyped_RW(System.IntPtr,System.Int32,System.String)"/>
9859
<seealso cref="M:Tao.Sdl.SdlImage.IMG_isTIF(System.IntPtr)"/>
9860
</member>
9861
<member name="M:Tao.Sdl.SdlImage.IMG_LoadPNG_RW(System.IntPtr)">
9862
<summary>
9863
Load a .PNG image.
9864
</summary>
9865
<param name="src">
9866
The PNG image is loaded from this
9867
</param>
9868
<returns>
9869
a pointer to the image as a new SDL_Surface.
9870
NULL is returned on errors, like if PNG is not supported,
9871
or a read error.
9872
</returns>
9873
<remarks>
9874
Load src as a PNG image for use as a surface,
9875
if PNG support is compiled into the SDL_image library.
9876
<p>Binds to C-function in SDL_image.h
9877
<code>
9878
SDL_Surface *IMG_LoadPNG_RW(SDL_RWops *src)
9879
</code>
9880
</p>
9881
</remarks>
9882
<example>
9883
<code>
9884
// load sample.png into image
9885
SDL_Surface *image;
9886
SDL_RWops *rwop;
9887
rwop=SDL_RWFromFile("sample.png", "rb");
9888
image=IMG_LoadPNG_RW(rwop);
9889
if(!image)
9890
{
9891
printf("IMG_LoadPNG_RW: %s\n", IMG_GetError());
9892
// handle error
9893
}
9894
</code>
9895
</example>
9896
<seealso cref="M:Tao.Sdl.SdlImage.IMG_LoadTyped_RW(System.IntPtr,System.Int32,System.String)"/>
9897
<seealso cref="M:Tao.Sdl.SdlImage.IMG_isPNG(System.IntPtr)"/>
9898
</member>
9899
<member name="M:Tao.Sdl.SdlImage.IMG_LoadTGA_RW(System.IntPtr)">
9900
<summary>
9901
Load a .TGA image.
9902
</summary>
9903
<param name="src">
9904
The BMP image is loaded from this
9905
</param>
9906
<returns>
9907
a pointer to the image as a new SDL_Surface.
9908
NULL is returned on errors, like if BMP is not supported,
9909
or a read error.
9910
</returns>
9911
<remarks>
9912
Load src as a TGA image for use as a surface,
9913
if TGA support is compiled into the SDL_image library.
9914
If you try to load a non TGA image,
9915
you might succeed even when it's not TGA image formatted data,
9916
this is because the TGA has no magic,
9917
which is a way of identifying a filetype from a
9918
signature in it's contents. So be careful with this.
9919
<p>Binds to C-function in SDL_image.h
9920
<code>SDL_Surface *IMG_LoadTGA_RW(SDL_RWops *src)
9921
</code></p>
9922
</remarks>
9923
<example>
9924
<code>
9925
// load sample.tga into image
9926
SDL_Surface *image;
9927
SDL_RWops *rwop;
9928
rwop=SDL_RWFromFile("sample.tga", "rb");
9929
image=IMG_LoadTGA_RW(rwop);
9930
if(!image)
9931
{
9932
printf("IMG_LoadTGA_RW: %s\n", IMG_GetError());
9933
// handle error
9934
}
9935
</code>
9936
</example>
9937
<seealso cref="M:Tao.Sdl.SdlImage.IMG_LoadTyped_RW(System.IntPtr,System.Int32,System.String)"/>
9938
</member>
9939
<member name="M:Tao.Sdl.SdlImage.IMG_LoadLBM_RW(System.IntPtr)">
9940
<summary>
9941
Load a .LBM image.
9942
</summary>
9943
<param name="src">
9944
The LBM image is loaded from this
9945
</param>
9946
<returns>
9947
a pointer to the image as a new SDL_Surface.
9948
NULL is returned on errors, like if LBM is not supported,
9949
or a read error.
9950
</returns>
9951
<remarks>
9952
Load src as a LBM image for use as a surface,
9953
if LBM support is compiled into the SDL_image library.
9954
<p>Binds to C-function in SDL_image.h
9955
<code>
9956
SDL_Surface *IMG_LoadLBM_RW(SDL_RWops *src)
9957
</code>
9958
</p>
9959
</remarks>
9960
<example>
9961
<code>
9962
// load sample.lbm into image
9963
SDL_Surface *image;
9964
SDL_RWops *rwop;
9965
rwop=SDL_RWFromFile("sample.lbm", "rb");
9966
image=IMG_LoadLBM_RW(rwop);
9967
if(!image)
9968
{
9969
printf("IMG_LoadLBM_RW: %s\n", IMG_GetError());
9970
// handle error
9971
}
9972
</code>
9973
</example>
9974
<seealso cref="M:Tao.Sdl.SdlImage.IMG_LoadTyped_RW(System.IntPtr,System.Int32,System.String)"/>
9975
<seealso cref="M:Tao.Sdl.SdlImage.IMG_isLBM(System.IntPtr)"/>
9976
</member>
9977
<member name="M:Tao.Sdl.SdlImage.IMG_ReadXPMFromArray(System.String[])">
9978
<summary>
9979
Load a .XPM image from an array.
9980
</summary>
9981
<param name="src">
9982
The source xpm data. The XPM image is loaded from this.
9983
</param>
9984
<returns>
9985
a pointer to the image as a new SDL_Surface.
9986
NULL is returned on errors, like if XPM is not supported,
9987
or a read error.
9988
</returns>
9989
<remarks>
9990
Load src as a XPM image for use as a surface,
9991
if XPM support is compiled into the SDL_image library.
9992
<p>Binds to C-function in SDL_image.h
9993
<code>
9994
SDL_Surface *IMG_ReadXPMFromArray(char **xpm)
9995
</code>
9996
</p>
9997
</remarks>
9998
<example>
9999
<code>
10000
// load sample.xpm into image
10001
#include "sample.xpm"
10002
SDL_Surface *image;
10003
image=IMG_ReadXPMFromArray(sample_xpm);
10004
if(!image)
10005
{
10006
printf("IMG_ReadXPMFromArray: %s\n", IMG_GetError());
10007
// handle error
10008
}
10009
</code></example>
10010
<seealso cref="M:Tao.Sdl.SdlImage.IMG_LoadXPM_RW(System.IntPtr)"/>
10011
</member>
10012
<member name="M:Tao.Sdl.SdlImage.IMG_SetError(System.String)">
10013
<summary>
10014
Set the current error string
10015
</summary>
10016
<remarks>
10017
This is the same as SDL_SetError, which sets the error string
10018
which may be fetched with IMG_GetError (or SDL_GetError).
10019
This functions acts like printf, except that it is limited
10020
to SDL_ERRBUFIZE(1024) chars in length. It only accepts the
10021
following format types: %s, %d, %f, %p. No variations are
10022
supported, like %.2f would not work. For any more specifics
10023
read the SDL docs.
10024
<p>Binds to C-function in SDL_image.h
10025
<code>
10026
void IMG_SetError(const char *fmt, ...)
10027
</code>
10028
</p>
10029
</remarks>
10030
<example>
10031
<code>
10032
int myimagefunc(int i) {
10033
IMG_SetError("myimagefunc is not implemented! %d was passed in.",i);
10034
return(-1);
10035
}
10036
</code></example>
10037
<param name="message"></param>
10038
<seealso cref="M:Tao.Sdl.SdlImage.IMG_GetError"/>
10039
</member>
10040
<member name="M:Tao.Sdl.SdlImage.IMG_GetError">
10041
<summary>
10042
Get the current error string
10043
</summary>
10044
<remarks>
10045
This is the same as SDL_GetError, which returns the last
10046
error set as a string which you may use to tell the user
10047
what happened when an error status has been returned from
10048
an SDL_image function call.
10049
<p>Binds to C-function in SDL_image.h
10050
<code>
10051
char *IMG_GetError()
10052
</code>
10053
</p>
10054
</remarks>
10055
<returns>
10056
a char pointer (string) containing a humam
10057
readable version or the reason for the last error that
10058
occured.
10059
</returns>
10060
<seealso cref="M:Tao.Sdl.SdlImage.IMG_SetError(System.String)"/>
10061
</member>
10062
<member name="T:Tao.Sdl.Sdl">
10063
<summary>
10064
Simple DirectMedia Layer binding for .NET, implementing SDL 1.2.13.
10065
</summary>
10066
<remarks>
10067
This library is designed to make it easy to write games that run
10068
the .NET runtime using the various native high-performance media
10069
interfaces, (for video, audio, etc) and presenting a single
10070
source-code level API to your application. This is a fairly
10071
low level API, but using this, completely portable applications
10072
can be written with a great deal of flexibility.
10073
<p>An introduction to SDL can be found online at: http://www.libsdl.org/intro/ </p>
10074
<p>Binds to functions and definitions in SDL.dll or libSDL.so.</p>
10075
</remarks>
10076
</member>
10077
<member name="F:Tao.Sdl.Sdl.SDL_NATIVE_LIBRARY">
10078
<summary>
10079
Specifies SDL's native library archive.
10080
</summary>
10081
<remarks>
10082
Specifies SDL.dll everywhere; will be mapped via .config for mono.
10083
</remarks>
10084
</member>
10085
<member name="F:Tao.Sdl.Sdl.CALLING_CONVENTION">
10086
<summary>
10087
Specifies the calling convention.
10088
</summary>
10089
<remarks>
10090
Specifies <see cref="F:System.Runtime.InteropServices.CallingConvention.Cdecl"/>
10091
for Windows and Linux.
10092
</remarks>
10093
</member>
10094
<member name="F:Tao.Sdl.Sdl.SDL_INIT_TIMER">
10095
<summary>
10096
The timer subsystem.
10097
</summary>
10098
</member>
10099
<member name="F:Tao.Sdl.Sdl.SDL_INIT_AUDIO">
10100
<summary>
10101
The audio subsystem.
10102
</summary>
10103
</member>
10104
<member name="F:Tao.Sdl.Sdl.SDL_INIT_VIDEO">
10105
<summary>
10106
The video subsystem.
10107
</summary>
10108
</member>
10109
<member name="F:Tao.Sdl.Sdl.SDL_INIT_CDROM">
10110
<summary>
10111
The CD-ROM subsystem.
10112
</summary>
10113
</member>
10114
<member name="F:Tao.Sdl.Sdl.SDL_INIT_JOYSTICK">
10115
<summary>
10116
The joystick subsystem.
10117
</summary>
10118
</member>
10119
<member name="F:Tao.Sdl.Sdl.SDL_INIT_NOPARACHUTE">
10120
<summary>
10121
Prevents SDL from catching fatal signals.
10122
</summary>
10123
</member>
10124
<member name="F:Tao.Sdl.Sdl.SDL_INIT_EVENTTHREAD">
10125
<summary>
10126
Not supported on all OS's.
10127
</summary>
10128
</member>
10129
<member name="F:Tao.Sdl.Sdl.SDL_INIT_EVERYTHING">
10130
<summary>
10131
All subsystems.
10132
These are the flags which may be passed to SDL_Init()
10133
-- you should specify the subsystems which you will be
10134
using in your application..
10135
</summary>
10136
</member>
10137
<member name="F:Tao.Sdl.Sdl.SDL_APPMOUSEFOCUS">
10138
<summary>
10139
The app has mouse coverage
10140
</summary>
10141
<remarks>
10142
The available application states
10143
</remarks>
10144
</member>
10145
<member name="F:Tao.Sdl.Sdl.SDL_APPINPUTFOCUS">
10146
<summary>
10147
The app has input focus
10148
</summary>
10149
<remarks>
10150
The available application states
10151
</remarks>
10152
</member>
10153
<member name="F:Tao.Sdl.Sdl.SDL_APPACTIVE">
10154
<summary>
10155
The application is active
10156
</summary>
10157
<remarks>
10158
The available application states
10159
</remarks>
10160
</member>
10161
<member name="F:Tao.Sdl.Sdl.AUDIO_U8">
10162
<summary>
10163
Unsigned 8-bit samples.
10164
</summary>
10165
</member>
10166
<member name="F:Tao.Sdl.Sdl.AUDIO_S8">
10167
<summary>
10168
Signed 8-bit samples.
10169
</summary>
10170
</member>
10171
<member name="F:Tao.Sdl.Sdl.AUDIO_U16LSB">
10172
<summary>
10173
Unsigned 16-bit little-endian samples.
10174
</summary>
10175
</member>
10176
<member name="F:Tao.Sdl.Sdl.AUDIO_S16LSB">
10177
<summary>
10178
Signed 16-bit little-endian samples
10179
</summary>
10180
</member>
10181
<member name="F:Tao.Sdl.Sdl.AUDIO_U16MSB">
10182
<summary>
10183
Unsigned 16-bit big-endian samples
10184
</summary>
10185
</member>
10186
<member name="F:Tao.Sdl.Sdl.AUDIO_S16MSB">
10187
<summary>
10188
Signed 16-bit big-endian samples
10189
</summary>
10190
</member>
10191
<member name="F:Tao.Sdl.Sdl.SDL_MIX_MAXVOLUME">
10192
<summary>
10193
Full audio volume
10194
</summary>
10195
</member>
10196
<member name="F:Tao.Sdl.Sdl.SDL_MAX_TRACKS">
10197
<summary>
10198
The maximum number of CD-ROM tracks on a disk
10199
</summary>
10200
</member>
10201
<member name="F:Tao.Sdl.Sdl.SDL_AUDIO_TRACK">
10202
<summary>
10203
The types of CD-ROM track possible
10204
</summary>
10205
</member>
10206
<member name="F:Tao.Sdl.Sdl.SDL_DATA_TRACK">
10207
<summary>
10208
The types of CD-ROM track possible
10209
</summary>
10210
</member>
10211
<member name="F:Tao.Sdl.Sdl.CD_FPS">
10212
<summary>
10213
Frames per second.
10214
</summary>
10215
</member>
10216
<member name="F:Tao.Sdl.Sdl.SDL_LIL_ENDIAN">
10217
<summary>
10218
Little Endian
10219
</summary>
10220
<remarks>
10221
e.g. i386 machines</remarks>
10222
</member>
10223
<member name="F:Tao.Sdl.Sdl.SDL_BIG_ENDIAN">
10224
<summary>
10225
Big Endian
10226
</summary>
10227
<remarks>
10228
e.g. Macs
10229
</remarks>
10230
</member>
10231
<member name="F:Tao.Sdl.Sdl.SDL_PRESSED">
10232
<summary>
10233
Button in pressed state.
10234
</summary>
10235
<remarks>
10236
SDL_events.h defines SDL_PRESSED and <see cref="F:Tao.Sdl.Sdl.SDL_RELEASED"/>
10237
in a nameless enum. Defining SDL_PRESSED as a const works
10238
better for Tao.SDL purposes</remarks>
10239
<seealso cref="F:Tao.Sdl.Sdl.SDL_RELEASED"/>
10240
</member>
10241
<member name="F:Tao.Sdl.Sdl.SDL_RELEASED">
10242
<summary>
10243
Button in released state.
10244
</summary>
10245
<remarks>
10246
SDL_events.h defines <see cref="F:Tao.Sdl.Sdl.SDL_PRESSED"/> and SDL_RELEASED
10247
in a nameless enum. Defining SDL_RELEASED as a const works
10248
better for Tao.SDL purposes</remarks>
10249
<seealso cref="F:Tao.Sdl.Sdl.SDL_PRESSED"/>
10250
</member>
10251
<member name="F:Tao.Sdl.Sdl.SDL_ALLEVENTS">
10252
<summary>
10253
This is the mask which refers to all hotkey bindings.
10254
</summary>
10255
</member>
10256
<member name="F:Tao.Sdl.Sdl.SDL_QUERY">
10257
<summary>
10258
If 'state' is set to SDL_QUERY, SDL_EventState()
10259
will return the
10260
current processing state of the specified event.
10261
</summary>
10262
</member>
10263
<member name="F:Tao.Sdl.Sdl.SDL_IGNORE">
10264
<summary>
10265
If 'state' is set to SDL_IGNORE, that event will be
10266
automatically dropped
10267
from the event queue and will not event be filtered.
10268
</summary>
10269
</member>
10270
<member name="F:Tao.Sdl.Sdl.SDL_DISABLE">
10271
<summary>
10272
10273
</summary>
10274
</member>
10275
<member name="F:Tao.Sdl.Sdl.SDL_ENABLE">
10276
<summary>
10277
If 'state' is set to SDL_ENABLE, that event will
10278
be processed normally.
10279
</summary>
10280
</member>
10281
<member name="F:Tao.Sdl.Sdl.SDL_HAT_CENTERED">
10282
<summary>
10283
Indicates which position a joystick hat is pressed in
10284
</summary>
10285
</member>
10286
<member name="F:Tao.Sdl.Sdl.SDL_HAT_UP">
10287
<summary>
10288
10289
</summary>
10290
</member>
10291
<member name="F:Tao.Sdl.Sdl.SDL_HAT_RIGHT">
10292
<summary>
10293
10294
</summary>
10295
</member>
10296
<member name="F:Tao.Sdl.Sdl.SDL_HAT_DOWN">
10297
<summary>
10298
10299
</summary>
10300
</member>
10301
<member name="F:Tao.Sdl.Sdl.SDL_HAT_LEFT">
10302
<summary>
10303
10304
</summary>
10305
</member>
10306
<member name="F:Tao.Sdl.Sdl.SDL_HAT_RIGHTUP">
10307
<summary>
10308
10309
</summary>
10310
</member>
10311
<member name="F:Tao.Sdl.Sdl.SDL_HAT_RIGHTDOWN">
10312
<summary>
10313
10314
</summary>
10315
</member>
10316
<member name="F:Tao.Sdl.Sdl.SDL_HAT_LEFTUP">
10317
<summary>
10318
10319
</summary>
10320
</member>
10321
<member name="F:Tao.Sdl.Sdl.SDL_HAT_LEFTDOWN">
10322
<summary>
10323
10324
</summary>
10325
</member>
10326
<member name="F:Tao.Sdl.Sdl.SDL_ALL_HOTKEYS">
10327
<summary>
10328
This is the mask which refers to all hotkey bindings.
10329
</summary>
10330
</member>
10331
<member name="F:Tao.Sdl.Sdl.SDL_DEFAULT_REPEAT_DELAY">
10332
<summary>
10333
Enable/Disable keyboard repeat. Keyboard repeat defaults to off.
10334
'delay' is the initial delay in ms between the time
10335
when a key is pressed,
10336
and keyboard repeat begins.
10337
</summary>
10338
<seealso cref="M:Tao.Sdl.Sdl.SDL_EnableKeyRepeat(System.Int32,System.Int32)"/>
10339
</member>
10340
<member name="F:Tao.Sdl.Sdl.SDL_DEFAULT_REPEAT_INTERVAL">
10341
<summary>
10342
Enable/Disable keyboard repeat. Keyboard repeat defaults to off.
10343
'interval' is the time in ms between keyboard repeat events.
10344
</summary>
10345
<seealso cref="M:Tao.Sdl.Sdl.SDL_EnableKeyRepeat(System.Int32,System.Int32)"/>
10346
</member>
10347
<member name="F:Tao.Sdl.Sdl.KMOD_CTRL">
10348
<summary>
10349
Both CTRL keys.
10350
</summary>
10351
</member>
10352
<member name="F:Tao.Sdl.Sdl.KMOD_SHIFT">
10353
<summary>
10354
Both SHIFT keys.
10355
</summary>
10356
</member>
10357
<member name="F:Tao.Sdl.Sdl.KMOD_ALT">
10358
<summary>
10359
Both ALT keys.
10360
</summary>
10361
</member>
10362
<member name="F:Tao.Sdl.Sdl.KMOD_META">
10363
<summary>
10364
Both META keys.
10365
</summary>
10366
</member>
10367
<member name="F:Tao.Sdl.Sdl.SDL_BUTTON_LEFT">
10368
<summary>
10369
Used as a mask when testing buttons in buttonstate
10370
Button 1: Left mouse button
10371
</summary>
10372
</member>
10373
<member name="F:Tao.Sdl.Sdl.SDL_BUTTON_MIDDLE">
10374
<summary>
10375
Button 2: Middle mouse button
10376
</summary>
10377
</member>
10378
<member name="F:Tao.Sdl.Sdl.SDL_BUTTON_RIGHT">
10379
<summary>
10380
Button 3: Right mouse button
10381
</summary>
10382
</member>
10383
<member name="F:Tao.Sdl.Sdl.SDL_BUTTON_WHEELUP">
10384
<summary>
10385
Button 4: Mouse wheel up (may also be a real button)
10386
</summary>
10387
</member>
10388
<member name="F:Tao.Sdl.Sdl.SDL_BUTTON_WHEELDOWN">
10389
<summary>
10390
Button 5: Mouse wheel down (may also be a real button)
10391
</summary>
10392
</member>
10393
<member name="F:Tao.Sdl.Sdl.SDL_BUTTON_X1">
10394
<summary>
10395
10396
</summary>
10397
</member>
10398
<member name="F:Tao.Sdl.Sdl.SDL_BUTTON_X2">
10399
<summary>
10400
10401
</summary>
10402
</member>
10403
<member name="F:Tao.Sdl.Sdl.SDL_BUTTON_LMASK">
10404
<summary>
10405
10406
</summary>
10407
</member>
10408
<member name="F:Tao.Sdl.Sdl.SDL_BUTTON_MMASK">
10409
<summary>
10410
10411
</summary>
10412
</member>
10413
<member name="F:Tao.Sdl.Sdl.SDL_BUTTON_RMASK">
10414
<summary>
10415
10416
</summary>
10417
</member>
10418
<member name="F:Tao.Sdl.Sdl.SDL_BUTTON_X1MASK">
10419
<summary>
10420
10421
</summary>
10422
</member>
10423
<member name="F:Tao.Sdl.Sdl.SDL_BUTTON_X2MASK">
10424
<summary>
10425
10426
</summary>
10427
</member>
10428
<member name="F:Tao.Sdl.Sdl.SDL_MUTEX_TIMEDOUT">
10429
<summary>
10430
Synchronization functions which can time out return this value
10431
if they time out.
10432
</summary>
10433
</member>
10434
<member name="F:Tao.Sdl.Sdl.SDL_MUTEX_MAXWAIT">
10435
<summary>
10436
This is the timeout value which corresponds to never time out
10437
</summary>
10438
</member>
10439
<member name="F:Tao.Sdl.Sdl.RW_SEEK_SET">
10440
<summary>
10441
Seek from the beginning of data
10442
</summary>
10443
</member>
10444
<member name="F:Tao.Sdl.Sdl.RW_SEEK_CUR">
10445
<summary>
10446
Seek relative to current read point
10447
</summary>
10448
</member>
10449
<member name="F:Tao.Sdl.Sdl.RW_SEEK_END">
10450
<summary>
10451
Seek relative to the end of data
10452
</summary>
10453
</member>
10454
<member name="F:Tao.Sdl.Sdl.SDL_TIMESLICE">
10455
<summary>
10456
The OS scheduler timeslice, in milliseconds.
10457
</summary>
10458
</member>
10459
<member name="F:Tao.Sdl.Sdl.TIMER_RESOLUTION">
10460
<summary>
10461
The maximum resolution of the SDL timer on all platforms.
10462
</summary>
10463
<remarks>
10464
Experimentally determined.
10465
</remarks>
10466
</member>
10467
<member name="F:Tao.Sdl.Sdl.SDL_MAJOR_VERSION">
10468
<summary>
10469
Major Version
10470
</summary>
10471
</member>
10472
<member name="F:Tao.Sdl.Sdl.SDL_MINOR_VERSION">
10473
<summary>
10474
Minor Version
10475
</summary>
10476
</member>
10477
<member name="F:Tao.Sdl.Sdl.SDL_PATCHLEVEL">
10478
<summary>
10479
Patch Version
10480
</summary>
10481
</member>
10482
<member name="F:Tao.Sdl.Sdl.SDL_ALPHA_OPAQUE">
10483
<summary>
10484
Transparency definition of Opaque
10485
</summary>
10486
<remarks>
10487
Define alpha as the opacity of a surface
10488
</remarks>
10489
</member>
10490
<member name="F:Tao.Sdl.Sdl.SDL_ALPHA_TRANSPARENT">
10491
<summary>
10492
Transparency definition of Transparent
10493
</summary>
10494
<remarks>
10495
Define alpha as the opacity of a surface
10496
</remarks>
10497
</member>
10498
<member name="F:Tao.Sdl.Sdl.SDL_SWSURFACE">
10499
<summary>
10500
Surface is in system memory
10501
</summary>
10502
</member>
10503
<member name="F:Tao.Sdl.Sdl.SDL_HWSURFACE">
10504
<summary>
10505
Surface is in video memory
10506
</summary>
10507
</member>
10508
<member name="F:Tao.Sdl.Sdl.SDL_ASYNCBLIT">
10509
<summary>
10510
Use asynchronous blits if possible
10511
</summary>
10512
</member>
10513
<member name="F:Tao.Sdl.Sdl.SDL_ANYFORMAT">
10514
<summary>
10515
Allow any video depth/pixel-format
10516
</summary>
10517
</member>
10518
<member name="F:Tao.Sdl.Sdl.SDL_HWPALETTE">
10519
<summary>
10520
Surface has exclusive palette
10521
</summary>
10522
</member>
10523
<member name="F:Tao.Sdl.Sdl.SDL_DOUBLEBUF">
10524
<summary>
10525
Set up double-buffered video mode
10526
</summary>
10527
</member>
10528
<member name="F:Tao.Sdl.Sdl.SDL_FULLSCREEN">
10529
<summary>
10530
Full screen display surface.
10531
</summary>
10532
</member>
10533
<member name="F:Tao.Sdl.Sdl.SDL_OPENGL">
10534
<summary>
10535
Create an OpenGL rendering context
10536
</summary>
10537
</member>
10538
<member name="F:Tao.Sdl.Sdl.SDL_OPENGLBLIT">
10539
<summary>
10540
Create an OpenGL rendering context and use it for blitting
10541
</summary>
10542
</member>
10543
<member name="F:Tao.Sdl.Sdl.SDL_RESIZABLE">
10544
<summary>
10545
This video mode may be resized
10546
</summary>
10547
</member>
10548
<member name="F:Tao.Sdl.Sdl.SDL_NOFRAME">
10549
<summary>
10550
No window caption or edge frame
10551
</summary>
10552
</member>
10553
<member name="F:Tao.Sdl.Sdl.SDL_HWACCEL">
10554
<summary>
10555
Blit uses hardware acceleration
10556
</summary>
10557
</member>
10558
<member name="F:Tao.Sdl.Sdl.SDL_SRCCOLORKEY">
10559
<summary>
10560
Blit uses a source color key
10561
</summary>
10562
</member>
10563
<member name="F:Tao.Sdl.Sdl.SDL_RLEACCELOK">
10564
<summary>
10565
Private flag
10566
</summary>
10567
</member>
10568
<member name="F:Tao.Sdl.Sdl.SDL_RLEACCEL">
10569
<summary>
10570
Surface is RLE encoded
10571
</summary>
10572
</member>
10573
<member name="F:Tao.Sdl.Sdl.SDL_SRCALPHA">
10574
<summary>
10575
Blit uses source alpha blending
10576
</summary>
10577
</member>
10578
<member name="F:Tao.Sdl.Sdl.SDL_PREALLOC">
10579
<summary>
10580
Surface uses preallocated memory
10581
</summary>
10582
</member>
10583
<member name="F:Tao.Sdl.Sdl.SDL_YV12_OVERLAY">
10584
<summary>
10585
One of the most common video overlay formats.
10586
For an explanation of these pixel formats, see:
10587
http://www.webartz.com/fourcc/indexyuv.htm
10588
10589
For information on the relationship between color spaces, see:
10590
http://www.neuro.sfc.keio.ac.jp/~aly/polygon/info/color-space-faq.html
10591
10592
Planar mode: Y + V + U (3 planes)
10593
</summary>
10594
</member>
10595
<member name="F:Tao.Sdl.Sdl.SDL_IYUV_OVERLAY">
10596
<summary>
10597
One of the most common video overlay formats.
10598
For an explanation of these pixel formats, see:
10599
http://www.webartz.com/fourcc/indexyuv.htm
10600
10601
For information on the relationship between color spaces, see:
10602
http://www.neuro.sfc.keio.ac.jp/~aly/polygon/info/color-space-faq.html
10603
10604
Planar mode: Y + U + V (3 planes)
10605
</summary>
10606
</member>
10607
<member name="F:Tao.Sdl.Sdl.SDL_YUY2_OVERLAY">
10608
<summary>
10609
One of the most common video overlay formats.
10610
For an explanation of these pixel formats, see:
10611
http://www.webartz.com/fourcc/indexyuv.htm
10612
10613
For information on the relationship between color spaces, see:
10614
http://www.neuro.sfc.keio.ac.jp/~aly/polygon/info/color-space-faq.html
10615
10616
Packed mode: Y0+U0+Y1+V0 (1 plane)
10617
</summary>
10618
</member>
10619
<member name="F:Tao.Sdl.Sdl.SDL_UYVY_OVERLAY">
10620
<summary>
10621
One of the most common video overlay formats.
10622
For an explanation of these pixel formats, see:
10623
http://www.webartz.com/fourcc/indexyuv.htm
10624
10625
For information on the relationship between color spaces, see:
10626
http://www.neuro.sfc.keio.ac.jp/~aly/polygon/info/color-space-faq.html
10627
10628
Packed mode: U0+Y0+V0+Y1 (1 plane)
10629
</summary>
10630
</member>
10631
<member name="F:Tao.Sdl.Sdl.SDL_YVYU_OVERLAY">
10632
<summary>
10633
One of the most common video overlay formats.
10634
For an explanation of these pixel formats, see:
10635
http://www.webartz.com/fourcc/indexyuv.htm
10636
10637
For information on the relationship between color spaces, see:
10638
http://www.neuro.sfc.keio.ac.jp/~aly/polygon/info/color-space-faq.html
10639
10640
Packed mode: Y0+V0+Y1+U0 (1 plane)
10641
</summary>
10642
</member>
10643
<member name="F:Tao.Sdl.Sdl.SDL_LOGPAL">
10644
<summary>
10645
Flag for SDL_SetPalette() which represents a logical palette, which controls how blits
10646
are mapped to/from the surface.
10647
</summary>
10648
</member>
10649
<member name="F:Tao.Sdl.Sdl.SDL_PHYSPAL">
10650
<summary>
10651
Flag for SDL_SetPalette() which represents a physical palette, which controls how pixels
10652
look on the screen.
10653
</summary>
10654
</member>
10655
<member name="F:Tao.Sdl.Sdl.SDL_AUDIO_STOPPED">
10656
<summary>
10657
SDL_audiostatus. Get the current audio state
10658
</summary>
10659
</member>
10660
<member name="F:Tao.Sdl.Sdl.SDL_AUDIO_PLAYING">
10661
<summary>
10662
SDL_audiostatus. Get the current audio state
10663
</summary>
10664
</member>
10665
<member name="F:Tao.Sdl.Sdl.SDL_AUDIO_PAUSED">
10666
<summary>
10667
SDL_audiostatus. Get the current audio state
10668
</summary>
10669
</member>
10670
<member name="F:Tao.Sdl.Sdl.CD_TRAYEMPTY">
10671
<summary>
10672
The CD tray is empty.
10673
</summary>
10674
<remarks>
10675
CDstatus enum.
10676
The possible states which a CD-ROM drive can be in.
10677
</remarks>
10678
</member>
10679
<member name="F:Tao.Sdl.Sdl.CD_STOPPED">
10680
<summary>
10681
The CD has stopped playing.
10682
</summary>
10683
<remarks>
10684
CDstatus enum.
10685
The possible states which a CD-ROM drive can be in.
10686
</remarks>
10687
</member>
10688
<member name="F:Tao.Sdl.Sdl.CD_PLAYING">
10689
<summary>
10690
The CD is playing.
10691
</summary>
10692
<remarks>
10693
CDstatus enum.
10694
The possible states which a CD-ROM drive can be in.
10695
</remarks>
10696
</member>
10697
<member name="F:Tao.Sdl.Sdl.CD_PAUSED">
10698
<summary>
10699
The CD has been paused.
10700
</summary>
10701
<remarks>
10702
CDstatus enum.
10703
The possible states which a CD-ROM drive can be in.
10704
</remarks>
10705
</member>
10706
<member name="F:Tao.Sdl.Sdl.CD_ERROR">
10707
<summary>
10708
An error occured while getting the status.
10709
</summary>
10710
<remarks>
10711
CDstatus enum.
10712
The possible states which a CD-ROM drive can be in.
10713
</remarks>
10714
</member>
10715
<member name="F:Tao.Sdl.Sdl.SDL_NOEVENT">
10716
<summary>
10717
Unused (do not remove)
10718
</summary>
10719
</member>
10720
<member name="F:Tao.Sdl.Sdl.SDL_ACTIVEEVENT">
10721
<summary>
10722
Application loses/gains visibility
10723
</summary>
10724
</member>
10725
<member name="F:Tao.Sdl.Sdl.SDL_KEYDOWN">
10726
<summary>
10727
Keys pressed
10728
</summary>
10729
</member>
10730
<member name="F:Tao.Sdl.Sdl.SDL_KEYUP">
10731
<summary>
10732
Keys released
10733
</summary>
10734
</member>
10735
<member name="F:Tao.Sdl.Sdl.SDL_MOUSEMOTION">
10736
<summary>
10737
Mouse moved
10738
</summary>
10739
</member>
10740
<member name="F:Tao.Sdl.Sdl.SDL_MOUSEBUTTONDOWN">
10741
<summary>
10742
Mouse button pressed
10743
</summary>
10744
</member>
10745
<member name="F:Tao.Sdl.Sdl.SDL_MOUSEBUTTONUP">
10746
<summary>
10747
Mouse button released
10748
</summary>
10749
</member>
10750
<member name="F:Tao.Sdl.Sdl.SDL_JOYAXISMOTION">
10751
<summary>
10752
Joystick axis motion
10753
</summary>
10754
</member>
10755
<member name="F:Tao.Sdl.Sdl.SDL_JOYBALLMOTION">
10756
<summary>
10757
Joystick trackball motion
10758
</summary>
10759
</member>
10760
<member name="F:Tao.Sdl.Sdl.SDL_JOYHATMOTION">
10761
<summary>
10762
Joystick hat position change
10763
</summary>
10764
</member>
10765
<member name="F:Tao.Sdl.Sdl.SDL_JOYBUTTONDOWN">
10766
<summary>
10767
Joystick button pressed
10768
</summary>
10769
</member>
10770
<member name="F:Tao.Sdl.Sdl.SDL_JOYBUTTONUP">
10771
<summary>
10772
Joystick button released
10773
</summary>
10774
</member>
10775
<member name="F:Tao.Sdl.Sdl.SDL_QUIT">
10776
<summary>
10777
User-requested quit
10778
</summary>
10779
</member>
10780
<member name="F:Tao.Sdl.Sdl.SDL_SYSWMEVENT">
10781
<summary>
10782
System specific event
10783
</summary>
10784
</member>
10785
<member name="F:Tao.Sdl.Sdl.SDL_EVENT_RESERVEDA">
10786
<summary>
10787
Reserved for future use..
10788
</summary>
10789
</member>
10790
<member name="F:Tao.Sdl.Sdl.SDL_EVENT_RESERVEDB">
10791
<summary>
10792
Reserved for future use..
10793
</summary>
10794
</member>
10795
<member name="F:Tao.Sdl.Sdl.SDL_VIDEORESIZE">
10796
<summary>
10797
User resized video mode
10798
</summary>
10799
</member>
10800
<member name="F:Tao.Sdl.Sdl.SDL_VIDEOEXPOSE">
10801
<summary>
10802
Screen needs to be redrawn
10803
</summary>
10804
</member>
10805
<member name="F:Tao.Sdl.Sdl.SDL_EVENT_RESERVED2">
10806
<summary>
10807
Reserved for future use..
10808
</summary>
10809
</member>
10810
<member name="F:Tao.Sdl.Sdl.SDL_EVENT_RESERVED3">
10811
<summary>
10812
Reserved for future use..
10813
</summary>
10814
</member>
10815
<member name="F:Tao.Sdl.Sdl.SDL_EVENT_RESERVED4">
10816
<summary>
10817
Reserved for future use..
10818
</summary>
10819
</member>
10820
<member name="F:Tao.Sdl.Sdl.SDL_EVENT_RESERVED5">
10821
<summary>
10822
Reserved for future use..
10823
</summary>
10824
</member>
10825
<member name="F:Tao.Sdl.Sdl.SDL_EVENT_RESERVED6">
10826
<summary>
10827
Reserved for future use..
10828
</summary>
10829
</member>
10830
<member name="F:Tao.Sdl.Sdl.SDL_EVENT_RESERVED7">
10831
<summary>
10832
Reserved for future use..
10833
</summary>
10834
</member>
10835
<member name="F:Tao.Sdl.Sdl.SDL_USEREVENT">
10836
<summary>
10837
Events SDL_USEREVENT through SDL_MAXEVENTS-1 are
10838
for your use.
10839
</summary>
10840
</member>
10841
<member name="F:Tao.Sdl.Sdl.SDL_NUMEVENTS">
10842
<summary>
10843
This last event is only for bounding internal arrays
10844
It is the number of bits in the event mask datatype -- Uint32
10845
</summary>
10846
</member>
10847
<member name="F:Tao.Sdl.Sdl.SDL_ACTIVEEVENTMASK">
10848
<summary>
10849
10850
</summary>
10851
</member>
10852
<member name="F:Tao.Sdl.Sdl.SDL_KEYDOWNMASK">
10853
<summary>
10854
10855
</summary>
10856
</member>
10857
<member name="F:Tao.Sdl.Sdl.SDL_KEYUPMASK">
10858
<summary>
10859
10860
</summary>
10861
</member>
10862
<member name="F:Tao.Sdl.Sdl.SDL_KEYEVENTMASK">
10863
<summary>
10864
10865
</summary>
10866
</member>
10867
<member name="F:Tao.Sdl.Sdl.SDL_MOUSEMOTIONMASK">
10868
<summary>
10869
10870
</summary>
10871
</member>
10872
<member name="F:Tao.Sdl.Sdl.SDL_MOUSEBUTTONDOWNMASK">
10873
<summary>
10874
10875
</summary>
10876
</member>
10877
<member name="F:Tao.Sdl.Sdl.SDL_MOUSEBUTTONUPMASK">
10878
<summary>
10879
10880
</summary>
10881
</member>
10882
<member name="F:Tao.Sdl.Sdl.SDL_MOUSEEVENTMASK">
10883
<summary>
10884
10885
</summary>
10886
</member>
10887
<member name="F:Tao.Sdl.Sdl.SDL_JOYAXISMOTIONMASK">
10888
<summary>
10889
10890
</summary>
10891
</member>
10892
<member name="F:Tao.Sdl.Sdl.SDL_JOYBALLMOTIONMASK">
10893
<summary>
10894
10895
</summary>
10896
</member>
10897
<member name="F:Tao.Sdl.Sdl.SDL_JOYHATMOTIONMASK">
10898
<summary>
10899
10900
</summary>
10901
</member>
10902
<member name="F:Tao.Sdl.Sdl.SDL_JOYBUTTONDOWNMASK">
10903
<summary>
10904
10905
</summary>
10906
</member>
10907
<member name="F:Tao.Sdl.Sdl.SDL_JOYBUTTONUPMASK">
10908
<summary>
10909
10910
</summary>
10911
</member>
10912
<member name="F:Tao.Sdl.Sdl.SDL_JOYEVENTMASK">
10913
<summary>
10914
10915
</summary>
10916
</member>
10917
<member name="F:Tao.Sdl.Sdl.SDL_VIDEORESIZEMASK">
10918
<summary>
10919
10920
</summary>
10921
</member>
10922
<member name="F:Tao.Sdl.Sdl.SDL_VIDEOEXPOSEMASK">
10923
<summary>
10924
10925
</summary>
10926
</member>
10927
<member name="F:Tao.Sdl.Sdl.SDL_QUITMASK">
10928
<summary>
10929
10930
</summary>
10931
</member>
10932
<member name="F:Tao.Sdl.Sdl.SDL_SYSWMEVENTMASK">
10933
<summary>
10934
10935
</summary>
10936
</member>
10937
<member name="F:Tao.Sdl.Sdl.SDL_ADDEVENT">
10938
<summary>
10939
If 'action' is SDL_ADDEVENT, up to 'numevents' events will
10940
be added to the back of the event queue.
10941
</summary>
10942
<remarks>
10943
enum SDL_eventaction.
10944
Various event types.
10945
</remarks>
10946
<seealso cref="M:Tao.Sdl.Sdl.SDL_PeepEvents(Tao.Sdl.Sdl.SDL_Event[],System.Int32,System.Int32,System.Int32)"/>
10947
</member>
10948
<member name="F:Tao.Sdl.Sdl.SDL_PEEKEVENT">
10949
<summary>
10950
If 'action' is SDL_PEEKEVENT, up to 'numevents' events at
10951
the front of the event queue, matching 'mask', will be
10952
returned and will not be removed from the queue.
10953
</summary>
10954
<remarks>
10955
enum SDL_eventaction.
10956
Various event types.
10957
</remarks>
10958
<seealso cref="M:Tao.Sdl.Sdl.SDL_PeepEvents(Tao.Sdl.Sdl.SDL_Event[],System.Int32,System.Int32,System.Int32)"/>
10959
</member>
10960
<member name="F:Tao.Sdl.Sdl.SDL_GETEVENT">
10961
<summary>
10962
If 'action' is SDL_GETEVENT, up to 'numevents' events at
10963
the front of the event queue, matching 'mask', will be
10964
returned and will be removed from the queue.
10965
</summary>
10966
<remarks>
10967
enum SDL_eventaction.
10968
Various event types.
10969
</remarks>
10970
<seealso cref="M:Tao.Sdl.Sdl.SDL_PeepEvents(Tao.Sdl.Sdl.SDL_Event[],System.Int32,System.Int32,System.Int32)"/>
10971
</member>
10972
<member name="F:Tao.Sdl.Sdl.SDLK_UNKNOWN">
10973
<summary>
10974
10975
</summary>
10976
</member>
10977
<member name="F:Tao.Sdl.Sdl.SDLK_FIRST">
10978
<summary>
10979
10980
</summary>
10981
</member>
10982
<member name="F:Tao.Sdl.Sdl.SDLK_BACKSPACE">
10983
<summary>
10984
backspace. '\b'
10985
</summary>
10986
</member>
10987
<member name="F:Tao.Sdl.Sdl.SDLK_TAB">
10988
<summary>
10989
tab. '\t'
10990
</summary>
10991
</member>
10992
<member name="F:Tao.Sdl.Sdl.SDLK_CLEAR">
10993
<summary>
10994
clear
10995
</summary>
10996
</member>
10997
<member name="F:Tao.Sdl.Sdl.SDLK_RETURN">
10998
<summary>
10999
return. '\r'
11000
</summary>
11001
</member>
11002
<member name="F:Tao.Sdl.Sdl.SDLK_PAUSE">
11003
<summary>
11004
pause
11005
</summary>
11006
</member>
11007
<member name="F:Tao.Sdl.Sdl.SDLK_ESCAPE">
11008
<summary>
11009
escape. '^['
11010
</summary>
11011
</member>
11012
<member name="F:Tao.Sdl.Sdl.SDLK_SPACE">
11013
<summary>
11014
space. ' '
11015
</summary>
11016
</member>
11017
<member name="F:Tao.Sdl.Sdl.SDLK_EXCLAIM">
11018
<summary>
11019
exclaim. '!'
11020
</summary>
11021
</member>
11022
<member name="F:Tao.Sdl.Sdl.SDLK_QUOTEDBL">
11023
<summary>
11024
quotedbl. '"'
11025
</summary>
11026
</member>
11027
<member name="F:Tao.Sdl.Sdl.SDLK_HASH">
11028
<summary>
11029
hash. '#'
11030
</summary>
11031
</member>
11032
<member name="F:Tao.Sdl.Sdl.SDLK_DOLLAR">
11033
<summary>
11034
dollar. '$'
11035
</summary>
11036
</member>
11037
<member name="F:Tao.Sdl.Sdl.SDLK_AMPERSAND">
11038
<summary>
11039
ampersand. '&amp;'
11040
</summary>
11041
</member>
11042
<member name="F:Tao.Sdl.Sdl.SDLK_QUOTE">
11043
<summary>
11044
quote. '''
11045
</summary>
11046
</member>
11047
<member name="F:Tao.Sdl.Sdl.SDLK_LEFTPAREN">
11048
<summary>
11049
left parenthesis. '('
11050
</summary>
11051
</member>
11052
<member name="F:Tao.Sdl.Sdl.SDLK_RIGHTPAREN">
11053
<summary>
11054
right parenthesis. ')'
11055
</summary>
11056
</member>
11057
<member name="F:Tao.Sdl.Sdl.SDLK_ASTERISK">
11058
<summary>
11059
asterisk. '*'
11060
</summary>
11061
</member>
11062
<member name="F:Tao.Sdl.Sdl.SDLK_PLUS">
11063
<summary>
11064
plus sign. '+'
11065
</summary>
11066
</member>
11067
<member name="F:Tao.Sdl.Sdl.SDLK_COMMA">
11068
<summary>
11069
comma. ';'
11070
</summary>
11071
</member>
11072
<member name="F:Tao.Sdl.Sdl.SDLK_MINUS">
11073
<summary>
11074
minus sign. '-'
11075
</summary>
11076
</member>
11077
<member name="F:Tao.Sdl.Sdl.SDLK_PERIOD">
11078
<summary>
11079
period. '.'
11080
</summary>
11081
</member>
11082
<member name="F:Tao.Sdl.Sdl.SDLK_SLASH">
11083
<summary>
11084
forward slash. '/'
11085
</summary>
11086
</member>
11087
<member name="F:Tao.Sdl.Sdl.SDLK_0">
11088
<summary>
11089
0
11090
</summary>
11091
</member>
11092
<member name="F:Tao.Sdl.Sdl.SDLK_1">
11093
<summary>
11094
1
11095
</summary>
11096
</member>
11097
<member name="F:Tao.Sdl.Sdl.SDLK_2">
11098
<summary>
11099
2
11100
</summary>
11101
</member>
11102
<member name="F:Tao.Sdl.Sdl.SDLK_3">
11103
<summary>
11104
3
11105
</summary>
11106
</member>
11107
<member name="F:Tao.Sdl.Sdl.SDLK_4">
11108
<summary>
11109
4
11110
</summary>
11111
</member>
11112
<member name="F:Tao.Sdl.Sdl.SDLK_5">
11113
<summary>
11114
5
11115
</summary>
11116
</member>
11117
<member name="F:Tao.Sdl.Sdl.SDLK_6">
11118
<summary>
11119
6
11120
</summary>
11121
</member>
11122
<member name="F:Tao.Sdl.Sdl.SDLK_7">
11123
<summary>
11124
7
11125
</summary>
11126
</member>
11127
<member name="F:Tao.Sdl.Sdl.SDLK_8">
11128
<summary>
11129
8
11130
</summary>
11131
</member>
11132
<member name="F:Tao.Sdl.Sdl.SDLK_9">
11133
<summary>
11134
9
11135
</summary>
11136
</member>
11137
<member name="F:Tao.Sdl.Sdl.SDLK_COLON">
11138
<summary>
11139
colon. ':'
11140
</summary>
11141
</member>
11142
<member name="F:Tao.Sdl.Sdl.SDLK_SEMICOLON">
11143
<summary>
11144
semicolon. ';'
11145
</summary>
11146
</member>
11147
<member name="F:Tao.Sdl.Sdl.SDLK_LESS">
11148
<summary>
11149
less-than sign. '&lt;'
11150
</summary>
11151
</member>
11152
<member name="F:Tao.Sdl.Sdl.SDLK_EQUALS">
11153
<summary>
11154
equals sign. '='
11155
</summary>
11156
</member>
11157
<member name="F:Tao.Sdl.Sdl.SDLK_GREATER">
11158
<summary>
11159
greater-than sign. '&gt;'
11160
</summary>
11161
</member>
11162
<member name="F:Tao.Sdl.Sdl.SDLK_QUESTION">
11163
<summary>
11164
question mark. '?'
11165
</summary>
11166
</member>
11167
<member name="F:Tao.Sdl.Sdl.SDLK_AT">
11168
<summary>
11169
at. '@'
11170
</summary>
11171
</member>
11172
<member name="F:Tao.Sdl.Sdl.SDLK_LEFTBRACKET">
11173
<summary>
11174
left bracket. '['
11175
</summary>
11176
</member>
11177
<member name="F:Tao.Sdl.Sdl.SDLK_BACKSLASH">
11178
<summary>
11179
backslash. '\'
11180
</summary>
11181
</member>
11182
<member name="F:Tao.Sdl.Sdl.SDLK_RIGHTBRACKET">
11183
<summary>
11184
right bracket. ']'
11185
</summary>
11186
</member>
11187
<member name="F:Tao.Sdl.Sdl.SDLK_CARET">
11188
<summary>
11189
caret. '^'
11190
</summary>
11191
</member>
11192
<member name="F:Tao.Sdl.Sdl.SDLK_UNDERSCORE">
11193
<summary>
11194
underscore.'_'
11195
</summary>
11196
</member>
11197
<member name="F:Tao.Sdl.Sdl.SDLK_BACKQUOTE">
11198
<summary>
11199
grave. '`'
11200
</summary>
11201
</member>
11202
<member name="F:Tao.Sdl.Sdl.SDLK_a">
11203
<summary>
11204
a
11205
</summary>
11206
</member>
11207
<member name="F:Tao.Sdl.Sdl.SDLK_b">
11208
<summary>
11209
b
11210
</summary>
11211
</member>
11212
<member name="F:Tao.Sdl.Sdl.SDLK_c">
11213
<summary>
11214
c
11215
</summary>
11216
</member>
11217
<member name="F:Tao.Sdl.Sdl.SDLK_d">
11218
<summary>
11219
d
11220
</summary>
11221
</member>
11222
<member name="F:Tao.Sdl.Sdl.SDLK_e">
11223
<summary>
11224
e
11225
</summary>
11226
</member>
11227
<member name="F:Tao.Sdl.Sdl.SDLK_f">
11228
<summary>
11229
f
11230
</summary>
11231
</member>
11232
<member name="F:Tao.Sdl.Sdl.SDLK_g">
11233
<summary>
11234
g
11235
</summary>
11236
</member>
11237
<member name="F:Tao.Sdl.Sdl.SDLK_h">
11238
<summary>
11239
h
11240
</summary>
11241
</member>
11242
<member name="F:Tao.Sdl.Sdl.SDLK_i">
11243
<summary>
11244
i
11245
</summary>
11246
</member>
11247
<member name="F:Tao.Sdl.Sdl.SDLK_j">
11248
<summary>
11249
j
11250
</summary>
11251
</member>
11252
<member name="F:Tao.Sdl.Sdl.SDLK_k">
11253
<summary>
11254
k
11255
</summary>
11256
</member>
11257
<member name="F:Tao.Sdl.Sdl.SDLK_l">
11258
<summary>
11259
l
11260
</summary>
11261
</member>
11262
<member name="F:Tao.Sdl.Sdl.SDLK_m">
11263
<summary>
11264
m
11265
</summary>
11266
</member>
11267
<member name="F:Tao.Sdl.Sdl.SDLK_n">
11268
<summary>
11269
n
11270
</summary>
11271
</member>
11272
<member name="F:Tao.Sdl.Sdl.SDLK_o">
11273
<summary>
11274
o
11275
</summary>
11276
</member>
11277
<member name="F:Tao.Sdl.Sdl.SDLK_p">
11278
<summary>
11279
p
11280
</summary>
11281
</member>
11282
<member name="F:Tao.Sdl.Sdl.SDLK_q">
11283
<summary>
11284
q
11285
</summary>
11286
</member>
11287
<member name="F:Tao.Sdl.Sdl.SDLK_r">
11288
<summary>
11289
r
11290
</summary>
11291
</member>
11292
<member name="F:Tao.Sdl.Sdl.SDLK_s">
11293
<summary>
11294
s
11295
</summary>
11296
</member>
11297
<member name="F:Tao.Sdl.Sdl.SDLK_t">
11298
<summary>
11299
t
11300
</summary>
11301
</member>
11302
<member name="F:Tao.Sdl.Sdl.SDLK_u">
11303
<summary>
11304
u
11305
</summary>
11306
</member>
11307
<member name="F:Tao.Sdl.Sdl.SDLK_v">
11308
<summary>
11309
v
11310
</summary>
11311
</member>
11312
<member name="F:Tao.Sdl.Sdl.SDLK_w">
11313
<summary>
11314
w
11315
</summary>
11316
</member>
11317
<member name="F:Tao.Sdl.Sdl.SDLK_x">
11318
<summary>
11319
x
11320
</summary>
11321
</member>
11322
<member name="F:Tao.Sdl.Sdl.SDLK_y">
11323
<summary>
11324
y
11325
</summary>
11326
</member>
11327
<member name="F:Tao.Sdl.Sdl.SDLK_z">
11328
<summary>
11329
z
11330
</summary>
11331
</member>
11332
<member name="F:Tao.Sdl.Sdl.SDLK_DELETE">
11333
<summary>
11334
delete. '^?'
11335
</summary>
11336
</member>
11337
<member name="F:Tao.Sdl.Sdl.SDLK_WORLD_0">
11338
<summary>
11339
0xA0
11340
</summary>
11341
</member>
11342
<member name="F:Tao.Sdl.Sdl.SDLK_WORLD_1">
11343
<summary>
11344
11345
</summary>
11346
</member>
11347
<member name="F:Tao.Sdl.Sdl.SDLK_WORLD_2">
11348
<summary>
11349
11350
</summary>
11351
</member>
11352
<member name="F:Tao.Sdl.Sdl.SDLK_WORLD_3">
11353
<summary>
11354
11355
</summary>
11356
</member>
11357
<member name="F:Tao.Sdl.Sdl.SDLK_WORLD_4">
11358
<summary>
11359
11360
</summary>
11361
</member>
11362
<member name="F:Tao.Sdl.Sdl.SDLK_WORLD_5">
11363
<summary>
11364
11365
</summary>
11366
</member>
11367
<member name="F:Tao.Sdl.Sdl.SDLK_WORLD_6">
11368
<summary>
11369
11370
</summary>
11371
</member>
11372
<member name="F:Tao.Sdl.Sdl.SDLK_WORLD_7">
11373
<summary>
11374
11375
</summary>
11376
</member>
11377
<member name="F:Tao.Sdl.Sdl.SDLK_WORLD_8">
11378
<summary>
11379
11380
</summary>
11381
</member>
11382
<member name="F:Tao.Sdl.Sdl.SDLK_WORLD_9">
11383
<summary>
11384
11385
</summary>
11386
</member>
11387
<member name="F:Tao.Sdl.Sdl.SDLK_WORLD_10">
11388
<summary>
11389
11390
</summary>
11391
</member>
11392
<member name="F:Tao.Sdl.Sdl.SDLK_WORLD_11">
11393
<summary>
11394
11395
</summary>
11396
</member>
11397
<member name="F:Tao.Sdl.Sdl.SDLK_WORLD_12">
11398
<summary>
11399
11400
</summary>
11401
</member>
11402
<member name="F:Tao.Sdl.Sdl.SDLK_WORLD_13">
11403
<summary>
11404
11405
</summary>
11406
</member>
11407
<member name="F:Tao.Sdl.Sdl.SDLK_WORLD_14">
11408
<summary>
11409
11410
</summary>
11411
</member>
11412
<member name="F:Tao.Sdl.Sdl.SDLK_WORLD_15">
11413
<summary>
11414
11415
</summary>
11416
</member>
11417
<member name="F:Tao.Sdl.Sdl.SDLK_WORLD_16">
11418
<summary>
11419
11420
</summary>
11421
</member>
11422
<member name="F:Tao.Sdl.Sdl.SDLK_WORLD_17">
11423
<summary>
11424
11425
</summary>
11426
</member>
11427
<member name="F:Tao.Sdl.Sdl.SDLK_WORLD_18">
11428
<summary>
11429
11430
</summary>
11431
</member>
11432
<member name="F:Tao.Sdl.Sdl.SDLK_WORLD_19">
11433
<summary>
11434
11435
</summary>
11436
</member>
11437
<member name="F:Tao.Sdl.Sdl.SDLK_WORLD_20">
11438
<summary>
11439
11440
</summary>
11441
</member>
11442
<member name="F:Tao.Sdl.Sdl.SDLK_WORLD_21">
11443
<summary>
11444
11445
</summary>
11446
</member>
11447
<member name="F:Tao.Sdl.Sdl.SDLK_WORLD_22">
11448
<summary>
11449
11450
</summary>
11451
</member>
11452
<member name="F:Tao.Sdl.Sdl.SDLK_WORLD_23">
11453
<summary>
11454
11455
</summary>
11456
</member>
11457
<member name="F:Tao.Sdl.Sdl.SDLK_WORLD_24">
11458
<summary>
11459
11460
</summary>
11461
</member>
11462
<member name="F:Tao.Sdl.Sdl.SDLK_WORLD_25">
11463
<summary>
11464
11465
</summary>
11466
</member>
11467
<member name="F:Tao.Sdl.Sdl.SDLK_WORLD_26">
11468
<summary>
11469
11470
</summary>
11471
</member>
11472
<member name="F:Tao.Sdl.Sdl.SDLK_WORLD_27">
11473
<summary>
11474
11475
</summary>
11476
</member>
11477
<member name="F:Tao.Sdl.Sdl.SDLK_WORLD_28">
11478
<summary>
11479
11480
</summary>
11481
</member>
11482
<member name="F:Tao.Sdl.Sdl.SDLK_WORLD_29">
11483
<summary>
11484
11485
</summary>
11486
</member>
11487
<member name="F:Tao.Sdl.Sdl.SDLK_WORLD_30">
11488
<summary>
11489
11490
</summary>
11491
</member>
11492
<member name="F:Tao.Sdl.Sdl.SDLK_WORLD_31">
11493
<summary>
11494
11495
</summary>
11496
</member>
11497
<member name="F:Tao.Sdl.Sdl.SDLK_WORLD_32">
11498
<summary>
11499
11500
</summary>
11501
</member>
11502
<member name="F:Tao.Sdl.Sdl.SDLK_WORLD_33">
11503
<summary>
11504
11505
</summary>
11506
</member>
11507
<member name="F:Tao.Sdl.Sdl.SDLK_WORLD_34">
11508
<summary>
11509
11510
</summary>
11511
</member>
11512
<member name="F:Tao.Sdl.Sdl.SDLK_WORLD_35">
11513
<summary>
11514
11515
</summary>
11516
</member>
11517
<member name="F:Tao.Sdl.Sdl.SDLK_WORLD_36">
11518
<summary>
11519
11520
</summary>
11521
</member>
11522
<member name="F:Tao.Sdl.Sdl.SDLK_WORLD_37">
11523
<summary>
11524
11525
</summary>
11526
</member>
11527
<member name="F:Tao.Sdl.Sdl.SDLK_WORLD_38">
11528
<summary>
11529
11530
</summary>
11531
</member>
11532
<member name="F:Tao.Sdl.Sdl.SDLK_WORLD_39">
11533
<summary>
11534
11535
</summary>
11536
</member>
11537
<member name="F:Tao.Sdl.Sdl.SDLK_WORLD_40">
11538
<summary>
11539
11540
</summary>
11541
</member>
11542
<member name="F:Tao.Sdl.Sdl.SDLK_WORLD_41">
11543
<summary>
11544
11545
</summary>
11546
</member>
11547
<member name="F:Tao.Sdl.Sdl.SDLK_WORLD_42">
11548
<summary>
11549
11550
</summary>
11551
</member>
11552
<member name="F:Tao.Sdl.Sdl.SDLK_WORLD_43">
11553
<summary>
11554
11555
</summary>
11556
</member>
11557
<member name="F:Tao.Sdl.Sdl.SDLK_WORLD_44">
11558
<summary>
11559
11560
</summary>
11561
</member>
11562
<member name="F:Tao.Sdl.Sdl.SDLK_WORLD_45">
11563
<summary>
11564
11565
</summary>
11566
</member>
11567
<member name="F:Tao.Sdl.Sdl.SDLK_WORLD_46">
11568
<summary>
11569
11570
</summary>
11571
</member>
11572
<member name="F:Tao.Sdl.Sdl.SDLK_WORLD_47">
11573
<summary>
11574
11575
</summary>
11576
</member>
11577
<member name="F:Tao.Sdl.Sdl.SDLK_WORLD_48">
11578
<summary>
11579
11580
</summary>
11581
</member>
11582
<member name="F:Tao.Sdl.Sdl.SDLK_WORLD_49">
11583
<summary>
11584
11585
</summary>
11586
</member>
11587
<member name="F:Tao.Sdl.Sdl.SDLK_WORLD_50">
11588
<summary>
11589
11590
</summary>
11591
</member>
11592
<member name="F:Tao.Sdl.Sdl.SDLK_WORLD_51">
11593
<summary>
11594
11595
</summary>
11596
</member>
11597
<member name="F:Tao.Sdl.Sdl.SDLK_WORLD_52">
11598
<summary>
11599
11600
</summary>
11601
</member>
11602
<member name="F:Tao.Sdl.Sdl.SDLK_WORLD_53">
11603
<summary>
11604
11605
</summary>
11606
</member>
11607
<member name="F:Tao.Sdl.Sdl.SDLK_WORLD_54">
11608
<summary>
11609
11610
</summary>
11611
</member>
11612
<member name="F:Tao.Sdl.Sdl.SDLK_WORLD_55">
11613
<summary>
11614
11615
</summary>
11616
</member>
11617
<member name="F:Tao.Sdl.Sdl.SDLK_WORLD_56">
11618
<summary>
11619
11620
</summary>
11621
</member>
11622
<member name="F:Tao.Sdl.Sdl.SDLK_WORLD_57">
11623
<summary>
11624
11625
</summary>
11626
</member>
11627
<member name="F:Tao.Sdl.Sdl.SDLK_WORLD_58">
11628
<summary>
11629
11630
</summary>
11631
</member>
11632
<member name="F:Tao.Sdl.Sdl.SDLK_WORLD_59">
11633
<summary>
11634
11635
</summary>
11636
</member>
11637
<member name="F:Tao.Sdl.Sdl.SDLK_WORLD_60">
11638
<summary>
11639
11640
</summary>
11641
</member>
11642
<member name="F:Tao.Sdl.Sdl.SDLK_WORLD_61">
11643
<summary>
11644
11645
</summary>
11646
</member>
11647
<member name="F:Tao.Sdl.Sdl.SDLK_WORLD_62">
11648
<summary>
11649
11650
</summary>
11651
</member>
11652
<member name="F:Tao.Sdl.Sdl.SDLK_WORLD_63">
11653
<summary>
11654
11655
</summary>
11656
</member>
11657
<member name="F:Tao.Sdl.Sdl.SDLK_WORLD_64">
11658
<summary>
11659
11660
</summary>
11661
</member>
11662
<member name="F:Tao.Sdl.Sdl.SDLK_WORLD_65">
11663
<summary>
11664
11665
</summary>
11666
</member>
11667
<member name="F:Tao.Sdl.Sdl.SDLK_WORLD_66">
11668
<summary>
11669
11670
</summary>
11671
</member>
11672
<member name="F:Tao.Sdl.Sdl.SDLK_WORLD_67">
11673
<summary>
11674
11675
</summary>
11676
</member>
11677
<member name="F:Tao.Sdl.Sdl.SDLK_WORLD_68">
11678
<summary>
11679
11680
</summary>
11681
</member>
11682
<member name="F:Tao.Sdl.Sdl.SDLK_WORLD_69">
11683
<summary>
11684
11685
</summary>
11686
</member>
11687
<member name="F:Tao.Sdl.Sdl.SDLK_WORLD_70">
11688
<summary>
11689
11690
</summary>
11691
</member>
11692
<member name="F:Tao.Sdl.Sdl.SDLK_WORLD_71">
11693
<summary>
11694
11695
</summary>
11696
</member>
11697
<member name="F:Tao.Sdl.Sdl.SDLK_WORLD_72">
11698
<summary>
11699
11700
</summary>
11701
</member>
11702
<member name="F:Tao.Sdl.Sdl.SDLK_WORLD_73">
11703
<summary>
11704
11705
</summary>
11706
</member>
11707
<member name="F:Tao.Sdl.Sdl.SDLK_WORLD_74">
11708
<summary>
11709
11710
</summary>
11711
</member>
11712
<member name="F:Tao.Sdl.Sdl.SDLK_WORLD_75">
11713
<summary>
11714
11715
</summary>
11716
</member>
11717
<member name="F:Tao.Sdl.Sdl.SDLK_WORLD_76">
11718
<summary>
11719
11720
</summary>
11721
</member>
11722
<member name="F:Tao.Sdl.Sdl.SDLK_WORLD_77">
11723
<summary>
11724
11725
</summary>
11726
</member>
11727
<member name="F:Tao.Sdl.Sdl.SDLK_WORLD_78">
11728
<summary>
11729
11730
</summary>
11731
</member>
11732
<member name="F:Tao.Sdl.Sdl.SDLK_WORLD_79">
11733
<summary>
11734
11735
</summary>
11736
</member>
11737
<member name="F:Tao.Sdl.Sdl.SDLK_WORLD_80">
11738
<summary>
11739
11740
</summary>
11741
</member>
11742
<member name="F:Tao.Sdl.Sdl.SDLK_WORLD_81">
11743
<summary>
11744
11745
</summary>
11746
</member>
11747
<member name="F:Tao.Sdl.Sdl.SDLK_WORLD_82">
11748
<summary>
11749
11750
</summary>
11751
</member>
11752
<member name="F:Tao.Sdl.Sdl.SDLK_WORLD_83">
11753
<summary>
11754
11755
</summary>
11756
</member>
11757
<member name="F:Tao.Sdl.Sdl.SDLK_WORLD_84">
11758
<summary>
11759
11760
</summary>
11761
</member>
11762
<member name="F:Tao.Sdl.Sdl.SDLK_WORLD_85">
11763
<summary>
11764
11765
</summary>
11766
</member>
11767
<member name="F:Tao.Sdl.Sdl.SDLK_WORLD_86">
11768
<summary>
11769
11770
</summary>
11771
</member>
11772
<member name="F:Tao.Sdl.Sdl.SDLK_WORLD_87">
11773
<summary>
11774
11775
</summary>
11776
</member>
11777
<member name="F:Tao.Sdl.Sdl.SDLK_WORLD_88">
11778
<summary>
11779
11780
</summary>
11781
</member>
11782
<member name="F:Tao.Sdl.Sdl.SDLK_WORLD_89">
11783
<summary>
11784
11785
</summary>
11786
</member>
11787
<member name="F:Tao.Sdl.Sdl.SDLK_WORLD_90">
11788
<summary>
11789
11790
</summary>
11791
</member>
11792
<member name="F:Tao.Sdl.Sdl.SDLK_WORLD_91">
11793
<summary>
11794
11795
</summary>
11796
</member>
11797
<member name="F:Tao.Sdl.Sdl.SDLK_WORLD_92">
11798
<summary>
11799
11800
</summary>
11801
</member>
11802
<member name="F:Tao.Sdl.Sdl.SDLK_WORLD_93">
11803
<summary>
11804
11805
</summary>
11806
</member>
11807
<member name="F:Tao.Sdl.Sdl.SDLK_WORLD_94">
11808
<summary>
11809
11810
</summary>
11811
</member>
11812
<member name="F:Tao.Sdl.Sdl.SDLK_WORLD_95">
11813
<summary>
11814
0xFF
11815
</summary>
11816
</member>
11817
<member name="F:Tao.Sdl.Sdl.SDLK_KP0">
11818
<summary>
11819
keypad 0
11820
</summary>
11821
</member>
11822
<member name="F:Tao.Sdl.Sdl.SDLK_KP1">
11823
<summary>
11824
keypad 1
11825
</summary>
11826
</member>
11827
<member name="F:Tao.Sdl.Sdl.SDLK_KP2">
11828
<summary>
11829
keypad 2
11830
</summary>
11831
</member>
11832
<member name="F:Tao.Sdl.Sdl.SDLK_KP3">
11833
<summary>
11834
keypad 3
11835
</summary>
11836
</member>
11837
<member name="F:Tao.Sdl.Sdl.SDLK_KP4">
11838
<summary>
11839
keypad 4
11840
</summary>
11841
</member>
11842
<member name="F:Tao.Sdl.Sdl.SDLK_KP5">
11843
<summary>
11844
keypad 5
11845
</summary>
11846
</member>
11847
<member name="F:Tao.Sdl.Sdl.SDLK_KP6">
11848
<summary>
11849
keypad 6
11850
</summary>
11851
</member>
11852
<member name="F:Tao.Sdl.Sdl.SDLK_KP7">
11853
<summary>
11854
keypad 7
11855
</summary>
11856
</member>
11857
<member name="F:Tao.Sdl.Sdl.SDLK_KP8">
11858
<summary>
11859
keypad 8
11860
</summary>
11861
</member>
11862
<member name="F:Tao.Sdl.Sdl.SDLK_KP9">
11863
<summary>
11864
keypad 9
11865
</summary>
11866
</member>
11867
<member name="F:Tao.Sdl.Sdl.SDLK_KP_PERIOD">
11868
<summary>
11869
keypad period. '.'
11870
</summary>
11871
</member>
11872
<member name="F:Tao.Sdl.Sdl.SDLK_KP_DIVIDE">
11873
<summary>
11874
keypad divide. '/'
11875
</summary>
11876
</member>
11877
<member name="F:Tao.Sdl.Sdl.SDLK_KP_MULTIPLY">
11878
<summary>
11879
keypad multiply. '*'
11880
</summary>
11881
</member>
11882
<member name="F:Tao.Sdl.Sdl.SDLK_KP_MINUS">
11883
<summary>
11884
keypad minus. '-'
11885
</summary>
11886
</member>
11887
<member name="F:Tao.Sdl.Sdl.SDLK_KP_PLUS">
11888
<summary>
11889
keypad plus. '+'
11890
</summary>
11891
</member>
11892
<member name="F:Tao.Sdl.Sdl.SDLK_KP_ENTER">
11893
<summary>
11894
keypad enter. '\r'
11895
</summary>
11896
</member>
11897
<member name="F:Tao.Sdl.Sdl.SDLK_KP_EQUALS">
11898
<summary>
11899
keypad equals. '='
11900
</summary>
11901
</member>
11902
<member name="F:Tao.Sdl.Sdl.SDLK_UP">
11903
<summary>
11904
up arrow
11905
</summary>
11906
</member>
11907
<member name="F:Tao.Sdl.Sdl.SDLK_DOWN">
11908
<summary>
11909
down arrow
11910
</summary>
11911
</member>
11912
<member name="F:Tao.Sdl.Sdl.SDLK_RIGHT">
11913
<summary>
11914
right arrow
11915
</summary>
11916
</member>
11917
<member name="F:Tao.Sdl.Sdl.SDLK_LEFT">
11918
<summary>
11919
left arrow
11920
</summary>
11921
</member>
11922
<member name="F:Tao.Sdl.Sdl.SDLK_INSERT">
11923
<summary>
11924
insert
11925
</summary>
11926
</member>
11927
<member name="F:Tao.Sdl.Sdl.SDLK_HOME">
11928
<summary>
11929
home
11930
</summary>
11931
</member>
11932
<member name="F:Tao.Sdl.Sdl.SDLK_END">
11933
<summary>
11934
end
11935
</summary>
11936
</member>
11937
<member name="F:Tao.Sdl.Sdl.SDLK_PAGEUP">
11938
<summary>
11939
page up
11940
</summary>
11941
</member>
11942
<member name="F:Tao.Sdl.Sdl.SDLK_PAGEDOWN">
11943
<summary>
11944
page down
11945
</summary>
11946
</member>
11947
<member name="F:Tao.Sdl.Sdl.SDLK_F1">
11948
<summary>
11949
F1
11950
</summary>
11951
</member>
11952
<member name="F:Tao.Sdl.Sdl.SDLK_F2">
11953
<summary>
11954
F2
11955
</summary>
11956
</member>
11957
<member name="F:Tao.Sdl.Sdl.SDLK_F3">
11958
<summary>
11959
F3
11960
</summary>
11961
</member>
11962
<member name="F:Tao.Sdl.Sdl.SDLK_F4">
11963
<summary>
11964
F4
11965
</summary>
11966
</member>
11967
<member name="F:Tao.Sdl.Sdl.SDLK_F5">
11968
<summary>
11969
F5
11970
</summary>
11971
</member>
11972
<member name="F:Tao.Sdl.Sdl.SDLK_F6">
11973
<summary>
11974
F6
11975
</summary>
11976
</member>
11977
<member name="F:Tao.Sdl.Sdl.SDLK_F7">
11978
<summary>
11979
F7
11980
</summary>
11981
</member>
11982
<member name="F:Tao.Sdl.Sdl.SDLK_F8">
11983
<summary>
11984
F8
11985
</summary>
11986
</member>
11987
<member name="F:Tao.Sdl.Sdl.SDLK_F9">
11988
<summary>
11989
F9
11990
</summary>
11991
</member>
11992
<member name="F:Tao.Sdl.Sdl.SDLK_F10">
11993
<summary>
11994
F10
11995
</summary>
11996
</member>
11997
<member name="F:Tao.Sdl.Sdl.SDLK_F11">
11998
<summary>
11999
F11
12000
</summary>
12001
</member>
12002
<member name="F:Tao.Sdl.Sdl.SDLK_F12">
12003
<summary>
12004
F12
12005
</summary>
12006
</member>
12007
<member name="F:Tao.Sdl.Sdl.SDLK_F13">
12008
<summary>
12009
F13
12010
</summary>
12011
</member>
12012
<member name="F:Tao.Sdl.Sdl.SDLK_F14">
12013
<summary>
12014
F14
12015
</summary>
12016
</member>
12017
<member name="F:Tao.Sdl.Sdl.SDLK_F15">
12018
<summary>
12019
F15
12020
</summary>
12021
</member>
12022
<member name="F:Tao.Sdl.Sdl.SDLK_NUMLOCK">
12023
<summary>
12024
numlock
12025
</summary>
12026
</member>
12027
<member name="F:Tao.Sdl.Sdl.SDLK_CAPSLOCK">
12028
<summary>
12029
capslock
12030
</summary>
12031
</member>
12032
<member name="F:Tao.Sdl.Sdl.SDLK_SCROLLOCK">
12033
<summary>
12034
scrollock
12035
</summary>
12036
</member>
12037
<member name="F:Tao.Sdl.Sdl.SDLK_RSHIFT">
12038
<summary>
12039
right shift
12040
</summary>
12041
</member>
12042
<member name="F:Tao.Sdl.Sdl.SDLK_LSHIFT">
12043
<summary>
12044
left shift
12045
</summary>
12046
</member>
12047
<member name="F:Tao.Sdl.Sdl.SDLK_RCTRL">
12048
<summary>
12049
right ctrl
12050
</summary>
12051
</member>
12052
<member name="F:Tao.Sdl.Sdl.SDLK_LCTRL">
12053
<summary>
12054
left ctrl
12055
</summary>
12056
</member>
12057
<member name="F:Tao.Sdl.Sdl.SDLK_RALT">
12058
<summary>
12059
right alt
12060
</summary>
12061
</member>
12062
<member name="F:Tao.Sdl.Sdl.SDLK_LALT">
12063
<summary>
12064
left alt
12065
</summary>
12066
</member>
12067
<member name="F:Tao.Sdl.Sdl.SDLK_RMETA">
12068
<summary>
12069
right meta
12070
</summary>
12071
</member>
12072
<member name="F:Tao.Sdl.Sdl.SDLK_LMETA">
12073
<summary>
12074
left meta
12075
</summary>
12076
</member>
12077
<member name="F:Tao.Sdl.Sdl.SDLK_LSUPER">
12078
<summary>
12079
Left "Windows" key
12080
</summary>
12081
</member>
12082
<member name="F:Tao.Sdl.Sdl.SDLK_RSUPER">
12083
<summary>
12084
Right "Windows" key
12085
</summary>
12086
</member>
12087
<member name="F:Tao.Sdl.Sdl.SDLK_MODE">
12088
<summary>
12089
"Alt Gr" key. Mode key
12090
</summary>
12091
</member>
12092
<member name="F:Tao.Sdl.Sdl.SDLK_COMPOSE">
12093
<summary>
12094
Multi-key compose key
12095
</summary>
12096
</member>
12097
<member name="F:Tao.Sdl.Sdl.SDLK_HELP">
12098
<summary>
12099
help
12100
</summary>
12101
</member>
12102
<member name="F:Tao.Sdl.Sdl.SDLK_PRINT">
12103
<summary>
12104
print-screen
12105
</summary>
12106
</member>
12107
<member name="F:Tao.Sdl.Sdl.SDLK_SYSREQ">
12108
<summary>
12109
SysRq
12110
</summary>
12111
</member>
12112
<member name="F:Tao.Sdl.Sdl.SDLK_BREAK">
12113
<summary>
12114
break
12115
</summary>
12116
</member>
12117
<member name="F:Tao.Sdl.Sdl.SDLK_MENU">
12118
<summary>
12119
menu
12120
</summary>
12121
</member>
12122
<member name="F:Tao.Sdl.Sdl.SDLK_POWER">
12123
<summary>
12124
Power Macintosh power key
12125
</summary>
12126
</member>
12127
<member name="F:Tao.Sdl.Sdl.SDLK_EURO">
12128
<summary>
12129
Some european keyboards
12130
</summary>
12131
</member>
12132
<member name="F:Tao.Sdl.Sdl.SDLK_UNDO">
12133
<summary>
12134
Atari keyboard has Undo
12135
</summary>
12136
</member>
12137
<member name="F:Tao.Sdl.Sdl.SDLK_LAST">
12138
<summary>
12139
12140
</summary>
12141
</member>
12142
<member name="F:Tao.Sdl.Sdl.KMOD_NONE">
12143
<summary>
12144
No modifiers applicable
12145
</summary>
12146
<remarks>
12147
Enumeration of valid key mods (possibly OR'd together)
12148
</remarks>
12149
</member>
12150
<member name="F:Tao.Sdl.Sdl.KMOD_LSHIFT">
12151
<summary>
12152
Left Shift is down
12153
</summary>
12154
<remarks>
12155
Enumeration of valid key mods (possibly OR'd together)
12156
</remarks>
12157
</member>
12158
<member name="F:Tao.Sdl.Sdl.KMOD_RSHIFT">
12159
<summary>
12160
Right Shift is down
12161
</summary>
12162
<remarks>
12163
Enumeration of valid key mods (possibly OR'd together)
12164
</remarks>
12165
</member>
12166
<member name="F:Tao.Sdl.Sdl.KMOD_LCTRL">
12167
<summary>
12168
Left Control is down
12169
</summary>
12170
<remarks>
12171
Enumeration of valid key mods (possibly OR'd together)
12172
</remarks>
12173
</member>
12174
<member name="F:Tao.Sdl.Sdl.KMOD_RCTRL">
12175
<summary>
12176
Right Control is down
12177
</summary>
12178
<remarks>
12179
Enumeration of valid key mods (possibly OR'd together)
12180
</remarks>
12181
</member>
12182
<member name="F:Tao.Sdl.Sdl.KMOD_LALT">
12183
<summary>
12184
Left Alt is down
12185
</summary>
12186
<remarks>
12187
Enumeration of valid key mods (possibly OR'd together)
12188
</remarks>
12189
</member>
12190
<member name="F:Tao.Sdl.Sdl.KMOD_RALT">
12191
<summary>
12192
Right Alt is down
12193
</summary>
12194
<remarks>
12195
Enumeration of valid key mods (possibly OR'd together)
12196
</remarks>
12197
</member>
12198
<member name="F:Tao.Sdl.Sdl.KMOD_LMETA">
12199
<summary>
12200
Left Meta is down
12201
</summary>
12202
<remarks>
12203
Enumeration of valid key mods (possibly OR'd together)
12204
</remarks>
12205
</member>
12206
<member name="F:Tao.Sdl.Sdl.KMOD_RMETA">
12207
<summary>
12208
Right Meta is down
12209
</summary>
12210
<remarks>
12211
Enumeration of valid key mods (possibly OR'd together)
12212
</remarks>
12213
</member>
12214
<member name="F:Tao.Sdl.Sdl.KMOD_NUM">
12215
<summary>
12216
Numlock is down
12217
</summary>
12218
<remarks>
12219
Enumeration of valid key mods (possibly OR'd together)
12220
</remarks>
12221
</member>
12222
<member name="F:Tao.Sdl.Sdl.KMOD_CAPS">
12223
<summary>
12224
Capslock is down
12225
</summary>
12226
<remarks>
12227
Enumeration of valid key mods (possibly OR'd together)
12228
</remarks>
12229
</member>
12230
<member name="F:Tao.Sdl.Sdl.KMOD_MODE">
12231
<summary>
12232
12233
</summary>
12234
<remarks>
12235
Enumeration of valid key mods (possibly OR'd together)
12236
</remarks>
12237
</member>
12238
<member name="F:Tao.Sdl.Sdl.KMOD_RESERVED">
12239
<summary>
12240
12241
</summary>
12242
<remarks>
12243
Enumeration of valid key mods (possibly OR'd together)
12244
</remarks>
12245
</member>
12246
<member name="F:Tao.Sdl.Sdl.SDL_FALSE">
12247
<summary>
12248
12249
</summary>
12250
</member>
12251
<member name="F:Tao.Sdl.Sdl.SDL_TRUE">
12252
<summary>
12253
12254
</summary>
12255
</member>
12256
<member name="F:Tao.Sdl.Sdl.SDL_SYSWM_X11">
12257
<summary>
12258
12259
</summary>
12260
</member>
12261
<member name="F:Tao.Sdl.Sdl.SDL_GL_RED_SIZE">
12262
<summary>
12263
Size of the framebuffer red component, in bits
12264
Public enumeration for setting the OpenGL window Attributes
12265
</summary>
12266
<remarks>
12267
While you can set most OpenGL attributes normally,
12268
the attributes list above must be known before SDL
12269
sets the video mode. These attributes a set and read
12270
with <see cref="M:Tao.Sdl.Sdl.SDL_GL_SetAttribute(System.Int32,System.Int32)"/> and
12271
<see cref="M:Tao.Sdl.Sdl.SDL_GL_GetAttribute(System.Int32,System.Int32@)"/>.
12272
</remarks>
12273
<seealso cref="M:Tao.Sdl.Sdl.SDL_GL_SetAttribute(System.Int32,System.Int32)"/>
12274
<seealso cref="M:Tao.Sdl.Sdl.SDL_GL_GetAttribute(System.Int32,System.Int32@)"/>
12275
</member>
12276
<member name="F:Tao.Sdl.Sdl.SDL_GL_GREEN_SIZE">
12277
<summary>
12278
Size of the framebuffer green component, in bits
12279
Public enumeration for setting the OpenGL window Attributes
12280
</summary>
12281
<remarks>
12282
While you can set most OpenGL attributes normally,
12283
the attributes list above must be known before SDL
12284
sets the video mode. These attributes a set and read
12285
with <see cref="M:Tao.Sdl.Sdl.SDL_GL_SetAttribute(System.Int32,System.Int32)"/> and
12286
<see cref="M:Tao.Sdl.Sdl.SDL_GL_GetAttribute(System.Int32,System.Int32@)"/>.
12287
</remarks>
12288
<seealso cref="M:Tao.Sdl.Sdl.SDL_GL_SetAttribute(System.Int32,System.Int32)"/>
12289
<seealso cref="M:Tao.Sdl.Sdl.SDL_GL_GetAttribute(System.Int32,System.Int32@)"/>
12290
</member>
12291
<member name="F:Tao.Sdl.Sdl.SDL_GL_BLUE_SIZE">
12292
<summary>
12293
Size of the framebuffer blue component, in bits
12294
Public enumeration for setting the OpenGL window Attributes
12295
</summary>
12296
<remarks>
12297
While you can set most OpenGL attributes normally,
12298
the attributes list above must be known before SDL
12299
sets the video mode. These attributes a set and read
12300
with <see cref="M:Tao.Sdl.Sdl.SDL_GL_SetAttribute(System.Int32,System.Int32)"/> and
12301
<see cref="M:Tao.Sdl.Sdl.SDL_GL_GetAttribute(System.Int32,System.Int32@)"/>.
12302
</remarks>
12303
<seealso cref="M:Tao.Sdl.Sdl.SDL_GL_SetAttribute(System.Int32,System.Int32)"/>
12304
<seealso cref="M:Tao.Sdl.Sdl.SDL_GL_GetAttribute(System.Int32,System.Int32@)"/>
12305
</member>
12306
<member name="F:Tao.Sdl.Sdl.SDL_GL_ALPHA_SIZE">
12307
<summary>
12308
Size of the framebuffer alpha component, in bits
12309
Public enumeration for setting the OpenGL window Attributes
12310
</summary>
12311
<remarks>
12312
While you can set most OpenGL attributes normally,
12313
the attributes list above must be known before SDL
12314
sets the video mode. These attributes a set and read
12315
with <see cref="M:Tao.Sdl.Sdl.SDL_GL_SetAttribute(System.Int32,System.Int32)"/> and
12316
<see cref="M:Tao.Sdl.Sdl.SDL_GL_GetAttribute(System.Int32,System.Int32@)"/>.
12317
Public enumeration for setting the OpenGL window Attributes
12318
While you can set most OpenGL attributes normally,
12319
the attributes list above must be known before SDL
12320
sets the video mode.
12321
</remarks>
12322
<seealso cref="M:Tao.Sdl.Sdl.SDL_GL_SetAttribute(System.Int32,System.Int32)"/>
12323
<seealso cref="M:Tao.Sdl.Sdl.SDL_GL_GetAttribute(System.Int32,System.Int32@)"/>
12324
</member>
12325
<member name="F:Tao.Sdl.Sdl.SDL_GL_BUFFER_SIZE">
12326
<summary>
12327
Size of the framebuffer, in bits
12328
Public enumeration for setting the OpenGL window Attributes
12329
</summary>
12330
<remarks>
12331
While you can set most OpenGL attributes normally,
12332
the attributes list above must be known before SDL
12333
sets the video mode. These attributes a set and read
12334
with <see cref="M:Tao.Sdl.Sdl.SDL_GL_SetAttribute(System.Int32,System.Int32)"/> and
12335
<see cref="M:Tao.Sdl.Sdl.SDL_GL_GetAttribute(System.Int32,System.Int32@)"/>.
12336
</remarks>
12337
<seealso cref="M:Tao.Sdl.Sdl.SDL_GL_SetAttribute(System.Int32,System.Int32)"/>
12338
<seealso cref="M:Tao.Sdl.Sdl.SDL_GL_GetAttribute(System.Int32,System.Int32@)"/>
12339
</member>
12340
<member name="F:Tao.Sdl.Sdl.SDL_GL_DOUBLEBUFFER">
12341
<summary>
12342
0 or 1, enable or disable double buffering
12343
Public enumeration for setting the OpenGL window Attributes
12344
</summary>
12345
<remarks>
12346
While you can set most OpenGL attributes normally,
12347
the attributes list above must be known before SDL
12348
sets the video mode. These attributes a set and read
12349
with <see cref="M:Tao.Sdl.Sdl.SDL_GL_SetAttribute(System.Int32,System.Int32)"/> and
12350
<see cref="M:Tao.Sdl.Sdl.SDL_GL_GetAttribute(System.Int32,System.Int32@)"/>.
12351
</remarks>
12352
<seealso cref="M:Tao.Sdl.Sdl.SDL_GL_SetAttribute(System.Int32,System.Int32)"/>
12353
<seealso cref="M:Tao.Sdl.Sdl.SDL_GL_GetAttribute(System.Int32,System.Int32@)"/>
12354
</member>
12355
<member name="F:Tao.Sdl.Sdl.SDL_GL_DEPTH_SIZE">
12356
<summary>
12357
Size of the depth buffer, in bits
12358
Public enumeration for setting the OpenGL window Attributes
12359
</summary>
12360
<remarks>
12361
While you can set most OpenGL attributes normally,
12362
the attributes list above must be known before SDL
12363
sets the video mode. These attributes a set and read
12364
with <see cref="M:Tao.Sdl.Sdl.SDL_GL_SetAttribute(System.Int32,System.Int32)"/> and
12365
<see cref="M:Tao.Sdl.Sdl.SDL_GL_GetAttribute(System.Int32,System.Int32@)"/>.
12366
</remarks>
12367
<seealso cref="M:Tao.Sdl.Sdl.SDL_GL_SetAttribute(System.Int32,System.Int32)"/>
12368
<seealso cref="M:Tao.Sdl.Sdl.SDL_GL_GetAttribute(System.Int32,System.Int32@)"/>
12369
</member>
12370
<member name="F:Tao.Sdl.Sdl.SDL_GL_STENCIL_SIZE">
12371
<summary>
12372
Size of the stencil buffer, in bits.
12373
Public enumeration for setting the OpenGL window Attributes
12374
</summary>
12375
<remarks>
12376
While you can set most OpenGL attributes normally,
12377
the attributes list above must be known before SDL
12378
sets the video mode. These attributes a set and read
12379
with <see cref="M:Tao.Sdl.Sdl.SDL_GL_SetAttribute(System.Int32,System.Int32)"/> and
12380
<see cref="M:Tao.Sdl.Sdl.SDL_GL_GetAttribute(System.Int32,System.Int32@)"/>.
12381
</remarks>
12382
<seealso cref="M:Tao.Sdl.Sdl.SDL_GL_SetAttribute(System.Int32,System.Int32)"/>
12383
<seealso cref="M:Tao.Sdl.Sdl.SDL_GL_GetAttribute(System.Int32,System.Int32@)"/>
12384
</member>
12385
<member name="F:Tao.Sdl.Sdl.SDL_GL_ACCUM_RED_SIZE">
12386
<summary>
12387
Size of the accumulation buffer red component, in bits.
12388
Public enumeration for setting the OpenGL window Attributes
12389
</summary>
12390
<remarks>
12391
While you can set most OpenGL attributes normally,
12392
the attributes list above must be known before SDL
12393
sets the video mode. These attributes a set and read
12394
with <see cref="M:Tao.Sdl.Sdl.SDL_GL_SetAttribute(System.Int32,System.Int32)"/> and
12395
<see cref="M:Tao.Sdl.Sdl.SDL_GL_GetAttribute(System.Int32,System.Int32@)"/>.
12396
</remarks>
12397
<seealso cref="M:Tao.Sdl.Sdl.SDL_GL_SetAttribute(System.Int32,System.Int32)"/>
12398
<seealso cref="M:Tao.Sdl.Sdl.SDL_GL_GetAttribute(System.Int32,System.Int32@)"/>
12399
</member>
12400
<member name="F:Tao.Sdl.Sdl.SDL_GL_ACCUM_GREEN_SIZE">
12401
<summary>
12402
Size of the accumulation buffer green component, in bits.
12403
Public enumeration for setting the OpenGL window Attributes
12404
</summary>
12405
<remarks>
12406
While you can set most OpenGL attributes normally,
12407
the attributes list above must be known before SDL
12408
sets the video mode. These attributes a set and read
12409
with <see cref="M:Tao.Sdl.Sdl.SDL_GL_SetAttribute(System.Int32,System.Int32)"/> and
12410
<see cref="M:Tao.Sdl.Sdl.SDL_GL_GetAttribute(System.Int32,System.Int32@)"/>.
12411
</remarks>
12412
<seealso cref="M:Tao.Sdl.Sdl.SDL_GL_SetAttribute(System.Int32,System.Int32)"/>
12413
<seealso cref="M:Tao.Sdl.Sdl.SDL_GL_GetAttribute(System.Int32,System.Int32@)"/>
12414
</member>
12415
<member name="F:Tao.Sdl.Sdl.SDL_GL_ACCUM_BLUE_SIZE">
12416
<summary>
12417
Size of the accumulation buffer blue component, in bits.
12418
Public enumeration for setting the OpenGL window Attributes
12419
</summary>
12420
<remarks>
12421
While you can set most OpenGL attributes normally,
12422
the attributes list above must be known before SDL
12423
sets the video mode. These attributes a set and read
12424
with <see cref="M:Tao.Sdl.Sdl.SDL_GL_SetAttribute(System.Int32,System.Int32)"/> and
12425
<see cref="M:Tao.Sdl.Sdl.SDL_GL_GetAttribute(System.Int32,System.Int32@)"/>.
12426
</remarks>
12427
<seealso cref="M:Tao.Sdl.Sdl.SDL_GL_SetAttribute(System.Int32,System.Int32)"/>
12428
<seealso cref="M:Tao.Sdl.Sdl.SDL_GL_GetAttribute(System.Int32,System.Int32@)"/>
12429
</member>
12430
<member name="F:Tao.Sdl.Sdl.SDL_GL_ACCUM_ALPHA_SIZE">
12431
<summary>
12432
Size of the accumulation buffer alpha component, in bits.
12433
Public enumeration for setting the OpenGL window Attributes
12434
</summary>
12435
<remarks>
12436
While you can set most OpenGL attributes normally,
12437
the attributes list above must be known before SDL
12438
sets the video mode. These attributes a set and read
12439
with <see cref="M:Tao.Sdl.Sdl.SDL_GL_SetAttribute(System.Int32,System.Int32)"/> and
12440
<see cref="M:Tao.Sdl.Sdl.SDL_GL_GetAttribute(System.Int32,System.Int32@)"/>.
12441
</remarks>
12442
<seealso cref="M:Tao.Sdl.Sdl.SDL_GL_SetAttribute(System.Int32,System.Int32)"/>
12443
<seealso cref="M:Tao.Sdl.Sdl.SDL_GL_GetAttribute(System.Int32,System.Int32@)"/>
12444
</member>
12445
<member name="F:Tao.Sdl.Sdl.SDL_GL_STEREO">
12446
<summary>
12447
Public enumeration for setting the OpenGL window Attributes
12448
</summary>
12449
<remarks>
12450
While you can set most OpenGL attributes normally,
12451
the attributes list above must be known before SDL
12452
sets the video mode. These attributes a set and read
12453
with <see cref="M:Tao.Sdl.Sdl.SDL_GL_SetAttribute(System.Int32,System.Int32)"/> and
12454
<see cref="M:Tao.Sdl.Sdl.SDL_GL_GetAttribute(System.Int32,System.Int32@)"/>.
12455
</remarks>
12456
<seealso cref="M:Tao.Sdl.Sdl.SDL_GL_SetAttribute(System.Int32,System.Int32)"/>
12457
<seealso cref="M:Tao.Sdl.Sdl.SDL_GL_GetAttribute(System.Int32,System.Int32@)"/>
12458
</member>
12459
<member name="F:Tao.Sdl.Sdl.SDL_GL_MULTISAMPLEBUFFERS">
12460
<summary>
12461
Public enumeration for setting the OpenGL window Attributes
12462
</summary>
12463
<remarks>
12464
While you can set most OpenGL attributes normally,
12465
the attributes list above must be known before SDL
12466
sets the video mode. These attributes a set and read
12467
with <see cref="M:Tao.Sdl.Sdl.SDL_GL_SetAttribute(System.Int32,System.Int32)"/> and
12468
<see cref="M:Tao.Sdl.Sdl.SDL_GL_GetAttribute(System.Int32,System.Int32@)"/>.
12469
</remarks>
12470
<seealso cref="M:Tao.Sdl.Sdl.SDL_GL_SetAttribute(System.Int32,System.Int32)"/>
12471
<seealso cref="M:Tao.Sdl.Sdl.SDL_GL_GetAttribute(System.Int32,System.Int32@)"/>
12472
</member>
12473
<member name="F:Tao.Sdl.Sdl.SDL_GL_MULTISAMPLESAMPLES">
12474
<summary>
12475
Public enumeration for setting the OpenGL window Attributes
12476
</summary>
12477
<remarks>
12478
While you can set most OpenGL attributes normally,
12479
the attributes list above must be known before SDL
12480
sets the video mode. These attributes a set and read
12481
with <see cref="M:Tao.Sdl.Sdl.SDL_GL_SetAttribute(System.Int32,System.Int32)"/> and
12482
<see cref="M:Tao.Sdl.Sdl.SDL_GL_GetAttribute(System.Int32,System.Int32@)"/>.
12483
</remarks>
12484
<seealso cref="M:Tao.Sdl.Sdl.SDL_GL_SetAttribute(System.Int32,System.Int32)"/>
12485
<seealso cref="M:Tao.Sdl.Sdl.SDL_GL_GetAttribute(System.Int32,System.Int32@)"/>
12486
</member>
12487
<member name="F:Tao.Sdl.Sdl.SDL_GL_ACCELERATED_VISUAL">
12488
<summary>
12489
Public enumeration for setting the OpenGL window Attributes
12490
</summary>
12491
<remarks>
12492
While you can set most OpenGL attributes normally,
12493
the attributes list above must be known before SDL
12494
sets the video mode. These attributes a set and read
12495
with <see cref="M:Tao.Sdl.Sdl.SDL_GL_SetAttribute(System.Int32,System.Int32)"/> and
12496
<see cref="M:Tao.Sdl.Sdl.SDL_GL_GetAttribute(System.Int32,System.Int32@)"/>.
12497
</remarks>
12498
<seealso cref="M:Tao.Sdl.Sdl.SDL_GL_SetAttribute(System.Int32,System.Int32)"/>
12499
<seealso cref="M:Tao.Sdl.Sdl.SDL_GL_GetAttribute(System.Int32,System.Int32@)"/>
12500
</member>
12501
<member name="F:Tao.Sdl.Sdl.SDL_GL_SWAP_CONTROL">
12502
<summary>
12503
Public enumeration for setting the OpenGL window Attributes
12504
</summary>
12505
<remarks>
12506
While you can set most OpenGL attributes normally,
12507
the attributes list above must be known before SDL
12508
sets the video mode. These attributes a set and read
12509
with <see cref="M:Tao.Sdl.Sdl.SDL_GL_SetAttribute(System.Int32,System.Int32)"/> and
12510
<see cref="M:Tao.Sdl.Sdl.SDL_GL_GetAttribute(System.Int32,System.Int32@)"/>.
12511
</remarks>
12512
<seealso cref="M:Tao.Sdl.Sdl.SDL_GL_SetAttribute(System.Int32,System.Int32)"/>
12513
<seealso cref="M:Tao.Sdl.Sdl.SDL_GL_GetAttribute(System.Int32,System.Int32@)"/>
12514
</member>
12515
<member name="F:Tao.Sdl.Sdl.SDL_GRAB_QUERY">
12516
<summary>
12517
Input grab state.
12518
</summary>
12519
<remarks>
12520
enum SDL_GrabMode.
12521
</remarks>
12522
<see cref="M:Tao.Sdl.Sdl.SDL_WM_GrabInput(System.Int32)"/>
12523
</member>
12524
<member name="F:Tao.Sdl.Sdl.SDL_GRAB_OFF">
12525
<summary>
12526
Input grab state.
12527
</summary>
12528
<remarks>
12529
enum SDL_GrabMode.
12530
</remarks>
12531
<see cref="M:Tao.Sdl.Sdl.SDL_WM_GrabInput(System.Int32)"/>
12532
</member>
12533
<member name="F:Tao.Sdl.Sdl.SDL_GRAB_ON">
12534
<summary>
12535
Input grab state.
12536
</summary>
12537
<remarks>
12538
enum SDL_GrabMode.
12539
</remarks>
12540
<see cref="M:Tao.Sdl.Sdl.SDL_WM_GrabInput(System.Int32)"/>
12541
</member>
12542
<member name="F:Tao.Sdl.Sdl.SDL_GRAB_FULLSCREEN">
12543
<summary>
12544
Input grab state.
12545
</summary>
12546
<remarks>
12547
enum SDL_GrabMode.
12548
</remarks>
12549
<see cref="M:Tao.Sdl.Sdl.SDL_WM_GrabInput(System.Int32)"/>
12550
</member>
12551
<member name="M:Tao.Sdl.Sdl.objc_getClass(System.String)">
12552
<summary>
12553
12554
</summary>
12555
<param name="name"></param>
12556
<returns></returns>
12557
</member>
12558
<member name="M:Tao.Sdl.Sdl.sel_registerName(System.String)">
12559
<summary>
12560
12561
</summary>
12562
<param name="name"></param>
12563
<returns></returns>
12564
</member>
12565
<member name="M:Tao.Sdl.Sdl.objc_msgSend(System.Int32,System.Int32)">
12566
<summary>
12567
12568
</summary>
12569
<param name="self"></param>
12570
<param name="cmd"></param>
12571
<returns></returns>
12572
</member>
12573
<member name="F:Tao.Sdl.Sdl.AUDIO_U16">
12574
<summary>
12575
Unsigned 16-bit little-endian samples
12576
</summary>
12577
</member>
12578
<member name="F:Tao.Sdl.Sdl.AUDIO_S16">
12579
<summary>
12580
Signed 16-bit little-endian samples
12581
</summary>
12582
</member>
12583
<member name="F:Tao.Sdl.Sdl.keyboardState">
12584
<summary>
12585
Private byte array holding the internal keyboard state.
12586
</summary>
12587
<remarks>
12588
Used for <see cref="M:Tao.Sdl.Sdl.SDL_GetKeyState(System.Int32@)"/>.
12589
Array is sized to fit all the known Key enums.
12590
</remarks>
12591
</member>
12592
<member name="M:Tao.Sdl.Sdl.SDL_Init(System.Int32)">
12593
<summary>
12594
Initializes SDL and the specified subsystems.
12595
</summary>
12596
<param name="flags">
12597
<para>
12598
Specifies what part(s) of SDL to initialize:
12599
</para>
12600
<para>
12601
<list type="table">
12602
<listheader>
12603
<term>Flag</term>
12604
<description>Description</description>
12605
</listheader>
12606
<item>
12607
<term><see cref="F:Tao.Sdl.Sdl.SDL_INIT_TIMER"/></term>
12608
<description>Initializes the timer subsystem.</description>
12609
</item>
12610
<item>
12611
<term><see cref="F:Tao.Sdl.Sdl.SDL_INIT_AUDIO"/></term>
12612
<description>Initializes the audio subsystem.</description>
12613
</item>
12614
<item>
12615
<term><see cref="F:Tao.Sdl.Sdl.SDL_INIT_VIDEO"/></term>
12616
<description>Initializes the video subsystem.</description>
12617
</item>
12618
<item>
12619
<term><see cref="F:Tao.Sdl.Sdl.SDL_INIT_CDROM"/></term>
12620
<description>Initializes the CD-ROM subsystem.</description>
12621
</item>
12622
<item>
12623
<term><see cref="F:Tao.Sdl.Sdl.SDL_INIT_JOYSTICK"/></term>
12624
<description>Initializes the joystick subsystem.</description>
12625
</item>
12626
<item>
12627
<term><see cref="F:Tao.Sdl.Sdl.SDL_INIT_EVERYTHING"/></term>
12628
<description>Initializes all subsystems.</description>
12629
</item>
12630
<item>
12631
<term><see cref="F:Tao.Sdl.Sdl.SDL_INIT_NOPARACHUTE"/></term>
12632
<description>Prevents SDL from catching fatal signals.</description>
12633
</item>
12634
<item>
12635
<term><see cref="F:Tao.Sdl.Sdl.SDL_INIT_EVENTTHREAD"/></term>
12636
<description>Not supported on all OS's.</description>
12637
</item>
12638
</list>
12639
</para>
12640
</param>
12641
<returns>
12642
Returns -1 on an error or 0 on success.
12643
</returns>
12644
<remarks>
12645
<para>
12646
Unless the <see cref="F:Tao.Sdl.Sdl.SDL_INIT_NOPARACHUTE"/> flag is set, it will install
12647
cleanup signal handlers for some commonly ignored fatal signals (like
12648
SIGSEGV).
12649
</para>
12650
<p>
12651
Binds to C-function call in SDL.h:
12652
<code>extern DECLSPEC int SDLCALL SDL_Init(Uint32 flags)</code>
12653
</p>
12654
</remarks>
12655
<seealso cref="M:Tao.Sdl.Sdl.SDL_InitSubSystem(System.Int32)"/>
12656
<seealso cref="M:Tao.Sdl.Sdl.SDL_Quit"/>
12657
</member>
12658
<member name="M:Tao.Sdl.Sdl.SDL_Init(System.UInt32)">
12659
<summary>
12660
Initializes SDL and the specified subsystems.
12661
</summary>
12662
<param name="flags">
12663
<para>
12664
Specifies what part(s) of SDL to initialize:
12665
</para>
12666
<para>
12667
<list type="table">
12668
<listheader>
12669
<term>Flag</term>
12670
<description>Description</description>
12671
</listheader>
12672
<item>
12673
<term><see cref="F:Tao.Sdl.Sdl.SDL_INIT_TIMER"/></term>
12674
<description>Initializes the timer subsystem.</description>
12675
</item>
12676
<item>
12677
<term><see cref="F:Tao.Sdl.Sdl.SDL_INIT_AUDIO"/></term>
12678
<description>Initializes the audio subsystem.</description>
12679
</item>
12680
<item>
12681
<term><see cref="F:Tao.Sdl.Sdl.SDL_INIT_VIDEO"/></term>
12682
<description>Initializes the video subsystem.</description>
12683
</item>
12684
<item>
12685
<term><see cref="F:Tao.Sdl.Sdl.SDL_INIT_CDROM"/></term>
12686
<description>Initializes the CD-ROM subsystem.</description>
12687
</item>
12688
<item>
12689
<term><see cref="F:Tao.Sdl.Sdl.SDL_INIT_JOYSTICK"/></term>
12690
<description>Initializes the joystick subsystem.</description>
12691
</item>
12692
<item>
12693
<term><see cref="F:Tao.Sdl.Sdl.SDL_INIT_EVERYTHING"/></term>
12694
<description>Initializes all subsystems.</description>
12695
</item>
12696
<item>
12697
<term><see cref="F:Tao.Sdl.Sdl.SDL_INIT_NOPARACHUTE"/></term>
12698
<description>Prevents SDL from catching fatal signals.</description>
12699
</item>
12700
<item>
12701
<term><see cref="F:Tao.Sdl.Sdl.SDL_INIT_EVENTTHREAD"/></term>
12702
<description>Not supported on all OS's.</description>
12703
</item>
12704
</list>
12705
</para>
12706
</param>
12707
<returns>
12708
Returns -1 on an error or 0 on success.
12709
</returns>
12710
<remarks>
12711
<para>
12712
Unless the <see cref="F:Tao.Sdl.Sdl.SDL_INIT_NOPARACHUTE"/> flag is set, it will install
12713
cleanup signal handlers for some commonly ignored fatal signals (like
12714
SIGSEGV).
12715
</para>
12716
<p>
12717
Binds to C-function call in SDL.h:
12718
<code>extern DECLSPEC int SDLCALL SDL_Init(Uint32 flags)</code>
12719
</p>
12720
</remarks>
12721
<seealso cref="M:Tao.Sdl.Sdl.SDL_InitSubSystem(System.Int32)"/>
12722
<seealso cref="M:Tao.Sdl.Sdl.SDL_Quit"/>
12723
</member>
12724
<member name="M:Tao.Sdl.Sdl.SDL_InitSubSystem(System.Int32)">
12725
<summary>
12726
Initializes specified subsystems.
12727
</summary>
12728
<param name="flags">
12729
<para>
12730
Specifies what part(s) of SDL to initialize:
12731
</para>
12732
<para>
12733
<list type="table">
12734
<listheader>
12735
<term>Flag</term>
12736
<description>Description</description>
12737
</listheader>
12738
<item>
12739
<term><see cref="F:Tao.Sdl.Sdl.SDL_INIT_TIMER"/></term>
12740
<description>Initializes the timer subsystem.</description>
12741
</item>
12742
<item>
12743
<term><see cref="F:Tao.Sdl.Sdl.SDL_INIT_AUDIO"/></term>
12744
<description>Initializes the audio subsystem.</description>
12745
</item>
12746
<item>
12747
<term><see cref="F:Tao.Sdl.Sdl.SDL_INIT_VIDEO"/></term>
12748
<description>Initializes the video subsystem.</description>
12749
</item>
12750
<item>
12751
<term><see cref="F:Tao.Sdl.Sdl.SDL_INIT_CDROM"/></term>
12752
<description>Initializes the CD-ROM subsystem.</description>
12753
</item>
12754
<item>
12755
<term><see cref="F:Tao.Sdl.Sdl.SDL_INIT_JOYSTICK"/></term>
12756
<description>Initializes the joystick subsystem.</description>
12757
</item>
12758
<item>
12759
<term><see cref="F:Tao.Sdl.Sdl.SDL_INIT_EVERYTHING"/></term>
12760
<description>Initializes all subsystems.</description>
12761
</item>
12762
<item>
12763
<term><see cref="F:Tao.Sdl.Sdl.SDL_INIT_NOPARACHUTE"/></term>
12764
<description>Prevents SDL from catching fatal signals.</description>
12765
</item>
12766
<item>
12767
<term><see cref="F:Tao.Sdl.Sdl.SDL_INIT_EVENTTHREAD"/></term>
12768
<description>Not supported on all OS's.</description>
12769
</item>
12770
</list>
12771
</para>
12772
</param>
12773
<returns>
12774
Returns -1 on an error or 0 on success.
12775
</returns>
12776
<remarks>
12777
After SDL has been initialized with <see cref="M:Tao.Sdl.Sdl.SDL_Init(System.Int32)"/> you may initialize
12778
any uninitialized subsystems with <b>SDL_InitSubSystem</b>.
12779
<p>
12780
Binds to C-function call in SDL.h:
12781
<code>extern DECLSPEC int SDLCALL SDL_InitSubSystem(Uint32 flags)</code>
12782
</p>
12783
</remarks>
12784
<seealso cref="M:Tao.Sdl.Sdl.SDL_Init(System.Int32)"/>
12785
<seealso cref="M:Tao.Sdl.Sdl.SDL_Quit"/>
12786
<seealso cref="M:Tao.Sdl.Sdl.SDL_QuitSubSystem(System.Int32)"/>
12787
12788
</member>
12789
<member name="M:Tao.Sdl.Sdl.SDL_InitSubSystem(System.UInt32)">
12790
<summary>
12791
Initializes specified subsystems.
12792
</summary>
12793
<param name="flags">
12794
<para>
12795
Specifies what part(s) of SDL to initialize:
12796
</para>
12797
<para>
12798
<list type="table">
12799
<listheader>
12800
<term>Flag</term>
12801
<description>Description</description>
12802
</listheader>
12803
<item>
12804
<term><see cref="F:Tao.Sdl.Sdl.SDL_INIT_TIMER"/></term>
12805
<description>Initializes the timer subsystem.</description>
12806
</item>
12807
<item>
12808
<term><see cref="F:Tao.Sdl.Sdl.SDL_INIT_AUDIO"/></term>
12809
<description>Initializes the audio subsystem.</description>
12810
</item>
12811
<item>
12812
<term><see cref="F:Tao.Sdl.Sdl.SDL_INIT_VIDEO"/></term>
12813
<description>Initializes the video subsystem.</description>
12814
</item>
12815
<item>
12816
<term><see cref="F:Tao.Sdl.Sdl.SDL_INIT_CDROM"/></term>
12817
<description>Initializes the CD-ROM subsystem.</description>
12818
</item>
12819
<item>
12820
<term><see cref="F:Tao.Sdl.Sdl.SDL_INIT_JOYSTICK"/></term>
12821
<description>Initializes the joystick subsystem.</description>
12822
</item>
12823
<item>
12824
<term><see cref="F:Tao.Sdl.Sdl.SDL_INIT_EVERYTHING"/></term>
12825
<description>Initializes all subsystems.</description>
12826
</item>
12827
<item>
12828
<term><see cref="F:Tao.Sdl.Sdl.SDL_INIT_NOPARACHUTE"/></term>
12829
<description>Prevents SDL from catching fatal signals.</description>
12830
</item>
12831
<item>
12832
<term><see cref="F:Tao.Sdl.Sdl.SDL_INIT_EVENTTHREAD"/></term>
12833
<description>Not supported on all OS's.</description>
12834
</item>
12835
</list>
12836
</para>
12837
</param>
12838
<returns>
12839
Returns -1 on an error or 0 on success.
12840
</returns>
12841
<remarks>
12842
After SDL has been initialized with <see cref="M:Tao.Sdl.Sdl.SDL_Init(System.Int32)"/> you may initialize
12843
any uninitialized subsystems with <b>SDL_InitSubSystem</b>.
12844
<p>
12845
Binds to C-function call in SDL.h:
12846
<code>extern DECLSPEC int SDLCALL SDL_InitSubSystem(Uint32 flags)</code>
12847
</p>
12848
</remarks>
12849
<seealso cref="M:Tao.Sdl.Sdl.SDL_Init(System.Int32)"/>
12850
<seealso cref="M:Tao.Sdl.Sdl.SDL_Quit"/>
12851
<seealso cref="M:Tao.Sdl.Sdl.SDL_QuitSubSystem(System.Int32)"/>
12852
12853
</member>
12854
<member name="M:Tao.Sdl.Sdl.SDL_QuitSubSystem(System.Int32)">
12855
<summary>
12856
Shuts down specified subsystems.
12857
</summary>
12858
<param name="flags">
12859
<para>
12860
Specifies what part(s) of SDL to shut down:
12861
</para>
12862
<para>
12863
<list type="table">
12864
<listheader>
12865
<term>Flag</term>
12866
<description>Description</description>
12867
</listheader>
12868
<item>
12869
<term><see cref="F:Tao.Sdl.Sdl.SDL_INIT_TIMER"/></term>
12870
<description>Shuts down the timer subsystem.</description>
12871
</item>
12872
<item>
12873
<term><see cref="F:Tao.Sdl.Sdl.SDL_INIT_AUDIO"/></term>
12874
<description>Shuts down the audio subsystem.</description>
12875
</item>
12876
<item>
12877
<term><see cref="F:Tao.Sdl.Sdl.SDL_INIT_VIDEO"/></term>
12878
<description>Shuts down the video subsystem.</description>
12879
</item>
12880
<item>
12881
<term><see cref="F:Tao.Sdl.Sdl.SDL_INIT_CDROM"/></term>
12882
<description>Shuts down the CD-ROM subsystem.</description>
12883
</item>
12884
<item>
12885
<term><see cref="F:Tao.Sdl.Sdl.SDL_INIT_JOYSTICK"/></term>
12886
<description>Shuts down the joystick subsystem.</description>
12887
</item>
12888
<item>
12889
<term><see cref="F:Tao.Sdl.Sdl.SDL_INIT_EVERYTHING"/></term>
12890
<description>Shuts down all subsystems.</description>
12891
</item>
12892
<item>
12893
<term><see cref="F:Tao.Sdl.Sdl.SDL_INIT_NOPARACHUTE"/></term>
12894
<description>Prevents SDL from catching fatal signals.</description>
12895
</item>
12896
<item>
12897
<term><see cref="F:Tao.Sdl.Sdl.SDL_INIT_EVENTTHREAD"/></term>
12898
<description>Not supported on all OS's.</description>
12899
</item>
12900
</list>
12901
</para>
12902
</param>
12903
<remarks>
12904
<b>SDL_QuitSubSystem</b> allows you to shut down a subsystem that has been
12905
previously initialized by <see cref="M:Tao.Sdl.Sdl.SDL_Init(System.Int32)"/> or
12906
<see cref="M:Tao.Sdl.Sdl.SDL_InitSubSystem(System.Int32)"/>.
12907
<p>
12908
Binds to C-function call in SDL.h:
12909
<code>extern DECLSPEC void SDLCALL SDL_QuitSubSystem(Uint32 flags)</code>
12910
</p>
12911
</remarks>
12912
<seealso cref="M:Tao.Sdl.Sdl.SDL_Init(System.Int32)"/>
12913
<seealso cref="M:Tao.Sdl.Sdl.SDL_InitSubSystem(System.Int32)"/>
12914
<seealso cref="M:Tao.Sdl.Sdl.SDL_Quit"/>
12915
</member>
12916
<member name="M:Tao.Sdl.Sdl.SDL_QuitSubSystem(System.UInt32)">
12917
<summary>
12918
Shuts down specified subsystems.
12919
</summary>
12920
<param name="flags">
12921
<para>
12922
Specifies what part(s) of SDL to shut down:
12923
</para>
12924
<para>
12925
<list type="table">
12926
<listheader>
12927
<term>Flag</term>
12928
<description>Description</description>
12929
</listheader>
12930
<item>
12931
<term><see cref="F:Tao.Sdl.Sdl.SDL_INIT_TIMER"/></term>
12932
<description>Shuts down the timer subsystem.</description>
12933
</item>
12934
<item>
12935
<term><see cref="F:Tao.Sdl.Sdl.SDL_INIT_AUDIO"/></term>
12936
<description>Shuts down the audio subsystem.</description>
12937
</item>
12938
<item>
12939
<term><see cref="F:Tao.Sdl.Sdl.SDL_INIT_VIDEO"/></term>
12940
<description>Shuts down the video subsystem.</description>
12941
</item>
12942
<item>
12943
<term><see cref="F:Tao.Sdl.Sdl.SDL_INIT_CDROM"/></term>
12944
<description>Shuts down the CD-ROM subsystem.</description>
12945
</item>
12946
<item>
12947
<term><see cref="F:Tao.Sdl.Sdl.SDL_INIT_JOYSTICK"/></term>
12948
<description>Shuts down the joystick subsystem.</description>
12949
</item>
12950
<item>
12951
<term><see cref="F:Tao.Sdl.Sdl.SDL_INIT_EVERYTHING"/></term>
12952
<description>Shuts down all subsystems.</description>
12953
</item>
12954
<item>
12955
<term><see cref="F:Tao.Sdl.Sdl.SDL_INIT_NOPARACHUTE"/></term>
12956
<description>Prevents SDL from catching fatal signals.</description>
12957
</item>
12958
<item>
12959
<term><see cref="F:Tao.Sdl.Sdl.SDL_INIT_EVENTTHREAD"/></term>
12960
<description>Not supported on all OS's.</description>
12961
</item>
12962
</list>
12963
</para>
12964
</param>
12965
<remarks>
12966
<b>SDL_QuitSubSystem</b> allows you to shut down a subsystem that has been
12967
previously initialized by <see cref="M:Tao.Sdl.Sdl.SDL_Init(System.Int32)"/> or
12968
<see cref="M:Tao.Sdl.Sdl.SDL_InitSubSystem(System.Int32)"/>.
12969
<p>
12970
Binds to C-function call in SDL.h:
12971
<code>extern DECLSPEC void SDLCALL SDL_QuitSubSystem(Uint32 flags)</code>
12972
</p>
12973
</remarks>
12974
<seealso cref="M:Tao.Sdl.Sdl.SDL_Init(System.Int32)"/>
12975
<seealso cref="M:Tao.Sdl.Sdl.SDL_InitSubSystem(System.Int32)"/>
12976
<seealso cref="M:Tao.Sdl.Sdl.SDL_Quit"/>
12977
</member>
12978
<member name="M:Tao.Sdl.Sdl.SDL_WasInit(System.Int32)">
12979
<summary>
12980
Checks which SDL subsystems are initialized.
12981
</summary>
12982
<param name="flags">
12983
<para>
12984
Specifies the subsystems you wish to check:
12985
</para>
12986
<para>
12987
<list type="table">
12988
<listheader>
12989
<term>Flag</term>
12990
<description>Description</description>
12991
</listheader>
12992
<item>
12993
<term><see cref="F:Tao.Sdl.Sdl.SDL_INIT_TIMER"/></term>
12994
<description>The timer subsystem.</description>
12995
</item>
12996
<item>
12997
<term><see cref="F:Tao.Sdl.Sdl.SDL_INIT_AUDIO"/></term>
12998
<description>The audio subsystem.</description>
12999
</item>
13000
<item>
13001
<term><see cref="F:Tao.Sdl.Sdl.SDL_INIT_VIDEO"/></term>
13002
<description>The video subsystem.</description>
13003
</item>
13004
<item>
13005
<term><see cref="F:Tao.Sdl.Sdl.SDL_INIT_CDROM"/></term>
13006
<description>The CD-ROM subsystem.</description>
13007
</item>
13008
<item>
13009
<term><see cref="F:Tao.Sdl.Sdl.SDL_INIT_JOYSTICK"/></term>
13010
<description>The joystick subsystem.</description>
13011
</item>
13012
<item>
13013
<term><see cref="F:Tao.Sdl.Sdl.SDL_INIT_EVERYTHING"/></term>
13014
<description>All subsystems.</description>
13015
</item>
13016
<item>
13017
<term><see cref="F:Tao.Sdl.Sdl.SDL_INIT_NOPARACHUTE"/></term>
13018
<description>Prevents SDL from catching fatal signals.</description>
13019
</item>
13020
<item>
13021
<term><see cref="F:Tao.Sdl.Sdl.SDL_INIT_EVENTTHREAD"/></term>
13022
<description>Not supported on all OS's.</description>
13023
</item>
13024
</list>
13025
</para>
13026
</param>
13027
<returns>
13028
A bitwised OR'd combination of the initialized subsystems.
13029
</returns>
13030
<remarks>
13031
<b>SDL_WasInit</b> allows you to see which SDL subsytems have been initialized.
13032
<p>
13033
Binds to C-function call in SDL.h:
13034
<code>extern DECLSPEC Uint32 SDLCALL SDL_WasInit(Uint32 flags)</code>
13035
</p>
13036
</remarks>
13037
<seealso cref="M:Tao.Sdl.Sdl.SDL_Init(System.Int32)"/>
13038
<seealso cref="M:Tao.Sdl.Sdl.SDL_InitSubSystem(System.Int32)"/>
13039
</member>
13040
<member name="M:Tao.Sdl.Sdl.SDL_WasInit(System.UInt32)">
13041
<summary>
13042
Checks which SDL subsystems are initialized.
13043
</summary>
13044
<param name="flags">
13045
<para>
13046
Specifies the subsystems you wish to check:
13047
</para>
13048
<para>
13049
<list type="table">
13050
<listheader>
13051
<term>Flag</term>
13052
<description>Description</description>
13053
</listheader>
13054
<item>
13055
<term><see cref="F:Tao.Sdl.Sdl.SDL_INIT_TIMER"/></term>
13056
<description>The timer subsystem.</description>
13057
</item>
13058
<item>
13059
<term><see cref="F:Tao.Sdl.Sdl.SDL_INIT_AUDIO"/></term>
13060
<description>The audio subsystem.</description>
13061
</item>
13062
<item>
13063
<term><see cref="F:Tao.Sdl.Sdl.SDL_INIT_VIDEO"/></term>
13064
<description>The video subsystem.</description>
13065
</item>
13066
<item>
13067
<term><see cref="F:Tao.Sdl.Sdl.SDL_INIT_CDROM"/></term>
13068
<description>The CD-ROM subsystem.</description>
13069
</item>
13070
<item>
13071
<term><see cref="F:Tao.Sdl.Sdl.SDL_INIT_JOYSTICK"/></term>
13072
<description>The joystick subsystem.</description>
13073
</item>
13074
<item>
13075
<term><see cref="F:Tao.Sdl.Sdl.SDL_INIT_EVERYTHING"/></term>
13076
<description>All subsystems.</description>
13077
</item>
13078
<item>
13079
<term><see cref="F:Tao.Sdl.Sdl.SDL_INIT_NOPARACHUTE"/></term>
13080
<description>Prevents SDL from catching fatal signals.</description>
13081
</item>
13082
<item>
13083
<term><see cref="F:Tao.Sdl.Sdl.SDL_INIT_EVENTTHREAD"/></term>
13084
<description>Not supported on all OS's.</description>
13085
</item>
13086
</list>
13087
</para>
13088
</param>
13089
<returns>
13090
A bitwised OR'd combination of the initialized subsystems.
13091
</returns>
13092
<remarks>
13093
<b>SDL_WasInit</b> allows you to see which SDL subsytems have been initialized.
13094
<p>
13095
Binds to C-function call in SDL.h:
13096
<code>extern DECLSPEC Uint32 SDLCALL SDL_WasInit(Uint32 flags)</code>
13097
</p>
13098
</remarks>
13099
<seealso cref="M:Tao.Sdl.Sdl.SDL_Init(System.Int32)"/>
13100
<seealso cref="M:Tao.Sdl.Sdl.SDL_InitSubSystem(System.Int32)"/>
13101
</member>
13102
<member name="M:Tao.Sdl.Sdl.SDL_Quit">
13103
<summary>
13104
Shuts down SDL.
13105
</summary>
13106
<remarks>
13107
<b>SDL_Quit</b> shuts down all SDL subsystems and frees the resources allocated
13108
to them. This should always be called before you exit.
13109
<p>
13110
Binds to C-function call in SDL.h:
13111
<code>extern DECLSPEC void SDLCALL SDL_Quit(void)</code>
13112
</p>
13113
</remarks>
13114
<seealso cref="M:Tao.Sdl.Sdl.SDL_Init(System.Int32)"/>
13115
<seealso cref="M:Tao.Sdl.Sdl.SDL_QuitSubSystem(System.Int32)"/>
13116
</member>
13117
<member name="M:Tao.Sdl.Sdl.SDL_GetAppState">
13118
<summary>
13119
This function returns the current state of the application,
13120
which is a bitwise combination of SDL_APPMOUSEFOCUS,
13121
SDL_APPINPUTFOCUS, and SDL_APPACTIVE.
13122
</summary>
13123
<remarks>
13124
If SDL_APPACTIVE is set, then the user is able to see
13125
your application,
13126
otherwise it has been iconified or disabled.
13127
</remarks>
13128
<returns>Returns the current state of the application,
13129
which is a bitwise combination of SDL_APPMOUSEFOCUS,
13130
SDL_APPINPUTFOCUS, and SDL_APPACTIVE
13131
</returns>
13132
</member>
13133
<member name="M:Tao.Sdl.Sdl.SDL_AudioInit(System.String)">
13134
<summary>
13135
This function is used internally,
13136
and should not be used unless you
13137
have a specific need to specify the audio driver you want to use.
13138
You should normally use
13139
<see cref="M:Tao.Sdl.Sdl.SDL_Init(System.Int32)"/> or <see cref="M:Tao.Sdl.Sdl.SDL_InitSubSystem(System.Int32)"/>.
13140
</summary>
13141
<remarks>
13142
Binds to C-function call in SDL_audio.h:
13143
<code>int SDL_AudioInit(const char *driver_name)
13144
</code></remarks>
13145
<param name="driver_name">
13146
</param>
13147
<returns></returns>
13148
</member>
13149
<member name="M:Tao.Sdl.Sdl.SDL_AudioQuit">
13150
<summary>
13151
This function is used internally,
13152
and should not be used unless you
13153
have a specific need to specify the audio driver you want to use.
13154
You should normally use SDL_Init() or SDL_InitSubSystem().
13155
</summary>
13156
<remarks>
13157
Binds to C-function call in SDL_audio.h:
13158
<code>void SDL_AudioQuit()
13159
</code></remarks>
13160
</member>
13161
<member name="M:Tao.Sdl.Sdl.SDL_AudioDriverName(System.String,System.Int32)">
13162
<summary>
13163
This function fills the given character buffer with the name of the
13164
current audio driver, and returns a pointer to it if the audio
13165
driver has been initialized.
13166
</summary>
13167
<remarks>
13168
Binds to C-function call in SDL_audio.h:
13169
<code>char * SDL_AudioDriverName(char *namebuf, int maxlen)
13170
</code>
13171
</remarks>
13172
<returns>It returns NULL if no driver has been initialized.
13173
</returns>
13174
<param name="namebuf"></param>
13175
<param name="maxlen"></param>
13176
</member>
13177
<member name="M:Tao.Sdl.Sdl.SDL_OpenAudio(System.IntPtr,System.IntPtr)">
13178
<summary>
13179
Opens the audio device with the desired parameters.
13180
</summary>
13181
<remarks>
13182
This function opens the audio device with the desired parameters,
13183
and returns 0 if successful, placing the actual hardware
13184
parameters in the structure pointed to by obtained. If obtained
13185
is NULL, the audio data passed to the callback function will
13186
be guaranteed to be in the requested format, and will be
13187
automatically converted to the hardware audio format if
13188
necessary. This function returns -1 if it failed to open
13189
the audio device, or couldn't set up the audio thread.
13190
<p>To open the audio device a desired
13191
<see cref="T:Tao.Sdl.Sdl.SDL_AudioSpec"/> must be created.</p>
13192
<code>
13193
SDL_AudioSpec *desired;
13194
.
13195
.
13196
desired = malloc(sizeof(SDL_AudioSpec)); </code>
13197
<p>You must then fill this structure with
13198
your desired audio specifications.</p>
13199
<p>desired-&gt;freq</p>
13200
The desired audio frequency in samples-per-second.
13201
<p>desired-&gt;format</p>
13202
The desired audio format (see <see cref="T:Tao.Sdl.Sdl.SDL_AudioSpec"/>)
13203
<p>desired-&gt;samples</p>
13204
The desired size of the audio buffer in samples.
13205
This number should be a power of two, and may be adjusted by the
13206
audio driver to a value more suitable for the hardware. Good
13207
values seem to range between 512 and 8192 inclusive, depending
13208
on the application and CPU speed. Smaller values yield faster
13209
response time, but can lead to underflow if the application
13210
is doing heavy processing and cannot fill the audio buffer
13211
in time. A stereo sample consists of both right and left
13212
channels in LR ordering. Note that the number of samples
13213
is directly related to time by the following formula:
13214
ms = (samples*1000)/freq
13215
<p>desired-&gt;callback</p>
13216
This should be set to a function that will be called when the
13217
audio device is ready for more data. It is passed a pointer
13218
to the audio buffer, and the length in bytes of the audio
13219
buffer. This function usually runs in a separate thread, and
13220
so you should protect data structures that it accesses by
13221
calling <see cref="M:Tao.Sdl.Sdl.SDL_LockAudio"/> and
13222
<see cref="M:Tao.Sdl.Sdl.SDL_UnlockAudio"/> in your code. The callback
13223
prototype is:
13224
<code>
13225
void callback(void *userdata, Uint8 *stream, int len);
13226
</code>
13227
<p>userdata is the pointer stored in userdata field of the
13228
SDL_AudioSpec. stream is a pointer to the audio buffer you
13229
want to fill with information and len is the length of the
13230
audio buffer in bytes.</p>
13231
<p> desired-&gt;userdata</p>
13232
<p> This pointer is passed as the first parameter to the
13233
callback function.</p>
13234
<p> SDL_OpenAudio reads these fields from the desired
13235
SDL_AudioSpec structure pass to the function and attempts to find
13236
an audio configuration matching your desired. As mentioned above,
13237
if the obtained parameter is NULL then SDL with convert from your
13238
desired audio settings to the hardware settings as it plays.</p>
13239
<p>If obtained is NULL then the desired SDL_AudioSpec is your
13240
working specification, otherwise the obtained SDL_AudioSpec
13241
becomes the working specification and the desirec specification
13242
can be deleted. The data in the working specification is used
13243
when building SDL_AudioCVT's for converting loaded data to the
13244
hardware format.</p>
13245
<p>SDL_OpenAudio calculates the size and silence fields for both
13246
the desired and obtained specifications. The size field stores
13247
the total size of the audio buffer in bytes, while the silence
13248
stores the value used to represent silence in the audio buffer.
13249
</p>
13250
<p>The audio device starts out playing silence when it's opened,
13251
and should be enabled for playing by calling
13252
<see cref="M:Tao.Sdl.Sdl.SDL_PauseAudio(System.Int32)"/>(0) when you are ready for your
13253
audio callback function to be called. Since the audio driver
13254
may modify the requested size of the audio buffer, you should
13255
allocate any local mixing buffers after you open the audio
13256
device.</p>
13257
<p>Binds to C-function call in SDL_audio.h:
13258
<code>int SDL_OpenAudio(SDL_AudioSpec *desired, SDL_AudioSpec *obtained);
13259
</code></p>
13260
</remarks>
13261
<example>
13262
<code>
13263
13264
/* Prototype of our callback function */
13265
void my_audio_callback(void *userdata, Uint8 *stream, int len);
13266
13267
/* Open the audio device */
13268
SDL_AudioSpec *desired, *obtained;
13269
SDL_AudioSpec *hardware_spec;
13270
13271
/* Allocate a desired SDL_AudioSpec */
13272
desired = malloc(sizeof(SDL_AudioSpec));
13273
13274
/* Allocate space for the obtained SDL_AudioSpec */
13275
obtained = malloc(sizeof(SDL_AudioSpec));
13276
13277
/* 22050Hz - FM Radio quality */
13278
desired-&gt;freq=22050;
13279
13280
/* 16-bit signed audio */
13281
desired-&gt;format=AUDIO_S16LSB;
13282
13283
/* Mono */
13284
desired-&gt;channels=0;
13285
13286
/* Large audio buffer reduces risk of dropouts but
13287
increases response time */
13288
desired-&gt;samples=8192;
13289
13290
/* Our callback function */
13291
desired-&gt;callback=my_audio_callback;
13292
13293
desired-&gt;userdata=NULL;
13294
13295
/* Open the audio device */
13296
if ( SDL_OpenAudio(desired, obtained) &lt; 0 )
13297
{
13298
fprintf(stderr, "Couldn't open audio: %s\n", SDL_GetError());
13299
exit(-1);
13300
}
13301
/* desired spec is no longer needed */
13302
free(desired);
13303
hardware_spec=obtained;
13304
.
13305
.
13306
/* Prepare callback for playing */
13307
.
13308
.
13309
.
13310
/* Start playing */
13311
SDL_PauseAudio(0);</code>
13312
</example>
13313
<param name="desired">IntPtr to SDL_AudioSpec</param>
13314
<param name="obtained">IntPtr to SDL_AudioSpec</param>
13315
<seealso cref="T:Tao.Sdl.Sdl.SDL_AudioSpec"/>
13316
<seealso cref="M:Tao.Sdl.Sdl.SDL_LockAudio"/>
13317
<seealso cref="M:Tao.Sdl.Sdl.SDL_UnlockAudio"/>
13318
<seealso cref="M:Tao.Sdl.Sdl.SDL_PauseAudio(System.Int32)"/>
13319
</member>
13320
<member name="M:Tao.Sdl.Sdl.SDL_GetAudioStatus">
13321
<summary>
13322
Get the current audio state.
13323
</summary>
13324
<remarks>
13325
<p>Binds to C-function call in SDL_audio.h:
13326
<code>SDL_audiostatus SDL_GetAudioStatus(void)
13327
</code></p>
13328
</remarks>
13329
<returns>Returns either SDL_AUDIO_STOPPED,
13330
SDL_AUDIO_PAUSED or SDL_AUDIO_PLAYING (SDLaudiostatus enum)
13331
depending on the current audio state.</returns>
13332
<seealso cref="M:Tao.Sdl.Sdl.SDL_PauseAudio(System.Int32)"/>
13333
</member>
13334
<member name="M:Tao.Sdl.Sdl.SDL_PauseAudio(System.Int32)">
13335
<summary>
13336
Pauses and unpauses the audio callback processing.
13337
</summary>
13338
<remarks>
13339
This function pauses and unpauses the audio callback processing.
13340
It should be called with pause_on=0 after opening the audio device
13341
to start playing sound. This is so you can safely initialize data
13342
for your callback function after opening the audio device.
13343
Silence will be written to the audio device during the pause.
13344
<p>Binds to C-function call in SDL_audio.h:
13345
<code>void SDL_PauseAudio(int pause_on)
13346
</code></p>
13347
</remarks>
13348
<param name="pause_on"></param>
13349
<seealso cref="M:Tao.Sdl.Sdl.SDL_GetAudioStatus"/>
13350
<seealso cref="M:Tao.Sdl.Sdl.SDL_OpenAudio(System.IntPtr,System.IntPtr)"/>
13351
</member>
13352
<member name="M:Tao.Sdl.Sdl.SDL_LoadWAV_RW(System.IntPtr,System.Int32,System.IntPtr@,System.IntPtr@,System.Int32@)">
13353
<summary>
13354
This function loads a WAVE from the data source,
13355
automatically freeing
13356
that source if 'freesrc' is non-zero.
13357
For example, to load a WAVE file,
13358
you could do:
13359
SDL_LoadWAV_RW(SDL_RWFromFile("sample.wav", "rb"), 1, ...);
13360
</summary>
13361
<remarks>If this function succeeds, it returns the given SDL_AudioSpec,
13362
filled with the audio data format of the wave data, and sets
13363
'audio_buf' to a malloc()'d buffer containing the audio data,
13364
and sets 'audio_len' to the length of that audio buffer, in bytes.
13365
You need to free the audio buffer with SDL_FreeWAV() when you are
13366
done with it.
13367
<p>This function returns NULL and sets the SDL error message if the
13368
wave file cannot be opened, uses an unknown data format, or is
13369
corrupt. Currently raw and MS-ADPCM WAVE files are supported.</p>
13370
<p>Binds to C-function call in SDL_audio.h:
13371
<code>SDL_AudioSpec * SDL_LoadWAV_RW(SDL_RWops *src, int freesrc, SDL_AudioSpec *spec, Uint8 **audio_buf, Uint32 *audio_len)
13372
</code>
13373
</p></remarks>
13374
<param name="audio_buf"></param>
13375
<param name="audio_len"></param>
13376
<param name="freesrc"></param>
13377
<param name="spec"></param>
13378
<param name="src"></param>
13379
<returns></returns>
13380
</member>
13381
<member name="M:Tao.Sdl.Sdl.SDL_LoadWAV_RW(System.IntPtr,System.Int32,System.IntPtr@,System.IntPtr@,System.UInt32@)">
13382
<summary>
13383
This function loads a WAVE from the data source,
13384
automatically freeing
13385
that source if 'freesrc' is non-zero.
13386
For example, to load a WAVE file,
13387
you could do:
13388
SDL_LoadWAV_RW(SDL_RWFromFile("sample.wav", "rb"), 1, ...);
13389
</summary>
13390
<remarks>If this function succeeds, it returns the given SDL_AudioSpec,
13391
filled with the audio data format of the wave data, and sets
13392
'audio_buf' to a malloc()'d buffer containing the audio data,
13393
and sets 'audio_len' to the length of that audio buffer, in bytes.
13394
You need to free the audio buffer with SDL_FreeWAV() when you are
13395
done with it.
13396
<p>This function returns NULL and sets the SDL error message if the
13397
wave file cannot be opened, uses an unknown data format, or is
13398
corrupt. Currently raw and MS-ADPCM WAVE files are supported.</p>
13399
<p>Binds to C-function call in SDL_audio.h:
13400
<code>SDL_AudioSpec * SDL_LoadWAV_RW(SDL_RWops *src, int freesrc, SDL_AudioSpec *spec, Uint8 **audio_buf, Uint32 *audio_len)
13401
</code>
13402
</p></remarks>
13403
<param name="audio_buf"></param>
13404
<param name="audio_len"></param>
13405
<param name="freesrc"></param>
13406
<param name="spec"></param>
13407
<param name="src"></param>
13408
<returns></returns>
13409
</member>
13410
<member name="M:Tao.Sdl.Sdl.SDL_LoadWAV(System.String,System.IntPtr@,System.IntPtr@,System.Int32@)">
13411
<summary>
13412
Load a WAVE file.
13413
</summary>
13414
<remarks>
13415
SDL_LoadWAV This function loads a WAVE file into memory.
13416
<p>If this function succeeds, it returns the given
13417
<see cref="T:Tao.Sdl.Sdl.SDL_AudioSpec"/>,
13418
filled with the audio data format of the wave data, and sets
13419
audio_buf to a malloc'd buffer containing the audio data, and
13420
sets audio_len to the length of that audio buffer, in bytes.
13421
You need to free the audio buffer with
13422
<see cref="M:Tao.Sdl.Sdl.SDL_FreeWAV(System.IntPtr@)"/> when you are done with it.</p>
13423
<p>This function returns NULL and sets the SDL error message if the
13424
wave file cannot be opened, uses an unknown data format, or is
13425
corrupt. Currently raw, MS-ADPCM and IMA-ADPCM WAVE files are
13426
supported.</p>
13427
<p>Binds to C-function call in SDL_audio.h:
13428
<code>
13429
#define SDL_LoadWAV(file, spec, audio_buf, audio_len)
13430
SDL_LoadWAV_RW(SDL_RWFromFile(file, "rb"),1, spec,audio_buf,audio_len)
13431
13432
SDL_AudioSpec *SDL_LoadWAV(const char *file, SDL_AudioSpec *spec, Uint8 **audio_buf, Uint32 *audio_len);
13433
</code></p>
13434
</remarks>
13435
<example>
13436
<code>
13437
SDL_AudioSpec wav_spec;
13438
Uint32 wav_length;
13439
Uint8 *wav_buffer;
13440
13441
/* Load the WAV */
13442
if( SDL_LoadWAV("test.wav", wav_spec, wav_buffer, wav_length) == NULL )
13443
{
13444
fprintf(stderr, "Could not open test.wav: %s\n", SDL_GetError());
13445
exit(-1);
13446
}
13447
.
13448
.
13449
.
13450
/* Do stuff with the WAV */
13451
.
13452
.
13453
/* Free It */
13454
SDL_FreeWAV(wav_buffer);
13455
</code>
13456
</example>
13457
<param name="file"></param>
13458
<param name="spec"></param>
13459
<param name="audio_buf"></param>
13460
<param name="audio_len"></param>
13461
<returns>IntPtr to SDL_AudioApec</returns>
13462
<seealso cref="T:Tao.Sdl.Sdl.SDL_AudioSpec"/>
13463
<seealso cref="M:Tao.Sdl.Sdl.SDL_OpenAudio(System.IntPtr,System.IntPtr)"/>
13464
<seealso cref="M:Tao.Sdl.Sdl.SDL_FreeWAV(System.IntPtr@)"/>
13465
</member>
13466
<member name="M:Tao.Sdl.Sdl.SDL_LoadWAV(System.String,System.IntPtr@,System.IntPtr@,System.UInt32@)">
13467
<summary>
13468
Load a WAVE file.
13469
</summary>
13470
<remarks>
13471
SDL_LoadWAV This function loads a WAVE file into memory.
13472
<p>If this function succeeds, it returns the given
13473
<see cref="T:Tao.Sdl.Sdl.SDL_AudioSpec"/>,
13474
filled with the audio data format of the wave data, and sets
13475
audio_buf to a malloc'd buffer containing the audio data, and
13476
sets audio_len to the length of that audio buffer, in bytes.
13477
You need to free the audio buffer with
13478
<see cref="M:Tao.Sdl.Sdl.SDL_FreeWAV(System.IntPtr@)"/> when you are done with it.</p>
13479
<p>This function returns NULL and sets the SDL error message if the
13480
wave file cannot be opened, uses an unknown data format, or is
13481
corrupt. Currently raw, MS-ADPCM and IMA-ADPCM WAVE files are
13482
supported.</p>
13483
<p>Binds to C-function call in SDL_audio.h:
13484
<code>
13485
#define SDL_LoadWAV(file, spec, audio_buf, audio_len)
13486
SDL_LoadWAV_RW(SDL_RWFromFile(file, "rb"),1, spec,audio_buf,audio_len)
13487
13488
SDL_AudioSpec *SDL_LoadWAV(const char *file, SDL_AudioSpec *spec, Uint8 **audio_buf, Uint32 *audio_len);
13489
</code></p>
13490
</remarks>
13491
<example>
13492
<code>
13493
SDL_AudioSpec wav_spec;
13494
Uint32 wav_length;
13495
Uint8 *wav_buffer;
13496
13497
/* Load the WAV */
13498
if( SDL_LoadWAV("test.wav", wav_spec, wav_buffer, wav_length) == NULL )
13499
{
13500
fprintf(stderr, "Could not open test.wav: %s\n", SDL_GetError());
13501
exit(-1);
13502
}
13503
.
13504
.
13505
.
13506
/* Do stuff with the WAV */
13507
.
13508
.
13509
/* Free It */
13510
SDL_FreeWAV(wav_buffer);
13511
</code>
13512
</example>
13513
<param name="file"></param>
13514
<param name="spec"></param>
13515
<param name="audio_buf"></param>
13516
<param name="audio_len"></param>
13517
<returns>IntPtr to SDL_AudioApec</returns>
13518
<seealso cref="T:Tao.Sdl.Sdl.SDL_AudioSpec"/>
13519
<seealso cref="M:Tao.Sdl.Sdl.SDL_OpenAudio(System.IntPtr,System.IntPtr)"/>
13520
<seealso cref="M:Tao.Sdl.Sdl.SDL_FreeWAV(System.IntPtr@)"/>
13521
</member>
13522
<member name="M:Tao.Sdl.Sdl.SDL_FreeWAV(System.IntPtr@)">
13523
<summary>
13524
Frees previously opened WAV data.
13525
</summary>
13526
<remarks>
13527
After a WAVE file has been opened with <see cref="M:Tao.Sdl.Sdl.SDL_LoadWAV(System.String,System.IntPtr@,System.IntPtr@,System.Int32@)"/>
13528
its data can eventually be freed with SDL_FreeWAV. audio_buf is
13529
a pointer to the buffer created by SDL_LoadWAV.
13530
<p>
13531
<code>
13532
void SDL_FreeWAV(Uint8 *audio_buf)
13533
</code></p>
13534
</remarks>
13535
<param name="audio_buf"></param>
13536
<seealso cref="M:Tao.Sdl.Sdl.SDL_LoadWAV(System.String,System.IntPtr@,System.IntPtr@,System.Int32@)"/>
13537
</member>
13538
<member name="M:Tao.Sdl.Sdl.SDL_BuildAudioCVT(System.IntPtr,System.Int16,System.Byte,System.Int32,System.Int16,System.Byte,System.Int32)">
13539
<summary>
13540
Initializes a SDL_AudioCVT structure for conversion
13541
</summary>
13542
<remarks>
13543
Before an <see cref="T:Tao.Sdl.Sdl.SDL_AudioCVT"/> structure can be used to
13544
convert audio data it must be initialized with source and
13545
destination information.
13546
<p>src_format and dst_format are the source and destination
13547
format of the conversion. (For information on audio formats
13548
see <see cref="T:Tao.Sdl.Sdl.SDL_AudioSpec"/>). src_channels and dst_channels
13549
are the number of channels in the source and destination formats.
13550
Finally, src_rate and dst_rate are the frequency or
13551
samples-per-second of the source and destination formats.
13552
Once again, see <see cref="T:Tao.Sdl.Sdl.SDL_AudioSpec"/>.</p>
13553
<p>
13554
<code>
13555
int SDL_BuildAudioCVT(SDL_AudioCVT *cvt, Uint16 src_format, Uint8 src_channels, int src_rate, Uint16 dst_format, Uint8 dst_channels, int dst_rate)
13556
</code></p>
13557
</remarks>
13558
<example>
13559
See <see cref="M:Tao.Sdl.Sdl.SDL_ConvertAudio(System.IntPtr)"/>.
13560
</example>
13561
<param name="cvt"></param>
13562
<param name="src_format"></param>
13563
<param name="src_channels"></param>
13564
<param name="src_rate"></param>
13565
<param name="dst_format"></param>
13566
<param name="dst_channels"></param>
13567
<param name="dst_rate"></param>
13568
<returns>
13569
Returns -1 if the filter could not be built or 1 if it could.
13570
</returns>
13571
<seealso cref="M:Tao.Sdl.Sdl.SDL_ConvertAudio(System.IntPtr)"/>
13572
<seealso cref="T:Tao.Sdl.Sdl.SDL_AudioCVT"/>
13573
</member>
13574
<member name="M:Tao.Sdl.Sdl.SDL_BuildAudioCVT(System.IntPtr,System.UInt16,System.Byte,System.Int32,System.UInt16,System.Byte,System.Int32)">
13575
<summary>
13576
Initializes a SDL_AudioCVT structure for conversion
13577
</summary>
13578
<remarks>
13579
Before an <see cref="T:Tao.Sdl.Sdl.SDL_AudioCVT"/> structure can be used to
13580
convert audio data it must be initialized with source and
13581
destination information.
13582
<p>src_format and dst_format are the source and destination
13583
format of the conversion. (For information on audio formats
13584
see <see cref="T:Tao.Sdl.Sdl.SDL_AudioSpec"/>). src_channels and dst_channels
13585
are the number of channels in the source and destination formats.
13586
Finally, src_rate and dst_rate are the frequency or
13587
samples-per-second of the source and destination formats.
13588
Once again, see <see cref="T:Tao.Sdl.Sdl.SDL_AudioSpec"/>.</p>
13589
<p>
13590
<code>
13591
int SDL_BuildAudioCVT(SDL_AudioCVT *cvt, Uint16 src_format, Uint8 src_channels, int src_rate, Uint16 dst_format, Uint8 dst_channels, int dst_rate)
13592
</code></p>
13593
</remarks>
13594
<example>
13595
See <see cref="M:Tao.Sdl.Sdl.SDL_ConvertAudio(System.IntPtr)"/>.
13596
</example>
13597
<param name="cvt"></param>
13598
<param name="src_format"></param>
13599
<param name="src_channels"></param>
13600
<param name="src_rate"></param>
13601
<param name="dst_format"></param>
13602
<param name="dst_channels"></param>
13603
<param name="dst_rate"></param>
13604
<returns>
13605
Returns -1 if the filter could not be built or 1 if it could.
13606
</returns>
13607
<seealso cref="M:Tao.Sdl.Sdl.SDL_ConvertAudio(System.IntPtr)"/>
13608
<seealso cref="T:Tao.Sdl.Sdl.SDL_AudioCVT"/>
13609
</member>
13610
<member name="M:Tao.Sdl.Sdl.SDL_ConvertAudio(System.IntPtr)">
13611
<summary>
13612
Convert audio data to a desired audio format.
13613
</summary>
13614
<remarks>
13615
SDL_ConvertAudio takes one parameter, cvt, which was previously
13616
initialized. Initilizing a <see cref="T:Tao.Sdl.Sdl.SDL_AudioCVT"/> is a two
13617
step process. First of all, the structure must be passed to
13618
<see cref="M:Tao.Sdl.Sdl.SDL_BuildAudioCVT(System.IntPtr,System.Int16,System.Byte,System.Int32,System.Int16,System.Byte,System.Int32)"/> along with source and destination
13619
format parameters. Secondly, the cvt-&gt;buf and cvt-&gt;len fields must
13620
be setup. cvt-&gt;buf should point to the audio data and cvt-&gt;len
13621
should be set to the length of the audio data in bytes.
13622
Remember, the length of the buffer pointed to by buf show be
13623
len*len_mult bytes in length.
13624
<p>Once the SDL_AudioCVTstructure is initilized then we can pass
13625
it to SDL_ConvertAudio, which will convert the audio data pointer
13626
to by cvt-&gt;buf. If SDL_ConvertAudio returned 0 then the conversion
13627
was completed successfully, otherwise -1 is returned.</p>
13628
<p>If the conversion completed successfully then the converted
13629
audio data can be read from cvt-&gt;buf. The amount of valid,
13630
converted, audio data in the buffer is equal to
13631
cvt-&gt;len*cvt-&gt;len_ratio.</p>
13632
<p>
13633
<code>
13634
int SDL_ConvertAudio(SDL_AudioCVT *cvt)
13635
</code></p>
13636
</remarks>
13637
<example>
13638
<code>
13639
/* Converting some WAV data to hardware format */
13640
void my_audio_callback(void *userdata, Uint8 *stream, int len);
13641
13642
SDL_AudioSpec *desired, *obtained;
13643
SDL_AudioSpec wav_spec;
13644
SDL_AudioCVT wav_cvt;
13645
Uint32 wav_len;
13646
Uint8 *wav_buf;
13647
int ret;
13648
13649
/* Allocated audio specs */
13650
desired = malloc(sizeof(SDL_AudioSpec));
13651
obtained = malloc(sizeof(SDL_AudioSpec));
13652
13653
/* Set desired format */
13654
desired-&gt;freq=22050;
13655
desired-&gt;format=AUDIO_S16LSB;
13656
desired-&gt;samples=8192;
13657
desired-&gt;callback=my_audio_callback;
13658
desired-&gt;userdata=NULL;
13659
13660
/* Open the audio device */
13661
if ( SDL_OpenAudio(desired, obtained) &lt; 0 )
13662
{
13663
fprintf(stderr, "Couldn't open audio: %s\n", SDL_GetError());
13664
exit(-1);
13665
}
13666
13667
free(desired);
13668
13669
/* Load the test.wav */
13670
if( SDL_LoadWAV("test.wav", &amp;wav_spec, &amp;wav_buf, &amp;wav_len) == NULL )
13671
{
13672
fprintf(stderr, "Could not open test.wav: %s\n", SDL_GetError());
13673
SDL_CloseAudio();
13674
free(obtained);
13675
exit(-1);
13676
13677
/* Build AudioCVT */
13678
ret = SDL_BuildAudioCVT(&amp;wav_cvt,
13679
wav_spec.format, wav_spec.channels, wav_spec.freq,
13680
obtained-&gt;format, obtained-&gt;channels, obtained-&gt;freq);
13681
13682
/* Check that the convert was built */
13683
if(ret==-1)
13684
{
13685
fprintf(stderr, "Couldn't build converter!\n");
13686
SDL_CloseAudio();
13687
free(obtained);
13688
SDL_FreeWAV(wav_buf);
13689
}
13690
13691
/* Setup for conversion */
13692
wav_cvt.buf = malloc(wav_len * wav_cvt.len_mult);
13693
wav_cvt.len = wav_len;
13694
memcpy(wav_cvt.buf, wav_buf, wav_len);
13695
13696
/* We can delete to original WAV data now */
13697
SDL_FreeWAV(wav_buf);
13698
13699
/* And now we're ready to convert */
13700
SDL_ConvertAudio(&amp;wav_cvt);
13701
13702
/* do whatever */
13703
.
13704
.
13705
.
13706
.
13707
</code>
13708
</example>
13709
<param name="cvt">
13710
IntPtr to <see cref="T:Tao.Sdl.Sdl.SDL_AudioCVT"/> struct.
13711
</param>
13712
<returns>
13713
If SDL_ConvertAudio returned 0 then the conversion
13714
was completed successfully, otherwise -1 is returned.
13715
</returns>
13716
<seealso cref="T:Tao.Sdl.Sdl.SDL_AudioCVT"/>
13717
<seealso cref="M:Tao.Sdl.Sdl.SDL_BuildAudioCVT(System.IntPtr,System.Int16,System.Byte,System.Int32,System.Int16,System.Byte,System.Int32)"/>
13718
</member>
13719
<member name="M:Tao.Sdl.Sdl.SDL_MixAudio(System.IntPtr,System.IntPtr,System.Int32,System.Int32)">
13720
<summary>
13721
Mix audio data.
13722
</summary>
13723
<remarks>
13724
This function takes two audio buffers of len bytes each of the
13725
playing audio format and mixes them, performing addition,
13726
volume adjustment, and overflow clipping. The volume ranges
13727
from 0 to SDL_MIX_MAXVOLUME and should be set to the maximum
13728
value for full audio volume. Note this does not change hardware
13729
volume. This is provided for convenience -- you can mix your
13730
own audio data.
13731
<p>Note: Do not use this function for mixing together more than two
13732
streams of sample data. The output from repeated application of
13733
this function may be distorted by clipping, because there is no
13734
accumulator with greater range than the input (not to mention this
13735
being an inefficient way of doing it). Use mixing functions from
13736
SDL_mixer, OpenAL, or write your own mixer instead.</p>
13737
<p>
13738
<code>
13739
void SDL_MixAudio(Uint8 *dst, Uint8 *src, Uint32 len, int volume)
13740
</code></p>
13741
</remarks>
13742
<param name="dst"></param>
13743
<param name="src"></param>
13744
<param name="len"></param>
13745
<param name="volume"></param>
13746
<seealso cref="M:Tao.Sdl.Sdl.SDL_OpenAudio(System.IntPtr,System.IntPtr)"/>
13747
</member>
13748
<member name="M:Tao.Sdl.Sdl.SDL_MixAudio(System.IntPtr,System.IntPtr,System.UInt32,System.Int32)">
13749
<summary>
13750
Mix audio data.
13751
</summary>
13752
<remarks>
13753
This function takes two audio buffers of len bytes each of the
13754
playing audio format and mixes them, performing addition,
13755
volume adjustment, and overflow clipping. The volume ranges
13756
from 0 to SDL_MIX_MAXVOLUME and should be set to the maximum
13757
value for full audio volume. Note this does not change hardware
13758
volume. This is provided for convenience -- you can mix your
13759
own audio data.
13760
<p>Note: Do not use this function for mixing together more than two
13761
streams of sample data. The output from repeated application of
13762
this function may be distorted by clipping, because there is no
13763
accumulator with greater range than the input (not to mention this
13764
being an inefficient way of doing it). Use mixing functions from
13765
SDL_mixer, OpenAL, or write your own mixer instead.</p>
13766
<p>
13767
<code>
13768
void SDL_MixAudio(Uint8 *dst, Uint8 *src, Uint32 len, int volume)
13769
</code></p>
13770
</remarks>
13771
<param name="dst"></param>
13772
<param name="src"></param>
13773
<param name="len"></param>
13774
<param name="volume"></param>
13775
<seealso cref="M:Tao.Sdl.Sdl.SDL_OpenAudio(System.IntPtr,System.IntPtr)"/>
13776
</member>
13777
<member name="M:Tao.Sdl.Sdl.SDL_LockAudio">
13778
<summary>
13779
Lock out the callback function.
13780
</summary>
13781
<remarks>
13782
The lock manipulated by these functions protects the callback
13783
function. During a LockAudio period, you can be guaranteed
13784
that the callback function is not running. Do not call these
13785
from the callback function or you will cause deadlock.
13786
<p>Binds to C-function call in SDL_audio.h:
13787
<code>
13788
void SDL_LockAudio(void);
13789
</code>
13790
</p>
13791
</remarks>
13792
<seealso cref="M:Tao.Sdl.Sdl.SDL_OpenAudio(System.IntPtr,System.IntPtr)"/>
13793
</member>
13794
<member name="M:Tao.Sdl.Sdl.SDL_UnlockAudio">
13795
<summary>
13796
Unlock the callback function
13797
</summary>
13798
<remarks>
13799
Unlocks a previous <see cref="M:Tao.Sdl.Sdl.SDL_LockAudio"/> call.
13800
<p>Binds to C-function call in SDL_audio.h:
13801
<code>
13802
void SDL_UnlockAudio(void)
13803
</code>
13804
</p>
13805
</remarks>
13806
<seealso cref="M:Tao.Sdl.Sdl.SDL_OpenAudio(System.IntPtr,System.IntPtr)"/>
13807
</member>
13808
<member name="M:Tao.Sdl.Sdl.SDL_CloseAudio">
13809
<summary>
13810
Shuts down audio processing and closes the audio device.
13811
</summary>
13812
<remarks>
13813
This function shuts down audio processing and closes the audio
13814
device.
13815
<p>Binds to C-function call in SDL_audio.h:
13816
<code>
13817
void SDL_CloseAudio(void)
13818
</code>
13819
</p>
13820
</remarks>
13821
<seealso cref="M:Tao.Sdl.Sdl.SDL_OpenAudio(System.IntPtr,System.IntPtr)"/>
13822
</member>
13823
<member name="M:Tao.Sdl.Sdl.CD_INDRIVE(System.Int32)">
13824
<summary>
13825
Given a status, returns true if there's a disk in the drive.
13826
</summary>
13827
<remarks>
13828
<p>Binds to C-macro call in SDL_cdrom.h:
13829
<code>#define CD_INDRIVE(status) ((int)status > 0)
13830
</code></p>
13831
</remarks>
13832
<param name="status">CDstatus enum</param>
13833
<returns>Returns 1 if true and 0 if false</returns>
13834
</member>
13835
<member name="M:Tao.Sdl.Sdl.FRAMES_TO_MSF(System.Int32,System.Int32@,System.Int32@,System.Int32@)">
13836
<summary>
13837
Conversion function from frames to Minute/Second/Frames.
13838
</summary>
13839
<remarks>
13840
<p>Binds to C-macro call in SDL_cdrom.h:
13841
<code>#define FRAMES_TO_MSF(f, M,S,F) {
13842
int value = f;
13843
*(F) = value%CD_FPS;
13844
value /= CD_FPS;
13845
*(S) = value%60;
13846
value /= 60;
13847
*(M) = value;
13848
}
13849
</code></p>
13850
</remarks>
13851
<param name="frames">Frames</param>
13852
<param name="M">Minutes</param>
13853
<param name="S">Seconds</param>
13854
<param name="F">Frames (remainder)</param>
13855
<seealso cref="F:Tao.Sdl.Sdl.CD_FPS"/>
13856
</member>
13857
<member name="M:Tao.Sdl.Sdl.MSF_TO_FRAMES(System.Int32,System.Int32,System.Int32)">
13858
<summary>
13859
Conversion function from Minute/Second/Frames to frames.
13860
</summary>
13861
<remarks>
13862
<p>Binds to C-macro call in SDL_cdrom.h:
13863
<code>#define MSF_TO_FRAMES(M, S, F) ((M)*60*CD_FPS+(S)*CD_FPS+(F))
13864
</code></p>
13865
</remarks>
13866
<param name="M">Minutes</param>
13867
<param name="S">Seconds</param>
13868
<param name="F">Frames</param>
13869
<seealso cref="F:Tao.Sdl.Sdl.CD_FPS"/>
13870
</member>
13871
<member name="M:Tao.Sdl.Sdl.SDL_CDNumDrives">
13872
<summary>
13873
Returns the number of CD-ROM drives on the
13874
system.
13875
</summary>
13876
<remarks>
13877
Returns the number of CD-ROM drives on the system,
13878
or -1 if SDL_Init() has not been called with the SDL_INIT_CDROM
13879
flag.
13880
<p>Binds to C-function call in SDL_cdrom.h:
13881
<code>int SDL_CDNumDrives(void)
13882
</code></p>
13883
</remarks>
13884
<returns>Returns the number of CD-ROM drives on the system,
13885
or -1 if SDL_Init() has not been called with the SDL_INIT_CDROM
13886
flag.
13887
</returns>
13888
<seealso cref="M:Tao.Sdl.Sdl.SDL_CDOpen(System.Int32)"/>
13889
</member>
13890
<member name="M:Tao.Sdl.Sdl.SDL_CDName(System.Int32)">
13891
<summary>
13892
Returns a human-readable, system-dependent identifier for the
13893
CD-ROM.
13894
</summary>
13895
<remarks>
13896
Drive is the index of the drive. Drive indices start to 0 and end
13897
at SDL_CDNumDrives()-1.
13898
<p>Binds to C-function in SDL_cdrom.h
13899
<code>const char *SDL_CDName(int drive);
13900
</code></p>
13901
</remarks>
13902
<example>
13903
Example:
13904
"/dev/cdrom"
13905
"E:"
13906
"/dev/disk/ide/1/master"
13907
</example>
13908
<param name="drive"></param>
13909
<returns>
13910
Returns a human-readable, system-dependent identifier for the
13911
CD-ROM.
13912
</returns>
13913
<seealso cref="M:Tao.Sdl.Sdl.SDL_CDNumDrives"/>
13914
</member>
13915
<member name="M:Tao.Sdl.Sdl.SDL_CDOpen(System.Int32)">
13916
<summary>
13917
Opens a CD-ROM drive for access.
13918
</summary>
13919
<remarks>
13920
Opens a CD-ROM drive for access. It returns a
13921
<see cref="T:Tao.Sdl.Sdl.SDL_CD"/> structure
13922
on success, or NULL if the drive was invalid or busy. This
13923
newly opened CD-ROM becomes the default CD used when other
13924
CD functions are passed a NULL CD-ROM handle.
13925
<p>Drives are numbered starting with 0. Drive 0 is the system
13926
default CD-ROM.</p>
13927
<p>Binds to C-function in SDL_cdrom.h
13928
<code>SDL_CD *SDL_CDOpen(int drive)
13929
</code></p>
13930
</remarks>
13931
<example>
13932
<code>
13933
SDL_CD *cdrom;
13934
int cur_track;
13935
int min, sec, frame;
13936
SDL_Init(SDL_INIT_CDROM);
13937
atexit(SDL_Quit);
13938
13939
/* Check for CD drives */
13940
if(!SDL_CDNumDrives())
13941
{
13942
/* None found */
13943
fprintf(stderr, "No CDROM devices available\n");
13944
exit(-1);
13945
}
13946
13947
/* Open the default drive */
13948
cdrom=SDL_CDOpen(0);
13949
13950
/* Did if open? Check if cdrom is NULL */
13951
if(!cdrom)
13952
{
13953
fprintf(stderr, "Couldn't open drive: %s\n", SDL_GetError());
13954
exit(-1);
13955
}
13956
13957
/* Print Volume info */
13958
printf("Name: %s\n", SDL_CDName(0));
13959
printf("Tracks: %d\n", cdrom-&gt;numtracks);
13960
for(cur_track=0;cur_track &lt; cdrom-&gt;numtracks; cur_track++)
13961
{
13962
FRAMES_TO_MSF(cdrom-&gt;track[cur_track].length, &amp;min, &amp;sec, &amp;frame);
13963
printf("\tTrack %d: Length %d:%d\n", cur_track, min, sec);
13964
}
13965
13966
SDL_CDClose(cdrom);
13967
</code>
13968
</example>
13969
<param name="drive"></param>
13970
<returns>It returns a SDL_CD structure
13971
on success, or NULL if the drive was invalid or busy.
13972
</returns>
13973
<seealso cref="T:Tao.Sdl.Sdl.SDL_CD"/>
13974
<seealso cref="T:Tao.Sdl.Sdl.SDL_CDtrack"/>
13975
<seealso cref="M:Tao.Sdl.Sdl.SDL_CDClose(System.IntPtr)"/>
13976
</member>
13977
<member name="M:Tao.Sdl.Sdl.SDL_CDStatus(System.IntPtr)">
13978
<summary>
13979
This function returns the current status of the given drive.
13980
</summary>
13981
<remarks>
13982
If the drive has a CD in it,
13983
the table of contents of the CD and current play position
13984
of the CD will be stored in the SDL_CD structure.
13985
<p>
13986
The macro CD_INDRIVE is provided for convenience,
13987
and given a status returns true if there's a disk
13988
in the drive.</p>
13989
<p>Note: SDL_CDStatus also updates the <see cref="T:Tao.Sdl.Sdl.SDL_CD"/>
13990
structure passed to it.</p>
13991
<p>Binds to C-function in SDL_cdrom.h
13992
<code>CDstatus SDL_CDStatus(SDL_CD *cdrom);
13993
</code></p>
13994
</remarks>
13995
<example>
13996
<code>
13997
int playTrack(int track)
13998
{
13999
int playing = 0;
14000
14001
if ( CD_INDRIVE(SDL_CDStatus(cdrom)) )
14002
{
14003
/* clamp to the actual number of tracks on the CD */
14004
if (track &gt;= cdrom-&gt;numtracks)
14005
{
14006
track = cdrom-&gt;numtracks-1;
14007
}
14008
14009
if ( SDL_CDPlayTracks(cdrom, track, 0, 1, 0) == 0 )
14010
{
14011
playing = 1;
14012
}
14013
}
14014
return playing;
14015
}
14016
</code>
14017
</example>
14018
<param name="cdrom"></param>
14019
<returns>CDstatus enum</returns>
14020
<seealso cref="T:Tao.Sdl.Sdl.SDL_CD"/>
14021
</member>
14022
<member name="M:Tao.Sdl.Sdl.SDL_CDPlay(System.IntPtr,System.Int32,System.Int32)">
14023
<summary>
14024
Play a CD.
14025
</summary>
14026
<remarks>
14027
Plays the given cdrom, starting a frame start for length frames.
14028
<p>Binds to C-function in SDL_cdrom.h
14029
<code>int SDL_CDPlay(SDL_CD *cdrom, int start, int length)
14030
</code></p>
14031
</remarks>
14032
<param name="cdrom"></param>
14033
<param name="start"></param>
14034
<param name="length"></param>
14035
<returns>It returns 0, or -1 if there was an error.</returns>
14036
<seealso cref="M:Tao.Sdl.Sdl.SDL_CDPlayTracks(System.IntPtr,System.Int32,System.Int32,System.Int32,System.Int32)"/>
14037
<seealso cref="M:Tao.Sdl.Sdl.SDL_CDStop(System.IntPtr)"/>
14038
</member>
14039
<member name="M:Tao.Sdl.Sdl.SDL_CDPlayTracks(System.IntPtr,System.Int32,System.Int32,System.Int32,System.Int32)">
14040
<summary>
14041
Play the given CD track(s).
14042
</summary>
14043
<remarks>
14044
SDL_CDPlayTracks plays the given CD starting at track start_track,
14045
for ntracks tracks.
14046
<p>start_frame is the frame offset, from the beginning of the
14047
start_track, at which to start. nframes is the frame offset,
14048
from the beginning of the last track (start_track+ntracks), at
14049
which to end playing.</p>
14050
<p>SDL_CDPlayTracks should only be called after calling
14051
<see cref="M:Tao.Sdl.Sdl.SDL_CDStatus(System.IntPtr)"/> to get track information about
14052
the CD.</p>
14053
<p>Note: Data tracks are ignored.</p>
14054
<p>Binds to C-function in SDL_cdrom.h
14055
<code>int SDL_CDPlayTracks(SDL_CD *cdrom, int start_track, int start_frame, int ntracks, int nframes))
14056
</code></p>
14057
</remarks>
14058
<example>
14059
<code>
14060
/* assuming cdrom is a previously opened device */
14061
/* Play the entire CD */
14062
if(CD_INDRIVE(SDL_CDStatus(cdrom)))
14063
SDL_CDPlayTracks(cdrom, 0, 0, 0, 0);
14064
14065
/* Play the first track */
14066
if(CD_INDRIVE(SDL_CDStatus(cdrom)))
14067
SDL_CDPlayTracks(cdrom, 0, 0, 1, 0);
14068
14069
/* Play first 15 seconds of the 2nd track */
14070
if(CD_INDRIVE(SDL_CDStatus(cdrom)))
14071
SDL_CDPlayTracks(cdrom, 1, 0, 0, CD_FPS*15);
14072
</code>
14073
</example>
14074
<param name="cdrom"></param>
14075
<param name="start_track"></param>
14076
<param name="start_frame"></param>
14077
<param name="ntracks"></param>
14078
<param name="nframes"></param>
14079
<returns>Returns 0, or -1 if there was an error.</returns>
14080
<seealso cref="M:Tao.Sdl.Sdl.SDL_CDPlay(System.IntPtr,System.Int32,System.Int32)"/>
14081
<seealso cref="M:Tao.Sdl.Sdl.SDL_CDStatus(System.IntPtr)"/>
14082
<seealso cref="T:Tao.Sdl.Sdl.SDL_CD"/>
14083
</member>
14084
<member name="M:Tao.Sdl.Sdl.SDL_CDPause(System.IntPtr)">
14085
<summary>
14086
Pauses a CDROM.
14087
</summary>
14088
<remarks>
14089
Pauses play on the given cdrom.
14090
<p>Binds to C-function in SDL_cdrom.h
14091
<code>int SDL_CDPause(SDL_CD *cdrom)
14092
</code></p>
14093
</remarks>
14094
<param name="cdrom"></param>
14095
<returns>Returns 0, or -1 on error.</returns>
14096
<seealso cref="M:Tao.Sdl.Sdl.SDL_CDPlay(System.IntPtr,System.Int32,System.Int32)"/>
14097
<seealso cref="M:Tao.Sdl.Sdl.SDL_CDResume(System.IntPtr)"/>
14098
</member>
14099
<member name="M:Tao.Sdl.Sdl.SDL_CDResume(System.IntPtr)">
14100
<summary>
14101
Resumes a CDROM.
14102
</summary>
14103
<remarks>
14104
Resumes play on the given cdrom.
14105
<p>Binds to C-function in SDL_cdrom.h
14106
<code>int SDL_CDResume(SDL_CD *cdrom)
14107
</code></p>
14108
</remarks>
14109
<param name="cdrom"></param>
14110
<seealso cref="M:Tao.Sdl.Sdl.SDL_CDPlay(System.IntPtr,System.Int32,System.Int32)"/>
14111
<seealso cref="M:Tao.Sdl.Sdl.SDL_CDPause(System.IntPtr)"/>
14112
<returns>Returns 0, or -1 on error.</returns>
14113
</member>
14114
<member name="M:Tao.Sdl.Sdl.SDL_CDStop(System.IntPtr)">
14115
<summary>
14116
Stops a CDROM.
14117
</summary>
14118
<remarks>
14119
Stops play on the given cdrom.
14120
<p>Binds to C-function in SDL_cdrom.h
14121
<code>int SDL_CDStop(SDL_CD *cdrom)
14122
</code></p>
14123
</remarks>
14124
<param name="cdrom"></param>
14125
<returns>Returns 0, or -1 on error.</returns>
14126
<seealso cref="M:Tao.Sdl.Sdl.SDL_CDPlay(System.IntPtr,System.Int32,System.Int32)"/>
14127
</member>
14128
<member name="M:Tao.Sdl.Sdl.SDL_CDEject(System.IntPtr)">
14129
<summary>
14130
Ejects a CDROM.
14131
</summary>
14132
<remarks>
14133
Ejects the given cdrom.
14134
<p>Binds to C-function in SDL_cdrom.h
14135
<code>int SDL_CDEject(SDL_CD *cdrom)
14136
</code></p>
14137
</remarks>
14138
<param name="cdrom"></param>
14139
<returns>Returns 0, or -1 on error.</returns>
14140
<seealso cref="T:Tao.Sdl.Sdl.SDL_CD"/>
14141
</member>
14142
<member name="M:Tao.Sdl.Sdl.SDL_CDClose(System.IntPtr)">
14143
<summary>
14144
Closes a SDL_CD handle.
14145
</summary>
14146
<remarks>
14147
Closes the given cdrom handle.
14148
<p>Binds to C-function in SDL_cdrom.h
14149
<code>void SDL_CDClose(SDL_CD *cdrom);
14150
</code></p>
14151
</remarks>
14152
<param name="cdrom"></param>
14153
<seealso cref="M:Tao.Sdl.Sdl.SDL_CDOpen(System.Int32)"/>
14154
<seealso cref="T:Tao.Sdl.Sdl.SDL_CD"/>
14155
</member>
14156
<member name="M:Tao.Sdl.Sdl.SDL_HasRDTSC">
14157
<summary>
14158
This function returns true if the CPU has the RDTSC instruction.
14159
</summary>
14160
<remarks>
14161
<p>Binds to C-function call in SDL_cpuinfo.h:
14162
<code>extern DECLSPEC SDL_bool SDLCALL SDL_HasRDTSC(void)</code>
14163
</p>
14164
</remarks>
14165
<returns>Returns SDL_TRUE if the CPU has the RDTSC instruction.</returns>
14166
</member>
14167
<member name="M:Tao.Sdl.Sdl.SDL_HasMMX">
14168
<summary>
14169
This function returns true if the CPU has MMX features.
14170
</summary>
14171
<remarks>
14172
<p>Binds to C-function call in SDL_cpuinfo.h:
14173
<code>extern DECLSPEC SDL_bool SDLCALL SDL_HasMMX(void)</code>
14174
</p>
14175
</remarks>
14176
<returns>Returns SDL_TRUE if the CPU has MMX features.</returns>
14177
</member>
14178
<member name="M:Tao.Sdl.Sdl.SDL_HasMMXExt">
14179
<summary>
14180
This function returns true if the CPU has MMX Ext. features.
14181
</summary>
14182
<remarks>
14183
<p>Binds to C-function call in SDL_cpuinfo.h:
14184
<code>extern DECLSPEC SDL_bool SDLCALL SDL_HasMMXExt(void)</code>
14185
</p>
14186
</remarks>
14187
<returns>Returns SDL_TRUE if the CPU has MMX Ext. features.</returns>
14188
</member>
14189
<member name="M:Tao.Sdl.Sdl.SDL_Has3DNow">
14190
<summary>
14191
This function returns true if the CPU has 3DNow features
14192
</summary>
14193
<remarks>
14194
<p>Binds to C-function call in SDL_cpuinfo.h:
14195
<code>extern DECLSPEC SDL_bool SDLCALL SDL_SDL_Has3DNow(void)</code>
14196
</p>
14197
</remarks>
14198
<returns>Returns SDL_TRUE if the CPU has 3DNow features.</returns>
14199
</member>
14200
<member name="M:Tao.Sdl.Sdl.SDL_HasSSE">
14201
<summary>
14202
This function returns true if the CPU has SSE features
14203
</summary>
14204
<remarks>
14205
<p>Binds to C-function call in SDL_cpuinfo.h:
14206
<code>extern DECLSPEC SDL_bool SDLCALL SDL_SDL_HasSSE(void)</code>
14207
</p>
14208
</remarks>
14209
<returns>Returns SDL_TRUE if the CPU has SSE features.</returns>
14210
</member>
14211
<member name="M:Tao.Sdl.Sdl.SDL_HasSSE2">
14212
<summary>
14213
This function returns true if the CPU has SSE2 features
14214
</summary>
14215
<remarks>
14216
<p>Binds to C-function call in SDL_cpuinfo.h:
14217
<code>extern DECLSPEC SDL_bool SDLCALL SDL_SDL_HasSSE2void()</code>
14218
</p>
14219
</remarks>
14220
<returns>Returns SDL_TRUE if the CPU has SSE2 features.</returns>
14221
</member>
14222
<member name="M:Tao.Sdl.Sdl.SDL_HasAltiVec">
14223
<summary>
14224
This function returns true if the CPU has AltiVec features
14225
</summary>
14226
<remarks>
14227
<p>Binds to C-function call in SDL_cpuinfo.h:
14228
<code>extern DECLSPEC SDL_bool SDLCALL SDL_SDL_HasAltiVec(void)</code>
14229
</p>
14230
</remarks>
14231
<returns>Returns SDL_TRUE if the CPU has AltiVec features.</returns>
14232
</member>
14233
<member name="M:Tao.Sdl.Sdl.SDL_SetError(System.String)">
14234
<summary>
14235
Sets an SDL error string.
14236
</summary>
14237
<param name="message">
14238
The error message to set.
14239
</param>
14240
<remarks>
14241
<p>Binds to C-function call in SDL_error.h:
14242
<code>extern DECLSPEC void SDLCALL SDL_SetError(const char *fmt, ...)</code>
14243
</p>
14244
</remarks>
14245
</member>
14246
<member name="M:Tao.Sdl.Sdl.SDL_GetError">
14247
<summary>
14248
Gets an SDL error string.
14249
</summary>
14250
<returns>
14251
A string containing information about the last internal SDL error.
14252
</returns>
14253
<remarks>
14254
<p>Binds to C-function call in SDL_error.h:
14255
<code>extern DECLSPEC char * SDLCALL SDL_GetError(void)</code>
14256
</p>
14257
</remarks>
14258
</member>
14259
<member name="M:Tao.Sdl.Sdl.SDL_ClearError">
14260
<summary>
14261
Clears the SDL error.
14262
</summary>
14263
<remarks>
14264
<p>
14265
Binds to C-function call in SDL_error.h:
14266
<code>extern DECLSPEC void SDLCALL SDL_ClearError(void)</code>
14267
</p>
14268
</remarks>
14269
</member>
14270
<member name="M:Tao.Sdl.Sdl.SDL_PumpEvents">
14271
<summary>
14272
Pumps the event loop, gathering events from the input devices.
14273
</summary>
14274
<remarks>
14275
Pumps the event loop, gathering events from the input devices.
14276
<p>SDL_PumpEvents gathers all the pending input information from
14277
devices and places it on the event queue. Without calls to
14278
SDL_PumpEvents no events would ever be placed on the queue.
14279
Often calls the need for SDL_PumpEvents is hidden from the user
14280
since <see cref="M:Tao.Sdl.Sdl.SDL_PollEvent(Tao.Sdl.Sdl.SDL_Event@)"/> and <see cref="M:Tao.Sdl.Sdl.SDL_WaitEvent(Tao.Sdl.Sdl.SDL_Event@)"/>
14281
implicitly call SDL_PumpEvents. However, if you are not polling or
14282
waiting for events (e.g. you are filtering them), then you must
14283
call SDL_PumpEvents to force an event queue update.
14284
</p>
14285
<p>Note: You can only call this function in the thread that set the video mode.</p>
14286
<p>Binds to C-function in SDL_events.h
14287
<code>
14288
void SDL_PumpEvents(void);
14289
</code></p>
14290
</remarks>
14291
<seealso cref="M:Tao.Sdl.Sdl.SDL_PollEvent(Tao.Sdl.Sdl.SDL_Event@)"/>
14292
</member>
14293
<member name="M:Tao.Sdl.Sdl.SDL_PeepEvents(Tao.Sdl.Sdl.SDL_Event[],System.Int32,System.Int32,System.Int32)">
14294
<summary>
14295
Checks the event queue for messages and optionally returns them.
14296
</summary>
14297
<remarks>
14298
Checks the event queue for messages and optionally returns them.
14299
<p>If action is SDL_ADDEVENT, up to numevents events will be added
14300
to the back of the event queue.</p>
14301
<p>If action is SDL_PEEKEVENT, up to numevents events at the front
14302
of the event queue, matching mask, will be returned and
14303
will not be removed from the queue.</p>
14304
<p>If action is SDL_GETEVENT, up to numevents events at the front
14305
of the event queue, matching mask, will be returned and
14306
will be removed from the queue.</p>
14307
<p>
14308
The mask parameter is an bitwise OR of SDL_EVENTMASK(event_type),
14309
for all event types you are interested in.
14310
</p>
14311
<p>This function is thread-safe.</p>
14312
<p>Binds to C-function in SDL_events.h
14313
<code>
14314
int SDL_PeepEvents(SDL_Event *events, int numevents, SDL_eventaction action, Uint32 mask);
14315
</code></p>
14316
</remarks>
14317
<param name="events"></param>
14318
<param name="numevents"></param>
14319
<param name="action">SDL_eventaction enum</param>
14320
<param name="mask"></param>
14321
<returns>
14322
This function returns the number of events actually stored,
14323
or -1 if there was an error.
14324
</returns>
14325
<seealso cref="M:Tao.Sdl.Sdl.SDL_PollEvent(Tao.Sdl.Sdl.SDL_Event@)"/>
14326
<seealso cref="T:Tao.Sdl.Sdl.SDL_Event"/>
14327
<seealso cref="M:Tao.Sdl.Sdl.SDL_PushEvent(Tao.Sdl.Sdl.SDL_Event@)"/>
14328
</member>
14329
<member name="M:Tao.Sdl.Sdl.SDL_PeepEvents(Tao.Sdl.Sdl.SDL_Event[],System.Int32,System.Int32,System.UInt32)">
14330
<summary>
14331
Checks the event queue for messages and optionally returns them.
14332
</summary>
14333
<remarks>
14334
Checks the event queue for messages and optionally returns them.
14335
<p>If action is SDL_ADDEVENT, up to numevents events will be added
14336
to the back of the event queue.</p>
14337
<p>If action is SDL_PEEKEVENT, up to numevents events at the front
14338
of the event queue, matching mask, will be returned and
14339
will not be removed from the queue.</p>
14340
<p>If action is SDL_GETEVENT, up to numevents events at the front
14341
of the event queue, matching mask, will be returned and
14342
will be removed from the queue.</p>
14343
<p>
14344
The mask parameter is an bitwise OR of SDL_EVENTMASK(event_type),
14345
for all event types you are interested in.
14346
</p>
14347
<p>This function is thread-safe.</p>
14348
<p>Binds to C-function in SDL_events.h
14349
<code>
14350
int SDL_PeepEvents(SDL_Event *events, int numevents, SDL_eventaction action, Uint32 mask);
14351
</code></p>
14352
</remarks>
14353
<param name="events"></param>
14354
<param name="numevents"></param>
14355
<param name="action">SDL_eventaction enum</param>
14356
<param name="mask"></param>
14357
<returns>
14358
This function returns the number of events actually stored,
14359
or -1 if there was an error.
14360
</returns>
14361
<seealso cref="M:Tao.Sdl.Sdl.SDL_PollEvent(Tao.Sdl.Sdl.SDL_Event@)"/>
14362
<seealso cref="T:Tao.Sdl.Sdl.SDL_Event"/>
14363
<seealso cref="M:Tao.Sdl.Sdl.SDL_PushEvent(Tao.Sdl.Sdl.SDL_Event@)"/>
14364
</member>
14365
<member name="M:Tao.Sdl.Sdl.SDL_PollEvent(Tao.Sdl.Sdl.SDL_Event@)">
14366
<summary>
14367
Polls for currently pending events.
14368
</summary>
14369
<remarks>
14370
Polls for currently pending events,
14371
and returns 1 if there are any pending events, or 0 if there
14372
are none available.
14373
<p>If event is not NULL, the next event is removed from the
14374
queue and stored in that area.</p>
14375
<p>Binds to C-function in SDL_events.h
14376
<code>int SDL_PollEvent(SDL_Event *event);
14377
</code>
14378
</p>
14379
</remarks>
14380
<example>
14381
<code>
14382
SDL_Event event; /* Event structure */
14383
14384
.
14385
.
14386
.
14387
/* Check for events */
14388
while(SDL_PollEvent(&amp;event))
14389
{ /* Loop until there are no events left on the queue */
14390
switch(event.type)
14391
{ /* Process the appropiate event type */
14392
case SDL_KEYDOWN: /* Handle a KEYDOWN event */
14393
printf("Oh! Key press\n");
14394
break;
14395
case SDL_MOUSEMOTION:
14396
.
14397
.
14398
.
14399
default: /* Report an unhandled event */
14400
printf("I don't know what this event is!\n");
14401
}
14402
}
14403
</code>
14404
</example>
14405
<param name="sdlEvent"></param>
14406
<returns>Returns 1 if there are any pending events,
14407
or 0 if there
14408
are none available</returns>
14409
<seealso cref="M:Tao.Sdl.Sdl.SDL_WaitEvent(Tao.Sdl.Sdl.SDL_Event@)"/>
14410
<seealso cref="T:Tao.Sdl.Sdl.SDL_Event"/>
14411
<seealso cref="M:Tao.Sdl.Sdl.SDL_PeepEvents(Tao.Sdl.Sdl.SDL_Event[],System.Int32,System.Int32,System.Int32)"/>
14412
</member>
14413
<member name="M:Tao.Sdl.Sdl.SDL_WaitEvent(Tao.Sdl.Sdl.SDL_Event@)">
14414
<summary>
14415
Waits indefinitely for the next available event.
14416
</summary>
14417
<remarks>
14418
Waits indefinitely for the next available event, returning 1,
14419
or 0 if there
14420
was an error while waiting for events.
14421
<p>If 'event' is not NULL,
14422
the next
14423
event is removed from the queue and stored in that area.</p>
14424
<p>Binds to C-function in SDL_events.h
14425
<code>int SDL_WaitEvent(SDL_Event *event);
14426
</code></p>
14427
</remarks>
14428
<param name="evt"></param>
14429
<returns>Returns 1, or 0 if there was an
14430
error while waiting for events</returns>
14431
<seealso cref="T:Tao.Sdl.Sdl.SDL_Event"/>
14432
<seealso cref="M:Tao.Sdl.Sdl.SDL_PollEvent(Tao.Sdl.Sdl.SDL_Event@)"/>
14433
</member>
14434
<member name="M:Tao.Sdl.Sdl.SDL_PushEvent(Tao.Sdl.Sdl.SDL_Event@)">
14435
<summary>
14436
Pushes an event onto the event queue.
14437
</summary>
14438
<remarks>
14439
The event queue can actually be used as a two way communication
14440
channel. Not only can events be read from the queue, but the user
14441
can also push their own events onto it. event is a pointer to the
14442
event structure you wish to push onto the queue.
14443
<p>Note: Pushing device input events onto the queue doesn't modify
14444
the state of the device within SDL.</p>
14445
<p>Binds to C-function in SDL_events.h
14446
<code>int SDL_PushEvent(SDL_Event *event)
14447
</code></p></remarks>
14448
<param name="evt"></param>
14449
<returns>
14450
Returns 0 on success or -1 if the event couldn't be pushed.
14451
</returns>
14452
<seealso cref="T:Tao.Sdl.Sdl.SDL_Event"/>
14453
<seealso cref="M:Tao.Sdl.Sdl.SDL_PollEvent(Tao.Sdl.Sdl.SDL_Event@)"/>
14454
<seealso cref="M:Tao.Sdl.Sdl.SDL_PeepEvents(Tao.Sdl.Sdl.SDL_Event[],System.Int32,System.Int32,System.Int32)"/>
14455
</member>
14456
<member name="M:Tao.Sdl.Sdl.SDL_SetEventFilter(Tao.Sdl.Sdl.SDL_EventFilter)">
14457
<summary>
14458
Sets up a filter to process all events before
14459
they are posted to the event queue.
14460
</summary>
14461
<remarks>
14462
This function sets up a filter to process all events
14463
before they are posted to the event queue. This is a very powerful
14464
and flexible feature. The filter is prototyped as:
14465
<p><code>typedef int (*SDL_EventFilter)(const SDL_Event *event);
14466
</code></p>
14467
<p>If the filter returns 1, then the event will be added to the
14468
internal queue. If it returns 0, then the event will be dropped
14469
from the queue. This allows selective filtering of dynamically.
14470
</p>
14471
<p>There is one caveat when dealing with the SDL_QUITEVENT event
14472
type. The event filter is only called when the window manager
14473
desires to close the application window. If the event filter returns
14474
1, then the window will be closed, otherwise the window will remain
14475
open if possible. If the quit event is generated by an interrupt
14476
signal, it will bypass the internal queue and be delivered to the
14477
application at the next event poll.</p>
14478
<p>Note: Events pushed onto the queue with
14479
<see cref="M:Tao.Sdl.Sdl.SDL_PushEvent(Tao.Sdl.Sdl.SDL_Event@)"/> or <see cref="M:Tao.Sdl.Sdl.SDL_PeepEvents(Tao.Sdl.Sdl.SDL_Event[],System.Int32,System.Int32,System.Int32)"/>
14480
do not get passed through the event filter.</p>
14481
<p>Note: Be Careful! The event filter function may run in a
14482
different thread so be careful what you do within it.</p>
14483
<p>Binds to C-function in SDL_events.h
14484
<code>void SDL_SetEventFilter(SDL_EventFilter filter);
14485
</code></p>
14486
</remarks>
14487
<param name="filter"></param>
14488
<seealso cref="T:Tao.Sdl.Sdl.SDL_Event"/>
14489
<seealso cref="M:Tao.Sdl.Sdl.SDL_GetEventFilter"/>
14490
<seealso cref="M:Tao.Sdl.Sdl.SDL_PushEvent(Tao.Sdl.Sdl.SDL_Event@)"/>
14491
</member>
14492
<member name="M:Tao.Sdl.Sdl.SDL_GetEventFilter">
14493
<summary>
14494
Retrieves a pointer to the event filter
14495
</summary>
14496
<remarks>
14497
This function retrieces a pointer to the event filter that was
14498
previously set using <see cref="M:Tao.Sdl.Sdl.SDL_SetEventFilter(Tao.Sdl.Sdl.SDL_EventFilter)"/>.
14499
An SDL_EventFilter function is defined as:
14500
<p>
14501
<code>
14502
typedef int (*SDL_EventFilter)(const SDL_Event *event);
14503
</code></p>
14504
<p>Binds to C-function in SDL_events.h
14505
<code>SDL_EventFilter SDL_GetEventFilter(void);
14506
</code></p></remarks>
14507
<returns>
14508
Returns a pointer to the event filter or
14509
NULL if no filter has been set.
14510
</returns>
14511
<seealso cref="T:Tao.Sdl.Sdl.SDL_Event"/>
14512
<seealso cref="M:Tao.Sdl.Sdl.SDL_SetEventFilter(Tao.Sdl.Sdl.SDL_EventFilter)"/>
14513
</member>
14514
<member name="M:Tao.Sdl.Sdl.SDL_EventState(System.Byte,System.Int32)">
14515
<summary>
14516
This function allows you to set the state of processing certain
14517
events.
14518
</summary>
14519
<remarks>
14520
This function allows you to set the state of
14521
processing certain event type's.
14522
<p>If 'state' is set to SDL_IGNORE, that event will be
14523
automatically
14524
dropped
14525
from the event queue and will not be filtered.</p>
14526
<p>
14527
If 'state' is set to SDL_ENABLE, that event will be processed
14528
normally.</p>
14529
<p>If 'state' is set to SDL_QUERY, SDL_EventState will return the
14530
current processing state of the specified event type.</p>
14531
<p>A list of event type's can be found in the
14532
<see cref="T:Tao.Sdl.Sdl.SDL_Event"/>
14533
section.</p>
14534
</remarks>
14535
<param name="type"></param>
14536
<param name="state"></param>
14537
<returns>
14538
Returns 0 on success or -1 if the event couldn't be pushed.
14539
</returns>
14540
<seealso cref="T:Tao.Sdl.Sdl.SDL_Event"/>
14541
</member>
14542
<member name="M:Tao.Sdl.Sdl.SDL_NumJoysticks">
14543
<summary>
14544
Count the number of joysticks attached to the system.
14545
</summary>
14546
<remarks>
14547
Counts the number of joysticks attached to the system.
14548
<p>Binds to C-function in SDL_joystick.h
14549
<code>int SDL_NumJoysticks(void)
14550
</code></p>
14551
</remarks>
14552
<returns>
14553
Returns the number of attached joysticks
14554
</returns>
14555
<seealso cref="M:Tao.Sdl.Sdl.SDL_JoystickName(System.Int32)"/>
14556
<seealso cref="M:Tao.Sdl.Sdl.SDL_JoystickOpen(System.Int32)"/>
14557
</member>
14558
<member name="M:Tao.Sdl.Sdl.SDL_JoystickName(System.Int32)">
14559
<summary>
14560
Get joystick name.
14561
</summary>
14562
<remarks>
14563
Get the implementation dependent name of joystick.
14564
The index parameter refers to the N'th joystick on the system.
14565
<p>Binds to C-function in SDL_joystick.h
14566
<code>const char *SDL_JoystickName(int index)
14567
</code></p>
14568
</remarks>
14569
<param name="device_index"></param>
14570
<returns>
14571
Returns a string containing the joystick name.
14572
</returns>
14573
<example>
14574
<code>
14575
/* Print the names of all attached joysticks */
14576
int num_joy, i;
14577
num_joy=SDL_NumJoysticks();
14578
printf("%d joysticks found\n", num_joy);
14579
for(i=0;i&lt;num_joy;i++)
14580
printf("%s\n", SDL_JoystickName(i));
14581
</code>
14582
</example>
14583
<seealso cref="M:Tao.Sdl.Sdl.SDL_JoystickOpen(System.Int32)"/>
14584
</member>
14585
<member name="M:Tao.Sdl.Sdl.SDL_JoystickOpen(System.Int32)">
14586
<summary>
14587
Open a joystick for use.
14588
</summary>
14589
<remarks>
14590
Opens a joystick for use within SDL.
14591
The index refers to the N'th joystick in the system.
14592
A joystick must be opened before it game be used.
14593
<p>Binds to C-function in SDL_joystick.h
14594
<code>
14595
</code></p>
14596
</remarks>
14597
<param name="device_index"></param>
14598
<returns>
14599
Returns a IntPtr to a SDL_Joystick structure on success.
14600
NULL on failure.
14601
</returns>
14602
<example>
14603
<code>
14604
SDL_Joystick *joy;
14605
Check for joystick
14606
if(SDL_NumJoysticks()&gt;0)
14607
{
14608
// Open joystick
14609
joy=SDL_JoystickOpen(0);
14610
14611
if(joy)
14612
{
14613
printf("Opened Joystick 0\n");
14614
printf("Name: %s\n", SDL_JoystickName(0));
14615
printf("Number of Axes: %d\n", SDL_JoystickNumAxes(joy));
14616
printf("Number of Buttons: %d\n", SDL_JoystickNumButtons(joy));
14617
printf("Number of Balls: %d\n", SDL_JoystickNumBalls(joy));
14618
}
14619
else
14620
printf("Couldn't open Joystick 0\n");
14621
14622
// Close if opened
14623
if(SDL_JoystickOpened(0))
14624
SDL_JoystickClose(joy);
14625
}
14626
</code>
14627
</example>
14628
<seealso cref="M:Tao.Sdl.Sdl.SDL_JoystickClose(System.IntPtr)"/>
14629
</member>
14630
<member name="M:Tao.Sdl.Sdl.SDL_JoystickOpened(System.Int32)">
14631
<summary>
14632
Determine if a joystick has been opened.
14633
</summary>
14634
<remarks>
14635
Determines whether a joystick has already been opened
14636
within the application. index refers to the N'th joystick
14637
on the system.
14638
<p>Binds to C-function in SDL_joystick.h
14639
<code>int SDL_JoystickOpened(int index)
14640
</code></p>
14641
</remarks>
14642
<param name="device_index"></param>
14643
<returns>
14644
Returns 1 if the joystick has been opened, or 0 if it has not.
14645
</returns>
14646
<seealso cref="M:Tao.Sdl.Sdl.SDL_JoystickOpen(System.Int32)"/>
14647
<seealso cref="M:Tao.Sdl.Sdl.SDL_JoystickClose(System.IntPtr)"/>
14648
</member>
14649
<member name="M:Tao.Sdl.Sdl.SDL_JoystickIndex(System.IntPtr)">
14650
<summary>
14651
Get the index of an SDL_Joystick.
14652
</summary>
14653
<remarks>
14654
Returns the index of a given SDL_Joystick structure.
14655
<p>Binds to C-function in SDL_joystick.h
14656
<code>int SDL_JoystickIndex(SDL_Joystick *joystick)
14657
</code></p>
14658
</remarks>
14659
<param name="joystick"></param>
14660
<returns>
14661
Index number of the joystick.
14662
</returns>
14663
<seealso cref="M:Tao.Sdl.Sdl.SDL_JoystickOpen(System.Int32)"/>
14664
</member>
14665
<member name="M:Tao.Sdl.Sdl.SDL_JoystickNumAxes(System.IntPtr)">
14666
<summary>
14667
Get the number of joystick axes
14668
</summary>
14669
<remarks>
14670
Return the number of axes available from a
14671
previously opened SDL_Joystick.
14672
<p>Binds to C-function in SDL_joystick.h
14673
<code>int SDL_JoystickNumAxes(SDL_Joystick *joystick)
14674
</code></p>
14675
</remarks>
14676
<param name="joystick"></param>
14677
<returns>
14678
Number of axes.
14679
</returns>
14680
<seealso cref="M:Tao.Sdl.Sdl.SDL_JoystickOpen(System.Int32)"/>
14681
<seealso cref="M:Tao.Sdl.Sdl.SDL_JoystickGetAxis(System.IntPtr,System.Int32)"/>
14682
</member>
14683
<member name="M:Tao.Sdl.Sdl.SDL_JoystickNumBalls(System.IntPtr)">
14684
<summary>
14685
Get the number of joystick trackballs
14686
</summary>
14687
<remarks>
14688
Return the number of trackballs available from a
14689
previously opened SDL_Joystick.
14690
<p>Binds to C-function in SDL_joystick.h
14691
<code>int SDL_JoystickNumBalls(SDL_Joystick *joystick)
14692
</code></p>
14693
</remarks>
14694
<param name="joystick"></param>
14695
<returns>
14696
Number of trackballs.
14697
</returns>
14698
<seealso cref="M:Tao.Sdl.Sdl.SDL_JoystickOpen(System.Int32)"/>
14699
<seealso cref="M:Tao.Sdl.Sdl.SDL_JoystickGetBall(System.IntPtr,System.Int32,System.Int32@,System.Int32@)"/>
14700
</member>
14701
<member name="M:Tao.Sdl.Sdl.SDL_JoystickNumHats(System.IntPtr)">
14702
<summary>
14703
Get the number of joystick hats.
14704
</summary>
14705
<remarks>
14706
<p>Binds to C-function in SDL_joystick.h
14707
<code>int SDL_JoystickNumHats(SDL_Joystick *joystick);
14708
</code></p>
14709
</remarks>
14710
Return the number of hats available from a previously
14711
opened SDL_Joystick.
14712
<param name="joystick"></param>
14713
<returns>
14714
Number of hats.
14715
</returns>
14716
<seealso cref="M:Tao.Sdl.Sdl.SDL_JoystickOpen(System.Int32)"/>
14717
<seealso cref="M:Tao.Sdl.Sdl.SDL_JoystickGetHat(System.IntPtr,System.Int32)"/>
14718
</member>
14719
<member name="M:Tao.Sdl.Sdl.SDL_JoystickNumButtons(System.IntPtr)">
14720
<summary>
14721
Get the number of joystick buttons.
14722
</summary>
14723
<remarks>
14724
Return the number of buttons available from a
14725
previously opened SDL_Joystick.
14726
<p>Binds to C-function in SDL_joystick.h
14727
<code>int SDL_JoystickNumButtons(SDL_Joystick *joystick)
14728
</code></p>
14729
</remarks>
14730
<param name="joystick"></param>
14731
<returns>
14732
Number of buttons.
14733
</returns>
14734
<seealso cref="M:Tao.Sdl.Sdl.SDL_JoystickOpen(System.Int32)"/>
14735
<seealso cref="M:Tao.Sdl.Sdl.SDL_JoystickGetButton(System.IntPtr,System.Int32)"/>
14736
</member>
14737
<member name="M:Tao.Sdl.Sdl.SDL_JoystickUpdate">
14738
<summary>
14739
Updates the state of all joysticks.
14740
</summary>
14741
<remarks>
14742
Updates the state(position, buttons, etc.) of all open joysticks.
14743
If joystick events have been enabled with
14744
<see cref="M:Tao.Sdl.Sdl.SDL_JoystickEventState(System.Int32)"/>
14745
then this is called automatically in the event loop.
14746
<p>Binds to C-function in SDL_joystick.h
14747
<code>void SDL_JoystickUpdate(void)
14748
</code></p>
14749
</remarks>
14750
<seealso cref="M:Tao.Sdl.Sdl.SDL_JoystickOpen(System.Int32)"/>
14751
<seealso cref="M:Tao.Sdl.Sdl.SDL_JoystickGetButton(System.IntPtr,System.Int32)"/>
14752
</member>
14753
<member name="M:Tao.Sdl.Sdl.SDL_JoystickEventState(System.Int32)">
14754
<summary>
14755
Enable/disable joystick event polling
14756
</summary>
14757
<remarks>
14758
This function is used to enable or disable joystick event
14759
processing. With joystick event processing disabled you will
14760
have to update joystick states with SDL_JoystickUpdate and
14761
read the joystick information manually. state is either
14762
SDL_QUERY, SDL_ENABLE or SDL_IGNORE.
14763
<p>
14764
Note: Joystick event handling is preferred
14765
</p>
14766
<p>Binds to C-function in SDL_joystick.h
14767
<code>int SDL_JoystickEventState(int state)
14768
</code></p>
14769
</remarks>
14770
<seealso cref="M:Tao.Sdl.Sdl.SDL_JoystickOpen(System.Int32)"/>
14771
<seealso cref="M:Tao.Sdl.Sdl.SDL_JoystickGetButton(System.IntPtr,System.Int32)"/>
14772
<returns>
14773
If state is SDL_QUERY then the current state is returned,
14774
otherwise the new processing state is returned.
14775
</returns>
14776
<seealso cref="M:Tao.Sdl.Sdl.SDL_JoystickUpdate"/>
14777
<seealso cref="T:Tao.Sdl.Sdl.SDL_JoyAxisEvent"/>
14778
<seealso cref="T:Tao.Sdl.Sdl.SDL_JoyBallEvent"/>
14779
<seealso cref="T:Tao.Sdl.Sdl.SDL_JoyButtonEvent"/>
14780
<seealso cref="T:Tao.Sdl.Sdl.SDL_JoyHatEvent"/>
14781
</member>
14782
<member name="M:Tao.Sdl.Sdl.SDL_JoystickGetAxis(System.IntPtr,System.Int32)">
14783
<summary>
14784
Get the current state of an axis.
14785
</summary>
14786
<remarks>
14787
SDL_JoystickGetAxis returns the current state of the
14788
given axis on the given joystick.
14789
<p>On most modern joysticks the X axis is usually represented
14790
by axis 0 and the Y axis by axis 1. The value returned by
14791
SDL_JoystickGetAxis is a signed integer (-32768 to 32768)
14792
representing the current position of the axis, it maybe necessary
14793
to impose certain tolerances on these values to account for
14794
jitter. It is worth noting that some joysticks use axes 2 and
14795
3 for extra buttons.</p>
14796
<p>Binds to C-function in SDL_joystick.h
14797
<code>Sint16 SDL_JoystickGetAxis(SDL_Joystick *joystick, int axis);
14798
</code></p>
14799
</remarks>
14800
<param name="joystick"></param>
14801
<param name="axis"></param>
14802
<returns>
14803
Returns a short representing the current position of the axis.
14804
</returns>
14805
<example>
14806
<code>
14807
Sint16 x_move, y_move;
14808
SDL_Joystick *joy1;
14809
.
14810
.
14811
x_move=SDL_JoystickGetAxis(joy1, 0);
14812
y_move=SDL_JoystickGetAxis(joy1, 1);
14813
</code>
14814
</example>
14815
<seealso cref="M:Tao.Sdl.Sdl.SDL_JoystickNumAxes(System.IntPtr)"/>
14816
</member>
14817
<member name="M:Tao.Sdl.Sdl.SDL_JoystickGetHat(System.IntPtr,System.Int32)">
14818
<summary>
14819
Get the current state of a joystick hat
14820
</summary>
14821
<remarks>
14822
SDL_JoystickGetHat returns the current
14823
state of the given hat on the given joystick.
14824
<p>Binds to C-function in SDL_joystick.h
14825
<code>Uint8 SDL_JoystickGetHat(SDL_Joystick *joystick, int hat)
14826
</code></p>
14827
</remarks>
14828
<param name="joystick"></param>
14829
<param name="hat"></param>
14830
<returns>
14831
The current state is returned as a byte which
14832
is defined as an OR'd combination of one or more of the following:
14833
<code>
14834
SDL_HAT_CENTERED
14835
SDL_HAT_UP
14836
SDL_HAT_RIGHT
14837
SDL_HAT_DOWN
14838
SDL_HAT_LEFT
14839
SDL_HAT_RIGHTUP
14840
SDL_HAT_RIGHTDOWN
14841
SDL_HAT_LEFTUP
14842
SDL_HAT_LEFTDOWN
14843
</code>
14844
</returns>
14845
<seealso cref="M:Tao.Sdl.Sdl.SDL_JoystickNumHats(System.IntPtr)"/>
14846
</member>
14847
<member name="M:Tao.Sdl.Sdl.SDL_JoystickGetBall(System.IntPtr,System.Int32,System.Int32@,System.Int32@)">
14848
<summary>
14849
Get relative trackball motion.
14850
</summary>
14851
<remarks>
14852
Get the ball axis change.
14853
<p>Trackballs can only return relative motion since
14854
the last call to SDL_JoystickGetBall, these motion
14855
deltas a placed into dx and dy.
14856
</p>
14857
<p>Binds to C-function in SDL_joystick.h
14858
<code>int SDL_JoystickGetBall(SDL_Joystick *joystick, int ball, int *dx, int *dy);
14859
</code></p>
14860
</remarks>
14861
<param name="joystick"></param>
14862
<param name="ball"></param>
14863
<param name="dx"></param>
14864
<param name="dy"></param>
14865
<returns>
14866
Returns 0 on success or -1 on failure
14867
</returns>
14868
<example>
14869
<code>
14870
int delta_x, delta_y;
14871
SDL_Joystick *joy;
14872
.
14873
.
14874
.
14875
SDL_JoystickUpdate();
14876
if(SDL_JoystickGetBall(joy, 0, &amp;delta_x, &amp;delta_y)==-1)
14877
printf("TrackBall Read Error!\n");
14878
printf("Trackball Delta- X:%d, Y:%d\n", delta_x, delta_y);
14879
</code>
14880
</example>
14881
<seealso cref="M:Tao.Sdl.Sdl.SDL_JoystickNumBalls(System.IntPtr)"/>
14882
</member>
14883
<member name="M:Tao.Sdl.Sdl.SDL_JoystickGetButton(System.IntPtr,System.Int32)">
14884
<summary>
14885
Get the current state of a given button on a given joystick.
14886
</summary>
14887
<remarks>
14888
SDL_JoystickGetButton returns the current
14889
state of the given button on the given joystick.
14890
<p>Binds to C-function in SDL_joystick.h
14891
<code>Uint8 SDL_JoystickGetButton(SDL_Joystick *joystick, int button);
14892
</code></p>
14893
</remarks>
14894
<param name="joystick"></param>
14895
<param name="button"></param>
14896
<returns>
14897
1 if the button is pressed. Otherwise, 0.
14898
</returns>
14899
<seealso cref="M:Tao.Sdl.Sdl.SDL_JoystickNumButtons(System.IntPtr)"/>
14900
</member>
14901
<member name="M:Tao.Sdl.Sdl.SDL_JoystickClose(System.IntPtr)">
14902
<summary>
14903
Closes a previously opened joystick.
14904
</summary>
14905
<remarks>
14906
Close a joystick that was previously opened with
14907
<see cref="M:Tao.Sdl.Sdl.SDL_JoystickOpen(System.Int32)"/>.
14908
<p>Binds to C-function in SDL_joystick.h
14909
<code>void SDL_JoystickClose(SDL_Joystick *joystick);
14910
</code></p>
14911
</remarks>
14912
<param name="joystick"></param>
14913
<seealso cref="M:Tao.Sdl.Sdl.SDL_JoystickOpen(System.Int32)"/>
14914
<seealso cref="M:Tao.Sdl.Sdl.SDL_JoystickOpened(System.Int32)"/>
14915
</member>
14916
<member name="M:Tao.Sdl.Sdl.SDL_EnableUNICODE(System.Int32)">
14917
<summary>
14918
Enable UNICODE translation
14919
</summary>
14920
<remarks>
14921
Enables/Disables Unicode keyboard translation.
14922
<p>To obtain the character codes corresponding to received
14923
keyboard events, Unicode translation must first be turned
14924
on using this function. The translation incurs a slight overhead
14925
for each keyboard event and is therefore disabled by default.
14926
For each subsequently received key down event, the unicode member
14927
of the SDL_keysym structure will then contain the corresponding
14928
character code, or zero for keysyms that do not correspond to
14929
any character code.</p>
14930
<p>A value of 1 for enable enables Unicode translation; 0 disables
14931
it, and -1 leaves it unchanged (useful for querying the current
14932
translation mode).</p>
14933
<p>Note that only key press events will be translated, not
14934
release events.</p>
14935
<p>Binds to C-function in SDL_keyboard.h
14936
<code>int SDL_EnableUNICODE(int enable);
14937
</code></p>
14938
</remarks>
14939
<param name="enable"></param>
14940
<returns>
14941
Returns the previous translation mode (0 or 1).
14942
</returns>
14943
<seealso cref="T:Tao.Sdl.Sdl.SDL_keysym"/>
14944
</member>
14945
<member name="M:Tao.Sdl.Sdl.SDL_EnableKeyRepeat(System.Int32,System.Int32)">
14946
<summary>
14947
Set keyboard repeat rate.
14948
</summary>
14949
<remarks>
14950
Enables or disables the keyboard repeat rate.
14951
delay specifies how long the key must be pressed before it
14952
begins repeating, it then repeats at the speed specified by
14953
interval. Both delay and interval are expressed in milliseconds.
14954
<p>Setting delay to 0 disables key repeating completely. Good
14955
default values are SDL_DEFAULT_REPEAT_DELAY and
14956
SDL_DEFAULT_REPEAT_INTERVAL.</p>
14957
<p>Binds to C-function in SDL_keyboard.h
14958
<code>int SDL_EnableKeyRepeat(int delay, int interval);
14959
</code></p>
14960
</remarks>
14961
<param name="rate"></param>
14962
<param name="delay"></param>
14963
<returns>Returns 0 on success and -1 on failure.</returns>
14964
</member>
14965
<member name="M:Tao.Sdl.Sdl.SDL_GetKeyRepeat(System.Int32@,System.Int32@)">
14966
<summary>
14967
Get keyboard repeat rate.
14968
</summary>
14969
<remarks>
14970
Gets the keyboard repeat rate.
14971
delay specifies how long the key must be pressed before it
14972
begins repeating, it then repeats at the speed specified by
14973
interval. Both delay and interval are expressed in milliseconds.
14974
<p>Setting delay to 0 disables key repeating completely. Good
14975
default values are SDL_DEFAULT_REPEAT_DELAY and
14976
SDL_DEFAULT_REPEAT_INTERVAL.</p>
14977
<p>Binds to C-function in SDL_keyboard.h
14978
<code>int SDL_GetKeyRepeat(int delay, int interval);
14979
</code></p>
14980
</remarks>
14981
<param name="rate"></param>
14982
<param name="delay"></param>
14983
<returns>Returns 0 on success and -1 on failure.</returns>
14984
</member>
14985
<member name="M:Tao.Sdl.Sdl.SDL_GetKeyStateInternal(System.Int32@)">
14986
<summary>
14987
Get a snapshot of the current keyboard state.
14988
</summary>
14989
<remarks>
14990
Returns an array of keystates, indexed by the SDLK_* syms.
14991
Used:
14992
Uint8 *keystate = SDL_GetKeyState(NULL);
14993
if ( keystate[SDLK_RETURN] ) ... _RETURN_ is pressed.
14994
<p>Binds to C-function in SDL_keyboard.h
14995
<code>Uint8 *SDL_GetKeyState(int *numkeys);
14996
</code></p>
14997
</remarks>
14998
<param name="numkeys"></param>
14999
</member>
15000
<member name="M:Tao.Sdl.Sdl.SDL_GetKeyState(System.Int32@)">
15001
<summary>
15002
Get a snapshot of the current keyboard state.
15003
</summary>
15004
<remarks>
15005
Gets a snapshot of the current keyboard state. The current state
15006
is return as a pointer to an array, the size of this array is
15007
stored in numkeys. The array is indexed by the SDLK_* symbols.
15008
A value of 1 means the key is pressed and a value of 0 means its
15009
not. The pointer returned is a pointer to an internal SDL array
15010
and should not be freed by the caller.
15011
<p>Note: Use <see cref="M:Tao.Sdl.Sdl.SDL_PumpEvents"/> to update the state
15012
array.</p>
15013
<p>Binds to C-function in SDL_keyboard.h
15014
<code>Uint8 *SDL_GetKeyState(int *numkeys);
15015
</code></p>
15016
</remarks>
15017
<example>
15018
<code>
15019
Uint8 *keystate = SDL_GetKeyState(NULL);
15020
if ( keystate[SDLK_RETURN] ) printf("Return Key Pressed.\n");
15021
</code>
15022
</example>
15023
<param name="numkeys"></param>
15024
<seealso cref="M:Tao.Sdl.Sdl.SDL_PumpEvents"/>
15025
</member>
15026
<member name="M:Tao.Sdl.Sdl.SDL_GetModState">
15027
<summary>
15028
Get the state of modifier keys.
15029
</summary>
15030
<remarks>
15031
Returns the current state of the modifier keys (CTRL, ALT, etc.).
15032
<p>Binds to C-function in SDL_keyboard.h
15033
<code>SDLMod SDL_GetModState(void)
15034
</code></p>
15035
</remarks>
15036
<returns>The return value can be an OR'd combination of the
15037
SDLMod enum.
15038
</returns>
15039
<seealso cref="M:Tao.Sdl.Sdl.SDL_GetKeyState(System.Int32@)"/>
15040
</member>
15041
<member name="M:Tao.Sdl.Sdl.SDL_SetModState(System.Int32)">
15042
<summary>
15043
Set the current key modifier state.
15044
</summary>
15045
<remarks>
15046
The inverse of SDL_GetModState, SDL_SetModState allows you to
15047
impose modifier key states on your application.
15048
<p>Simply pass your desired modifier states into modstate.
15049
This value my be a logical OR'd combination of
15050
SDLMod.</p>
15051
<p>Binds to C-function in SDL_keyboard.h
15052
<code>void SDL_SetModState(SDLMod modstate)
15053
</code></p>
15054
</remarks>
15055
<param name="modstate"></param>
15056
<seealso cref="M:Tao.Sdl.Sdl.SDL_GetModState"/>
15057
</member>
15058
<member name="M:Tao.Sdl.Sdl.SDL_GetKeyName(System.Int32)">
15059
<summary>
15060
Get the name of an SDL virtual keysym
15061
</summary>
15062
<remarks>
15063
Returns the SDL-defined name of the SDLKey key.
15064
<p>Binds to C-function in SDL_keyboard.h
15065
<code>char *SDL_GetKeyName(SDLKey key);
15066
</code></p>
15067
</remarks>
15068
<returns>
15069
Returns the SDL-defined name of the SDLKey key.
15070
</returns>
15071
</member>
15072
<member name="M:Tao.Sdl.Sdl.SDL_LoadObject(System.String)">
15073
<summary>
15074
This function dynamically loads a shared object and returns a pointer
15075
to the object handle (or NULL if there was an error).
15076
</summary>
15077
<remarks>
15078
<p>Binds to C-function in SDL_loadso.h
15079
<code>extern DECLSPEC void * SDLCALL SDL_LoadObject(const char *sofile)
15080
</code></p>
15081
</remarks>
15082
<param name="sofile">System dependent name of the object file.</param>
15083
<seealso cref="M:Tao.Sdl.Sdl.SDL_LoadFunction(System.IntPtr,System.String)"/>
15084
<seealso cref="M:Tao.Sdl.Sdl.SDL_UnloadObject(System.IntPtr)"/>
15085
</member>
15086
<member name="M:Tao.Sdl.Sdl.SDL_LoadFunction(System.IntPtr,System.String)">
15087
<summary>
15088
Given an object handle, this function looks up the address of the
15089
named function in the shared object and returns it. This address
15090
is no longer valid after calling SDL_UnloadObject().
15091
</summary>
15092
<remarks>
15093
<p>Binds to C-function in SDL_loadso.h
15094
<code>extern DECLSPEC void * SDLCALL SDL_LoadFunction(void *handle, const char *name)
15095
</code></p>
15096
</remarks>
15097
<param name="handle">Object handle</param>
15098
<param name="name">Name of function in the shared object.</param>
15099
<seealso cref="M:Tao.Sdl.Sdl.SDL_LoadObject(System.String)"/>
15100
<seealso cref="M:Tao.Sdl.Sdl.SDL_UnloadObject(System.IntPtr)"/>
15101
</member>
15102
<member name="M:Tao.Sdl.Sdl.SDL_UnloadObject(System.IntPtr)">
15103
<summary>
15104
Unload a shared object from memory
15105
</summary>
15106
<remarks>
15107
<p>Binds to C-function in SDL_loadso.h
15108
<code>extern DECLSPEC void * SDLCALL SDL_UnloadObject(void *handle)
15109
</code></p>
15110
</remarks>
15111
<param name="handle">Object handle</param>
15112
<seealso cref="M:Tao.Sdl.Sdl.SDL_LoadFunction(System.IntPtr,System.String)"/>
15113
<seealso cref="M:Tao.Sdl.Sdl.SDL_LoadObject(System.String)"/>
15114
</member>
15115
<member name="M:Tao.Sdl.Sdl.SDL_GetMouseState(System.Int32@,System.Int32@)">
15116
<summary>
15117
Retrieve the current state of the mouse.
15118
</summary>
15119
<remarks>
15120
The current button state is returned as a button bitmask, w
15121
hich can be tested using the SDL_BUTTON(X) macros,
15122
and x and y are set to the current mouse cursor position.
15123
You can pass NULL for either x or y.
15124
<p>Binds to C-function call in SDL_mouse.h:
15125
<code>
15126
Uint8 SDL_GetMouseState(int *x, int *y)
15127
</code>
15128
</p>
15129
</remarks>
15130
<param name="x"></param>
15131
<param name="y"></param>
15132
<returns></returns>
15133
<example>
15134
<code>
15135
SDL_PumpEvents();
15136
if(SDL_GetMouseState(NULL, NULL)&amp;SDL_BUTTON(1))
15137
printf("Mouse Button 1(left) is pressed.\n");
15138
</code>
15139
</example>
15140
<seealso cref="M:Tao.Sdl.Sdl.SDL_GetRelativeMouseState(System.Int32@,System.Int32@)"/>
15141
<seealso cref="M:Tao.Sdl.Sdl.SDL_PumpEvents"/>
15142
</member>
15143
<member name="M:Tao.Sdl.Sdl.SDL_GetRelativeMouseState(System.Int32@,System.Int32@)">
15144
<summary>
15145
Retrieve the current state of the mouse.
15146
</summary>
15147
<remarks>
15148
The current button state is returned as a button bitmask,
15149
which can be tested using the SDL_BUTTON(X) macros,
15150
and x and y are set to the change in the mouse position
15151
since the last call to SDL_GetRelativeMouseState or
15152
since event initialization. You can pass NULL for either x or y.
15153
<p>Binds to C-function call in SDL_mouse.h:
15154
<code>
15155
Uint8 SDL_GetRelativeMouseState(int *x, int *y);
15156
</code>
15157
</p>
15158
</remarks>
15159
<param name="x"></param>
15160
<param name="y"></param>
15161
<returns>
15162
The current button state is returned as a button bitmask
15163
</returns>
15164
<seealso cref="M:Tao.Sdl.Sdl.SDL_GetMouseState(System.Int32@,System.Int32@)"/>
15165
</member>
15166
<member name="M:Tao.Sdl.Sdl.SDL_WarpMouse(System.Int16,System.Int16)">
15167
<summary>
15168
Set the position of the mouse cursor.
15169
</summary>
15170
<remarks>
15171
Set the position of the mouse cursor (generates a mouse
15172
motion event).
15173
<p>Binds to C-function call in SDL_mouse.h:
15174
<code>
15175
void SDL_WarpMouse(Uint16 x, Uint16 y);
15176
</code>
15177
</p>
15178
</remarks>
15179
<param name="x"></param>
15180
<param name="y"></param>
15181
<seealso cref="T:Tao.Sdl.Sdl.SDL_MouseMotionEvent"/>
15182
</member>
15183
<member name="M:Tao.Sdl.Sdl.SDL_WarpMouse(System.UInt16,System.UInt16)">
15184
<summary>
15185
Set the position of the mouse cursor.
15186
</summary>
15187
<remarks>
15188
Set the position of the mouse cursor (generates a mouse
15189
motion event).
15190
<p>Binds to C-function call in SDL_mouse.h:
15191
<code>
15192
void SDL_WarpMouse(Uint16 x, Uint16 y);
15193
</code>
15194
</p>
15195
</remarks>
15196
<param name="x"></param>
15197
<param name="y"></param>
15198
<seealso cref="T:Tao.Sdl.Sdl.SDL_MouseMotionEvent"/>
15199
</member>
15200
<member name="M:Tao.Sdl.Sdl.SDL_CreateCursor(System.Byte@,System.Byte@,System.Int32,System.Int32,System.Int32,System.Int32)">
15201
<summary>
15202
Creates a new mouse cursor.
15203
</summary>
15204
<remarks>
15205
Create a cursor using the specified data and mask (in MSB format).
15206
The cursor width must be a multiple of 8 bits.
15207
<p>The cursor is created in black and white according to the following:</p>
15208
<code>
15209
data mask resulting pixel on screen
15210
0 1 White
15211
1 1 Black
15212
0 0 Transparent
15213
1 0 Inverted color if possible, black if not.
15214
</code>
15215
Cursors created with this function must be freed with
15216
<see cref="M:Tao.Sdl.Sdl.SDL_FreeCursor(Tao.Sdl.Sdl.SDL_Cursor@)"/>.
15217
<p>Binds to C-function call in SDL_mouse.h:
15218
<code>
15219
SDL_Cursor *SDL_CreateCursor(Uint8 *data, Uint8 *mask, int w, int h, int hot_x, int hot_y);
15220
</code>
15221
</p>
15222
</remarks>
15223
<example>
15224
<code>
15225
/* Stolen from the mailing list */
15226
* Creates a new mouse cursor from an XPM */
15227
15228
15229
/* XPM */
15230
static const char *arrow[] = {
15231
/* width height num_colors chars_per_pixel */
15232
" 32 32 3 1",
15233
/* colors */
15234
"X c #000000",
15235
". c #ffffff",
15236
" c None",
15237
/* pixels */
15238
"X ",
15239
"XX ",
15240
"X.X ",
15241
"X..X ",
15242
"X...X ",
15243
"X....X ",
15244
"X.....X ",
15245
"X......X ",
15246
"X.......X ",
15247
"X........X ",
15248
"X.....XXXXX ",
15249
"X..X..X ",
15250
"X.X X..X ",
15251
"XX X..X ",
15252
"X X..X ",
15253
" X..X ",
15254
" X..X ",
15255
" X..X ",
15256
" XX ",
15257
" ",
15258
" ",
15259
" ",
15260
" ",
15261
" ",
15262
" ",
15263
" ",
15264
" ",
15265
" ",
15266
" ",
15267
" ",
15268
" ",
15269
" ",
15270
"0,0"
15271
};
15272
15273
static SDL_Cursor *init_system_cursor(const char *image[])
15274
{
15275
int i, row, col;
15276
Uint8 data[4*32];
15277
Uint8 mask[4*32];
15278
int hot_x, hot_y;
15279
15280
i = -1;
15281
for ( row=0; row&lt;32; ++row ) {
15282
for ( col=0; col&lt;32; ++col ) {
15283
if ( col % 8 ) {
15284
data[i] &lt;&lt;= 1;
15285
mask[i] &lt;&lt;= 1;
15286
} else {
15287
++i;
15288
data[i] = mask[i] = 0;
15289
}
15290
switch (image[4+row][col]) {
15291
case 'X':
15292
data[i] |= 0x01;
15293
mask[i] |= 0x01;
15294
break;
15295
case '.':
15296
mask[i] |= 0x01;
15297
break;
15298
case ' ':
15299
break;
15300
}
15301
}
15302
}
15303
sscanf(image[4+row], "%d,%d", &amp;hot_x, &amp;hot_y);
15304
return SDL_CreateCursor(data, mask, 32, 32, hot_x, hot_y);
15305
}
15306
</code>
15307
</example>
15308
<param name="data"></param>
15309
<param name="h"></param>
15310
<param name="hot_x"></param>
15311
<param name="hot_y"></param>
15312
<param name="mask"></param>
15313
<param name="w"></param>
15314
<returns></returns>
15315
<seealso cref="M:Tao.Sdl.Sdl.SDL_FreeCursor(Tao.Sdl.Sdl.SDL_Cursor@)"/>
15316
<seealso cref="M:Tao.Sdl.Sdl.SDL_SetCursor(Tao.Sdl.Sdl.SDL_Cursor@)"/>
15317
<seealso cref="M:Tao.Sdl.Sdl.SDL_ShowCursor(System.Int32)"/>
15318
</member>
15319
<member name="M:Tao.Sdl.Sdl.SDL_SetCursor(Tao.Sdl.Sdl.SDL_Cursor@)">
15320
<summary>
15321
Set the currently active cursor to the specified one.
15322
</summary>
15323
<remarks>
15324
Sets the currently active cursor to the specified one.
15325
If the cursor is currently visible, the change will
15326
be immediately represented on the display.
15327
<p>Binds to C-function call in SDL_mouse.h:
15328
<code>
15329
void *SDL_SetCursor(SDL_Cursor *cursor);
15330
</code>
15331
</p>
15332
</remarks>
15333
<param name="cursor"></param>
15334
<returns></returns>
15335
<seealso cref="M:Tao.Sdl.Sdl.SDL_GetCursor"/>
15336
<seealso cref="M:Tao.Sdl.Sdl.SDL_CreateCursor(System.Byte@,System.Byte@,System.Int32,System.Int32,System.Int32,System.Int32)"/>
15337
<seealso cref="M:Tao.Sdl.Sdl.SDL_ShowCursor(System.Int32)"/>
15338
</member>
15339
<member name="M:Tao.Sdl.Sdl.SDL_GetCursor">
15340
<summary>
15341
Returns the currently active cursor.
15342
</summary>
15343
<remarks>
15344
<p>Binds to C-function call in SDL_mouse.h:
15345
<code>
15346
SDL_Cursor *SDL_GetCursor(void);
15347
</code>
15348
</p>
15349
</remarks>
15350
<returns>IntPtr to <see cref="T:Tao.Sdl.Sdl.SDL_Cursor"/></returns>
15351
<seealso cref="M:Tao.Sdl.Sdl.SDL_CreateCursor(System.Byte@,System.Byte@,System.Int32,System.Int32,System.Int32,System.Int32)"/>
15352
<seealso cref="M:Tao.Sdl.Sdl.SDL_SetCursor(Tao.Sdl.Sdl.SDL_Cursor@)"/>
15353
<seealso cref="M:Tao.Sdl.Sdl.SDL_ShowCursor(System.Int32)"/>
15354
</member>
15355
<member name="M:Tao.Sdl.Sdl.SDL_FreeCursor(Tao.Sdl.Sdl.SDL_Cursor@)">
15356
<summary>
15357
Frees a cursor created with SDL_CreateCursor.
15358
</summary>
15359
<remarks>
15360
<p>Binds to C-function call in SDL_mouse.h:
15361
<code>
15362
void SDL_FreeCursor(SDL_Cursor *cursor)
15363
</code>
15364
</p>
15365
Frees a SDL_Cursor that was created using
15366
<see cref="M:Tao.Sdl.Sdl.SDL_CreateCursor(System.Byte@,System.Byte@,System.Int32,System.Int32,System.Int32,System.Int32)"/>.
15367
</remarks>
15368
<param name="cursor"></param>
15369
<returns></returns>
15370
<seealso cref="M:Tao.Sdl.Sdl.SDL_CreateCursor(System.Byte@,System.Byte@,System.Int32,System.Int32,System.Int32,System.Int32)"/>
15371
</member>
15372
<member name="M:Tao.Sdl.Sdl.SDL_ShowCursor(System.Int32)">
15373
<summary>
15374
Toggle whether or not the cursor is shown on the screen.
15375
</summary>
15376
<remarks>
15377
Toggle whether or not the cursor is shown on the screen.
15378
Passing SDL_ENABLE displays the cursor and passing
15379
SDL_DISABLE hides it. The current state of the mouse
15380
cursor can be queried by passing SDL_QUERY, either
15381
SDL_DISABLE or SDL_ENABLE will be returned.
15382
<p>
15383
The cursor starts off displayed, but can be turned off.
15384
</p>
15385
<p>Binds to C-function call in SDL_mouse.h:
15386
<code>
15387
int SDL_ShowCursor(int toggle);
15388
</code>
15389
</p>
15390
</remarks>
15391
<param name="toggle"></param>
15392
<returns></returns>
15393
<seealso cref="M:Tao.Sdl.Sdl.SDL_CreateCursor(System.Byte@,System.Byte@,System.Int32,System.Int32,System.Int32,System.Int32)"/>
15394
<seealso cref="M:Tao.Sdl.Sdl.SDL_SetCursor(Tao.Sdl.Sdl.SDL_Cursor@)"/>
15395
</member>
15396
<member name="M:Tao.Sdl.Sdl.SDL_BUTTON(System.Byte)">
15397
<summary>
15398
15399
</summary>
15400
<param name="x"></param>
15401
<returns></returns>
15402
</member>
15403
<member name="M:Tao.Sdl.Sdl.SDL_CreateMutex">
15404
<summary>
15405
Create a mutex, initialized unlocked
15406
</summary>
15407
<returns>
15408
IntPtr to mutex
15409
</returns>
15410
<remarks>
15411
<p>
15412
Binds to C-function call in SDL_mutex.h:
15413
<code>extern DECLSPEC SDL_mutex * SDLCALL SDL_CreateMutex(void)</code>
15414
</p>
15415
</remarks>
15416
</member>
15417
<member name="M:Tao.Sdl.Sdl.SDL_mutexP(System.IntPtr)">
15418
<summary>
15419
Lock the mutex (Returns 0, or -1 on error)
15420
</summary>
15421
<returns>
15422
Lock the mutex (Returns 0, or -1 on error)
15423
</returns>
15424
<remarks>
15425
<p>
15426
Binds to C-function call in SDL_mutex.h:
15427
<code>extern DECLSPEC int SDLCALL SDL_mutexP(SDL_mutex *mutex)</code>
15428
</p>
15429
</remarks>
15430
</member>
15431
<member name="M:Tao.Sdl.Sdl.SDL_LockMutex(System.IntPtr)">
15432
<summary>
15433
Lock the mutex (Returns 0, or -1 on error)
15434
</summary>
15435
<returns>
15436
Lock the mutex (Returns 0, or -1 on error)
15437
</returns>
15438
<remarks>
15439
<p>
15440
Binds to C-function call in SDL_mutex.h:
15441
<code>#define SDL_LockMutex(m) SDL_mutexP(m)</code>
15442
</p>
15443
</remarks>
15444
</member>
15445
<member name="M:Tao.Sdl.Sdl.SDL_mutexV(System.IntPtr)">
15446
<summary>
15447
Unlock the mutex (Returns 0, or -1 on error)
15448
</summary>
15449
<returns>
15450
Unlock the mutex (Returns 0, or -1 on error)
15451
</returns>
15452
<remarks>
15453
<p>
15454
Binds to C-function call in SDL_mutex.h:
15455
<code>extern DECLSPEC int SDLCALL SDL_mutexV(SDL_mutex *mutex)</code>
15456
</p>
15457
</remarks>
15458
</member>
15459
<member name="M:Tao.Sdl.Sdl.SDL_UnlockMutex(System.IntPtr)">
15460
<summary>
15461
Unlock the mutex (Returns 0, or -1 on error)
15462
</summary>
15463
<returns>
15464
unlock the mutex (Returns 0, or -1 on error)
15465
</returns>
15466
<remarks>
15467
<p>
15468
Binds to C-function call in SDL_mutex.h:
15469
<code>#define SDL_UnlockMutex(m) SDL_mutexP(m)</code>
15470
</p>
15471
</remarks>
15472
</member>
15473
<member name="M:Tao.Sdl.Sdl.SDL_DestroyMutex(System.IntPtr)">
15474
<summary>
15475
Destroy a mutex
15476
</summary>
15477
<remarks>
15478
<p>
15479
Binds to C-function call in SDL_mutex.h:
15480
<code>extern DECLSPEC void SDLCALL SDL_DestroyMutex(SDL_mutex *mutex)</code>
15481
</p>
15482
</remarks>
15483
</member>
15484
<member name="M:Tao.Sdl.Sdl.SDL_CreateSemaphore(System.Int32)">
15485
<summary>
15486
Create a semaphore, initialized with value, returns NULL on failure.
15487
</summary>
15488
<returns>
15489
Create a semaphore, initialized with value, returns NULL on failure.
15490
</returns>
15491
<remarks>
15492
<p>
15493
Binds to C-function call in SDL_mutex.h:
15494
<code>extern DECLSPEC SDL_sem * SDLCALL SDL_CreateSemaphore(Uint32 initial_value)</code>
15495
</p>
15496
</remarks>
15497
</member>
15498
<member name="M:Tao.Sdl.Sdl.SDL_CreateSemaphore(System.UInt32)">
15499
<summary>
15500
Create a semaphore, initialized with value, returns NULL on failure.
15501
</summary>
15502
<returns>
15503
Create a semaphore, initialized with value, returns NULL on failure.
15504
</returns>
15505
<remarks>
15506
<p>
15507
Binds to C-function call in SDL_mutex.h:
15508
<code>extern DECLSPEC SDL_sem * SDLCALL SDL_CreateSemaphore(Uint32 initial_value)</code>
15509
</p>
15510
</remarks>
15511
</member>
15512
<member name="M:Tao.Sdl.Sdl.SDL_DestroySemaphore(System.IntPtr)">
15513
<summary>
15514
Destroy a semaphore
15515
</summary>
15516
<remarks>
15517
<p>
15518
Binds to C-function call in SDL_mutex.h:
15519
<code>extern DECLSPEC void SDLCALL SDL_DestroySemaphore(SDL_sem *sem)</code>
15520
</p>
15521
</remarks>
15522
</member>
15523
<member name="M:Tao.Sdl.Sdl.SDL_SemWait(System.IntPtr)">
15524
<summary>
15525
This function suspends the calling thread until the semaphore pointed
15526
to by sem has a positive count.
15527
It then atomically decreases the semaphore count.
15528
</summary>
15529
<remarks>
15530
<p>
15531
Binds to C-function call in SDL_mutex.h:
15532
<code>extern DECLSPEC int SDLCALL SDL_SemWait(SDL_sem *sem)</code>
15533
</p>
15534
</remarks>
15535
</member>
15536
<member name="M:Tao.Sdl.Sdl.SDL_SemtryWait(System.IntPtr)">
15537
<summary>
15538
Non-blocking variant of SDL_SemWait(),
15539
returns 0 if the wait succeeds,
15540
SDL_MUTEX_TIMEDOUT if the wait would block, and -1 on error.
15541
</summary>
15542
<returns>
15543
Non-blocking variant of SDL_SemWait(),
15544
returns 0 if the wait succeeds,
15545
SDL_MUTEX_TIMEDOUT if the wait would block, and -1 on error.
15546
</returns>
15547
<remarks>
15548
<p>
15549
Binds to C-function call in SDL_mutex.h:
15550
<code>extern DECLSPEC int SDLCALL SDL_SemTryWait(SDL_sem *sem)</code>
15551
</p>
15552
</remarks>
15553
</member>
15554
<member name="M:Tao.Sdl.Sdl.SDL_SemWaitTimeout(System.IntPtr,System.Int32)">
15555
<summary>
15556
Variant of SDL_SemWait() with a timeout in milliseconds, returns 0 if
15557
the wait succeeds, SDL_MUTEX_TIMEDOUT if the wait does not succeed in
15558
the allotted time, and -1 on error.
15559
On some platforms this function is implemented by looping with a delay
15560
of 1 ms, and so should be avoided if possible.
15561
</summary>
15562
<returns>
15563
Variant of SDL_SemWait() with a timeout in milliseconds, returns 0 if
15564
the wait succeeds, SDL_MUTEX_TIMEDOUT if the wait does not succeed in
15565
the allotted time, and -1 on error.
15566
On some platforms this function is implemented by looping with a delay
15567
of 1 ms, and so should be avoided if possible.
15568
</returns>
15569
<remarks>
15570
<p>
15571
Binds to C-function call in SDL_mutex.h:
15572
<code>extern DECLSPEC int SDLCALL SDL_SemWaitTimeout(SDL_sem *sem, Uint32 ms)</code>
15573
</p>
15574
</remarks>
15575
</member>
15576
<member name="M:Tao.Sdl.Sdl.SDL_SemWaitTimeout(System.IntPtr,System.UInt32)">
15577
<summary>
15578
Variant of SDL_SemWait() with a timeout in milliseconds, returns 0 if
15579
the wait succeeds, SDL_MUTEX_TIMEDOUT if the wait does not succeed in
15580
the allotted time, and -1 on error.
15581
On some platforms this function is implemented by looping with a delay
15582
of 1 ms, and so should be avoided if possible.
15583
</summary>
15584
<returns>
15585
Variant of SDL_SemWait() with a timeout in milliseconds, returns 0 if
15586
the wait succeeds, SDL_MUTEX_TIMEDOUT if the wait does not succeed in
15587
the allotted time, and -1 on error.
15588
On some platforms this function is implemented by looping with a delay
15589
of 1 ms, and so should be avoided if possible.
15590
</returns>
15591
<remarks>
15592
<p>
15593
Binds to C-function call in SDL_mutex.h:
15594
<code>extern DECLSPEC int SDLCALL SDL_SemWaitTimeout(SDL_sem *sem, Uint32 ms)</code>
15595
</p>
15596
</remarks>
15597
</member>
15598
<member name="M:Tao.Sdl.Sdl.SDL_SemPost(System.IntPtr)">
15599
<summary>
15600
Atomically increases the semaphore's count (not blocking),
15601
returns 0, or -1 on error.
15602
</summary>
15603
<returns>
15604
Atomically increases the semaphore's count (not blocking),
15605
returns 0, or -1 on error.
15606
</returns>
15607
<remarks>
15608
<p>
15609
Binds to C-function call in SDL_mutex.h:
15610
<code>extern DECLSPEC int SDLCALL SDL_SemPost(SDL_sem *sem)</code>
15611
</p>
15612
</remarks>
15613
</member>
15614
<member name="M:Tao.Sdl.Sdl.SDL_SemValue(System.IntPtr)">
15615
<summary>
15616
Returns the current count of the semaphore
15617
</summary>
15618
<returns>
15619
Returns the current count of the semaphore
15620
</returns>
15621
<remarks>
15622
<p>
15623
Binds to C-function call in SDL_mutex.h:
15624
<code>extern DECLSPEC Uint32 SDLCALL SDL_SemValue(SDL_sem *sem)</code>
15625
</p>
15626
</remarks>
15627
</member>
15628
<member name="M:Tao.Sdl.Sdl.SDL_CreateCond">
15629
<summary>
15630
Create a condition variable
15631
</summary>
15632
<returns>
15633
intPtr to variable
15634
</returns>
15635
<remarks>
15636
<p>
15637
Binds to C-function call in SDL_mutex.h:
15638
<code>extern DECLSPEC SDL_cond * SDLCALL SDL_CreateCond(void)</code>
15639
</p>
15640
</remarks>
15641
</member>
15642
<member name="M:Tao.Sdl.Sdl.SDL_DestroyCond(System.IntPtr)">
15643
<summary>
15644
Destroy a condition variable
15645
</summary>
15646
<remarks>
15647
<p>
15648
Binds to C-function call in SDL_mutex.h:
15649
<code>extern DECLSPEC void SDLCALL SDL_DestroyCond(SDL_cond *cond)</code>
15650
</p>
15651
</remarks>
15652
</member>
15653
<member name="M:Tao.Sdl.Sdl.SDL_CondSignal(System.IntPtr)">
15654
<summary>
15655
Restart one of the threads that are waiting on the condition variable,
15656
returns 0 or -1 on error.
15657
</summary>
15658
<returns>
15659
Restart one of the threads that are waiting on the condition variable,
15660
returns 0 or -1 on error.
15661
</returns>
15662
<remarks>
15663
<p>
15664
Binds to C-function call in SDL_mutex.h:
15665
<code>extern DECLSPEC int SDLCALL SDL_CondSignal(SDL_cond *cond)</code>
15666
</p>
15667
</remarks>
15668
</member>
15669
<member name="M:Tao.Sdl.Sdl.SDL_CondBroadcast(System.IntPtr)">
15670
<summary>
15671
Restart all threads that are waiting on the condition variable,
15672
returns 0 or -1 on error.
15673
</summary>
15674
<returns>
15675
Restart all threads that are waiting on the condition variable,
15676
returns 0 or -1 on error.
15677
</returns>
15678
<remarks>
15679
<p>
15680
Binds to C-function call in SDL_mutex.h:
15681
<code>extern DECLSPEC int SDLCALL SDL_CondBroadcast(SDL_cond *cond)</code>
15682
</p>
15683
</remarks>
15684
</member>
15685
<member name="M:Tao.Sdl.Sdl.SDL_CondWait(System.IntPtr,System.IntPtr)">
15686
<summary>
15687
Wait on the condition variable, unlocking the provided mutex.
15688
The mutex must be locked before entering this function!
15689
Returns 0 when it is signaled, or -1 on error.
15690
</summary>
15691
<returns>
15692
Wait on the condition variable, unlocking the provided mutex.
15693
The mutex must be locked before entering this function!
15694
Returns 0 when it is signaled, or -1 on error.
15695
</returns>
15696
<remarks>
15697
<p>
15698
Binds to C-function call in SDL_mutex.h:
15699
<code>extern DECLSPEC int SDLCALL SDL_CondWait(SDL_cond *cond, SDL_mutex *mut)</code>
15700
</p>
15701
</remarks>
15702
</member>
15703
<member name="M:Tao.Sdl.Sdl.SDL_CondWaitTimeout(System.IntPtr,System.IntPtr,System.Int32)">
15704
<summary>
15705
Waits for at most 'ms' milliseconds, and returns 0 if the condition
15706
variable is signaled, SDL_MUTEX_TIMEDOUT if the condition is not
15707
signaled in the allotted time, and -1 on error.
15708
On some platforms this function is implemented by looping with a delay
15709
of 1 ms, and so should be avoided if possible.
15710
</summary>
15711
<returns>
15712
returns 0 if the condition
15713
variable is signaled, SDL_MUTEX_TIMEDOUT if the condition is not
15714
signaled in the allotted time, and -1 on error
15715
</returns>
15716
<remarks>
15717
<p>
15718
Binds to C-function call in SDL_mutex.h:
15719
<code>extern DECLSPEC int SDLCALL SDL_CondWaitTimeout(SDL_cond *cond, SDL_mutex *mutex, Uint32 ms)</code>
15720
</p>
15721
</remarks>
15722
</member>
15723
<member name="M:Tao.Sdl.Sdl.SDL_CondWaitTimeout(System.IntPtr,System.IntPtr,System.UInt32)">
15724
<summary>
15725
Waits for at most 'ms' milliseconds, and returns 0 if the condition
15726
variable is signaled, SDL_MUTEX_TIMEDOUT if the condition is not
15727
signaled in the allotted time, and -1 on error.
15728
On some platforms this function is implemented by looping with a delay
15729
of 1 ms, and so should be avoided if possible.
15730
</summary>
15731
<returns>
15732
returns 0 if the condition
15733
variable is signaled, SDL_MUTEX_TIMEDOUT if the condition is not
15734
signaled in the allotted time, and -1 on error
15735
</returns>
15736
<remarks>
15737
<p>
15738
Binds to C-function call in SDL_mutex.h:
15739
<code>extern DECLSPEC int SDLCALL SDL_CondWaitTimeout(SDL_cond *cond, SDL_mutex *mutex, Uint32 ms)</code>
15740
</p>
15741
</remarks>
15742
</member>
15743
<member name="M:Tao.Sdl.Sdl.SDL_NAME(System.String)">
15744
<summary>
15745
Returns SDL name
15746
</summary>
15747
<param name="x">input name</param>
15748
<returns>Returns SDL name</returns>
15749
</member>
15750
<member name="M:Tao.Sdl.Sdl.SDL_QuitRequested">
15751
<summary>
15752
Checks if SDL_Quit event has been requested
15753
</summary>
15754
<returns>
15755
Returns 1 if a SDL_Quit Event has been requested.
15756
Returns 0 if no SDL_Quit event has been requeted.
15757
</returns>
15758
</member>
15759
<member name="M:Tao.Sdl.Sdl.SDL_RWFromFile(System.String,System.String)">
15760
<summary>
15761
Create SDL_RWops structures from file.
15762
</summary>
15763
<remarks>
15764
<p>Binds to C-function call in SDL_rwops.h:
15765
<code>
15766
SDL_RWops * SDLCALL SDL_RWFromFile(const char *file, const char *mode)
15767
</code></p></remarks>
15768
<param name="file"></param>
15769
<param name="mode">"rb"</param>
15770
<returns>IntPtr to SDL_RWops</returns>
15771
</member>
15772
<member name="M:Tao.Sdl.Sdl.SDL_RWFromMem(System.IntPtr,System.Int32)">
15773
<summary>
15774
Create SDL_RWops structures from memory.
15775
</summary>
15776
<remarks>
15777
<p>Binds to C-function call in SDL_rwops.h:
15778
<code>
15779
SDL_RWops * SDLCALL SDL_RWFromMem(void *mem, int size)
15780
</code></p></remarks>
15781
<param name="mem"></param>
15782
<param name="size"></param>
15783
<returns>IntPtr to SDL_RWops</returns>
15784
</member>
15785
<member name="M:Tao.Sdl.Sdl.SDL_RWFromMem(System.Byte[],System.Int32)">
15786
<summary>
15787
Create SDL_RWops structures from memory.
15788
</summary>
15789
<remarks>
15790
<p>Binds to C-function call in SDL_rwops.h:
15791
<code>
15792
SDL_RWops * SDLCALL SDL_RWFromMem(void *mem, int size)
15793
</code></p></remarks>
15794
<param name="mem"></param>
15795
<param name="size"></param>
15796
<returns>IntPtr to SDL_RWops</returns>
15797
</member>
15798
<member name="M:Tao.Sdl.Sdl.SDL_RWFromFP(System.IntPtr,System.Int32)">
15799
<summary>
15800
SDL_RWFromFP creates a new SDL_RWops structure from a file pointer, opened with stdio. If autoclose is nonzero, the file will be automatically closed when the RWops structure is closed.
15801
</summary>
15802
<remarks>This is not available under Win32, since files opened in an application on that platform cannot be used by a dynamically linked library.</remarks>
15803
<param name="fp"></param>
15804
<param name="autoclose"></param>
15805
<returns>Returns pointer to a new RWops structure, or NULL if it fails.</returns>
15806
<example>
15807
<code>
15808
FILE *fp;
15809
SDL_RWops *rw;
15810
15811
fp = fopen("myfile.dat", "rb");
15812
rw = SDL_RWFromFP(fp, 1);
15813
15814
// Do things with rw...
15815
SDL_RWclose(rw); // Automatically does an fclose(fp)
15816
</code></example>
15817
<seealso cref="M:Tao.Sdl.Sdl.SDL_RWFromFile(System.String,System.String)"/>
15818
</member>
15819
<member name="M:Tao.Sdl.Sdl.SDL_RWFromConstMem(System.IntPtr,System.Int32)">
15820
<summary>
15821
Prepares a constant memory area for use with RWops.
15822
</summary>
15823
<remarks><see cref="M:Tao.Sdl.Sdl.SDL_RWFromConstMem(System.IntPtr,System.Int32)"/> sets up a RWops struct based on a memory area of a certain size. It assumes the memory area is not writable.</remarks>
15824
<param name="mem"></param>
15825
<param name="size"></param>
15826
<returns>Returns a pointer to a new RWops struct, or NULL if it fails.</returns>
15827
<example>
15828
<code>
15829
char bitmap[] = {
15830
66, 77, 86, 2, 0, 0, 0, 0 ...
15831
}
15832
SDL_RWops *rw;
15833
SDL_Surface *img;
15834
15835
rw = SDL_RWFromConstMem(bitmap, sizeof(bitmap));
15836
img = SDL_LoadBMP_RW(rw, 1); // Automatically frees the RWops struct for us
15837
15838
//Do something with img...
15839
</code></example>
15840
<seealso cref="M:Tao.Sdl.Sdl.SDL_RWFromMem(System.IntPtr,System.Int32)"/>
15841
</member>
15842
<member name="M:Tao.Sdl.Sdl.SDL_AllocRW">
15843
<summary>
15844
Allocates an empty, unpopulated SDL_RWops structure.
15845
</summary>
15846
<remarks>SDL_AllocRW allocates an empty, unpopulated SDL_RWops structure. You must fill out the fields yourself.</remarks>
15847
<returns>Returns a pointer to the allocated memory on success, or NULL on error.
15848
<p>You must free any memory allocated with <see cref="M:Tao.Sdl.Sdl.SDL_AllocRW"/> with <see cref="M:Tao.Sdl.Sdl.SDL_FreeRW(System.IntPtr)"/>. Depending on your operating system and compiler, there may be a difference between the malloc() and free() your program uses and the versions SDL calls internally. Trying to mix the two can cause crashing such as segmentation faults.</p></returns>
15849
</member>
15850
<member name="M:Tao.Sdl.Sdl.SDL_FreeRW(System.IntPtr)">
15851
<summary>
15852
Frees an SDL_RWops structure allocated by <see cref="M:Tao.Sdl.Sdl.SDL_AllocRW"/>.
15853
</summary>
15854
<remarks><see cref="M:Tao.Sdl.Sdl.SDL_FreeRW(System.IntPtr)"/> frees an SDL_RWops structure previously allocated by <see cref="M:Tao.Sdl.Sdl.SDL_AllocRW"/>. Only use it on memory allocated by <see cref="M:Tao.Sdl.Sdl.SDL_AllocRW"/>. Any extra memory allocated during creation of the RWops is not freed by <see cref="M:Tao.Sdl.Sdl.SDL_FreeRW(System.IntPtr)"/>; the programmer must be responsible for it.</remarks>
15855
<param name="context"></param>
15856
<example>
15857
<code>
15858
#include "SDL_rwops.h"
15859
void dumb_example()
15860
{
15861
SDL_RWops *rw=SDL_AllocRW();
15862
if(rw==NULL) return;
15863
SDL_FreeRW(rw);
15864
}
15865
</code></example>
15866
<seealso cref="M:Tao.Sdl.Sdl.SDL_AllocRW"/>
15867
</member>
15868
<member name="M:Tao.Sdl.Sdl.SDL_ReadLE16(System.IntPtr)">
15869
<summary>
15870
Read an item of the specified endianness and return in native format.
15871
</summary>
15872
<remarks>
15873
<p>Binds to C-function in SDL_rwops.h
15874
<code>
15875
extern DECLSPEC Uint16 SDLCALL SDL_ReadLE16(SDL_RWops *src)
15876
</code></p>
15877
</remarks>
15878
<param name="src"></param>
15879
<seealso cref="M:Tao.Sdl.Sdl.SDL_AllocRW"/>
15880
</member>
15881
<member name="M:Tao.Sdl.Sdl.SDL_ReadBE16(System.IntPtr)">
15882
<summary>
15883
Read an item of the specified endianness and return in native format.
15884
</summary>
15885
<remarks>
15886
<p>Binds to C-function in SDL_rwops.h
15887
<code>
15888
extern DECLSPEC Uint16 SDLCALL SDL_ReadBE16(SDL_RWops *src)
15889
</code></p>
15890
</remarks>
15891
<param name="src"></param>
15892
<seealso cref="M:Tao.Sdl.Sdl.SDL_AllocRW"/>
15893
</member>
15894
<member name="M:Tao.Sdl.Sdl.SDL_ReadLE32(System.IntPtr)">
15895
<summary>
15896
Read an item of the specified endianness and return in native format.
15897
</summary>
15898
<remarks>
15899
<p>Binds to C-function in SDL_rwops.h
15900
<code>
15901
extern DECLSPEC Uint32 SDLCALL SDL_ReadLE32(SDL_RWops *src)
15902
</code></p>
15903
</remarks>
15904
<param name="src"></param>
15905
<seealso cref="M:Tao.Sdl.Sdl.SDL_AllocRW"/>
15906
</member>
15907
<member name="M:Tao.Sdl.Sdl.SDL_ReadBE32(System.IntPtr)">
15908
<summary>
15909
Read an item of the specified endianness and return in native format.
15910
</summary>
15911
<remarks>
15912
<p>Binds to C-function in SDL_rwops.h
15913
<code>
15914
extern DECLSPEC Uint32 SDLCALL SDL_ReadBE32(SDL_RWops *src)
15915
</code></p>
15916
</remarks>
15917
<param name="src"></param>
15918
<seealso cref="M:Tao.Sdl.Sdl.SDL_AllocRW"/>
15919
</member>
15920
<member name="M:Tao.Sdl.Sdl.SDL_ReadLE64(System.IntPtr)">
15921
<summary>
15922
Read an item of the specified endianness and return in native format.
15923
</summary>
15924
<remarks>
15925
<p>Binds to C-function in SDL_rwops.h
15926
<code>
15927
extern DECLSPEC Uint64 SDLCALL SDL_ReadLE64(SDL_RWops *src)
15928
</code></p>
15929
</remarks>
15930
<param name="src"></param>
15931
<seealso cref="M:Tao.Sdl.Sdl.SDL_AllocRW"/>
15932
</member>
15933
<member name="M:Tao.Sdl.Sdl.SDL_ReadBE64(System.IntPtr)">
15934
<summary>
15935
Read an item of the specified endianness and return in native format.
15936
</summary>
15937
<remarks>
15938
<p>Binds to C-function in SDL_rwops.h
15939
<code>
15940
extern DECLSPEC Uint64 SDLCALL SDL_ReadBE64(SDL_RWops *src)
15941
</code></p>
15942
</remarks>
15943
<param name="src"></param>
15944
<seealso cref="M:Tao.Sdl.Sdl.SDL_AllocRW"/>
15945
</member>
15946
<member name="M:Tao.Sdl.Sdl.SDL_WriteLE16(System.IntPtr,System.Int16)">
15947
<summary>
15948
Write an item of native format to the specified endianness
15949
</summary>
15950
<remarks>
15951
<p>Binds to C-function in SDL_rwops.h
15952
<code>
15953
extern DECLSPEC int SDLCALL SDL_WriteLE16(SDL_RWops *dst, Uint16 value)
15954
</code></p>
15955
</remarks>
15956
<param name="dst"></param>
15957
<param name="val"></param>
15958
<seealso cref="M:Tao.Sdl.Sdl.SDL_AllocRW"/>
15959
</member>
15960
<member name="M:Tao.Sdl.Sdl.SDL_WriteLE16(System.IntPtr,System.UInt16)">
15961
<summary>
15962
Write an item of native format to the specified endianness
15963
</summary>
15964
<remarks>
15965
<p>Binds to C-function in SDL_rwops.h
15966
<code>
15967
extern DECLSPEC int SDLCALL SDL_WriteLE16(SDL_RWops *dst, Uint16 value)
15968
</code></p>
15969
</remarks>
15970
<param name="dst"></param>
15971
<param name="val"></param>
15972
<seealso cref="M:Tao.Sdl.Sdl.SDL_AllocRW"/>
15973
</member>
15974
<member name="M:Tao.Sdl.Sdl.SDL_WriteBE16(System.IntPtr,System.Int16)">
15975
<summary>
15976
Write an item of native format to the specified endianness
15977
</summary>
15978
<remarks>
15979
<p>Binds to C-function in SDL_rwops.h
15980
<code>
15981
extern DECLSPEC int SDLCALL SDL_WriteBE16(SDL_RWops *dst, Uint16 value)
15982
</code></p>
15983
</remarks>
15984
<param name="dst"></param>
15985
<param name="val"></param>
15986
<seealso cref="M:Tao.Sdl.Sdl.SDL_AllocRW"/>
15987
</member>
15988
<member name="M:Tao.Sdl.Sdl.SDL_WriteBE16(System.IntPtr,System.UInt16)">
15989
<summary>
15990
Write an item of native format to the specified endianness
15991
</summary>
15992
<remarks>
15993
<p>Binds to C-function in SDL_rwops.h
15994
<code>
15995
extern DECLSPEC int SDLCALL SDL_WriteBE16(SDL_RWops *dst, Uint16 value)
15996
</code></p>
15997
</remarks>
15998
<param name="dst"></param>
15999
<param name="val"></param>
16000
<seealso cref="M:Tao.Sdl.Sdl.SDL_AllocRW"/>
16001
</member>
16002
<member name="M:Tao.Sdl.Sdl.SDL_WriteLE32(System.IntPtr,System.Int32)">
16003
<summary>
16004
Write an item of native format to the specified endianness
16005
</summary>
16006
<remarks>
16007
<p>Binds to C-function in SDL_rwops.h
16008
<code>
16009
extern DECLSPEC int SDLCALL SDL_WriteLE32(SDL_RWops *dst, Uint32 value)
16010
</code></p>
16011
</remarks>
16012
<param name="dst"></param>
16013
<param name="val"></param>
16014
<seealso cref="M:Tao.Sdl.Sdl.SDL_AllocRW"/>
16015
</member>
16016
<member name="M:Tao.Sdl.Sdl.SDL_WriteLE32(System.IntPtr,System.UInt32)">
16017
<summary>
16018
Write an item of native format to the specified endianness
16019
</summary>
16020
<remarks>
16021
<p>Binds to C-function in SDL_rwops.h
16022
<code>
16023
extern DECLSPEC int SDLCALL SDL_WriteLE32(SDL_RWops *dst, Uint32 value)
16024
</code></p>
16025
</remarks>
16026
<param name="dst"></param>
16027
<param name="val"></param>
16028
<seealso cref="M:Tao.Sdl.Sdl.SDL_AllocRW"/>
16029
</member>
16030
<member name="M:Tao.Sdl.Sdl.SDL_WriteBE32(System.IntPtr,System.Int32)">
16031
<summary>
16032
Write an item of native format to the specified endianness
16033
</summary>
16034
<remarks>
16035
<p>Binds to C-function in SDL_rwops.h
16036
<code>
16037
extern DECLSPEC int SDLCALL SDL_WriteBE32(SDL_RWops *dst, Uint32 value)
16038
</code></p>
16039
</remarks>
16040
<param name="dst"></param>
16041
<param name="val"></param>
16042
<seealso cref="M:Tao.Sdl.Sdl.SDL_AllocRW"/>
16043
</member>
16044
<member name="M:Tao.Sdl.Sdl.SDL_WriteBE32(System.IntPtr,System.UInt32)">
16045
<summary>
16046
Write an item of native format to the specified endianness
16047
</summary>
16048
<remarks>
16049
<p>Binds to C-function in SDL_rwops.h
16050
<code>
16051
extern DECLSPEC int SDLCALL SDL_WriteBE32(SDL_RWops *dst, Uint32 value)
16052
</code></p>
16053
</remarks>
16054
<param name="dst"></param>
16055
<param name="val"></param>
16056
<seealso cref="M:Tao.Sdl.Sdl.SDL_AllocRW"/>
16057
</member>
16058
<member name="M:Tao.Sdl.Sdl.SDL_WriteLE64(System.IntPtr,System.Int64)">
16059
<summary>
16060
Write an item of native format to the specified endianness
16061
</summary>
16062
<remarks>
16063
<p>Binds to C-function in SDL_rwops.h
16064
<code>
16065
extern DECLSPEC int SDLCALL SDL_WriteLE64(SDL_RWops *dst, Uint64 value)
16066
</code></p>
16067
</remarks>
16068
<param name="dst"></param>
16069
<param name="val"></param>
16070
<seealso cref="M:Tao.Sdl.Sdl.SDL_AllocRW"/>
16071
</member>
16072
<member name="M:Tao.Sdl.Sdl.SDL_WriteBE64(System.IntPtr,System.Int64)">
16073
<summary>
16074
Write an item of native format to the specified endianness
16075
</summary>
16076
<remarks>
16077
<p>Binds to C-function in SDL_rwops.h
16078
<code>
16079
extern DECLSPEC int SDLCALL SDL_WriteBE64(SDL_RWops *dst, Uint64 value)
16080
</code></p>
16081
</remarks>
16082
<param name="dst"></param>
16083
<param name="val"></param>
16084
<seealso cref="M:Tao.Sdl.Sdl.SDL_AllocRW"/>
16085
</member>
16086
<member name="M:Tao.Sdl.Sdl.SDL_putenv(System.String)">
16087
<summary>
16088
Puts a variable of the form "name=value" into the environment.
16089
</summary>
16090
<param name="variable">
16091
The "name=value" pair to write to the environment.
16092
</param>
16093
<returns>
16094
Returns -1 on an error or 0 on success.
16095
</returns>
16096
<remarks>
16097
Not all environments have a working putenv(). SDL_putenv() is not available on Windows.
16098
<p>
16099
Binds to C-function call in SDL_getenv.h:
16100
<code>extern DECLSPEC int SDLCALL SDL_putenv(const char *variable)</code>
16101
</p>
16102
</remarks>
16103
<seealso cref="M:Tao.Sdl.Sdl.SDL_getenv(System.String)"/>
16104
</member>
16105
<member name="M:Tao.Sdl.Sdl.SDL_getenv(System.String)">
16106
<summary>
16107
Retrieves a variable from the environment.
16108
</summary>
16109
<param name="name">
16110
The name of the environmental variable to retrieve.
16111
</param>
16112
<returns>
16113
The value of the specified environmental variable.
16114
</returns>
16115
<remarks>
16116
Not all environments have a working getenv(). SDL_getenv() is not available on Windows.
16117
<p>Binds to C-function call in SDL_getenv.h:
16118
<code>extern DECLSPEC char * SDLCALL SDL_getenv(const char *name)</code>
16119
</p>
16120
</remarks>
16121
<seealso cref="M:Tao.Sdl.Sdl.SDL_putenv(System.String)"/>
16122
</member>
16123
<member name="M:Tao.Sdl.Sdl.SDL_GetWMInfo(Tao.Sdl.Sdl.SDL_SysWMinfo_Unix@)">
16124
<summary>
16125
Gives you custom hooks into the window manager information.
16126
</summary>
16127
<remarks>
16128
This function gives you custom hooks into the window manager information.
16129
It fills the structure pointed to by 'info' with custom information and
16130
returns 1 if the function is implemented. If it's not implemented, or
16131
the version member of the 'info' structure is invalid, it returns 0.
16132
16133
You typically use this function like this:
16134
SDL_SysWMInfo info;
16135
SDL_VERSION(&amp;info.version);
16136
if ( SDL_GetWMInfo(&amp;info) ) { ... }
16137
<p>Binds to C-function call in SDL_rwops.h:
16138
<code>extern DECLSPEC int SDLCALL SDL_GetWMInfo(SDL_SysWMinfo *info)</code>
16139
</p>
16140
</remarks>
16141
<param name="info">
16142
IntPtr to SDL_SysWMinfo struct
16143
</param>
16144
<returns>
16145
It fills the structure pointed to by 'info'
16146
with custom information and
16147
returns 1 if the function is implemented. If it's not implemented, or
16148
the version member of the 'info' structure is invalid, it returns 0.
16149
</returns>
16150
</member>
16151
<member name="M:Tao.Sdl.Sdl.SDL_GetWMInfo(Tao.Sdl.Sdl.SDL_SysWMinfo_Windows@)">
16152
<summary>
16153
Gives you custom hooks into the window manager information.
16154
</summary>
16155
<remarks>
16156
This function gives you custom hooks into the window manager information.
16157
It fills the structure pointed to by 'info' with custom information and
16158
returns 1 if the function is implemented. If it's not implemented, or
16159
the version member of the 'info' structure is invalid, it returns 0.
16160
16161
You typically use this function like this:
16162
SDL_SysWMInfo info;
16163
SDL_VERSION(&amp;info.version);
16164
if ( SDL_GetWMInfo(&amp;info) ) { ... }
16165
<p>Binds to C-function call in SDL_rwops.h:
16166
<code>extern DECLSPEC int SDLCALL SDL_GetWMInfo(SDL_SysWMinfo *info)</code>
16167
</p>
16168
</remarks>
16169
<param name="info">
16170
IntPtr to SDL_SysWMinfo struct
16171
</param>
16172
<returns>
16173
It fills the structure pointed to by 'info'
16174
with custom information and
16175
returns 1 if the function is implemented. If it's not implemented, or
16176
the version member of the 'info' structure is invalid, it returns 0.
16177
</returns>
16178
</member>
16179
<member name="M:Tao.Sdl.Sdl.SDL_GetWMInfo(Tao.Sdl.Sdl.SDL_SysWMinfo_RiscOS@)">
16180
<summary>
16181
Gives you custom hooks into the window manager information.
16182
</summary>
16183
<remarks>
16184
This function gives you custom hooks into the window manager information.
16185
It fills the structure pointed to by 'info' with custom information and
16186
returns 1 if the function is implemented. If it's not implemented, or
16187
the version member of the 'info' structure is invalid, it returns 0.
16188
16189
You typically use this function like this:
16190
SDL_SysWMInfo info;
16191
SDL_VERSION(&amp;info.version);
16192
if ( SDL_GetWMInfo(&amp;info) ) { ... }
16193
<p>Binds to C-function call in SDL_rwops.h:
16194
<code>extern DECLSPEC int SDLCALL SDL_GetWMInfo(SDL_SysWMinfo *info)</code>
16195
</p>
16196
</remarks>
16197
<param name="info">
16198
IntPtr to SDL_SysWMinfo struct
16199
</param>
16200
<returns>
16201
It fills the structure pointed to by 'info'
16202
with custom information and
16203
returns 1 if the function is implemented. If it's not implemented, or
16204
the version member of the 'info' structure is invalid, it returns 0.
16205
</returns>
16206
</member>
16207
<member name="M:Tao.Sdl.Sdl.SDL_GetWMInfo(Tao.Sdl.Sdl.SDL_SysWMinfo@)">
16208
<summary>
16209
Gives you custom hooks into the window manager information.
16210
</summary>
16211
<remarks>
16212
This function gives you custom hooks into the window manager information.
16213
It fills the structure pointed to by 'info' with custom information and
16214
returns 1 if the function is implemented. If it's not implemented, or
16215
the version member of the 'info' structure is invalid, it returns 0.
16216
16217
You typically use this function like this:
16218
SDL_SysWMInfo info;
16219
SDL_VERSION(&amp;info.version);
16220
if ( SDL_GetWMInfo(&amp;info) ) { ... }
16221
<p>Binds to C-function call in SDL_rwops.h:
16222
<code>extern DECLSPEC int SDLCALL SDL_GetWMInfo(SDL_SysWMinfo *info)</code>
16223
</p>
16224
</remarks>
16225
<param name="info">
16226
IntPtr to SDL_SysWMinfo struct
16227
</param>
16228
<returns>
16229
It fills the structure pointed to by 'info'
16230
with custom information and
16231
returns 1 if the function is implemented. If it's not implemented, or
16232
the version member of the 'info' structure is invalid, it returns 0.
16233
</returns>
16234
</member>
16235
<member name="M:Tao.Sdl.Sdl.SDL_CreateThread(Tao.Sdl.Sdl.ThreadDelegate,System.Object)">
16236
<summary>
16237
Create thread
16238
</summary>
16239
<returns>
16240
IntPtr to SDL_Thread struct
16241
</returns>
16242
<remarks>
16243
<p>
16244
Binds to C-function call in SDL_thread.h:
16245
<code>extern DECLSPEC SDL_Thread * SDLCALL SDL_CreateThread(int (SDLCALL *fn)(void *), void *data)</code>
16246
</p>
16247
</remarks>
16248
</member>
16249
<member name="M:Tao.Sdl.Sdl.SDL_ThreadID">
16250
<summary>
16251
Get the 32-bit thread identifier for the current thread
16252
</summary>
16253
<returns>
16254
ID
16255
</returns>
16256
<remarks>
16257
<p>
16258
Binds to C-function call in SDL_thread.h:
16259
<code>extern DECLSPEC Uint32 SDLCALL SDL_ThreadID(void)</code>
16260
</p>
16261
</remarks>
16262
</member>
16263
<member name="M:Tao.Sdl.Sdl.SDL_GetThreadID(System.IntPtr)">
16264
<summary>
16265
Get the 32-bit thread identifier for the specified thread,
16266
equivalent to SDL_ThreadID() if the specified thread is NULL.
16267
</summary>
16268
<returns>
16269
ID
16270
</returns>
16271
<remarks>
16272
<p>
16273
Binds to C-function call in SDL_thread.h:
16274
<code>extern DECLSPEC Uint32 SDLCALL SDL_GetThreadID(SDL_Thread *thread)</code>
16275
</p>
16276
</remarks>
16277
</member>
16278
<member name="M:Tao.Sdl.Sdl.SDL_WaitThread(System.IntPtr,System.Int32@)">
16279
<summary>
16280
Wait for a thread to finish.
16281
The return code for the thread function is placed in the area
16282
pointed to by 'status', if 'status' is not NULL.
16283
</summary>
16284
<remarks>
16285
<p>
16286
Binds to C-function call in SDL_thread.h:
16287
<code>extern DECLSPEC void SDLCALL SDL_WaitThread(SDL_Thread *thread, int *status)</code>
16288
</p>
16289
</remarks>
16290
</member>
16291
<member name="M:Tao.Sdl.Sdl.SDL_KillThread(System.IntPtr)">
16292
<summary>
16293
Forcefully kill a thread without worrying about its state
16294
</summary>
16295
<remarks>
16296
<p>
16297
Binds to C-function call in SDL_thread.h:
16298
<code>extern DECLSPEC void SDLCALL SDL_KillThread(SDL_Thread *thread)</code>
16299
</p>
16300
</remarks>
16301
</member>
16302
<member name="M:Tao.Sdl.Sdl.SDL_GetTicks">
16303
<summary>
16304
Get the number of milliseconds since the SDL library initialization.
16305
</summary>
16306
<returns>
16307
The number of milliseconds since SDL was initialized.
16308
</returns>
16309
<remarks>
16310
Note that this value wraps if the program runs for more than ~49 days.
16311
<p>
16312
Binds to C-function call in SDL_timer.h:
16313
<code>extern DECLSPEC Uint32 SDLCALL SDL_GetTicks(void)</code>
16314
</p>
16315
</remarks>
16316
<seealso cref="M:Tao.Sdl.Sdl.SDL_Delay(System.Int32)"/>
16317
</member>
16318
<member name="M:Tao.Sdl.Sdl.SDL_Delay(System.Int32)">
16319
<summary>
16320
Wait a specified number of milliseconds before returning.
16321
</summary>
16322
<param name="ms">
16323
The number of milliseconds to wait.
16324
</param>
16325
<remarks>
16326
<b>SDL_Delay</b> will wait at least the specified time, but possible longer due
16327
to OS scheduling. Count on a delay granularity of at least 10 ms. Some
16328
platforms have shorter clock ticks but this is the most common.
16329
<p>
16330
Binds to C-function call in SDL_timer.h:
16331
<code>extern DECLSPEC void SDLCALL SDL_Delay(Uint32 ms)</code>
16332
</p>
16333
</remarks>
16334
<seealso cref="M:Tao.Sdl.Sdl.SDL_AddTimer(System.Int32,Tao.Sdl.Sdl.SDL_NewTimerCallback)"/>
16335
</member>
16336
<member name="M:Tao.Sdl.Sdl.SDL_Delay(System.UInt32)">
16337
<summary>
16338
Wait a specified number of milliseconds before returning.
16339
</summary>
16340
<param name="ms">
16341
The number of milliseconds to wait.
16342
</param>
16343
<remarks>
16344
<b>SDL_Delay</b> will wait at least the specified time, but possible longer due
16345
to OS scheduling. Count on a delay granularity of at least 10 ms. Some
16346
platforms have shorter clock ticks but this is the most common.
16347
<p>
16348
Binds to C-function call in SDL_timer.h:
16349
<code>extern DECLSPEC void SDLCALL SDL_Delay(Uint32 ms)</code>
16350
</p>
16351
</remarks>
16352
<seealso cref="M:Tao.Sdl.Sdl.SDL_AddTimer(System.Int32,Tao.Sdl.Sdl.SDL_NewTimerCallback)"/>
16353
</member>
16354
<member name="M:Tao.Sdl.Sdl.SDL_SetTimer(System.Int32,Tao.Sdl.Sdl.SDL_TimerCallback)">
16355
<summary>
16356
Set a callback to run after the specified number of milliseconds has elapsed.
16357
</summary>
16358
<param name="interval">
16359
The timer interval.
16360
</param>
16361
<param name="callback">
16362
The callback to run.
16363
</param>
16364
<returns>
16365
The next timer interval.
16366
</returns>
16367
<remarks>
16368
<para>
16369
The callback function is passed the current timer interval and returns the
16370
next timer interval. If the returned value is the same as the one passed
16371
in, the periodic alarm continues, otherwise a new alarm is scheduled.
16372
</para>
16373
<para>
16374
To cancel a currently running timer, call <c>Sdl.SDL_SetTimer(0, null);</c>
16375
</para>
16376
<para>
16377
The timer callback function may run in a different thread than your main
16378
constant, and so shouldn't call any functions from within itself.
16379
</para>
16380
<para>
16381
The maximum resolution of this timer is 10 ms, which means that if you
16382
request a 16 ms timer, your callback will run approximately 20 ms later on
16383
an unloaded system. If you wanted to set a flag signaling a frame update at
16384
30 frames per second (every 33 ms), you might set a timer for 30 ms.
16385
</para>
16386
<para>
16387
If you use this function, you need to pass <see cref="F:Tao.Sdl.Sdl.SDL_INIT_TIMER"/> to
16388
<see cref="M:Tao.Sdl.Sdl.SDL_Init(System.Int32)"/>.
16389
</para>
16390
<para>
16391
This function is kept for compatibility but has been superseded by the new
16392
timer functions <see cref="M:Tao.Sdl.Sdl.SDL_AddTimer(System.Int32,Tao.Sdl.Sdl.SDL_NewTimerCallback)"/> and
16393
<see cref="M:Tao.Sdl.Sdl.SDL_RemoveTimer(Tao.Sdl.Sdl.SDL_TimerID)"/> which support multiple timers.
16394
</para>
16395
<p>
16396
Binds to C-function call in SDL_timer.h:
16397
<code>extern DECLSPEC int SDLCALL SDL_SetTimer(Uint32 interval,
16398
SDL_TimerCallback callback)</code>
16399
</p>
16400
</remarks>
16401
<seealso cref="M:Tao.Sdl.Sdl.SDL_AddTimer(System.Int32,Tao.Sdl.Sdl.SDL_NewTimerCallback)"/>
16402
<seealso cref="T:Tao.Sdl.Sdl.SDL_TimerCallback"/>
16403
</member>
16404
<member name="M:Tao.Sdl.Sdl.SDL_SetTimer(System.UInt32,Tao.Sdl.Sdl.SDL_TimerCallback)">
16405
<summary>
16406
Set a callback to run after the specified number of milliseconds has elapsed.
16407
</summary>
16408
<param name="interval">
16409
The timer interval.
16410
</param>
16411
<param name="callback">
16412
The callback to run.
16413
</param>
16414
<returns>
16415
The next timer interval.
16416
</returns>
16417
<remarks>
16418
<para>
16419
The callback function is passed the current timer interval and returns the
16420
next timer interval. If the returned value is the same as the one passed
16421
in, the periodic alarm continues, otherwise a new alarm is scheduled.
16422
</para>
16423
<para>
16424
To cancel a currently running timer, call <c>Sdl.SDL_SetTimer(0, null);</c>
16425
</para>
16426
<para>
16427
The timer callback function may run in a different thread than your main
16428
constant, and so shouldn't call any functions from within itself.
16429
</para>
16430
<para>
16431
The maximum resolution of this timer is 10 ms, which means that if you
16432
request a 16 ms timer, your callback will run approximately 20 ms later on
16433
an unloaded system. If you wanted to set a flag signaling a frame update at
16434
30 frames per second (every 33 ms), you might set a timer for 30 ms.
16435
</para>
16436
<para>
16437
If you use this function, you need to pass <see cref="F:Tao.Sdl.Sdl.SDL_INIT_TIMER"/> to
16438
<see cref="M:Tao.Sdl.Sdl.SDL_Init(System.Int32)"/>.
16439
</para>
16440
<para>
16441
This function is kept for compatibility but has been superseded by the new
16442
timer functions <see cref="M:Tao.Sdl.Sdl.SDL_AddTimer(System.Int32,Tao.Sdl.Sdl.SDL_NewTimerCallback)"/> and
16443
<see cref="M:Tao.Sdl.Sdl.SDL_RemoveTimer(Tao.Sdl.Sdl.SDL_TimerID)"/> which support multiple timers.
16444
</para>
16445
<p>
16446
Binds to C-function call in SDL_timer.h:
16447
<code>extern DECLSPEC int SDLCALL SDL_SetTimer(Uint32 interval,
16448
SDL_TimerCallback callback)</code>
16449
</p>
16450
</remarks>
16451
<seealso cref="M:Tao.Sdl.Sdl.SDL_AddTimer(System.Int32,Tao.Sdl.Sdl.SDL_NewTimerCallback)"/>
16452
<seealso cref="T:Tao.Sdl.Sdl.SDL_TimerCallback"/>
16453
</member>
16454
<member name="M:Tao.Sdl.Sdl.SDL_AddTimer(System.Int32,Tao.Sdl.Sdl.SDL_NewTimerCallback)">
16455
<summary>
16456
Add a timer which will call a callback after the
16457
specified number of milliseconds has elapsed.
16458
</summary>
16459
<param name="callback">
16460
The callback to run.
16461
</param>
16462
<param name="interval">
16463
The timer interval.
16464
</param>
16465
<returns>
16466
Returns an ID value for the added timer or NULL if
16467
there was an error.
16468
</returns>
16469
<remarks>
16470
<para>
16471
Adds a callback function to be run after the specified number of
16472
milliseconds has elapsed. The callback function is passed the current
16473
timer interval and the user supplied parameter from the SDL_AddTimer
16474
call and returns the next timer interval. If the returned value from
16475
the callback is the same as the one passed in, the periodic alarm
16476
continues, otherwise a new alarm is scheduled.
16477
</para>
16478
<para>
16479
To cancel a currently running timer call <see cref="M:Tao.Sdl.Sdl.SDL_RemoveTimer(Tao.Sdl.Sdl.SDL_TimerID)"/>
16480
with the timer ID returned from SDL_AddTimer.
16481
</para>
16482
<para>
16483
The timer callback function may run in a different thread than your main
16484
program, and so shouldn't call any functions from within itself.
16485
You may always call SDL_PushEvent, however.
16486
</para>
16487
<para>
16488
The granularity of the timer is platform-dependent,
16489
but you should count on it being at least 10 ms as this is the
16490
most common number. This means that if you request a 16 ms timer,
16491
your callback will run approximately 20 ms later on an unloaded
16492
system. If you wanted to set a flag signaling a frame update at
16493
30 frames per second (every 33 ms), you might set a timer for
16494
30 ms (see example below). If you use this function, you need
16495
to pass <see cref="F:Tao.Sdl.Sdl.SDL_INIT_TIMER"/> to <see cref="M:Tao.Sdl.Sdl.SDL_Init(System.Int32)"/>.
16496
</para>
16497
<p>
16498
Binds to C-function call in SDL_timer.h:
16499
<code>extern DECLSPEC SDL_TimerID SDLCALL
16500
SDL_AddTimer(Uint32 interval,
16501
SDL_NewTimerCallback callback, void *param)</code>
16502
</p>
16503
</remarks>
16504
</member>
16505
<member name="M:Tao.Sdl.Sdl.SDL_AddTimer(System.UInt32,Tao.Sdl.Sdl.SDL_NewTimerCallback)">
16506
<summary>
16507
Add a timer which will call a callback after the
16508
specified number of milliseconds has elapsed.
16509
</summary>
16510
<param name="callback">
16511
The callback to run.
16512
</param>
16513
<param name="interval">
16514
The timer interval.
16515
</param>
16516
<returns>
16517
Returns an ID value for the added timer or NULL if
16518
there was an error.
16519
</returns>
16520
<remarks>
16521
<para>
16522
Adds a callback function to be run after the specified number of
16523
milliseconds has elapsed. The callback function is passed the current
16524
timer interval and the user supplied parameter from the SDL_AddTimer
16525
call and returns the next timer interval. If the returned value from
16526
the callback is the same as the one passed in, the periodic alarm
16527
continues, otherwise a new alarm is scheduled.
16528
</para>
16529
<para>
16530
To cancel a currently running timer call <see cref="M:Tao.Sdl.Sdl.SDL_RemoveTimer(Tao.Sdl.Sdl.SDL_TimerID)"/>
16531
with the timer ID returned from SDL_AddTimer.
16532
</para>
16533
<para>
16534
The timer callback function may run in a different thread than your main
16535
program, and so shouldn't call any functions from within itself.
16536
You may always call SDL_PushEvent, however.
16537
</para>
16538
<para>
16539
The granularity of the timer is platform-dependent,
16540
but you should count on it being at least 10 ms as this is the
16541
most common number. This means that if you request a 16 ms timer,
16542
your callback will run approximately 20 ms later on an unloaded
16543
system. If you wanted to set a flag signaling a frame update at
16544
30 frames per second (every 33 ms), you might set a timer for
16545
30 ms (see example below). If you use this function, you need
16546
to pass <see cref="F:Tao.Sdl.Sdl.SDL_INIT_TIMER"/> to <see cref="M:Tao.Sdl.Sdl.SDL_Init(System.Int32)"/>.
16547
</para>
16548
<p>
16549
Binds to C-function call in SDL_timer.h:
16550
<code>extern DECLSPEC SDL_TimerID SDLCALL
16551
SDL_AddTimer(Uint32 interval,
16552
SDL_NewTimerCallback callback, void *param)</code>
16553
</p>
16554
</remarks>
16555
</member>
16556
<member name="M:Tao.Sdl.Sdl.SDL_RemoveTimer(Tao.Sdl.Sdl.SDL_TimerID)">
16557
<summary>
16558
Remove a timer which was added with <see cref="M:Tao.Sdl.Sdl.SDL_AddTimer(System.Int32,Tao.Sdl.Sdl.SDL_NewTimerCallback)"/>.
16559
</summary>
16560
<param name="t">
16561
The timer ID to remove.
16562
</param>
16563
<returns>
16564
A boolean value indicating success. SDL_TRUE or SDL_FALSE.
16565
</returns>
16566
<remarks>
16567
<p>
16568
Binds to C-function call in SDL_timer.h:
16569
<code>extern DECLSPEC SDL_bool SDLCALL SDL_RemoveTimer(SDL_TimerID t)</code>
16570
</p>
16571
</remarks>
16572
<seealso cref="M:Tao.Sdl.Sdl.SDL_AddTimer(System.Int32,Tao.Sdl.Sdl.SDL_NewTimerCallback)"/>
16573
</member>
16574
<member name="M:Tao.Sdl.Sdl.SDL_VERSION">
16575
<summary>
16576
This method can be used to fill a version structure with the compile-time
16577
version of the SDL library.
16578
</summary>
16579
<returns>
16580
This function returns a <see cref="T:Tao.Sdl.Sdl.SDL_version"/> struct containing the
16581
compiled version number
16582
</returns>
16583
<remarks>
16584
<p>
16585
Binds to C-function call in SDL_version.h:
16586
<code>#define SDL_VERSION(X)
16587
{
16588
(X)-&gt;major = SDL_MAJOR_VERSION;
16589
(X)-&gt;minor = SDL_MINOR_VERSION;
16590
(X)-&gt;patch = SDL_PATCHLEVEL;
16591
}</code>
16592
</p>
16593
</remarks>
16594
</member>
16595
<member name="M:Tao.Sdl.Sdl.SDL_Linked_Version">
16596
<summary>
16597
This function gets the version of the dynamically linked SDL library.
16598
</summary>
16599
<returns>
16600
SDL_version struct
16601
</returns>
16602
<remarks>
16603
<p>
16604
Binds to C-function call in SDL_version.h:
16605
<code>extern DECLSPEC const SDL_version * SDLCALL SDL_Linked_Version(void)</code>
16606
</p>
16607
</remarks>
16608
</member>
16609
<member name="M:Tao.Sdl.Sdl.SDL_VERSION_ATLEAST(System.Byte,System.Byte,System.Byte)">
16610
<summary>
16611
Will evaluate to true if SDL version is at least X.Y.Z
16612
</summary>
16613
<param name="major">Major version number</param>
16614
<param name="minor">Minor version number</param>
16615
<param name="patch">Patch version number</param>
16616
<returns>True if the version of SDL is greater or equal to the version numbers passed in.</returns>
16617
</member>
16618
<member name="M:Tao.Sdl.Sdl.SDL_MUSTLOCK(System.IntPtr)">
16619
<summary>
16620
Evaluates to true if the surface needs to be locked before access
16621
</summary>
16622
<param name="surface"></param>
16623
<returns>
16624
1 if surface must be locked. 0 if it does not.
16625
</returns>
16626
<remarks>
16627
<p>Binds to C-function call in SDL_video.h:
16628
<code>#define SDL_MUSTLOCK(surface) (surface->offset || ((surface->flags &amp; (SDL_HWSURFACE|SDL_ASYNCBLIT|SDL_RLEACCEL)) != 0))</code>
16629
</p>
16630
</remarks>
16631
</member>
16632
<member name="M:Tao.Sdl.Sdl.SDL_VideoDriverName(System.String,System.Int32)">
16633
<summary>
16634
This function returns a string with the name of the
16635
video driver.
16636
</summary>
16637
<remarks>
16638
It returns NULL if no driver has been initialized.
16639
<p>Binds to C-function call in SDL_video.h:
16640
<code>extern DECLSPEC char * SDLCALL SDL_VideoDriverName(char *namebuf, int maxlen)</code>
16641
</p>
16642
</remarks>
16643
<returns>
16644
Returns a string containing the driver name.
16645
It returns null if no driver has been initialized.
16646
</returns>
16647
<param name="maxlen">
16648
Length of string
16649
</param>
16650
<param name="namebuf">
16651
A dummy string that must be initialized before being passed in.
16652
</param>
16653
</member>
16654
<member name="M:Tao.Sdl.Sdl.SDL_GetVideoSurface">
16655
<summary>
16656
This function returns a pointer to the current display surface.
16657
</summary>
16658
<remarks>
16659
If SDL is doing format conversion on the display surface, this
16660
function returns the publicly visible surface, not the real video
16661
surface.
16662
<p>Binds to C-function call in SDL_video.h:
16663
<code>extern DECLSPEC SDL_Surface * SDLCALL SDL_GetVideoSurface(void)</code>
16664
</p>
16665
</remarks>
16666
<returns>
16667
It returns a pointer to a SDL_Surface struct.
16668
</returns>
16669
<seealso cref="T:Tao.Sdl.Sdl.SDL_Surface"/>
16670
</member>
16671
<member name="M:Tao.Sdl.Sdl.SDL_GetVideoInfo">
16672
<summary>
16673
This function returns a read-only pointer to information
16674
about the video hardware.
16675
</summary>
16676
<remarks>
16677
If this is called before <see cref="M:Tao.Sdl.Sdl.SDL_SetVideoMode(System.Int32,System.Int32,System.Int32,System.Int32)"/>, the 'vfmt'
16678
member of the returned structure will contain the pixel
16679
format of the "best" video mode.
16680
<p>Binds to C-function call in SDL_video.h:
16681
<code>extern DECLSPEC const SDL_VideoInfo * SDLCALL SDL_GetVideoInfo(void)</code>
16682
</p>
16683
</remarks>
16684
<returns>IntPtr to SDL_VideoInfo struct</returns>
16685
<see cref="M:Tao.Sdl.Sdl.SDL_SetVideoMode(System.Int32,System.Int32,System.Int32,System.Int32)"/>
16686
<see cref="T:Tao.Sdl.Sdl.SDL_VideoInfo"/>
16687
</member>
16688
<member name="M:Tao.Sdl.Sdl.SDL_VideoModeOK(System.Int32,System.Int32,System.Int32,System.Int32)">
16689
<summary>
16690
Check to see if a particular video mode is supported.
16691
</summary>
16692
<remarks>
16693
SDL_VideoModeOK returns 0 if the requested mode is not supported under any
16694
bit depth,
16695
or returns the bits-per-pixel of the closest available mode
16696
with the
16697
given width, height and requested <see cref="T:Tao.Sdl.Sdl.SDL_Surface"/> flags. See <see cref="M:Tao.Sdl.Sdl.SDL_SetVideoMode(System.Int32,System.Int32,System.Int32,System.Int32)"/>.
16698
<p>The bits-per-pixel value returned is only a suggested mode.
16699
You can usually request and bpp you want when setting the video mode
16700
and SDL will emulate that color depth with a shadow video surface.
16701
</p>
16702
<p>
16703
The arguments to SDL_VideoModeOK() are the same ones you would
16704
pass to
16705
<see cref="M:Tao.Sdl.Sdl.SDL_SetVideoMode(System.Int32,System.Int32,System.Int32,System.Int32)"/>
16706
</p>
16707
<p>Binds to C-function call in SDL_video.h:
16708
<code>extern DECLSPEC int SDLCALL SDL_VideoModeOK(int width, int height, int bpp, Uint32 flags)</code>
16709
</p>
16710
</remarks>
16711
<param name="width">Width of mode</param>
16712
<param name="height">Height of mode</param>
16713
<param name="bpp">bit depth of Mode</param>
16714
<param name="flags"></param>
16715
<returns></returns>
16716
</member>
16717
<member name="M:Tao.Sdl.Sdl.SDL_VideoModeOK(System.Int32,System.Int32,System.Int32,System.UInt32)">
16718
<summary>
16719
Check to see if a particular video mode is supported.
16720
</summary>
16721
<remarks>
16722
SDL_VideoModeOK returns 0 if the requested mode is not supported under any
16723
bit depth,
16724
or returns the bits-per-pixel of the closest available mode
16725
with the
16726
given width, height and requested <see cref="T:Tao.Sdl.Sdl.SDL_Surface"/> flags. See <see cref="M:Tao.Sdl.Sdl.SDL_SetVideoMode(System.Int32,System.Int32,System.Int32,System.Int32)"/>.
16727
<p>The bits-per-pixel value returned is only a suggested mode.
16728
You can usually request and bpp you want when setting the video mode
16729
and SDL will emulate that color depth with a shadow video surface.
16730
</p>
16731
<p>
16732
The arguments to SDL_VideoModeOK() are the same ones you would
16733
pass to
16734
<see cref="M:Tao.Sdl.Sdl.SDL_SetVideoMode(System.Int32,System.Int32,System.Int32,System.Int32)"/>
16735
</p>
16736
<p>Binds to C-function call in SDL_video.h:
16737
<code>extern DECLSPEC int SDLCALL SDL_VideoModeOK(int width, int height, int bpp, Uint32 flags)</code>
16738
</p>
16739
</remarks>
16740
<param name="width">Width of mode</param>
16741
<param name="height">Height of mode</param>
16742
<param name="bpp">bit depth of Mode</param>
16743
<param name="flags"></param>
16744
<returns></returns>
16745
</member>
16746
<member name="M:Tao.Sdl.Sdl.SDL_ListModes(System.IntPtr,System.Int32)">
16747
<summary>
16748
Return a pointer to an array of available screen dimensions for the
16749
given format and video flags, sorted largest to smallest.
16750
Returns
16751
NULL if there are no dimensions available for a particular format,
16752
or (SDL_Rect **)-1 if any dimension is okay for the given format.
16753
</summary>
16754
<remarks>
16755
If 'format' is NULL, the mode list will be for the format given
16756
by <see cref="M:Tao.Sdl.Sdl.SDL_GetVideoInfo"/>()-&gt;vfmt.
16757
The flag parameter is an OR'd combination of <see cref="T:Tao.Sdl.Sdl.SDL_Surface">surface</see> flags.
16758
The flags are the same as those used <see cref="M:Tao.Sdl.Sdl.SDL_SetVideoMode(System.Int32,System.Int32,System.Int32,System.Int32)"/> and they
16759
play a strong role in deciding what modes are valid.
16760
For instance, if you pass SDL_HWSURFACE as a flag only modes that
16761
support hardware video surfaces will be returned.
16762
<p>Binds to C-function call in SDL_video.h:
16763
<code>extern DECLSPEC SDL_Rect ** SDLCALL SDL_ListModes(SDL_PixelFormat *format, Uint32 flags)</code>
16764
</p>
16765
</remarks>
16766
<param name="format"></param>
16767
<param name="flags"></param>
16768
<returns>Returns null if no modes are available. If all modes are available returns an empty array.</returns>
16769
<seealso cref="M:Tao.Sdl.Sdl.SDL_SetVideoMode(System.Int32,System.Int32,System.Int32,System.Int32)">SDL_SetVideoMode</seealso>
16770
<seealso cref="M:Tao.Sdl.Sdl.SDL_GetVideoInfo">SDL_GetVideoInfo</seealso>
16771
<seealso cref="T:Tao.Sdl.Sdl.SDL_Rect">SDL_Rect</seealso>
16772
<seealso cref="T:Tao.Sdl.Sdl.SDL_PixelFormat">SDL_PixelFormat</seealso>
16773
</member>
16774
<member name="M:Tao.Sdl.Sdl.SDL_ListModes(System.IntPtr,System.UInt32)">
16775
<summary>
16776
Return a pointer to an array of available screen dimensions for the
16777
given format and video flags, sorted largest to smallest.
16778
Returns
16779
NULL if there are no dimensions available for a particular format,
16780
or (SDL_Rect **)-1 if any dimension is okay for the given format.
16781
</summary>
16782
<remarks>
16783
If 'format' is NULL, the mode list will be for the format given
16784
by <see cref="M:Tao.Sdl.Sdl.SDL_GetVideoInfo"/>()-&gt;vfmt.
16785
The flag parameter is an OR'd combination of <see cref="T:Tao.Sdl.Sdl.SDL_Surface">surface</see> flags.
16786
The flags are the same as those used <see cref="M:Tao.Sdl.Sdl.SDL_SetVideoMode(System.Int32,System.Int32,System.Int32,System.Int32)"/> and they
16787
play a strong role in deciding what modes are valid.
16788
For instance, if you pass SDL_HWSURFACE as a flag only modes that
16789
support hardware video surfaces will be returned.
16790
<p>Binds to C-function call in SDL_video.h:
16791
<code>extern DECLSPEC SDL_Rect ** SDLCALL SDL_ListModes(SDL_PixelFormat *format, Uint32 flags)</code>
16792
</p>
16793
</remarks>
16794
<param name="format"></param>
16795
<param name="flags"></param>
16796
<returns>Returns null if no modes are available. If all modes are available returns an empty array.</returns>
16797
<seealso cref="M:Tao.Sdl.Sdl.SDL_SetVideoMode(System.Int32,System.Int32,System.Int32,System.Int32)">SDL_SetVideoMode</seealso>
16798
<seealso cref="M:Tao.Sdl.Sdl.SDL_GetVideoInfo">SDL_GetVideoInfo</seealso>
16799
<seealso cref="T:Tao.Sdl.Sdl.SDL_Rect">SDL_Rect</seealso>
16800
<seealso cref="T:Tao.Sdl.Sdl.SDL_PixelFormat">SDL_PixelFormat</seealso>
16801
</member>
16802
<member name="M:Tao.Sdl.Sdl.SDL_SetVideoMode(System.Int32,System.Int32,System.Int32,System.Int32)">
16803
<summary>
16804
Set up a video mode with the specified width, height
16805
and bits-per-pixel.
16806
</summary>
16807
<remarks>
16808
If 'bpp' is 0, it is treated as the current display bits per pixel.
16809
<p>
16810
The flags parameter is the same as the flags field of the SDL_Surface
16811
structure. OR'd combinations of the following values are valid.
16812
</p>
16813
<list type="table">
16814
<listheader>
16815
<term>Flag</term>
16816
<description>Description</description>
16817
</listheader>
16818
<item>
16819
<term><see cref="F:Tao.Sdl.Sdl.SDL_SWSURFACE"/></term>
16820
<description>Create the video surface in system memory.</description>
16821
</item>
16822
<item>
16823
<term><see cref="F:Tao.Sdl.Sdl.SDL_HWSURFACE"/></term>
16824
<description>Create the video surface in video memory ,if possible,
16825
and you may have to call SDL_LockSurface()
16826
in order to access the raw framebuffer. Otherwise, the video
16827
surface
16828
will be created in system memory.</description>
16829
</item>
16830
<item>
16831
<term><see cref="F:Tao.Sdl.Sdl.SDL_ASYNCBLIT"/></term>
16832
<description>Enables the use of asynchronous updates
16833
of the display surface, but you must always lock before
16834
accessing pixels.
16835
SDL will wait for updates to complete before returning from the
16836
lock. This will usually slow down
16837
blitting on single CPU machines, but may provide a
16838
speed increase on SMP systems.</description>
16839
</item>
16840
<item>
16841
<term><see cref="F:Tao.Sdl.Sdl.SDL_ANYFORMAT"/></term>
16842
<description>Normally, if a video surface of the
16843
requested bits-per-pixel (bpp) is not available,
16844
SDL will emulate one with a shadow surface.
16845
Passing SDL_ANYFORMAT prevents this and causes
16846
SDL to use the video surface, regardless of its
16847
pixel depth.</description>
16848
</item>
16849
<item>
16850
<term><see cref="F:Tao.Sdl.Sdl.SDL_HWPALETTE"/></term>
16851
<description>Give SDL exclusive palette access.
16852
Without this flag you may not always get the the
16853
colors you request with <see cref="M:Tao.Sdl.Sdl.SDL_SetColors(System.IntPtr,Tao.Sdl.Sdl.SDL_Color[],System.Int32,System.Int32)"/>
16854
or <see cref="M:Tao.Sdl.Sdl.SDL_SetPalette(System.IntPtr,System.Int32,Tao.Sdl.Sdl.SDL_Color[],System.Int32,System.Int32)"/>. You should
16855
look
16856
at the video surface structure to determine the actual palette.
16857
If SDL cannot guarantee that the colors you request can be set,
16858
i.e. if the colormap is shared, then the video surface may be
16859
created
16860
under emulation in system memory, overriding the SDL_HWSURFACE
16861
flag.
16862
</description>
16863
</item>
16864
<item>
16865
<term><see cref="F:Tao.Sdl.Sdl.SDL_DOUBLEBUF"/></term>
16866
<description>Enable hardware double buffering;
16867
only valid with SDL_HWSURFACE. Calling <see cref="M:Tao.Sdl.Sdl.SDL_Flip(System.IntPtr)"/>
16868
will flip the buffers and update the screen.
16869
All drawing will take place on the surface that
16870
is not displayed at the moment. If double buffering
16871
could not be enabled then SDL_Flip will just
16872
perform a <see cref="M:Tao.Sdl.Sdl.SDL_UpdateRect(System.IntPtr,System.Int32,System.Int32,System.Int32,System.Int32)"/>
16873
on the entire screen. This is usually slower than the normal
16874
single-buffering
16875
scheme, but prevents "tearing" artifacts caused by modifying video
16876
memory while the monitor is refreshing. It should only be used by
16877
applications that redraw the entire screen on every update.</description>
16878
</item>
16879
<item>
16880
<term><see cref="F:Tao.Sdl.Sdl.SDL_FULLSCREEN"/></term>
16881
<description>SDL will attempt to use a fullscreen mode.
16882
If a hardware resolution change is not possible
16883
(for whatever reason), the next higher resolution
16884
will be used and the display window centered
16885
on a black background. The default is to create a windowed mode
16886
if the current graphics system has a window manager.
16887
If the SDL library is able to set a fullscreen video mode, this
16888
flag
16889
will be set in the surface that is returned.</description>
16890
</item>
16891
<item>
16892
<term><see cref="F:Tao.Sdl.Sdl.SDL_OPENGL"/></term>
16893
<description>Create an OpenGL rendering context.
16894
You should have previously set OpenGL
16895
video attributes with <see cref="M:Tao.Sdl.Sdl.SDL_GL_SetAttribute(System.Int32,System.Int32)"/>.
16896
</description>
16897
</item>
16898
<item>
16899
<term><see cref="F:Tao.Sdl.Sdl.SDL_OPENGLBLIT"/></term>
16900
<description>Create an OpenGL rendering context,
16901
like above, but allow normal blitting operations.
16902
The screen (2D) surface may have an alpha channel,
16903
and <see cref="M:Tao.Sdl.Sdl.SDL_UpdateRects(System.IntPtr,System.Int32,Tao.Sdl.Sdl.SDL_Rect[])"/> must be used for updating changes
16904
to the screen surface. NOTE: This option is kept for
16905
compatibility only, and is not recommended for new code.
16906
</description>
16907
</item>
16908
<item>
16909
<term><see cref="F:Tao.Sdl.Sdl.SDL_RESIZABLE"/></term>
16910
<description>Create a resizable window.
16911
When the window is resized by the user a
16912
<see cref="F:Tao.Sdl.Sdl.SDL_VIDEORESIZE"/> event is generated and
16913
SDL_SetVideoMode can be called again with the new size.
16914
</description>
16915
</item>
16916
<item>
16917
<term><see cref="F:Tao.Sdl.Sdl.SDL_NOFRAME"/></term>
16918
<description>If possible, SDL_NOFRAME causes
16919
SDL to create a window with no title bar or
16920
frame decoration. Fullscreen modes automatically
16921
have this flag set.
16922
</description>
16923
</item>
16924
</list>
16925
16926
If you rely on functionality provided by certain video flags,
16927
check the
16928
flags of the returned surface to make sure that functionality
16929
is available.
16930
SDL will fall back to reduced functionality if the exact flags
16931
you wanted
16932
are not available.
16933
<p>Whatever flags SDL_SetVideoMode could satisfy are set
16934
in the flags member of the returned surface.</p>
16935
<p>
16936
The bpp parameter is the number of bits per pixel,
16937
so a bpp of 24 uses the packed representation of 3 bytes/pixel.
16938
For the more common 4 bytes/pixel mode, use a bpp of 32.
16939
Somewhat oddly, both 15 and 16 will request a 2 bytes/pixel mode,
16940
but different pixel formats.
16941
</p>
16942
<p>Binds to C-function call in SDL_video.h:
16943
<code>extern DECLSPEC SDL_Surface * SDLCALL SDL_SetVideoMode
16944
(int width, int height, int bpp, Uint32 flags);</code>
16945
</p>
16946
</remarks>
16947
<seealso cref="M:Tao.Sdl.Sdl.SDL_LockSurface(System.IntPtr)">SDL_LockSurface</seealso>
16948
<seealso cref="M:Tao.Sdl.Sdl.SDL_SetColors(System.IntPtr,Tao.Sdl.Sdl.SDL_Color[],System.Int32,System.Int32)">SDL_SetColors</seealso>
16949
<seealso cref="M:Tao.Sdl.Sdl.SDL_Flip(System.IntPtr)">SDL_Flip</seealso>
16950
<seealso cref="T:Tao.Sdl.Sdl.SDL_Surface">SDL_Surface</seealso>
16951
<param name="width"></param>
16952
<param name="height"></param>
16953
<param name="bpp"></param>
16954
<param name="flags"></param>
16955
<returns>The framebuffer surface, or NULL if it fails.
16956
The surface returned is freed by SDL_Quit() and should not be
16957
freed by the caller.
16958
</returns>
16959
</member>
16960
<member name="M:Tao.Sdl.Sdl.SDL_SetVideoMode(System.Int32,System.Int32,System.Int32,System.UInt32)">
16961
<summary>
16962
Set up a video mode with the specified width, height
16963
and bits-per-pixel.
16964
</summary>
16965
<remarks>
16966
If 'bpp' is 0, it is treated as the current display bits per pixel.
16967
<p>
16968
The flags parameter is the same as the flags field of the SDL_Surface
16969
structure. OR'd combinations of the following values are valid.
16970
</p>
16971
<list type="table">
16972
<listheader>
16973
<term>Flag</term>
16974
<description>Description</description>
16975
</listheader>
16976
<item>
16977
<term><see cref="F:Tao.Sdl.Sdl.SDL_SWSURFACE"/></term>
16978
<description>Create the video surface in system memory.</description>
16979
</item>
16980
<item>
16981
<term><see cref="F:Tao.Sdl.Sdl.SDL_HWSURFACE"/></term>
16982
<description>Create the video surface in video memory ,if possible,
16983
and you may have to call SDL_LockSurface()
16984
in order to access the raw framebuffer. Otherwise, the video
16985
surface
16986
will be created in system memory.</description>
16987
</item>
16988
<item>
16989
<term><see cref="F:Tao.Sdl.Sdl.SDL_ASYNCBLIT"/></term>
16990
<description>Enables the use of asynchronous updates
16991
of the display surface, but you must always lock before
16992
accessing pixels.
16993
SDL will wait for updates to complete before returning from the
16994
lock. This will usually slow down
16995
blitting on single CPU machines, but may provide a
16996
speed increase on SMP systems.</description>
16997
</item>
16998
<item>
16999
<term><see cref="F:Tao.Sdl.Sdl.SDL_ANYFORMAT"/></term>
17000
<description>Normally, if a video surface of the
17001
requested bits-per-pixel (bpp) is not available,
17002
SDL will emulate one with a shadow surface.
17003
Passing SDL_ANYFORMAT prevents this and causes
17004
SDL to use the video surface, regardless of its
17005
pixel depth.</description>
17006
</item>
17007
<item>
17008
<term><see cref="F:Tao.Sdl.Sdl.SDL_HWPALETTE"/></term>
17009
<description>Give SDL exclusive palette access.
17010
Without this flag you may not always get the the
17011
colors you request with <see cref="M:Tao.Sdl.Sdl.SDL_SetColors(System.IntPtr,Tao.Sdl.Sdl.SDL_Color[],System.Int32,System.Int32)"/>
17012
or <see cref="M:Tao.Sdl.Sdl.SDL_SetPalette(System.IntPtr,System.Int32,Tao.Sdl.Sdl.SDL_Color[],System.Int32,System.Int32)"/>. You should
17013
look
17014
at the video surface structure to determine the actual palette.
17015
If SDL cannot guarantee that the colors you request can be set,
17016
i.e. if the colormap is shared, then the video surface may be
17017
created
17018
under emulation in system memory, overriding the SDL_HWSURFACE
17019
flag.
17020
</description>
17021
</item>
17022
<item>
17023
<term><see cref="F:Tao.Sdl.Sdl.SDL_DOUBLEBUF"/></term>
17024
<description>Enable hardware double buffering;
17025
only valid with SDL_HWSURFACE. Calling <see cref="M:Tao.Sdl.Sdl.SDL_Flip(System.IntPtr)"/>
17026
will flip the buffers and update the screen.
17027
All drawing will take place on the surface that
17028
is not displayed at the moment. If double buffering
17029
could not be enabled then SDL_Flip will just
17030
perform a <see cref="M:Tao.Sdl.Sdl.SDL_UpdateRect(System.IntPtr,System.Int32,System.Int32,System.Int32,System.Int32)"/>
17031
on the entire screen. This is usually slower than the normal
17032
single-buffering
17033
scheme, but prevents "tearing" artifacts caused by modifying video
17034
memory while the monitor is refreshing. It should only be used by
17035
applications that redraw the entire screen on every update.</description>
17036
</item>
17037
<item>
17038
<term><see cref="F:Tao.Sdl.Sdl.SDL_FULLSCREEN"/></term>
17039
<description>SDL will attempt to use a fullscreen mode.
17040
If a hardware resolution change is not possible
17041
(for whatever reason), the next higher resolution
17042
will be used and the display window centered
17043
on a black background. The default is to create a windowed mode
17044
if the current graphics system has a window manager.
17045
If the SDL library is able to set a fullscreen video mode, this
17046
flag
17047
will be set in the surface that is returned.</description>
17048
</item>
17049
<item>
17050
<term><see cref="F:Tao.Sdl.Sdl.SDL_OPENGL"/></term>
17051
<description>Create an OpenGL rendering context.
17052
You should have previously set OpenGL
17053
video attributes with <see cref="M:Tao.Sdl.Sdl.SDL_GL_SetAttribute(System.Int32,System.Int32)"/>.
17054
</description>
17055
</item>
17056
<item>
17057
<term><see cref="F:Tao.Sdl.Sdl.SDL_OPENGLBLIT"/></term>
17058
<description>Create an OpenGL rendering context,
17059
like above, but allow normal blitting operations.
17060
The screen (2D) surface may have an alpha channel,
17061
and <see cref="M:Tao.Sdl.Sdl.SDL_UpdateRects(System.IntPtr,System.Int32,Tao.Sdl.Sdl.SDL_Rect[])"/> must be used for updating changes
17062
to the screen surface. NOTE: This option is kept for
17063
compatibility only, and is not recommended for new code.
17064
</description>
17065
</item>
17066
<item>
17067
<term><see cref="F:Tao.Sdl.Sdl.SDL_RESIZABLE"/></term>
17068
<description>Create a resizable window.
17069
When the window is resized by the user a
17070
<see cref="F:Tao.Sdl.Sdl.SDL_VIDEORESIZE"/> event is generated and
17071
SDL_SetVideoMode can be called again with the new size.
17072
</description>
17073
</item>
17074
<item>
17075
<term><see cref="F:Tao.Sdl.Sdl.SDL_NOFRAME"/></term>
17076
<description>If possible, SDL_NOFRAME causes
17077
SDL to create a window with no title bar or
17078
frame decoration. Fullscreen modes automatically
17079
have this flag set.
17080
</description>
17081
</item>
17082
</list>
17083
17084
If you rely on functionality provided by certain video flags,
17085
check the
17086
flags of the returned surface to make sure that functionality
17087
is available.
17088
SDL will fall back to reduced functionality if the exact flags
17089
you wanted
17090
are not available.
17091
<p>Whatever flags SDL_SetVideoMode could satisfy are set
17092
in the flags member of the returned surface.</p>
17093
<p>
17094
The bpp parameter is the number of bits per pixel,
17095
so a bpp of 24 uses the packed representation of 3 bytes/pixel.
17096
For the more common 4 bytes/pixel mode, use a bpp of 32.
17097
Somewhat oddly, both 15 and 16 will request a 2 bytes/pixel mode,
17098
but different pixel formats.
17099
</p>
17100
<p>Binds to C-function call in SDL_video.h:
17101
<code>extern DECLSPEC SDL_Surface * SDLCALL SDL_SetVideoMode
17102
(int width, int height, int bpp, Uint32 flags);</code>
17103
</p>
17104
</remarks>
17105
<seealso cref="M:Tao.Sdl.Sdl.SDL_LockSurface(System.IntPtr)">SDL_LockSurface</seealso>
17106
<seealso cref="M:Tao.Sdl.Sdl.SDL_SetColors(System.IntPtr,Tao.Sdl.Sdl.SDL_Color[],System.Int32,System.Int32)">SDL_SetColors</seealso>
17107
<seealso cref="M:Tao.Sdl.Sdl.SDL_Flip(System.IntPtr)">SDL_Flip</seealso>
17108
<seealso cref="T:Tao.Sdl.Sdl.SDL_Surface">SDL_Surface</seealso>
17109
<param name="width"></param>
17110
<param name="height"></param>
17111
<param name="bpp"></param>
17112
<param name="flags"></param>
17113
<returns>The framebuffer surface, or NULL if it fails.
17114
The surface returned is freed by SDL_Quit() and should not be
17115
freed by the caller.
17116
</returns>
17117
</member>
17118
<member name="M:Tao.Sdl.Sdl.SDL_UpdateRects(System.IntPtr,System.Int32,Tao.Sdl.Sdl.SDL_Rect[])">
17119
<summary>
17120
Makes sure the given list of rectangles is updated on the given
17121
screen.
17122
</summary>
17123
<remarks>
17124
The rectangles must all be confined within the screen boundaries
17125
(no clipping is done).
17126
<p>
17127
This function should not be called while screen is
17128
<see also="SDL_LockSurface">locked</see>.
17129
</p>
17130
<p>Note: It is adviced to call this function only once per frame,
17131
since each call has some processing overhead. This is no restriction
17132
since you can pass any number of rectangles each time.
17133
</p>
17134
<p>The rectangles are not automatically merged or checked for overlap.
17135
In general, the programmer can use his knowledge about his particular
17136
rectangles to merge them in an efficient way, to avoid overdraw.</p>
17137
<p>Binds to C-function call in SDL_video.h:
17138
<code>extern DECLSPEC void SDLCALL SDL_UpdateRects (SDL_Surface *screen, int numrects, SDL_Rect *rects)</code>
17139
</p>
17140
</remarks>
17141
<seealso cref="M:Tao.Sdl.Sdl.SDL_UpdateRect(System.IntPtr,System.Int32,System.Int32,System.Int32,System.Int32)">SDL_UpdateRect</seealso>
17142
<seealso cref="T:Tao.Sdl.Sdl.SDL_Rect">SDL_Rect</seealso>
17143
<seealso cref="T:Tao.Sdl.Sdl.SDL_Surface">SDL_Surface</seealso>
17144
<seealso cref="M:Tao.Sdl.Sdl.SDL_LockSurface(System.IntPtr)">SDL_LockSurface</seealso>
17145
<param name="screen"></param>
17146
<param name="numrects"></param>
17147
<param name="rects"></param>
17148
</member>
17149
<member name="M:Tao.Sdl.Sdl.SDL_UpdateRect(System.IntPtr,System.Int32,System.Int32,System.Int32,System.Int32)">
17150
<summary>
17151
Makes sure the given area is updated on the given screen.
17152
</summary>
17153
<remarks>
17154
<p>The rectangle must be confined within the screen boundaries (no
17155
clipping is done).
17156
</p>
17157
<p>If 'x', 'y', 'w' and 'h' are all 0, SDL_UpdateRect will update the
17158
entire screen.</p>
17159
<p>These functions should not be called while 'screen' is
17160
<see cref="M:Tao.Sdl.Sdl.SDL_LockSurface(System.IntPtr)">locked</see>.</p>
17161
<p>Binds to C-function call in SDL_video.h:
17162
<code>extern DECLSPEC void SDLCALL SDL_UpdateRect (SDL_Surface *screen, Sint32 x, Sint32 y, Uint32 w, Uint32 h)</code>
17163
</p>
17164
</remarks>
17165
<param name="screen"></param>
17166
<param name="w"></param>
17167
<param name="h"></param>
17168
<param name="x"></param>
17169
<param name="y"></param>
17170
</member>
17171
<member name="M:Tao.Sdl.Sdl.SDL_UpdateRect(System.IntPtr,System.Int32,System.Int32,System.UInt32,System.UInt32)">
17172
<summary>
17173
Makes sure the given area is updated on the given screen.
17174
</summary>
17175
<remarks>
17176
<p>The rectangle must be confined within the screen boundaries (no
17177
clipping is done).
17178
</p>
17179
<p>If 'x', 'y', 'w' and 'h' are all 0, SDL_UpdateRect will update the
17180
entire screen.</p>
17181
<p>These functions should not be called while 'screen' is
17182
<see cref="M:Tao.Sdl.Sdl.SDL_LockSurface(System.IntPtr)">locked</see>.</p>
17183
<p>Binds to C-function call in SDL_video.h:
17184
<code>extern DECLSPEC void SDLCALL SDL_UpdateRect (SDL_Surface *screen, Sint32 x, Sint32 y, Uint32 w, Uint32 h)</code>
17185
</p>
17186
</remarks>
17187
<param name="screen"></param>
17188
<param name="w"></param>
17189
<param name="h"></param>
17190
<param name="x"></param>
17191
<param name="y"></param>
17192
</member>
17193
<member name="M:Tao.Sdl.Sdl.SDL_Flip(System.IntPtr)">
17194
<summary>
17195
Swaps screen buffers
17196
</summary>
17197
<remarks>
17198
On hardware that supports double-buffering, this function sets up
17199
a flip
17200
and returns. The hardware will wait for vertical retrace, and
17201
then swap
17202
video buffers before the next video surface blit or lock will
17203
return.
17204
On hardware that does not support double-buffering, this is
17205
equivalent
17206
to calling <see cref="M:Tao.Sdl.Sdl.SDL_UpdateRect(System.IntPtr,System.Int32,System.Int32,System.Int32,System.Int32)"/>(screen, 0, 0, 0, 0)
17207
<p>
17208
The SDL_DOUBLEBUF flag must have been passed to <see cref="M:Tao.Sdl.Sdl.SDL_SetVideoMode(System.Int32,System.Int32,System.Int32,System.Int32)"/>
17209
when
17210
setting the video mode for this function to perform hardware
17211
flipping.</p>
17212
</remarks>
17213
<param name="screen"></param>
17214
<returns>
17215
This function returns 0 if successful, or -1 if there was an
17216
error.
17217
</returns>
17218
<seealso cref="M:Tao.Sdl.Sdl.SDL_SetVideoMode(System.Int32,System.Int32,System.Int32,System.Int32)">SDL_SetVideoMode</seealso>
17219
<seealso cref="M:Tao.Sdl.Sdl.SDL_UpdateRect(System.IntPtr,System.Int32,System.Int32,System.Int32,System.Int32)">SDL_UpdateRect</seealso>
17220
<seealso cref="T:Tao.Sdl.Sdl.SDL_Surface">SDL_Surface</seealso>
17221
</member>
17222
<member name="M:Tao.Sdl.Sdl.SDL_SetGamma(System.Single,System.Single,System.Single)">
17223
<summary>
17224
Set the gamma correction for each of the color channels.
17225
</summary>
17226
<remarks>
17227
<p>Sets the "gamma function" for the display of each color component.
17228
Gamma controls the brightness/contrast of colors displayed on the screen.
17229
A gamma value of 1.0 is identity (i.e., no adjustment is made).
17230
</p>
17231
<p>This function adjusts the gamma based on the "gamma function"
17232
parameter, you can directly specify lookup tables for gamma adjustment
17233
with SDL_SetGammaRamp.</p>
17234
<p>Not all display hardware is able to change gamma.</p>
17235
<p>The gamma values range (approximately) between 0.1 and 10.0.</p>
17236
<p>If this function isn't supported directly by the hardware, it will
17237
be emulated using gamma ramps, if available. If successful, this
17238
function returns 0, otherwise it returns -1.</p>
17239
<p>Binds to C-function call in SDL_video.h:
17240
<code>extern DECLSPEC int SDLCALL SDL_SetGamma(float red, float green, float blue)</code>
17241
</p>
17242
</remarks>
17243
<param name="blue"></param>
17244
<param name="green"></param>
17245
<param name="red"></param>
17246
<returns>
17247
If successful, this
17248
function returns 0, otherwise it returns -1.
17249
</returns>
17250
<seealso cref="M:Tao.Sdl.Sdl.SDL_GetGammaRamp(System.Int16[],System.Int16[],System.Int16[])">SDL_GetGammaRamp</seealso>
17251
<seealso cref="M:Tao.Sdl.Sdl.SDL_SetGammaRamp(System.Int16[],System.Int16[],System.Int16[])">SDL_SetGammaRamp</seealso>
17252
</member>
17253
<member name="M:Tao.Sdl.Sdl.SDL_SetGammaRamp(System.Int16[],System.Int16[],System.Int16[])">
17254
<summary>
17255
Set the gamma translation table for the red, green, and blue
17256
channels
17257
of the video hardware.
17258
</summary>
17259
<remarks>
17260
Each table is an array of 256
17261
16-bit quantities,
17262
representing a mapping between the input and output for that
17263
channel.
17264
The input is the index into the array, and the output is the 16-bit
17265
gamma value at that index, scaled to the output color precision.
17266
You may pass NULL for any of the channels to leave it unchanged.
17267
</remarks>
17268
<returns>
17269
If the call succeeds, it will return 0. If the display driver or
17270
hardware does not support gamma translation, or otherwise fails,
17271
this function will return -1.
17272
</returns>
17273
<param name="blue"></param>
17274
<param name="green"></param>
17275
<param name="red"></param>
17276
<seealso cref="M:Tao.Sdl.Sdl.SDL_SetGamma(System.Single,System.Single,System.Single)">SDL_SetGamma</seealso>
17277
<seealso cref="M:Tao.Sdl.Sdl.SDL_GetGammaRamp(System.Int16[],System.Int16[],System.Int16[])">SDL_GetGammaRamp</seealso>
17278
</member>
17279
<member name="M:Tao.Sdl.Sdl.SDL_GetGammaRamp(System.Int16[],System.Int16[],System.Int16[])">
17280
<summary>
17281
Gets the color gamma lookup tables for the display.
17282
</summary>
17283
<remarks>
17284
Gets the gamma translation lookup tables currently used by the display.
17285
Each table is an array of 256 <see cref="T:System.Int16"/> values.
17286
<p>
17287
You must pass in valid pointers to arrays of 256 16-bit quantities.
17288
Any of the pointers may be NULL to ignore that channel.
17289
</p>
17290
<p>Not all display hardware is able to change gamma.
17291
</p>
17292
<p>Binds to C-function call in SDL_video.h:
17293
<code>int SDLCALL SDL_GetGammaRamp(Uint16 *red, Uint16 *green, Uint16 *blue)</code>
17294
</p>
17295
</remarks>
17296
<returns>
17297
If the call succeeds, it will return 0. If the display driver or
17298
hardware does not support gamma translation, or otherwise fails,
17299
this function will return -1.
17300
</returns>
17301
<seealso cref="M:Tao.Sdl.Sdl.SDL_SetGamma(System.Single,System.Single,System.Single)">SDL_SetGamma</seealso>
17302
<seealso cref="M:Tao.Sdl.Sdl.SDL_SetGammaRamp(System.Int16[],System.Int16[],System.Int16[])">SDL_SetGammaRamp</seealso>
17303
</member>
17304
<member name="M:Tao.Sdl.Sdl.SDL_GetGammaRamp(System.UInt16[],System.UInt16[],System.UInt16[])">
17305
<summary>
17306
Gets the color gamma lookup tables for the display.
17307
</summary>
17308
<remarks>
17309
Gets the gamma translation lookup tables currently used by the display.
17310
Each table is an array of 256 <see cref="T:System.Int16"/> values.
17311
<p>
17312
You must pass in valid pointers to arrays of 256 16-bit quantities.
17313
Any of the pointers may be NULL to ignore that channel.
17314
</p>
17315
<p>Not all display hardware is able to change gamma.
17316
</p>
17317
<p>Binds to C-function call in SDL_video.h:
17318
<code>int SDLCALL SDL_GetGammaRamp(Uint16 *red, Uint16 *green, Uint16 *blue)</code>
17319
</p>
17320
</remarks>
17321
<returns>
17322
If the call succeeds, it will return 0. If the display driver or
17323
hardware does not support gamma translation, or otherwise fails,
17324
this function will return -1.
17325
</returns>
17326
<seealso cref="M:Tao.Sdl.Sdl.SDL_SetGamma(System.Single,System.Single,System.Single)">SDL_SetGamma</seealso>
17327
<seealso cref="M:Tao.Sdl.Sdl.SDL_SetGammaRamp(System.Int16[],System.Int16[],System.Int16[])">SDL_SetGammaRamp</seealso>
17328
</member>
17329
<member name="M:Tao.Sdl.Sdl.SDL_SetColors(System.IntPtr,Tao.Sdl.Sdl.SDL_Color[],System.Int32,System.Int32)">
17330
<summary>
17331
Sets a portion of the colormap for the given 8-bit surface.
17332
</summary>
17333
<remarks>
17334
<p>When surface is the surface associated with the current display,
17335
the display colormap will be updated with the requested colors.
17336
If SDL_HWPALETTE was set in <see cref="M:Tao.Sdl.Sdl.SDL_SetVideoMode(System.Int32,System.Int32,System.Int32,System.Int32)"/> flags, SDL_SetColors
17337
will always return 1, and the palette is guaranteed to be set
17338
the way you desire, even if the window colormap has to be warped
17339
or run under emulation.</p>
17340
17341
<p>The color components of a SDL_Color structure are 8-bits in size,
17342
giving you a total of 256^3 =16777216 colors.</p>
17343
<p>Palettized (8-bit) screen surfaces with the SDL_HWPALETTE
17344
flag have two palettes, a logical palette that is used for
17345
mapping blits to/from the surface and a physical palette (that
17346
determines how the hardware will map the colors to the display).
17347
SDL_SetColors modifies both palettes (if present), and is equivalent
17348
to calling SDL_SetPalette with the flags set to
17349
(SDL_LOGPAL | SDL_PHYSPAL).
17350
</p>
17351
<p>When 'surface' is the surface associated with the current
17352
display, the
17353
display colormap will be updated with the requested colors. If
17354
SDL_HWPALETTE was set in SDL_SetVideoMode() flags, SDL_SetColors()
17355
will always return 1, and the palette is guaranteed to be set
17356
the way
17357
you desire, even if the window colormap has to be warped or
17358
run under
17359
emulation.</p>
17360
<p>Binds to C-function call in SDL_video.h:
17361
<code>extern DECLSPEC int SDLCALL SDL_SetColors(SDL_Surface *surface, SDL_Color *colors, int firstcolor, int ncolors)</code>
17362
</p>
17363
</remarks>
17364
<example>/* Create a display surface with a grayscale palette */
17365
SDL_Surface *screen;
17366
SDL_Color colors[256];
17367
int i;
17368
.
17369
.
17370
.
17371
/* Fill colors with color information */
17372
for(i=0;i&lt;256;i++)
17373
{
17374
colors[i].r=i;
17375
colors[i].g=i;
17376
colors[i].b=i;
17377
}
17378
17379
/* Create display */
17380
screen=SDL_SetVideoMode(640, 480, 8, SDL_HWPALETTE);
17381
if(!screen)
17382
{
17383
printf("Couldn't set video mode: %s\n", SDL_GetError());
17384
exit(-1);
17385
}
17386
17387
/* Set palette */
17388
SDL_SetColors(screen, colors, 0, 256);
17389
.
17390
.
17391
.
17392
.
17393
</example>
17394
<param name="surface"></param>
17395
<param name="firstcolor"></param>
17396
<param name="ncolors"></param>
17397
<param name="colors"></param>
17398
<returns>
17399
If 'surface' is not a palettized surface, this function does nothing,
17400
returning 0.
17401
If all of the colors were set as passed to SDL_SetColors(), it will
17402
return 1. If not all the color entries were set exactly as given,
17403
it will return 0, and you should look at the surface palette to
17404
determine the actual color palette.
17405
</returns>
17406
<seealso cref="T:Tao.Sdl.Sdl.SDL_Color">SDL_Color</seealso>
17407
<seealso cref="T:Tao.Sdl.Sdl.SDL_Surface">SDL_Surface</seealso>
17408
<seealso cref="M:Tao.Sdl.Sdl.SDL_SetPalette(System.IntPtr,System.Int32,Tao.Sdl.Sdl.SDL_Color[],System.Int32,System.Int32)">SDL_SetPalette</seealso>
17409
<seealso cref="M:Tao.Sdl.Sdl.SDL_SetVideoMode(System.Int32,System.Int32,System.Int32,System.Int32)">SDL_SetVideoMode</seealso>
17410
</member>
17411
<member name="M:Tao.Sdl.Sdl.SDL_SetPalette(System.IntPtr,System.Int32,Tao.Sdl.Sdl.SDL_Color[],System.Int32,System.Int32)">
17412
<summary>
17413
Sets the colors in the palette of an 8-bit surface.
17414
</summary>
17415
<remarks>Palettized (8-bit) screen surfaces with the SDL_HWPALETTE
17416
flag have two palettes, a logical palette that is used for mapping
17417
blits to/from the surface and a physical palette (that determines
17418
how the hardware will map the colors to the display). SDL_BlitSurface
17419
always uses the logical palette when blitting surfaces (if it has to
17420
convert between surface pixel formats). Because of this, it is often
17421
useful to modify only one or the other palette to achieve various
17422
special color effects (e.g., screen fading, color flashes, screen dimming).
17423
17424
<p>This function can modify either the logical or physical palette
17425
by specifing SDL_LOGPAL or SDL_PHYSPALthe in the flags parameter.</p>
17426
17427
<p>When surface is the surface associated with the current display,
17428
the display colormap will be updated with the requested colors.
17429
If SDL_HWPALETTE was set in SDL_SetVideoMode flags, SDL_SetPalette
17430
will always return 1, and the palette is guaranteed to be set the
17431
way you desire, even if the window colormap has to be warped or run
17432
under emulation.</p>
17433
<p>The color components of a SDL_Color structure are 8-bits
17434
in size, giving you a total of 2563=16777216 colors.</p>
17435
<p>
17436
'flags' is one or both of:
17437
SDL_LOGPAL -- set logical palette, which controls how blits
17438
are mapped to/from the surface,
17439
SDL_PHYSPAL -- set physical palette, which controls how pixels
17440
look on the screen
17441
Only screens have physical palettes. Separate change of
17442
physical/logical
17443
palettes is only possible if the screen has SDL_HWPALETTE set.
17444
</p>
17445
17446
SDL_SetColors() is equivalent to calling this function with
17447
flags = (SDL_LOGPAL|SDL_PHYSPAL).
17448
<p>Binds to C-function call in SDL_video.h:
17449
<code>extern DECLSPEC int SDLCALL SDL_SetPalette(SDL_Surface *surface, int flags, SDL_Color *colors, int firstcolor, int ncolors)</code>
17450
</p>
17451
</remarks>
17452
<example><code>
17453
/* Create a display surface with a grayscale palette */
17454
SDL_Surface *screen;
17455
SDL_Color colors[256];
17456
int i;
17457
.
17458
.
17459
.
17460
/* Fill colors with color information */
17461
for(i=0;i&lt;256;i++)
17462
{
17463
colors[i].r=i;
17464
colors[i].g=i;
17465
colors[i].b=i;
17466
}
17467
17468
/* Create display */
17469
screen=SDL_SetVideoMode(640, 480, 8, SDL_HWPALETTE);
17470
if(!screen)
17471
{
17472
printf("Couldn't set video mode: %s\n", SDL_GetError());
17473
exit(-1);
17474
}
17475
17476
/* Set palette */
17477
SDL_SetPalette(screen, SDL_LOGPAL|SDL_PHYSPAL, colors, 0, 256);
17478
.
17479
.
17480
.
17481
.</code></example>
17482
<param name="surface"></param>
17483
<param name="colors"></param>
17484
<param name="firstcolor"></param>
17485
<param name="flags"></param>
17486
<param name="ncolors"></param>
17487
<returns>
17488
If surface is not a palettized surface, this function does
17489
nothing, returning 0. If all of the colors were set as passed to
17490
SDL_SetPalette, it will return 1. If not all the color entries were
17491
set exactly as given, it will return 0, and you should look at the
17492
surface palette to determine the actual color palette.
17493
</returns>
17494
</member>
17495
<member name="M:Tao.Sdl.Sdl.SDL_MapRGB(System.IntPtr,System.Byte,System.Byte,System.Byte)">
17496
<summary>
17497
Map a RGB color value to a pixel format.
17498
</summary>
17499
<remarks>
17500
Maps the RGB color value to the specified pixel format and returns the pixel
17501
value as a 32-bit int.
17502
<p>If the format has a palette (8-bit) the index of the closest
17503
matching color in the palette will be returned.</p>
17504
<p>If the specified pixel format has an alpha component it will be
17505
returned as all 1 bits (fully opaque).</p>
17506
<p>Binds to C-function call in SDL_video.h:
17507
<code>extern DECLSPEC Uint32 SDLCALL SDL_MapRGB (SDL_PixelFormat *format, Uint8 r, Uint8 g, Uint8 b)</code>
17508
</p>
17509
</remarks>
17510
<param name="format">IntPtr to <see cref="T:Tao.Sdl.Sdl.SDL_PixelFormat"/></param>
17511
<param name="r"></param>
17512
<param name="g"></param>
17513
<param name="b"></param>
17514
<returns>A pixel value best approximating the given RGB color
17515
value for a given pixel format. If the pixel format bpp (color depth)
17516
is less than 32-bpp then the unused upper bits of the return value
17517
can safely be ignored (e.g., with a 16-bpp format the return value
17518
can be assigned to a Uint16, and similarly a Uint8 for an 8-bpp
17519
format).</returns>
17520
<seealso cref="M:Tao.Sdl.Sdl.SDL_GetRGB(System.Int32,System.IntPtr,System.Byte@,System.Byte@,System.Byte@)">SDL_GetRGB</seealso>
17521
<seealso cref="M:Tao.Sdl.Sdl.SDL_GetRGBA(System.Int32,System.IntPtr,System.Byte@,System.Byte@,System.Byte@,System.Byte@)">SDL_GetRGBA</seealso>
17522
<seealso cref="M:Tao.Sdl.Sdl.SDL_MapRGBA(System.IntPtr,System.Byte,System.Byte,System.Byte,System.Byte)">SDL_MapRGBA</seealso>
17523
<seealso cref="T:Tao.Sdl.Sdl.SDL_PixelFormat">SDL_PixelFormat</seealso>
17524
</member>
17525
<member name="M:Tao.Sdl.Sdl.SDL_MapRGBA(System.IntPtr,System.Byte,System.Byte,System.Byte,System.Byte)">
17526
<summary>
17527
Map a RGBA color value to a pixel format.
17528
</summary>
17529
<remarks>
17530
Maps the RGBA color value to the specified pixel format and
17531
returns the pixel value as a 32-bit int.
17532
<p>If the format has a palette (8-bit) the index of the closest
17533
matching color in the palette will be returned.</p>
17534
<p>If the specified pixel format has no alpha component the alpha
17535
value will be ignored (as it will be in formats with a palette).</p>
17536
<p>Binds to C-function call in SDL_video.h:
17537
<code>extern DECLSPEC Uint32 SDLCALL SDL_MapRGBA (SDL_PixelFormat *format, Uint8 r, Uint8 g, Uint8 b, Uint8 a)</code>
17538
</p>
17539
</remarks>
17540
<param name="format"></param>
17541
<param name="r"></param>
17542
<param name="g"></param>
17543
<param name="b"></param>
17544
<param name="a"></param>
17545
<returns>A pixel value best approximating the given RGBA
17546
color value for a given pixel format. If the pixel format
17547
bpp (color depth) is less than 32-bpp then the unused upper
17548
bits of the return value can safely be ignored (e.g., with a
17549
16-bpp format the return value can be assigned to a Uint16,
17550
and similarly a Uint8 for an 8-bpp format).</returns>
17551
<seealso cref="M:Tao.Sdl.Sdl.SDL_GetRGB(System.Int32,System.IntPtr,System.Byte@,System.Byte@,System.Byte@)">SDL_GetRGB</seealso>
17552
<seealso cref="M:Tao.Sdl.Sdl.SDL_GetRGBA(System.Int32,System.IntPtr,System.Byte@,System.Byte@,System.Byte@,System.Byte@)">SDL_GetRGBA</seealso>
17553
<seealso cref="M:Tao.Sdl.Sdl.SDL_MapRGB(System.IntPtr,System.Byte,System.Byte,System.Byte)">SDL_MapRGB</seealso>
17554
<seealso cref="T:Tao.Sdl.Sdl.SDL_PixelFormat">SDL_PixelFormat</seealso>
17555
</member>
17556
<member name="M:Tao.Sdl.Sdl.SDL_GetRGB(System.Int32,System.IntPtr,System.Byte@,System.Byte@,System.Byte@)">
17557
<summary>
17558
Get RGB values from a pixel in the specified pixel format.
17559
</summary>
17560
<remarks>
17561
Get RGB component values from a pixel stored in the specified pixel format.
17562
<p>This function uses the entire 8-bit [0..255] range when converting
17563
color components from pixel formats with less than 8-bits per RGB component
17564
(e.g., a completely white pixel in 16-bit RGB565 format would return
17565
[0xff, 0xff, 0xff] not [0xf8, 0xfc, 0xf8]).</p>
17566
<p>Binds to C-function call in SDL_video.h:
17567
<code>void SDL_GetRGB(Uint32 pixel, SDL_PixelFormat *fmt, Uint8 *r, Uint8 *g, Uint8 *b);</code>
17568
</p>
17569
</remarks>
17570
<param name="pixel"></param>
17571
<param name="fmt"></param>
17572
<param name="r"></param>
17573
<param name="g"></param>
17574
<param name="b"></param>
17575
<seealso cref="M:Tao.Sdl.Sdl.SDL_GetRGBA(System.Int32,System.IntPtr,System.Byte@,System.Byte@,System.Byte@,System.Byte@)">SDL_GetRGBA</seealso>
17576
<seealso cref="M:Tao.Sdl.Sdl.SDL_MapRGB(System.IntPtr,System.Byte,System.Byte,System.Byte)">SDL_MapRGB</seealso>
17577
<seealso cref="M:Tao.Sdl.Sdl.SDL_MapRGBA(System.IntPtr,System.Byte,System.Byte,System.Byte,System.Byte)">SDL_MapRGBA</seealso>
17578
<seealso cref="T:Tao.Sdl.Sdl.SDL_PixelFormat">SDL_PixelFormat</seealso>
17579
</member>
17580
<member name="M:Tao.Sdl.Sdl.SDL_GetRGB(System.UInt32,System.IntPtr,System.Byte@,System.Byte@,System.Byte@)">
17581
<summary>
17582
Get RGB values from a pixel in the specified pixel format.
17583
</summary>
17584
<remarks>
17585
Get RGB component values from a pixel stored in the specified pixel format.
17586
<p>This function uses the entire 8-bit [0..255] range when converting
17587
color components from pixel formats with less than 8-bits per RGB component
17588
(e.g., a completely white pixel in 16-bit RGB565 format would return
17589
[0xff, 0xff, 0xff] not [0xf8, 0xfc, 0xf8]).</p>
17590
<p>Binds to C-function call in SDL_video.h:
17591
<code>void SDL_GetRGB(Uint32 pixel, SDL_PixelFormat *fmt, Uint8 *r, Uint8 *g, Uint8 *b);</code>
17592
</p>
17593
</remarks>
17594
<param name="pixel"></param>
17595
<param name="fmt"></param>
17596
<param name="r"></param>
17597
<param name="g"></param>
17598
<param name="b"></param>
17599
<seealso cref="M:Tao.Sdl.Sdl.SDL_GetRGBA(System.Int32,System.IntPtr,System.Byte@,System.Byte@,System.Byte@,System.Byte@)">SDL_GetRGBA</seealso>
17600
<seealso cref="M:Tao.Sdl.Sdl.SDL_MapRGB(System.IntPtr,System.Byte,System.Byte,System.Byte)">SDL_MapRGB</seealso>
17601
<seealso cref="M:Tao.Sdl.Sdl.SDL_MapRGBA(System.IntPtr,System.Byte,System.Byte,System.Byte,System.Byte)">SDL_MapRGBA</seealso>
17602
<seealso cref="T:Tao.Sdl.Sdl.SDL_PixelFormat">SDL_PixelFormat</seealso>
17603
</member>
17604
<member name="M:Tao.Sdl.Sdl.SDL_GetRGBA(System.Int32,System.IntPtr,System.Byte@,System.Byte@,System.Byte@,System.Byte@)">
17605
<summary>
17606
Get RGBA values from a pixel in the specified pixel format.
17607
</summary>
17608
<remarks>
17609
Get RGBA component values from a pixel stored in the specified pixel
17610
format.
17611
<p>This function uses the entire 8-bit [0..255] range when converting
17612
color components from pixel formats with less than 8-bits per RGB
17613
component (e.g., a completely white pixel in 16-bit RGB565 format would
17614
return [0xff, 0xff, 0xff] not [0xf8, 0xfc, 0xf8]).</p>
17615
<p>If the surface has no alpha component, the alpha will be returned
17616
as 0xff (100% opaque).</p>
17617
<p>Binds to C-function call in SDL_video.h:
17618
<code>void SDL_GetRGBA(Uint32 pixel, SDL_PixelFormat *fmt, Uint8 *r, Uint8 *g, Uint8 *b, Uint8 *a)</code>
17619
</p>
17620
</remarks>
17621
<param name="pixel"></param>
17622
<param name="fmt"></param>
17623
<param name="r"></param>
17624
<param name="g"></param>
17625
<param name="b"></param>
17626
<param name="a"></param>
17627
<seealso cref="M:Tao.Sdl.Sdl.SDL_GetRGB(System.Int32,System.IntPtr,System.Byte@,System.Byte@,System.Byte@)">SDL_GetRGB</seealso>
17628
<seealso cref="M:Tao.Sdl.Sdl.SDL_MapRGB(System.IntPtr,System.Byte,System.Byte,System.Byte)">SDL_MapRGB</seealso>
17629
<seealso cref="M:Tao.Sdl.Sdl.SDL_MapRGBA(System.IntPtr,System.Byte,System.Byte,System.Byte,System.Byte)">SDL_MapRGBA</seealso>
17630
<seealso cref="T:Tao.Sdl.Sdl.SDL_PixelFormat">SDL_PixelFormat</seealso>
17631
</member>
17632
<member name="M:Tao.Sdl.Sdl.SDL_CreateRGBSurface(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32)">
17633
<summary>
17634
Create an empty SDL_Surface
17635
</summary>
17636
<remarks>
17637
Allocate an empty surface (must be called after <see cref="M:Tao.Sdl.Sdl.SDL_SetVideoMode(System.Int32,System.Int32,System.Int32,System.Int32)"/>).
17638
<p>If depth is 8 bits an empty palette is allocated for the surface,
17639
otherwise a 'packed-pixel' <see cref="T:Tao.Sdl.Sdl.SDL_PixelFormat"/> is created using the
17640
[RGBA]mask's provided (see SDL_PixelFormat). The flags specifies
17641
the type of surface that should be created, it is an OR'd combination
17642
of the following possible values.</p>
17643
<list type="table">
17644
<item>
17645
<term><see cref="F:Tao.Sdl.Sdl.SDL_SWSURFACE"/></term>
17646
<description>
17647
SDL will create the surface in system memory.
17648
This improves the performance of pixel level access,
17649
however you may not be able to take advantage of
17650
some types of hardware blitting.
17651
</description>
17652
</item>
17653
<item>
17654
<term><see cref="F:Tao.Sdl.Sdl.SDL_HWSURFACE"/></term>
17655
<description>
17656
SDL will attempt to create the surface in
17657
video memory. This will allow SDL to take advantage
17658
of Video-&gt;Video blits (which are often accelerated).
17659
</description>
17660
</item>
17661
<item>
17662
<term><see cref="F:Tao.Sdl.Sdl.SDL_SRCCOLORKEY"/></term>
17663
<description>
17664
This flag turns on colourkeying for
17665
blits from this surface. If SDL_HWSURFACE is also
17666
specified and colourkeyed blits are hardware-accelerated,
17667
then SDL will attempt to place the surface in video
17668
memory. Use <see cref="M:Tao.Sdl.Sdl.SDL_SetColorKey(System.IntPtr,System.Int32,System.Int32)"/>
17669
to set or clear this flag
17670
after surface creation.
17671
</description>
17672
</item>
17673
<item>
17674
<term><see cref="F:Tao.Sdl.Sdl.SDL_SRCALPHA"/></term>
17675
<description>
17676
This flag turns on alpha-blending for
17677
blits from this surface. If SDL_HWSURFACE is also
17678
specified and alpha-blending blits are
17679
hardware-accelerated, then the surface will be placed
17680
in video memory if possible. Use
17681
<see cref="M:Tao.Sdl.Sdl.SDL_SetAlpha(System.IntPtr,System.Int32,System.Byte)"/> to set
17682
or clear this flag after surface creation.
17683
</description>
17684
</item>
17685
</list>
17686
<p><b>Note:</b> If an alpha-channel is specified (that is,
17687
if Amask is nonzero), then the SDL_SRCALPHA flag is
17688
automatically set. You may remove this flag by
17689
calling <see cref="M:Tao.Sdl.Sdl.SDL_SetAlpha(System.IntPtr,System.Int32,System.Byte)"/> after surface creation.</p>
17690
<p>Binds to C-function call in SDL_video.h:
17691
<code>SDL_Surface *SDL_CreateRGBSurface(Uint32 flags, int width, int height, int depth, Uint32 Rmask, Uint32 Gmask, Uint32 Bmask, Uint32 Amask)</code>
17692
</p>
17693
</remarks>
17694
<example>
17695
/* Create a 32-bit surface with the bytes of each pixel in R,G,B,A order,
17696
as expected by OpenGL for textures */
17697
SDL_Surface *surface;
17698
Uint32 rmask, gmask, bmask, amask;
17699
17700
/* SDL interprets each pixel as a 32-bit number, so our masks must depend
17701
on the endianness (byte order) of the machine */
17702
#if SDL_BYTEORDER == SDL_BIG_ENDIAN
17703
rmask = 0xff000000;
17704
gmask = 0x00ff0000;
17705
bmask = 0x0000ff00;
17706
amask = 0x000000ff;
17707
#else
17708
rmask = 0x000000ff;
17709
gmask = 0x0000ff00;
17710
bmask = 0x00ff0000;
17711
amask = 0xff000000;
17712
#endif
17713
17714
surface = SDL_CreateRGBSurface(SDL_SWSURFACE, width, height, 32,
17715
rmask, gmask, bmask, amask);
17716
if(surface == NULL)
17717
{
17718
fprintf(stderr, "CreateRGBSurface failed: %s\n", SDL_GetError());
17719
exit(1);
17720
}
17721
</example>
17722
<param name="flags"></param>
17723
<param name="width"></param>
17724
<param name="height"></param>
17725
<param name="depth"></param>
17726
<param name="Rmask"></param>
17727
<param name="Gmask"></param>
17728
<param name="Bmask"></param>
17729
<param name="Amask"></param>
17730
<returns>IntPtr to <see cref="T:Tao.Sdl.Sdl.SDL_Surface"/>, or NULL upon error.</returns>
17731
<seealso cref="M:Tao.Sdl.Sdl.SDL_CreateRGBSurfaceFrom(System.IntPtr,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32)">SDL_CreateRGBSurfaceFrom</seealso>
17732
<seealso cref="M:Tao.Sdl.Sdl.SDL_FreeSurface(System.IntPtr)">SDL_FreeSurface</seealso>
17733
<seealso cref="M:Tao.Sdl.Sdl.SDL_SetVideoMode(System.Int32,System.Int32,System.Int32,System.Int32)">SDL_SetVideoMode</seealso>
17734
<seealso cref="M:Tao.Sdl.Sdl.SDL_LockSurface(System.IntPtr)">SDL_LockSurface</seealso>
17735
<seealso cref="T:Tao.Sdl.Sdl.SDL_PixelFormat">SDL_PixelFormat</seealso>
17736
<seealso cref="T:Tao.Sdl.Sdl.SDL_Surface">SDL_Surface</seealso>
17737
<seealso cref="M:Tao.Sdl.Sdl.SDL_SetAlpha(System.IntPtr,System.Int32,System.Byte)">SDL_SetAlpha</seealso>
17738
<seealso cref="M:Tao.Sdl.Sdl.SDL_SetColorKey(System.IntPtr,System.Int32,System.Int32)">SDL_SetColorKey</seealso>
17739
</member>
17740
<member name="M:Tao.Sdl.Sdl.SDL_CreateRGBSurface(System.UInt32,System.Int32,System.Int32,System.Int32,System.UInt32,System.UInt32,System.UInt32,System.UInt32)">
17741
<summary>
17742
Create an empty SDL_Surface
17743
</summary>
17744
<remarks>
17745
Allocate an empty surface (must be called after <see cref="M:Tao.Sdl.Sdl.SDL_SetVideoMode(System.Int32,System.Int32,System.Int32,System.Int32)"/>).
17746
<p>If depth is 8 bits an empty palette is allocated for the surface,
17747
otherwise a 'packed-pixel' <see cref="T:Tao.Sdl.Sdl.SDL_PixelFormat"/> is created using the
17748
[RGBA]mask's provided (see SDL_PixelFormat). The flags specifies
17749
the type of surface that should be created, it is an OR'd combination
17750
of the following possible values.</p>
17751
<list type="table">
17752
<item>
17753
<term><see cref="F:Tao.Sdl.Sdl.SDL_SWSURFACE"/></term>
17754
<description>
17755
SDL will create the surface in system memory.
17756
This improves the performance of pixel level access,
17757
however you may not be able to take advantage of
17758
some types of hardware blitting.
17759
</description>
17760
</item>
17761
<item>
17762
<term><see cref="F:Tao.Sdl.Sdl.SDL_HWSURFACE"/></term>
17763
<description>
17764
SDL will attempt to create the surface in
17765
video memory. This will allow SDL to take advantage
17766
of Video-&gt;Video blits (which are often accelerated).
17767
</description>
17768
</item>
17769
<item>
17770
<term><see cref="F:Tao.Sdl.Sdl.SDL_SRCCOLORKEY"/></term>
17771
<description>
17772
This flag turns on colourkeying for
17773
blits from this surface. If SDL_HWSURFACE is also
17774
specified and colourkeyed blits are hardware-accelerated,
17775
then SDL will attempt to place the surface in video
17776
memory. Use <see cref="M:Tao.Sdl.Sdl.SDL_SetColorKey(System.IntPtr,System.Int32,System.Int32)"/>
17777
to set or clear this flag
17778
after surface creation.
17779
</description>
17780
</item>
17781
<item>
17782
<term><see cref="F:Tao.Sdl.Sdl.SDL_SRCALPHA"/></term>
17783
<description>
17784
This flag turns on alpha-blending for
17785
blits from this surface. If SDL_HWSURFACE is also
17786
specified and alpha-blending blits are
17787
hardware-accelerated, then the surface will be placed
17788
in video memory if possible. Use
17789
<see cref="M:Tao.Sdl.Sdl.SDL_SetAlpha(System.IntPtr,System.Int32,System.Byte)"/> to set
17790
or clear this flag after surface creation.
17791
</description>
17792
</item>
17793
</list>
17794
<p><b>Note:</b> If an alpha-channel is specified (that is,
17795
if Amask is nonzero), then the SDL_SRCALPHA flag is
17796
automatically set. You may remove this flag by
17797
calling <see cref="M:Tao.Sdl.Sdl.SDL_SetAlpha(System.IntPtr,System.Int32,System.Byte)"/> after surface creation.</p>
17798
<p>Binds to C-function call in SDL_video.h:
17799
<code>SDL_Surface *SDL_CreateRGBSurface(Uint32 flags, int width, int height, int depth, Uint32 Rmask, Uint32 Gmask, Uint32 Bmask, Uint32 Amask)</code>
17800
</p>
17801
</remarks>
17802
<example>
17803
/* Create a 32-bit surface with the bytes of each pixel in R,G,B,A order,
17804
as expected by OpenGL for textures */
17805
SDL_Surface *surface;
17806
Uint32 rmask, gmask, bmask, amask;
17807
17808
/* SDL interprets each pixel as a 32-bit number, so our masks must depend
17809
on the endianness (byte order) of the machine */
17810
#if SDL_BYTEORDER == SDL_BIG_ENDIAN
17811
rmask = 0xff000000;
17812
gmask = 0x00ff0000;
17813
bmask = 0x0000ff00;
17814
amask = 0x000000ff;
17815
#else
17816
rmask = 0x000000ff;
17817
gmask = 0x0000ff00;
17818
bmask = 0x00ff0000;
17819
amask = 0xff000000;
17820
#endif
17821
17822
surface = SDL_CreateRGBSurface(SDL_SWSURFACE, width, height, 32,
17823
rmask, gmask, bmask, amask);
17824
if(surface == NULL)
17825
{
17826
fprintf(stderr, "CreateRGBSurface failed: %s\n", SDL_GetError());
17827
exit(1);
17828
}
17829
</example>
17830
<param name="flags"></param>
17831
<param name="width"></param>
17832
<param name="height"></param>
17833
<param name="depth"></param>
17834
<param name="Rmask"></param>
17835
<param name="Gmask"></param>
17836
<param name="Bmask"></param>
17837
<param name="Amask"></param>
17838
<returns>IntPtr to <see cref="T:Tao.Sdl.Sdl.SDL_Surface"/>, or NULL upon error.</returns>
17839
<seealso cref="M:Tao.Sdl.Sdl.SDL_CreateRGBSurfaceFrom(System.IntPtr,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32)">SDL_CreateRGBSurfaceFrom</seealso>
17840
<seealso cref="M:Tao.Sdl.Sdl.SDL_FreeSurface(System.IntPtr)">SDL_FreeSurface</seealso>
17841
<seealso cref="M:Tao.Sdl.Sdl.SDL_SetVideoMode(System.Int32,System.Int32,System.Int32,System.Int32)">SDL_SetVideoMode</seealso>
17842
<seealso cref="M:Tao.Sdl.Sdl.SDL_LockSurface(System.IntPtr)">SDL_LockSurface</seealso>
17843
<seealso cref="T:Tao.Sdl.Sdl.SDL_PixelFormat">SDL_PixelFormat</seealso>
17844
<seealso cref="T:Tao.Sdl.Sdl.SDL_Surface">SDL_Surface</seealso>
17845
<seealso cref="M:Tao.Sdl.Sdl.SDL_SetAlpha(System.IntPtr,System.Int32,System.Byte)">SDL_SetAlpha</seealso>
17846
<seealso cref="M:Tao.Sdl.Sdl.SDL_SetColorKey(System.IntPtr,System.Int32,System.Int32)">SDL_SetColorKey</seealso>
17847
</member>
17848
<member name="M:Tao.Sdl.Sdl.SDL_AllocSurface(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32)">
17849
<summary>
17850
Same as <see cref="M:Tao.Sdl.Sdl.SDL_CreateRGBSurface(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32)"/>
17851
</summary>
17852
<param name="flags"></param>
17853
<param name="width"></param>
17854
<param name="height"></param>
17855
<param name="depth"></param>
17856
<param name="Rmask"></param>
17857
<param name="Gmask"></param>
17858
<param name="Bmask"></param>
17859
<param name="Amask"></param>
17860
<returns></returns>
17861
</member>
17862
<member name="M:Tao.Sdl.Sdl.SDL_AllocSurface(System.UInt32,System.Int32,System.Int32,System.Int32,System.UInt32,System.UInt32,System.UInt32,System.UInt32)">
17863
<summary>
17864
Same as <see cref="M:Tao.Sdl.Sdl.SDL_CreateRGBSurface(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32)"/>
17865
</summary>
17866
<param name="flags"></param>
17867
<param name="width"></param>
17868
<param name="height"></param>
17869
<param name="depth"></param>
17870
<param name="Rmask"></param>
17871
<param name="Gmask"></param>
17872
<param name="Bmask"></param>
17873
<param name="Amask"></param>
17874
<returns></returns>
17875
</member>
17876
<member name="M:Tao.Sdl.Sdl.SDL_CreateRGBSurfaceFrom(System.IntPtr,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32)">
17877
<summary>
17878
Create an SDL_Surface from pixel data
17879
</summary>
17880
<remarks>
17881
Creates an SDL_Surface from the provided pixel data.
17882
<p>
17883
The data stored in pixels is assumed to be of the depth specified
17884
in the parameter list. The pixel data is not copied into the SDL_Surface
17885
structure so it should not be freed until the surface has been freed
17886
with a called to <see cref="M:Tao.Sdl.Sdl.SDL_FreeSurface(System.IntPtr)"/>. pitch is the length of each scanline
17887
in bytes. </p>
17888
<p>
17889
See <see cref="M:Tao.Sdl.Sdl.SDL_CreateRGBSurface(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32)"/> for a more detailed description of the other
17890
parameters.</p>
17891
<p>Binds to C-function call in SDL_video.h:
17892
<code>SDL_Surface *SDL_CreateRGBSurfaceFrom(void *pixels, int width, int height, int depth, int pitch, Uint32 Rmask, Uint32 Gmask, Uint32 Bmask, Uint32 Amask)</code>
17893
</p>
17894
</remarks>
17895
<param name="pixels"></param>
17896
<param name="width"></param>
17897
<param name="height"></param>
17898
<param name="depth"></param>
17899
<param name="pitch">length of each scanline in bytes.</param>
17900
<param name="Rmask"></param>
17901
<param name="Gmask"></param>
17902
<param name="Bmask"></param>
17903
<param name="Amask"></param>
17904
<returns>Returns the created surface, or NULL upon error.
17905
</returns>
17906
<seealso cref="M:Tao.Sdl.Sdl.SDL_CreateRGBSurface(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32)"/>
17907
<seealso cref="M:Tao.Sdl.Sdl.SDL_FreeSurface(System.IntPtr)"/>
17908
</member>
17909
<member name="M:Tao.Sdl.Sdl.SDL_CreateRGBSurfaceFrom(System.IntPtr,System.Int32,System.Int32,System.Int32,System.Int32,System.UInt32,System.UInt32,System.UInt32,System.UInt32)">
17910
<summary>
17911
Create an SDL_Surface from pixel data
17912
</summary>
17913
<remarks>
17914
Creates an SDL_Surface from the provided pixel data.
17915
<p>
17916
The data stored in pixels is assumed to be of the depth specified
17917
in the parameter list. The pixel data is not copied into the SDL_Surface
17918
structure so it should not be freed until the surface has been freed
17919
with a called to <see cref="M:Tao.Sdl.Sdl.SDL_FreeSurface(System.IntPtr)"/>. pitch is the length of each scanline
17920
in bytes. </p>
17921
<p>
17922
See <see cref="M:Tao.Sdl.Sdl.SDL_CreateRGBSurface(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32)"/> for a more detailed description of the other
17923
parameters.</p>
17924
<p>Binds to C-function call in SDL_video.h:
17925
<code>SDL_Surface *SDL_CreateRGBSurfaceFrom(void *pixels, int width, int height, int depth, int pitch, Uint32 Rmask, Uint32 Gmask, Uint32 Bmask, Uint32 Amask)</code>
17926
</p>
17927
</remarks>
17928
<param name="pixels"></param>
17929
<param name="width"></param>
17930
<param name="height"></param>
17931
<param name="depth"></param>
17932
<param name="pitch">length of each scanline in bytes.</param>
17933
<param name="Rmask"></param>
17934
<param name="Gmask"></param>
17935
<param name="Bmask"></param>
17936
<param name="Amask"></param>
17937
<returns>Returns the created surface, or NULL upon error.
17938
</returns>
17939
<seealso cref="M:Tao.Sdl.Sdl.SDL_CreateRGBSurface(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32)"/>
17940
<seealso cref="M:Tao.Sdl.Sdl.SDL_FreeSurface(System.IntPtr)"/>
17941
</member>
17942
<member name="M:Tao.Sdl.Sdl.SDL_FreeSurface(System.IntPtr)">
17943
<summary>
17944
Frees (deletes) a SDL_Surface
17945
</summary>
17946
<remarks>
17947
Frees the resources used by a previously created <see cref="T:Tao.Sdl.Sdl.SDL_Surface"/>.
17948
If the surface was created using <see cref="M:Tao.Sdl.Sdl.SDL_CreateRGBSurfaceFrom(System.IntPtr,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32)"/>
17949
then the pixel data is not freed.
17950
<p>Binds to C-function call in SDL_video.h:
17951
<code>void SDL_FreeSurface(SDL_Surface *surface)</code>
17952
</p>
17953
</remarks>
17954
<param name="surface"></param>
17955
<seealso cref="M:Tao.Sdl.Sdl.SDL_CreateRGBSurface(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32)">SDL_CreateRGBSurface</seealso>
17956
<seealso cref="M:Tao.Sdl.Sdl.SDL_CreateRGBSurfaceFrom(System.IntPtr,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32)">SDL_CreateRGBSurfaceFrom</seealso>
17957
</member>
17958
<member name="M:Tao.Sdl.Sdl.SDL_LockSurface(System.IntPtr)">
17959
<summary>
17960
Lock a surface for directly access.
17961
</summary>
17962
<remarks>
17963
SDL_LockSurface sets up a surface for directly accessing the pixels.
17964
Between calls to SDL_LockSurface and SDL_UnlockSurface, you can write
17965
to and read from <i>surface.pixels</i>, using the pixel format stored in
17966
<i>surface.format</i>. Once you are done accessing the surface,
17967
you should use SDL_UnlockSurface to release it.
17968
<p>Not all surfaces require locking. If SDL_MUSTLOCK(surface) evaluates
17969
to 0, then you can read and write to the surface at any time, and the
17970
pixel format of the surface will not change. </p>
17971
<p>No operating system or library calls should be made between
17972
lock/unlock pairs, as critical system locks may be held during this time.
17973
</p>
17974
<p>It should be noted, that since SDL 1.1.8 surface locks are recursive.
17975
This means that you can lock a surface multiple times, but each lock
17976
must have a match unlock. </p>
17977
<code>
17978
.
17979
SDL_LockSurface( surface );
17980
.
17981
/* Surface is locked */
17982
/* Direct pixel access on surface here */
17983
.
17984
SDL_LockSurface( surface );
17985
.
17986
/* More direct pixel access on surface */
17987
.
17988
SDL_UnlockSurface( surface );
17989
/* Surface is still locked */
17990
/* Note: Is versions &lt; 1.1.8, the surface would have been */
17991
/* no longer locked at this stage */
17992
.
17993
SDL_UnlockSurface( surface );
17994
/* Surface is now unlocked */
17995
.
17996
</code>
17997
<p>Binds to C-function call in SDL_video.h:
17998
<code>int SDL_LockSurface(SDL_Surface *surface)</code>
17999
</p>
18000
</remarks>
18001
<param name="surface"></param>
18002
<returns>SDL_LockSurface returns 0, or -1 if the surface couldn't be locked.
18003
</returns>
18004
<seealso cref="M:Tao.Sdl.Sdl.SDL_UnlockSurface(System.IntPtr)">SDL_UnlockSurface</seealso>
18005
</member>
18006
<member name="M:Tao.Sdl.Sdl.SDL_UnlockSurface(System.IntPtr)">
18007
<summary>
18008
Unlocks a previously locked surface.
18009
</summary>
18010
<remarks>
18011
Surfaces that were previously locked using <see cref="M:Tao.Sdl.Sdl.SDL_LockSurface(System.IntPtr)"/>
18012
must be unlocked with SDL_UnlockSurface. Surfaces should be
18013
unlocked as soon as possible.
18014
<p>It should be noted that since 1.1.8, surface
18015
locks are recursive. See <see cref="M:Tao.Sdl.Sdl.SDL_LockSurface(System.IntPtr)"/>.</p>
18016
<p>Binds to C-function call in SDL_video.h:
18017
<code>void SDL_UnlockSurface(SDL_Surface *surface)</code>
18018
</p>
18019
</remarks>
18020
<param name="surface"></param>
18021
<returns></returns>
18022
<seealso cref="M:Tao.Sdl.Sdl.SDL_LockSurface(System.IntPtr)">SDL_LockSurface</seealso>
18023
</member>
18024
<member name="M:Tao.Sdl.Sdl.SDL_LoadBMP_RW(System.IntPtr,System.Int32)">
18025
<summary>
18026
Load a surface from a seekable SDL data source (memory or file.)
18027
</summary>
18028
<remarks>
18029
If 'freesrc' is non-zero, the source will be closed after being read.
18030
Returns the new surface, or NULL if there was an error.
18031
The new surface should be freed with SDL_FreeSurface().
18032
<p>Binds to C-function call in SDL_video.h:
18033
<code>SDL_Surface * SDLCALL SDL_LoadBMP_RW(SDL_RWops *src, int freesrc)
18034
</code></p>
18035
</remarks>
18036
<param name="src">IntPtr to SDL_Surface</param>
18037
<param name="freesrc"></param>
18038
<returns></returns>
18039
</member>
18040
<member name="M:Tao.Sdl.Sdl.SDL_LoadBMP(System.String)">
18041
<summary>
18042
Load a Windows BMP file into an SDL_Surface.
18043
</summary>
18044
<remarks>
18045
Loads a surface from a named Windows BMP file.
18046
<p>Binds to C-function call in SDL_video.h:
18047
<code>
18048
SDL_Surface * SDL_LoadBMP(const char *file)
18049
#define SDL_LoadBMP(file) SDL_LoadBMP_RW(SDL_RWFromFile(file, "rb"), 1)
18050
</code></p>
18051
</remarks>
18052
<param name="file"></param>
18053
<returns>Returns the new surface, or NULL if there was an error.</returns>
18054
<seealso cref="M:Tao.Sdl.Sdl.SDL_SaveBMP(System.IntPtr,System.String)">SDL_SaveBMP</seealso>
18055
</member>
18056
<member name="M:Tao.Sdl.Sdl.SDL_SaveBMP_RW(System.IntPtr,System.IntPtr,System.Int32)">
18057
<summary>
18058
Save a surface to a seekable SDL data source (memory or file.)
18059
</summary>
18060
<remarks>If 'freedst' is non-zero, the source will be closed after
18061
being written.
18062
<p>Binds to C-function call in SDL_video.h:
18063
<code>
18064
int SDLCALL SDL_SaveBMP_RW (SDL_Surface *surface, SDL_RWops *dst, int freedst)
18065
</code>
18066
</p>
18067
</remarks>
18068
<param name="surface"></param>
18069
<param name="dst"></param>
18070
<param name="freedst"></param>
18071
<returns>Returns 0 if successful or -1 if there was an error.</returns>
18072
</member>
18073
<member name="M:Tao.Sdl.Sdl.SDL_SaveBMP(System.IntPtr,System.String)">
18074
<summary>
18075
Save an SDL_Surface as a Windows BMP file.
18076
</summary>
18077
<remarks>
18078
Saves the SDL_Surface surface as a Windows BMP file named file.
18079
<p>Binds to C-function call in SDL_video.h:
18080
<code>
18081
int SDL_SaveBMP(SDL_Surface *surface, const char *file);
18082
#define SDL_SaveBMP(surface, file) SDL_SaveBMP_RW(surface, SDL_RWFromFile(file, "wb"), 1)
18083
</code></p>
18084
</remarks>
18085
<param name="file"></param>
18086
<param name="surface"></param>
18087
<returns>Returns 0 if successful or -1 if there was an error.</returns>
18088
<seealso cref="M:Tao.Sdl.Sdl.SDL_SaveBMP(System.IntPtr,System.String)">SDL_LoadBMP</seealso>
18089
</member>
18090
<member name="M:Tao.Sdl.Sdl.SDL_SetColorKey(System.IntPtr,System.Int32,System.Int32)">
18091
<summary>
18092
Sets the color key (transparent pixel) in a blittable surface and RLE acceleration.
18093
</summary>
18094
<remarks>
18095
Sets the color key (transparent pixel) in a blittable surface and
18096
enables or disables RLE blit acceleration.
18097
<p>RLE acceleration can substantially speed up blitting of images
18098
with large horizontal runs of transparent pixels (i.e., pixels that
18099
match the key value). The key must be of the same pixel format as
18100
the surface, <see cref="M:Tao.Sdl.Sdl.SDL_MapRGB(System.IntPtr,System.Byte,System.Byte,System.Byte)"/> is often useful for obtaining an acceptable
18101
value.</p>
18102
<p>If flag is SDL_SRCCOLORKEY then key is the transparent pixel value
18103
in the source image of a blit.</p>
18104
<p>If flag is OR'd with SDL_RLEACCEL then the surface will be draw
18105
using RLE acceleration when drawn with <see cref="M:Tao.Sdl.Sdl.SDL_BlitSurface(System.IntPtr,Tao.Sdl.Sdl.SDL_Rect@,System.IntPtr,Tao.Sdl.Sdl.SDL_Rect@)"/>. The surface
18106
will actually be encoded for RLE acceleration the first time
18107
<see cref="M:Tao.Sdl.Sdl.SDL_BlitSurface(System.IntPtr,Tao.Sdl.Sdl.SDL_Rect@,System.IntPtr,Tao.Sdl.Sdl.SDL_Rect@)"/> or <see cref="M:Tao.Sdl.Sdl.SDL_DisplayFormat(System.IntPtr)"/> is called on the surface.</p>
18108
<p>If flag is 0, this function clears any current color key.</p>
18109
<p>Binds to C-function call in SDL_video.h:
18110
<code>int SDL_SetColorKey(SDL_Surface *surface, Uint32 flag, Uint32 key);
18111
</code></p>
18112
</remarks>
18113
<param name="surface"></param>
18114
<param name="flag"></param>
18115
<param name="key"></param>
18116
<returns>
18117
This function returns 0, or -1 if there was an error.
18118
</returns>
18119
<seealso cref="M:Tao.Sdl.Sdl.SDL_BlitSurface(System.IntPtr,Tao.Sdl.Sdl.SDL_Rect@,System.IntPtr,Tao.Sdl.Sdl.SDL_Rect@)">SDL_BlitSurface</seealso>
18120
<seealso cref="M:Tao.Sdl.Sdl.SDL_DisplayFormat(System.IntPtr)">SDL_DisplayFormat</seealso>
18121
<seealso cref="M:Tao.Sdl.Sdl.SDL_MapRGB(System.IntPtr,System.Byte,System.Byte,System.Byte)">SDL_MapRGB</seealso>
18122
<seealso cref="M:Tao.Sdl.Sdl.SDL_SetAlpha(System.IntPtr,System.Int32,System.Byte)">SDL_SetAlpha</seealso>
18123
</member>
18124
<member name="M:Tao.Sdl.Sdl.SDL_SetColorKey(System.IntPtr,System.UInt32,System.UInt32)">
18125
<summary>
18126
Sets the color key (transparent pixel) in a blittable surface and RLE acceleration.
18127
</summary>
18128
<remarks>
18129
Sets the color key (transparent pixel) in a blittable surface and
18130
enables or disables RLE blit acceleration.
18131
<p>RLE acceleration can substantially speed up blitting of images
18132
with large horizontal runs of transparent pixels (i.e., pixels that
18133
match the key value). The key must be of the same pixel format as
18134
the surface, <see cref="M:Tao.Sdl.Sdl.SDL_MapRGB(System.IntPtr,System.Byte,System.Byte,System.Byte)"/> is often useful for obtaining an acceptable
18135
value.</p>
18136
<p>If flag is SDL_SRCCOLORKEY then key is the transparent pixel value
18137
in the source image of a blit.</p>
18138
<p>If flag is OR'd with SDL_RLEACCEL then the surface will be draw
18139
using RLE acceleration when drawn with <see cref="M:Tao.Sdl.Sdl.SDL_BlitSurface(System.IntPtr,Tao.Sdl.Sdl.SDL_Rect@,System.IntPtr,Tao.Sdl.Sdl.SDL_Rect@)"/>. The surface
18140
will actually be encoded for RLE acceleration the first time
18141
<see cref="M:Tao.Sdl.Sdl.SDL_BlitSurface(System.IntPtr,Tao.Sdl.Sdl.SDL_Rect@,System.IntPtr,Tao.Sdl.Sdl.SDL_Rect@)"/> or <see cref="M:Tao.Sdl.Sdl.SDL_DisplayFormat(System.IntPtr)"/> is called on the surface.</p>
18142
<p>If flag is 0, this function clears any current color key.</p>
18143
<p>Binds to C-function call in SDL_video.h:
18144
<code>int SDL_SetColorKey(SDL_Surface *surface, Uint32 flag, Uint32 key);
18145
</code></p>
18146
</remarks>
18147
<param name="surface"></param>
18148
<param name="flag"></param>
18149
<param name="key"></param>
18150
<returns>
18151
This function returns 0, or -1 if there was an error.
18152
</returns>
18153
<seealso cref="M:Tao.Sdl.Sdl.SDL_BlitSurface(System.IntPtr,Tao.Sdl.Sdl.SDL_Rect@,System.IntPtr,Tao.Sdl.Sdl.SDL_Rect@)">SDL_BlitSurface</seealso>
18154
<seealso cref="M:Tao.Sdl.Sdl.SDL_DisplayFormat(System.IntPtr)">SDL_DisplayFormat</seealso>
18155
<seealso cref="M:Tao.Sdl.Sdl.SDL_MapRGB(System.IntPtr,System.Byte,System.Byte,System.Byte)">SDL_MapRGB</seealso>
18156
<seealso cref="M:Tao.Sdl.Sdl.SDL_SetAlpha(System.IntPtr,System.Int32,System.Byte)">SDL_SetAlpha</seealso>
18157
</member>
18158
<member name="M:Tao.Sdl.Sdl.SDL_SetAlpha(System.IntPtr,System.Int32,System.Byte)">
18159
<summary>
18160
Adjust the alpha properties of a surface.
18161
</summary>
18162
<remarks>
18163
SDL_SetAlpha is used for setting the per-surface alpha value and/or
18164
enabling and disabling alpha blending.
18165
<p>The surface parameter specifies which surface whose alpha
18166
attributes you wish to adjust. flags is used to specify whether
18167
alpha blending should be used (SDL_SRCALPHA) and whether the
18168
surface should use RLE acceleration for blitting (SDL_RLEACCEL).
18169
flags can be an OR'd combination of these two options, one of
18170
these options or 0. If SDL_SRCALPHA is not passed as a flag then
18171
all alpha information is ignored when blitting the surface. The
18172
alpha parameter is the per-surface alpha value; a surface
18173
need not have an alpha channel to use per-surface alpha and
18174
blitting can still be accelerated with SDL_RLEACCEL.</p>
18175
<p>Note: The per-surface alpha value of 128 is considered a
18176
special case and is optimised, so it's much faster than other
18177
per-surface values.</p>
18178
Alpha effects surface blitting in the following ways:
18179
<list type="table">
18180
<item>
18181
<term>RGBA-&gt;RGB with SDL_SRCALPHA</term>
18182
<description>The source is alpha-blended with
18183
the destination, using the alpha channel.
18184
SDL_SRCCOLORKEY and the per-surface alpha
18185
are ignored.</description>
18186
</item>
18187
<item>
18188
<term>RGBA-&gt;RGB without SDL_SRCALPHA</term>
18189
<description>The RGB data is copied from the source.
18190
The source alpha channel and the per-surface
18191
alpha value are ignored.</description>
18192
</item>
18193
<item>
18194
<term>RGB-&gt;RGBA with SDL_SRCALPHA</term>
18195
<description>The source is alpha-blended with the
18196
destination using the per-surface alpha value.
18197
If SDL_SRCCOLORKEY is set, only the pixels not
18198
matching the colorkey value are copied. The alpha
18199
channel of the copied pixels is set to opaque.
18200
</description>
18201
</item>
18202
<item>
18203
<term>RGB-&gt;RGBA without SDL_SRCALPHA</term>
18204
<description>The RGB data is copied from the
18205
source and the alpha value of the copied pixels
18206
is set to opaque. If SDL_SRCCOLORKEY is set,
18207
only the pixels not matching the colorkey value
18208
are copied.</description>
18209
</item>
18210
<item>
18211
<term>RGBA-&gt;RGBA with SDL_SRCALPHA</term>
18212
<description>The source is alpha-blended with
18213
the destination using the source alpha channel.
18214
The alpha channel in the destination surface
18215
is left untouched. SDL_SRCCOLORKEY is ignored.
18216
</description>
18217
</item>
18218
<item>
18219
<term>RGBA-&gt;RGBA without SDL_SRCALPHA</term>
18220
<description>The RGBA data is copied to the destination
18221
surface. If SDL_SRCCOLORKEY is set, only the pixels
18222
not matching the colorkey value are copied.
18223
</description>
18224
</item>
18225
<item>
18226
<term>RGB-&gt;RGB with SDL_SRCALPHA</term>
18227
<description>The source is alpha-blended with the
18228
destination using the per-surface alpha value.
18229
If SDL_SRCCOLORKEY is set, only the pixels not
18230
matching the colorkey value are copied.
18231
</description>
18232
</item>
18233
<item>
18234
<term>RGB-&gt;RGB without SDL_SRCALPHA</term>
18235
<description>The RGB data is copied from the source.
18236
If SDL_SRCCOLORKEY is set, only the pixels not
18237
matching the colorkey value are copied.
18238
</description>
18239
</item>
18240
</list>
18241
<p>Note: Note that RGBA-&gt;RGBA blits (with SDL_SRCALPHA set) keep
18242
the alpha of the destination surface. This means that you cannot
18243
compose two arbitrary RGBA surfaces this way and get the result
18244
you would expect from "overlaying" them; the destination alpha
18245
will work as a mask.</p>
18246
<p>Also note that per-pixel and per-surface alpha cannot be
18247
combined; the per-pixel alpha is always used if available.</p>
18248
<p>Binds to C-function call in SDL_video.h:
18249
<code>int SDL_SetAlpha(SDL_Surface *surface, Uint32 flag, Uint8 alpha);
18250
</code></p>
18251
</remarks>
18252
<param name="surface"></param>
18253
<param name="flag"></param>
18254
<param name="alpha"></param>
18255
<returns>This function returns 0, or -1 if there was an error.
18256
</returns>
18257
<seealso cref="M:Tao.Sdl.Sdl.SDL_MapRGBA(System.IntPtr,System.Byte,System.Byte,System.Byte,System.Byte)">SDL_MapRGBA</seealso>
18258
<seealso cref="M:Tao.Sdl.Sdl.SDL_GetRGBA(System.Int32,System.IntPtr,System.Byte@,System.Byte@,System.Byte@,System.Byte@)">SDL_GetRGBA</seealso>
18259
<seealso cref="M:Tao.Sdl.Sdl.SDL_DisplayFormatAlpha(System.IntPtr)">SDL_DisplayFormatAlpha</seealso>
18260
<seealso cref="M:Tao.Sdl.Sdl.SDL_BlitSurface(System.IntPtr,Tao.Sdl.Sdl.SDL_Rect@,System.IntPtr,Tao.Sdl.Sdl.SDL_Rect@)">SDL_BlitSurface</seealso>
18261
</member>
18262
<member name="M:Tao.Sdl.Sdl.SDL_SetAlpha(System.IntPtr,System.UInt32,System.Byte)">
18263
<summary>
18264
Adjust the alpha properties of a surface.
18265
</summary>
18266
<remarks>
18267
SDL_SetAlpha is used for setting the per-surface alpha value and/or
18268
enabling and disabling alpha blending.
18269
<p>The surface parameter specifies which surface whose alpha
18270
attributes you wish to adjust. flags is used to specify whether
18271
alpha blending should be used (SDL_SRCALPHA) and whether the
18272
surface should use RLE acceleration for blitting (SDL_RLEACCEL).
18273
flags can be an OR'd combination of these two options, one of
18274
these options or 0. If SDL_SRCALPHA is not passed as a flag then
18275
all alpha information is ignored when blitting the surface. The
18276
alpha parameter is the per-surface alpha value; a surface
18277
need not have an alpha channel to use per-surface alpha and
18278
blitting can still be accelerated with SDL_RLEACCEL.</p>
18279
<p>Note: The per-surface alpha value of 128 is considered a
18280
special case and is optimised, so it's much faster than other
18281
per-surface values.</p>
18282
Alpha effects surface blitting in the following ways:
18283
<list type="table">
18284
<item>
18285
<term>RGBA-&gt;RGB with SDL_SRCALPHA</term>
18286
<description>The source is alpha-blended with
18287
the destination, using the alpha channel.
18288
SDL_SRCCOLORKEY and the per-surface alpha
18289
are ignored.</description>
18290
</item>
18291
<item>
18292
<term>RGBA-&gt;RGB without SDL_SRCALPHA</term>
18293
<description>The RGB data is copied from the source.
18294
The source alpha channel and the per-surface
18295
alpha value are ignored.</description>
18296
</item>
18297
<item>
18298
<term>RGB-&gt;RGBA with SDL_SRCALPHA</term>
18299
<description>The source is alpha-blended with the
18300
destination using the per-surface alpha value.
18301
If SDL_SRCCOLORKEY is set, only the pixels not
18302
matching the colorkey value are copied. The alpha
18303
channel of the copied pixels is set to opaque.
18304
</description>
18305
</item>
18306
<item>
18307
<term>RGB-&gt;RGBA without SDL_SRCALPHA</term>
18308
<description>The RGB data is copied from the
18309
source and the alpha value of the copied pixels
18310
is set to opaque. If SDL_SRCCOLORKEY is set,
18311
only the pixels not matching the colorkey value
18312
are copied.</description>
18313
</item>
18314
<item>
18315
<term>RGBA-&gt;RGBA with SDL_SRCALPHA</term>
18316
<description>The source is alpha-blended with
18317
the destination using the source alpha channel.
18318
The alpha channel in the destination surface
18319
is left untouched. SDL_SRCCOLORKEY is ignored.
18320
</description>
18321
</item>
18322
<item>
18323
<term>RGBA-&gt;RGBA without SDL_SRCALPHA</term>
18324
<description>The RGBA data is copied to the destination
18325
surface. If SDL_SRCCOLORKEY is set, only the pixels
18326
not matching the colorkey value are copied.
18327
</description>
18328
</item>
18329
<item>
18330
<term>RGB-&gt;RGB with SDL_SRCALPHA</term>
18331
<description>The source is alpha-blended with the
18332
destination using the per-surface alpha value.
18333
If SDL_SRCCOLORKEY is set, only the pixels not
18334
matching the colorkey value are copied.
18335
</description>
18336
</item>
18337
<item>
18338
<term>RGB-&gt;RGB without SDL_SRCALPHA</term>
18339
<description>The RGB data is copied from the source.
18340
If SDL_SRCCOLORKEY is set, only the pixels not
18341
matching the colorkey value are copied.
18342
</description>
18343
</item>
18344
</list>
18345
<p>Note: Note that RGBA-&gt;RGBA blits (with SDL_SRCALPHA set) keep
18346
the alpha of the destination surface. This means that you cannot
18347
compose two arbitrary RGBA surfaces this way and get the result
18348
you would expect from "overlaying" them; the destination alpha
18349
will work as a mask.</p>
18350
<p>Also note that per-pixel and per-surface alpha cannot be
18351
combined; the per-pixel alpha is always used if available.</p>
18352
<p>Binds to C-function call in SDL_video.h:
18353
<code>int SDL_SetAlpha(SDL_Surface *surface, Uint32 flag, Uint8 alpha);
18354
</code></p>
18355
</remarks>
18356
<param name="surface"></param>
18357
<param name="flag"></param>
18358
<param name="alpha"></param>
18359
<returns>This function returns 0, or -1 if there was an error.
18360
</returns>
18361
<seealso cref="M:Tao.Sdl.Sdl.SDL_MapRGBA(System.IntPtr,System.Byte,System.Byte,System.Byte,System.Byte)">SDL_MapRGBA</seealso>
18362
<seealso cref="M:Tao.Sdl.Sdl.SDL_GetRGBA(System.Int32,System.IntPtr,System.Byte@,System.Byte@,System.Byte@,System.Byte@)">SDL_GetRGBA</seealso>
18363
<seealso cref="M:Tao.Sdl.Sdl.SDL_DisplayFormatAlpha(System.IntPtr)">SDL_DisplayFormatAlpha</seealso>
18364
<seealso cref="M:Tao.Sdl.Sdl.SDL_BlitSurface(System.IntPtr,Tao.Sdl.Sdl.SDL_Rect@,System.IntPtr,Tao.Sdl.Sdl.SDL_Rect@)">SDL_BlitSurface</seealso>
18365
</member>
18366
<member name="M:Tao.Sdl.Sdl.SDL_SetClipRect(System.IntPtr,Tao.Sdl.Sdl.SDL_Rect@)">
18367
<summary>
18368
Sets the clipping rectangle for a surface.
18369
</summary>
18370
<remarks>
18371
Sets the clipping rectangle for a surface. When this surface
18372
is the destination of a blit, only the area within the clip
18373
rectangle will be drawn into.
18374
<p>The rectangle pointed to by rect will be clipped to the
18375
edges of the surface so that the clip rectangle for a surface
18376
can never fall outside the edges of the surface.</p>
18377
<p>If rect is NULL the clipping rectangle will be set to the
18378
full size of the surface.</p>
18379
<p>Binds to C-function call in SDL_video.h:
18380
<code>
18381
void SDL_SetClipRect(SDL_Surface *surface, SDL_Rect *rect)
18382
</code></p>
18383
</remarks>
18384
<param name="surface">IntPtr to SDL_Surface</param>
18385
<param name="rect">SDL_Rect</param>
18386
<seealso cref="M:Tao.Sdl.Sdl.SDL_GetClipRect(System.IntPtr,Tao.Sdl.Sdl.SDL_Rect@)">SDL_GetClipRect</seealso>
18387
<seealso cref="M:Tao.Sdl.Sdl.SDL_BlitSurface(System.IntPtr,Tao.Sdl.Sdl.SDL_Rect@,System.IntPtr,Tao.Sdl.Sdl.SDL_Rect@)">SDL_BlitSurface</seealso>
18388
<seealso cref="T:Tao.Sdl.Sdl.SDL_Surface">SDL_Surface</seealso>
18389
</member>
18390
<member name="M:Tao.Sdl.Sdl.SDL_GetClipRect(System.IntPtr,Tao.Sdl.Sdl.SDL_Rect@)">
18391
<summary>
18392
Gets the clipping rectangle for a surface.
18393
</summary>
18394
<remarks>
18395
Gets the clipping rectangle for a surface.
18396
When this surface is the destination of a blit,
18397
only the area within the clip rectangle is drawn into.
18398
<p>The rectangle pointed to by rect will be filled with the
18399
clipping rectangle of the surface.</p>
18400
<p>Binds to C-function call in SDL_video.h:
18401
<code>
18402
void SDL_GetClipRect(SDL_Surface *surface, SDL_Rect *rect)
18403
</code></p>
18404
</remarks>
18405
<param name="surface">IntPtr to SDL_Surface</param>
18406
<param name="rect">SDL_Rect</param>
18407
<seealso cref="M:Tao.Sdl.Sdl.SDL_SetClipRect(System.IntPtr,Tao.Sdl.Sdl.SDL_Rect@)">SDL_SetClipRect</seealso>
18408
<seealso cref="M:Tao.Sdl.Sdl.SDL_BlitSurface(System.IntPtr,Tao.Sdl.Sdl.SDL_Rect@,System.IntPtr,Tao.Sdl.Sdl.SDL_Rect@)">SDL_BlitSurface</seealso>
18409
<seealso cref="T:Tao.Sdl.Sdl.SDL_Surface">SDL_Surface</seealso>
18410
</member>
18411
<member name="M:Tao.Sdl.Sdl.SDL_ConvertSurface(System.IntPtr,System.IntPtr,System.Int32)">
18412
<summary>
18413
Converts a surface to the same format as another surface.
18414
</summary>
18415
<remarks>
18416
Creates a new surface of the specified format,
18417
and then copies and maps the given surface to it.
18418
If this function fails, it returns NULL.
18419
<p>The flags parameter is passed to
18420
<see cref="M:Tao.Sdl.Sdl.SDL_CreateRGBSurface(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32)"/> and has those semantics.</p>
18421
<p>This function is used internally by <see cref="M:Tao.Sdl.Sdl.SDL_DisplayFormat(System.IntPtr)"/>.</p>
18422
<p>This function can only be called after SDL_Init.</p>
18423
<p>Binds to C-function call in SDL_video.h:
18424
<code>
18425
SDL_Surface *SDL_ConvertSurface(SDL_Surface *src, SDL_PixelFormat *fmt, Uint32 flags)
18426
</code></p>
18427
</remarks>
18428
<param name="src">IntPtr to SDL_Surface</param>
18429
<param name="fmt">IntPTr to SDL_PixelFormat</param>
18430
<param name="flags"></param>
18431
<returns>
18432
Returns either a pointer to the new surface, or NULL on error.
18433
</returns>
18434
<seealso cref="M:Tao.Sdl.Sdl.SDL_CreateRGBSurface(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32)">SDL_CreateRGBSurface</seealso>
18435
<seealso cref="M:Tao.Sdl.Sdl.SDL_DisplayFormat(System.IntPtr)">SDL_DisplayFormat</seealso>
18436
<seealso cref="T:Tao.Sdl.Sdl.SDL_PixelFormat">SDL_PixelFormat</seealso>
18437
<seealso cref="T:Tao.Sdl.Sdl.SDL_Surface">SDL_Surface</seealso>
18438
</member>
18439
<member name="M:Tao.Sdl.Sdl.SDL_ConvertSurface(System.IntPtr,System.IntPtr,System.UInt32)">
18440
<summary>
18441
Converts a surface to the same format as another surface.
18442
</summary>
18443
<remarks>
18444
Creates a new surface of the specified format,
18445
and then copies and maps the given surface to it.
18446
If this function fails, it returns NULL.
18447
<p>The flags parameter is passed to
18448
<see cref="M:Tao.Sdl.Sdl.SDL_CreateRGBSurface(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32)"/> and has those semantics.</p>
18449
<p>This function is used internally by <see cref="M:Tao.Sdl.Sdl.SDL_DisplayFormat(System.IntPtr)"/>.</p>
18450
<p>This function can only be called after SDL_Init.</p>
18451
<p>Binds to C-function call in SDL_video.h:
18452
<code>
18453
SDL_Surface *SDL_ConvertSurface(SDL_Surface *src, SDL_PixelFormat *fmt, Uint32 flags)
18454
</code></p>
18455
</remarks>
18456
<param name="src">IntPtr to SDL_Surface</param>
18457
<param name="fmt">IntPTr to SDL_PixelFormat</param>
18458
<param name="flags"></param>
18459
<returns>
18460
Returns either a pointer to the new surface, or NULL on error.
18461
</returns>
18462
<seealso cref="M:Tao.Sdl.Sdl.SDL_CreateRGBSurface(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32)">SDL_CreateRGBSurface</seealso>
18463
<seealso cref="M:Tao.Sdl.Sdl.SDL_DisplayFormat(System.IntPtr)">SDL_DisplayFormat</seealso>
18464
<seealso cref="T:Tao.Sdl.Sdl.SDL_PixelFormat">SDL_PixelFormat</seealso>
18465
<seealso cref="T:Tao.Sdl.Sdl.SDL_Surface">SDL_Surface</seealso>
18466
</member>
18467
<member name="M:Tao.Sdl.Sdl.SDL_BlitSurface(System.IntPtr,Tao.Sdl.Sdl.SDL_Rect@,System.IntPtr,Tao.Sdl.Sdl.SDL_Rect@)">
18468
<summary>
18469
This performs a fast blit from the source surface to the
18470
destination surface.
18471
</summary>
18472
<remarks>
18473
This performs a fast blit from the source surface
18474
to the destination surface.
18475
<p>The width and height in srcrect determine the
18476
size of the copied rectangle. Only the position is used
18477
in the dstrect (the width and height are ignored).</p>
18478
<p>If srcrect is NULL, the entire surface is copied.
18479
If dstrect is NULL, then the destination position
18480
(upper left corner) is (0, 0).</p>
18481
<p>The final blit rectangle is saved in dstrect after all
18482
clipping is performed (srcrect is not modified).</p>
18483
<p>The blit function should not be called on a locked surface.</p>
18484
<p> The results of blitting operations vary greatly depending
18485
on whether SDL_SRCAPLHA is set or not. See SDL_SetAlpha for an
18486
explaination of how this affects your results. Colorkeying and
18487
alpha attributes also interact with surface blitting, as the
18488
following pseudo-code should hopefully explain. </p>
18489
<code>if (source surface has SDL_SRCALPHA set)
18490
{
18491
if (source surface has alpha channel (that is, format-&gt;Amask != 0))
18492
blit using per-pixel alpha, ignoring any colour key
18493
else {
18494
if (source surface has SDL_SRCCOLORKEY set)
18495
blit using the colour key AND the per-surface alpha value
18496
else
18497
blit using the per-surface alpha value
18498
}
18499
}
18500
else
18501
{
18502
if (source surface has SDL_SRCCOLORKEY set)
18503
blit using the colour key
18504
else
18505
ordinary opaque rectangular blit
18506
}</code>
18507
<p>Binds to C-function call in SDL_video.h:
18508
<code>int SDL_BlitSurface(SDL_Surface *src, SDL_Rect *srcrect, SDL_Surface *dst, SDL_Rect *dstrect);
18509
</code></p>
18510
</remarks>
18511
<param name="src">IntPtr to SDL_Surface</param>
18512
<param name="srcrect">IntPtr to SDL_Rect</param>
18513
<param name="dst">IntPtr to SDL_Surface</param>
18514
<param name="dstrect">IntPtr to SDL_Rect</param>
18515
<returns>If the blit is successful, it returns 0, otherwise it
18516
returns -1.
18517
<p>If either of the surfaces were in video memory,
18518
and the blit returns -2, the video memory was lost,
18519
so it should be reloaded with artwork and re-blitted: </p>
18520
18521
<code>while ( SDL_BlitSurface(image, imgrect, screen, dstrect) == -2 )
18522
{
18523
while ( SDL_LockSurface(image)) &lt; 0 )
18524
SDL_Delay(10);
18525
-- Write image pixels to image-&gt;pixels --
18526
SDL_UnlockSurface(image);
18527
}
18528
</code>
18529
<p>This happens under DirectX 5.0 when the system switches away from your
18530
fullscreen application. Locking the surface will also fail until you
18531
have access to the video memory again.</p>
18532
</returns>
18533
<seealso cref="M:Tao.Sdl.Sdl.SDL_LockSurface(System.IntPtr)"/>
18534
<seealso cref="M:Tao.Sdl.Sdl.SDL_FillRect(System.IntPtr,Tao.Sdl.Sdl.SDL_Rect@,System.Int32)"/>
18535
<seealso cref="T:Tao.Sdl.Sdl.SDL_Surface"/>
18536
<seealso cref="T:Tao.Sdl.Sdl.SDL_Rect"/>
18537
</member>
18538
<member name="M:Tao.Sdl.Sdl.SDL_FillRect(System.IntPtr,Tao.Sdl.Sdl.SDL_Rect@,System.Int32)">
18539
<summary>
18540
This function performs a fast fill of the given rectangle with some color.
18541
</summary>
18542
<remarks>
18543
This function performs a fast fill of the given rectangle with color.
18544
If dstrect is NULL, the whole surface will be filled with color.
18545
<p>The color should be a pixel of the format used by the surface,
18546
and can be generated by the <see cref="M:Tao.Sdl.Sdl.SDL_MapRGB(System.IntPtr,System.Byte,System.Byte,System.Byte)"/> or
18547
<see cref="M:Tao.Sdl.Sdl.SDL_MapRGBA(System.IntPtr,System.Byte,System.Byte,System.Byte,System.Byte)"/> functions.
18548
If the color value contains an alpha value then the destination
18549
is simply "filled" with that alpha information, no blending
18550
takes place.</p>
18551
<p>If there is a clip rectangle set on the destination (set via
18552
<see cref="M:Tao.Sdl.Sdl.SDL_SetClipRect(System.IntPtr,Tao.Sdl.Sdl.SDL_Rect@)"/>) then this function will clip based on the
18553
intersection of the clip rectangle and the dstrect rectangle
18554
and the dstrect rectangle will be modified to represent the
18555
area actually filled.</p>
18556
<p>Binds to C-function call in SDL_video.h:
18557
<code>
18558
int SDL_FillRect(SDL_Surface *dst, SDL_Rect *dstrect, Uint32 color);
18559
</code>
18560
</p>
18561
</remarks>
18562
<param name="surface">IntPtr to SDL_Surface</param>
18563
<param name="rect">IntPtr to SDL_Rect</param>
18564
<param name="color"></param>
18565
<returns>
18566
This function returns 0 on success, or -1 on error.
18567
</returns>
18568
<seealso cref="M:Tao.Sdl.Sdl.SDL_MapRGB(System.IntPtr,System.Byte,System.Byte,System.Byte)"/>
18569
<seealso cref="M:Tao.Sdl.Sdl.SDL_MapRGBA(System.IntPtr,System.Byte,System.Byte,System.Byte,System.Byte)"/>
18570
<seealso cref="M:Tao.Sdl.Sdl.SDL_BlitSurface(System.IntPtr,Tao.Sdl.Sdl.SDL_Rect@,System.IntPtr,Tao.Sdl.Sdl.SDL_Rect@)"/>
18571
<seealso cref="T:Tao.Sdl.Sdl.SDL_Rect"/>
18572
</member>
18573
<member name="M:Tao.Sdl.Sdl.SDL_FillRect(System.IntPtr,Tao.Sdl.Sdl.SDL_Rect@,System.UInt32)">
18574
<summary>
18575
This function performs a fast fill of the given rectangle with some color.
18576
</summary>
18577
<remarks>
18578
This function performs a fast fill of the given rectangle with color.
18579
If dstrect is NULL, the whole surface will be filled with color.
18580
<p>The color should be a pixel of the format used by the surface,
18581
and can be generated by the <see cref="M:Tao.Sdl.Sdl.SDL_MapRGB(System.IntPtr,System.Byte,System.Byte,System.Byte)"/> or
18582
<see cref="M:Tao.Sdl.Sdl.SDL_MapRGBA(System.IntPtr,System.Byte,System.Byte,System.Byte,System.Byte)"/> functions.
18583
If the color value contains an alpha value then the destination
18584
is simply "filled" with that alpha information, no blending
18585
takes place.</p>
18586
<p>If there is a clip rectangle set on the destination (set via
18587
<see cref="M:Tao.Sdl.Sdl.SDL_SetClipRect(System.IntPtr,Tao.Sdl.Sdl.SDL_Rect@)"/>) then this function will clip based on the
18588
intersection of the clip rectangle and the dstrect rectangle
18589
and the dstrect rectangle will be modified to represent the
18590
area actually filled.</p>
18591
<p>Binds to C-function call in SDL_video.h:
18592
<code>
18593
int SDL_FillRect(SDL_Surface *dst, SDL_Rect *dstrect, Uint32 color);
18594
</code>
18595
</p>
18596
</remarks>
18597
<param name="surface">IntPtr to SDL_Surface</param>
18598
<param name="rect">IntPtr to SDL_Rect</param>
18599
<param name="color"></param>
18600
<returns>
18601
This function returns 0 on success, or -1 on error.
18602
</returns>
18603
<seealso cref="M:Tao.Sdl.Sdl.SDL_MapRGB(System.IntPtr,System.Byte,System.Byte,System.Byte)"/>
18604
<seealso cref="M:Tao.Sdl.Sdl.SDL_MapRGBA(System.IntPtr,System.Byte,System.Byte,System.Byte,System.Byte)"/>
18605
<seealso cref="M:Tao.Sdl.Sdl.SDL_BlitSurface(System.IntPtr,Tao.Sdl.Sdl.SDL_Rect@,System.IntPtr,Tao.Sdl.Sdl.SDL_Rect@)"/>
18606
<seealso cref="T:Tao.Sdl.Sdl.SDL_Rect"/>
18607
</member>
18608
<member name="M:Tao.Sdl.Sdl.SDL_DisplayFormat(System.IntPtr)">
18609
<summary>
18610
Convert a surface to the display format.
18611
</summary>
18612
<remarks>
18613
This function takes a surface and copies it to a new surface of the
18614
pixel format and colors of the video framebuffer, suitable for fast
18615
blitting onto the display surface. It calls
18616
<see cref="M:Tao.Sdl.Sdl.SDL_ConvertSurface(System.IntPtr,System.IntPtr,System.Int32)"/>.
18617
<p>If you want to take advantage of hardware colorkey or alpha blit
18618
acceleration, you should set the colorkey and alpha value before
18619
calling this function.</p>
18620
<p>If you want an alpha channel, see
18621
<see cref="M:Tao.Sdl.Sdl.SDL_DisplayFormatAlpha(System.IntPtr)"/>.</p>
18622
<p>Binds to C-function call in SDL_video.h:
18623
<code>SDL_Surface *SDL_DisplayFormat(SDL_Surface *surface)
18624
</code>
18625
</p>
18626
</remarks>
18627
<param name="surface">IntPtr to SDL_Surface</param>
18628
<returns>IntPtr to SDL_Surface.
18629
If the conversion fails or runs out of memory,
18630
it returns NULL</returns>
18631
</member>
18632
<member name="M:Tao.Sdl.Sdl.SDL_DisplayFormatAlpha(System.IntPtr)">
18633
<summary>
18634
Convert a surface to the display format.
18635
</summary>
18636
<remarks>
18637
This function takes a surface and copies it to a new surface of the
18638
pixel format and colors of the video framebuffer plus an alpha channel,
18639
suitable for fast blitting onto the display surface.
18640
It calls <see cref="M:Tao.Sdl.Sdl.SDL_ConvertSurface(System.IntPtr,System.IntPtr,System.Int32)"/>.
18641
<p>If you want to take advantage of hardware colorkey or alpha blit
18642
acceleration, you should set the colorkey and alpha value before
18643
calling this function.</p>
18644
<p>This function can be used to convert a colourkey to an alpha
18645
channel, if the SDL_SRCCOLORKEY flag is set on the surface. The
18646
generated surface will then be transparent (alpha=0) where the
18647
pixels match the colourkey, and opaque (alpha=255) elsewhere.</p>
18648
<p>Binds to C-function call in SDL_video.h:
18649
<code>SDL_Surface *SDL_DisplayFormatAlpha(SDL_Surface *surface)
18650
</code></p></remarks>
18651
<param name="surface"></param>
18652
<returns>IntPtr to SDL_Surface.
18653
If the conversion fails or runs out of memory,
18654
it returns NULL</returns>
18655
<seealso cref="M:Tao.Sdl.Sdl.SDL_ConvertSurface(System.IntPtr,System.IntPtr,System.Int32)"/>
18656
<seealso cref="M:Tao.Sdl.Sdl.SDL_SetAlpha(System.IntPtr,System.Int32,System.Byte)"/>
18657
<seealso cref="M:Tao.Sdl.Sdl.SDL_SetColorKey(System.IntPtr,System.Int32,System.Int32)"/>
18658
<seealso cref="M:Tao.Sdl.Sdl.SDL_DisplayFormat(System.IntPtr)"/>
18659
<seealso cref="T:Tao.Sdl.Sdl.SDL_Surface"/>
18660
</member>
18661
<member name="M:Tao.Sdl.Sdl.SDL_CreateYUVOverlay(System.Int32,System.Int32,System.Int32,System.IntPtr)">
18662
<summary>
18663
Create a YUV video overlay.
18664
</summary>
18665
<remarks>
18666
SDL_CreateYUVOverlay creates a YUV overlay of the specified width,
18667
height and format (see <see cref="T:Tao.Sdl.Sdl.SDL_Overlay"/> for a list of
18668
available formats),
18669
for the provided display. A <see cref="T:Tao.Sdl.Sdl.SDL_Overlay"/>
18670
structure is returned.
18671
<p>The term 'overlay' is a misnomer since, unless the overlay is
18672
created in hardware, the contents for the display surface underneath
18673
the area where the overlay is shown will be overwritten when the
18674
overlay is displayed.</p>
18675
<p>Binds to C-function call in SDL_video.h:
18676
<code>SDL_Overlay *SDL_CreateYUVOverlay(int width, int height, Uint32 format, SDL_Surface *display)
18677
</code></p></remarks>
18678
<param name="width"></param>
18679
<param name="height"></param>
18680
<param name="format"></param>
18681
<param name="display">IntPtr to SDL_Surface</param>
18682
<returns>IntPtr to SDL_Overlay</returns>
18683
<seealso cref="T:Tao.Sdl.Sdl.SDL_Overlay"/>
18684
<seealso cref="M:Tao.Sdl.Sdl.SDL_DisplayYUVOverlay(System.IntPtr,Tao.Sdl.Sdl.SDL_Rect@)"/>
18685
<seealso cref="M:Tao.Sdl.Sdl.SDL_FreeYUVOverlay(System.IntPtr)"/>
18686
</member>
18687
<member name="M:Tao.Sdl.Sdl.SDL_CreateYUVOverlay(System.Int32,System.Int32,System.UInt32,System.IntPtr)">
18688
<summary>
18689
Create a YUV video overlay.
18690
</summary>
18691
<remarks>
18692
SDL_CreateYUVOverlay creates a YUV overlay of the specified width,
18693
height and format (see <see cref="T:Tao.Sdl.Sdl.SDL_Overlay"/> for a list of
18694
available formats),
18695
for the provided display. A <see cref="T:Tao.Sdl.Sdl.SDL_Overlay"/>
18696
structure is returned.
18697
<p>The term 'overlay' is a misnomer since, unless the overlay is
18698
created in hardware, the contents for the display surface underneath
18699
the area where the overlay is shown will be overwritten when the
18700
overlay is displayed.</p>
18701
<p>Binds to C-function call in SDL_video.h:
18702
<code>SDL_Overlay *SDL_CreateYUVOverlay(int width, int height, Uint32 format, SDL_Surface *display)
18703
</code></p></remarks>
18704
<param name="width"></param>
18705
<param name="height"></param>
18706
<param name="format"></param>
18707
<param name="display">IntPtr to SDL_Surface</param>
18708
<returns>IntPtr to SDL_Overlay</returns>
18709
<seealso cref="T:Tao.Sdl.Sdl.SDL_Overlay"/>
18710
<seealso cref="M:Tao.Sdl.Sdl.SDL_DisplayYUVOverlay(System.IntPtr,Tao.Sdl.Sdl.SDL_Rect@)"/>
18711
<seealso cref="M:Tao.Sdl.Sdl.SDL_FreeYUVOverlay(System.IntPtr)"/>
18712
</member>
18713
<member name="M:Tao.Sdl.Sdl.SDL_LockYUVOverlay(System.IntPtr)">
18714
<summary>
18715
Lock an overlay
18716
</summary>
18717
<remarks>
18718
Much the same as <see cref="M:Tao.Sdl.Sdl.SDL_LockSurface(System.IntPtr)"/>,
18719
SDL_LockYUVOverlay locks the overlay for direct access to pixel data.
18720
<p>Binds to C-function call in SDL_video.h:
18721
<code>int SDL_LockYUVOverlay(SDL_Overlay *overlay)
18722
</code></p></remarks>
18723
<param name="overlay"></param>
18724
<returns>Returns 0 on success, or -1 on an error</returns>
18725
<seealso cref="M:Tao.Sdl.Sdl.SDL_UnlockYUVOverlay(System.IntPtr)"/>
18726
<seealso cref="M:Tao.Sdl.Sdl.SDL_CreateYUVOverlay(System.Int32,System.Int32,System.Int32,System.IntPtr)"/>
18727
<seealso cref="T:Tao.Sdl.Sdl.SDL_Overlay"/>
18728
</member>
18729
<member name="M:Tao.Sdl.Sdl.SDL_UnlockYUVOverlay(System.IntPtr)">
18730
<summary>
18731
Unlock an overlay.
18732
</summary>
18733
<remarks>
18734
The opposite to <see cref="M:Tao.Sdl.Sdl.SDL_LockYUVOverlay(System.IntPtr)"/>.
18735
Unlocks a previously locked overlay.
18736
An overlay must be unlocked before it can be displayed.
18737
<p>Binds to C-function call in SDL_video.h:
18738
<code>void SDLCALL SDL_UnlockYUVOverlay(SDL_Overlay *overlay)
18739
</code></p></remarks>
18740
<param name="overlay">IntPtr to SDL_Overlay</param>
18741
<seealso cref="M:Tao.Sdl.Sdl.SDL_UnlockYUVOverlay(System.IntPtr)"/>
18742
<seealso cref="M:Tao.Sdl.Sdl.SDL_CreateYUVOverlay(System.Int32,System.Int32,System.Int32,System.IntPtr)"/>
18743
<seealso cref="T:Tao.Sdl.Sdl.SDL_Overlay"/>
18744
</member>
18745
<member name="M:Tao.Sdl.Sdl.SDL_DisplayYUVOverlay(System.IntPtr,Tao.Sdl.Sdl.SDL_Rect@)">
18746
<summary>
18747
Blit the overlay to the display.
18748
</summary>
18749
<remarks>
18750
Blit the overlay to the surface specified when it was <see cref="M:Tao.Sdl.Sdl.SDL_CreateYUVOverlay(System.Int32,System.Int32,System.Int32,System.IntPtr)">created</see>.
18751
The <see cref="T:Tao.Sdl.Sdl.SDL_Rect"/> structure, dstrect, specifies the position and size of the
18752
destination. If the dstrect is a larger or smaller than the overlay then
18753
the overlay will be scaled, this is optimized for 2x scaling.
18754
<p>Binds to C-function call in SDL_video.h:
18755
<code>SDL_DisplayYUVOverlay(SDL_Overlay *overlay, SDL_Rect *dstrect)
18756
</code></p></remarks>
18757
<param name="overlay">IntPtr to SDL_Overlay</param>
18758
<param name="dstrect">SDL_Rect</param>
18759
<returns>Returns 0 on success.</returns>
18760
<seealso cref="T:Tao.Sdl.Sdl.SDL_Overlay"/>
18761
<seealso cref="M:Tao.Sdl.Sdl.SDL_CreateYUVOverlay(System.Int32,System.Int32,System.Int32,System.IntPtr)"/>
18762
</member>
18763
<member name="M:Tao.Sdl.Sdl.SDL_FreeYUVOverlay(System.IntPtr)">
18764
<summary>
18765
Free a YUV video overlay.
18766
</summary>
18767
<remarks>
18768
Frees an <see cref="T:Tao.Sdl.Sdl.SDL_Overlay">overlay</see> created by <see cref="M:Tao.Sdl.Sdl.SDL_CreateYUVOverlay(System.Int32,System.Int32,System.Int32,System.IntPtr)"/>
18769
<p>Binds to C-function call in SDL_video.h:
18770
<code>SDL_FreeYUVOverlay(SDL_Overlay *overlay)
18771
</code></p></remarks>
18772
<param name="overlay"></param>
18773
<seealso cref="T:Tao.Sdl.Sdl.SDL_Overlay"/>
18774
<seealso cref="M:Tao.Sdl.Sdl.SDL_DisplayYUVOverlay(System.IntPtr,Tao.Sdl.Sdl.SDL_Rect@)"/>
18775
<seealso cref="M:Tao.Sdl.Sdl.SDL_CreateYUVOverlay(System.Int32,System.Int32,System.Int32,System.IntPtr)"/>
18776
SDL_Overlay, SDL_DisplayYUVOverlay, SDL_FreeYUVOverlay
18777
</member>
18778
<member name="M:Tao.Sdl.Sdl.SDL_GL_LoadLibrary(System.String)">
18779
<summary>
18780
Specify an OpenGL library.
18781
</summary>
18782
<remarks>
18783
If you wish, you may load the OpenGL library at runtime, this must
18784
be done before <see cref="M:Tao.Sdl.Sdl.SDL_SetVideoMode(System.Int32,System.Int32,System.Int32,System.Int32)"/> is called.
18785
The path of the GL
18786
library is passed to SDL_GL_LoadLibrary and it returns 0 on
18787
success, or -1 on
18788
an error. You must then use <see cref="M:Tao.Sdl.Sdl.SDL_GL_GetProcAddress(System.String)"/>
18789
to retrieve
18790
function pointers to GL functions.
18791
<p>Binds to C-function call in SDL_video.h:
18792
<code>int SDL_GL_LoadLibrary(const char *path);
18793
</code></p></remarks>
18794
<param name="path"></param>
18795
<returns>Returns 0 on success, or -1 on an error.</returns>
18796
<seealso cref="M:Tao.Sdl.Sdl.SDL_GL_GetProcAddress(System.String)"/>
18797
</member>
18798
<member name="M:Tao.Sdl.Sdl.SDL_GL_GetProcAddress(System.String)">
18799
<summary>
18800
Get the address of a GL function
18801
</summary>
18802
<remarks>
18803
Returns the address of the GL function proc, or NULL if the
18804
function is not found. If the GL library is loaded at runtime,
18805
with SDL_GL_LoadLibrary, then all GL functions must be retrieved
18806
this way. Usually this is used to retrieve function pointers
18807
to OpenGL extensions.
18808
<p>Binds to C-function call in SDL_video.h:
18809
<code>void *SDL_GL_GetProcAddress(const char* proc);
18810
</code></p></remarks>
18811
<example>
18812
<code>
18813
typedef void (*GL_ActiveTextureARB_Func)(unsigned int);
18814
GL_ActiveTextureARB_Func glActiveTextureARB_ptr = 0;
18815
int has_multitexture=1;
18816
.
18817
.
18818
.
18819
/* Get function pointer */
18820
glActiveTextureARB_ptr=(GL_ActiveTextureARB_Func) SDL_GL_GetProcAddress("glActiveTextureARB");
18821
18822
/* Check for a valid function ptr */
18823
if(!glActiveTextureARB_ptr)
18824
{
18825
fprintf(stderr, "Multitexture Extensions not present.\n");
18826
has_multitexture=0;
18827
}
18828
.
18829
.
18830
.
18831
.
18832
if(has_multitexture)
18833
{
18834
glActiveTextureARB_ptr(GL_TEXTURE0_ARB);
18835
.
18836
.
18837
}
18838
else
18839
{
18840
.
18841
.
18842
}
18843
</code>
18844
</example>
18845
<param name="proc"></param>
18846
<seealso cref="M:Tao.Sdl.Sdl.SDL_GL_LoadLibrary(System.String)"/>
18847
<returns>Returns the address of the GL function proc, or NULL if the
18848
function is not found.</returns>
18849
</member>
18850
<member name="M:Tao.Sdl.Sdl.SDL_GL_SwapBuffers">
18851
<summary>
18852
Swap OpenGL framebuffers/Update Display
18853
</summary>
18854
<remarks>
18855
Swap the OpenGL buffers, if double-buffering is supported.
18856
<p>Binds to C-function call in SDL_video.h:
18857
<code>void SDL_GL_SwapBuffers(void )
18858
</code></p></remarks>
18859
<seealso cref="M:Tao.Sdl.Sdl.SDL_SetVideoMode(System.Int32,System.Int32,System.Int32,System.Int32)"/>
18860
<seealso cref="M:Tao.Sdl.Sdl.SDL_GL_SetAttribute(System.Int32,System.Int32)"/>
18861
</member>
18862
<member name="M:Tao.Sdl.Sdl.SDL_GL_SetAttribute(System.Int32,System.Int32)">
18863
<summary>
18864
Set a special SDL/OpenGL attribute.
18865
</summary>
18866
<remarks>
18867
Sets the OpenGL attribute attr to value.
18868
The attributes you set don't
18869
take effect until after a call to <see cref="M:Tao.Sdl.Sdl.SDL_SetVideoMode(System.Int32,System.Int32,System.Int32,System.Int32)"/>.
18870
You should use
18871
<see cref="M:Tao.Sdl.Sdl.SDL_GL_GetAttribute(System.Int32,System.Int32@)"/> to check the values after a
18872
SDL_SetVideoMode call.
18873
<p>Binds to C-function call in SDL_video.h:
18874
<code>int SDL_GL_SetAttribute(SDL_GLattr attr, int value);
18875
</code></p></remarks>
18876
<param name="attr">SDL_GLattr enum</param>
18877
<param name="val"></param>
18878
<returns>Returns 0 on success, or -1 on error.</returns>
18879
<seealso cref="M:Tao.Sdl.Sdl.SDL_GL_GetAttribute(System.Int32,System.Int32@)"/>
18880
</member>
18881
<member name="M:Tao.Sdl.Sdl.SDL_GL_GetAttribute(System.Int32,System.Int32@)">
18882
<summary>
18883
Get the value of a special SDL/OpenGL attribute
18884
</summary>
18885
<remarks>
18886
Places the value of the SDL/OpenGL
18887
attribute attr into value. This is
18888
useful after a call to <see cref="M:Tao.Sdl.Sdl.SDL_SetVideoMode(System.Int32,System.Int32,System.Int32,System.Int32)"/> to check
18889
whether your attributes have been
18890
<see cref="M:Tao.Sdl.Sdl.SDL_GL_SetAttribute(System.Int32,System.Int32)">set</see> as you expected.
18891
<p>Binds to C-function call in SDL_video.h:
18892
<code>int SDL_GL_GetAttribute(SDLGLattr attr, int *value)
18893
</code></p>
18894
</remarks>
18895
<param name="attr">SDL_GLattr enum</param>
18896
<param name="val"></param>
18897
<returns>Returns 0 on success, or -1 on an error.</returns>
18898
</member>
18899
<member name="M:Tao.Sdl.Sdl.SDL_WM_SetCaption(System.String,System.String)">
18900
<summary>
18901
Sets the title and icon text of the display window
18902
</summary>
18903
<remarks>
18904
Sets the title-bar and icon name of the display window.
18905
<p>Binds to C-function call in SDL_video.h:
18906
<code>extern DECLSPEC void SDLCALL SDL_WM_SetCaption(const char *title, const char *icon)</code>
18907
</p>
18908
</remarks>
18909
<seealso cref="M:Tao.Sdl.Sdl.SDL_WM_GetCaption(System.String@,System.String@)">SDL_WM_GetCaption</seealso>
18910
<seealso cref="M:Tao.Sdl.Sdl.SDL_WM_SetIcon(System.IntPtr,System.Byte[])">SDL_WM_SetIcon</seealso>
18911
<param name="title"></param>
18912
<param name="icon"></param>
18913
</member>
18914
<member name="M:Tao.Sdl.Sdl.SDL_WM_GetCaption(System.String@,System.String@)">
18915
<summary>
18916
Gets the title and icon text of the display window
18917
</summary>
18918
<remarks>
18919
<p>Binds to C-function call in SDL_video.h:
18920
<code>extern DECLSPEC void SDLCALL SDL_WM_GetCaption(char **title, char **icon)</code>
18921
</p></remarks>
18922
<param name="title"></param>
18923
<param name="icon"></param>
18924
<seealso cref="M:Tao.Sdl.Sdl.SDL_WM_SetCaption(System.String,System.String)">SDL_WM_SetCaption</seealso>
18925
<seealso cref="M:Tao.Sdl.Sdl.SDL_WM_SetIcon(System.IntPtr,System.Byte[])">SDL_WM_SetIcon</seealso>
18926
</member>
18927
<member name="M:Tao.Sdl.Sdl.SDL_WM_SetIcon(System.IntPtr,System.Byte[])">
18928
<summary>
18929
Sets the icon for the display window.
18930
</summary>
18931
<remarks>
18932
Sets the icon for the display window. Win32 icons must be 32x32.
18933
<p>This function must be called before the first call to
18934
<see cref="M:Tao.Sdl.Sdl.SDL_SetVideoMode(System.Int32,System.Int32,System.Int32,System.Int32)"/>.</p>
18935
<p>The mask is a bitmask that describes the shape of the icon.
18936
If mask is NULL, then the shape is determined by the colorkey
18937
of icon, if any, or makes the icon rectangular (no transparency)
18938
otherwise.</p>
18939
<p>If mask is non-NULL, it points to a bitmap with bits set where
18940
the corresponding pixel should be visible. The format of the bitmap
18941
is as follows: Scanlines come in the usual top-down order. Each
18942
scanline consists of (width / 8) bytes, rounded up. The most
18943
significant bit of each byte represents the leftmost pixel.</p>
18944
<p>Binds to C-function call in SDL_video.h:
18945
<code>void SDL_WM_SetIcon(SDL_Surface *icon, Uint8 *mask);
18946
</code></p>
18947
</remarks>
18948
<example>
18949
<code>SDL_WM_SetIcon(SDL_LoadBMP("icon.bmp"), NULL);
18950
</code></example>
18951
<param name="icon">Pointer to an SDL_Surface</param>
18952
<param name="mask"></param>
18953
<seealso cref="M:Tao.Sdl.Sdl.SDL_SetVideoMode(System.Int32,System.Int32,System.Int32,System.Int32)"/>
18954
<seealso cref="M:Tao.Sdl.Sdl.SDL_WM_SetCaption(System.String,System.String)"/>
18955
</member>
18956
<member name="M:Tao.Sdl.Sdl.SDL_WM_IconifyWindow">
18957
<summary>Iconify/Minimise the window</summary>
18958
<remarks>
18959
This function iconifies/minimizes the window, and returns 1 if it succeeded.
18960
If the function succeeds, it generates an <see cref="F:Tao.Sdl.Sdl.SDL_APPACTIVE"/> loss event.
18961
<p>Binds to C-function call in SDL_video.h:
18962
<code>int SDL_WM_IconifyWindow(void)</code></p>
18963
</remarks>
18964
<returns>Returns 1 if it succeeded.
18965
This function is a noop and returns 0 in non-windowed environments.</returns>
18966
</member>
18967
<member name="M:Tao.Sdl.Sdl.SDL_WM_ToggleFullScreen(System.IntPtr)">
18968
<summary>
18969
Toggle fullscreen mode without changing the contents of the screen.
18970
</summary>
18971
<remarks>If the display surface does not require locking before accessing
18972
the pixel information, then the memory pointers will not change.
18973
<p>If this function was able to toggle fullscreen mode (change from
18974
running in a window to fullscreen, or vice-versa),
18975
it will return 1.
18976
If it is not implemented, or fails, it returns 0.</p>
18977
<p>The next call to SDL_SetVideoMode() will set the mode fullscreen
18978
attribute based on the flags parameter - if SDL_FULLSCREEN is not
18979
set, then the display will be windowed by default where supported.</p>
18980
<p>This is currently only implemented in the X11 video driver.</p>
18981
<p>Binds to C-function call in SDL_video.h:
18982
<code>int SDL_WM_ToggleFullScreen(SDL_Surface *surface);</code></p>
18983
</remarks>
18984
<param name="surface"></param>
18985
<returns>Returns 0 on failure or 1 on success.</returns>
18986
</member>
18987
<member name="M:Tao.Sdl.Sdl.SDL_WM_GrabInput(System.Int32)">
18988
<summary>
18989
Grabs mouse and keyboard input.
18990
</summary>
18991
<remarks>
18992
Grabbing means that the mouse is confined to the application
18993
window,
18994
and nearly all keyboard input is passed directly to the
18995
application,
18996
and not interpreted by a window manager, if any.
18997
<p>
18998
When mode is SDL_GRAB_QUERY the grab mode is not changed, but the current grab mode is returned.
18999
</p>
19000
<p>Binds to C-function call in SDL_video.h:
19001
<code>SDL_GrabMode SDL_WM_GrabInput(SDL_GrabMode mode)</code></p>
19002
</remarks>
19003
<param name="mode">SDL_GrabMode</param>
19004
<returns>The current/new SDL_GrabMode.
19005
</returns>
19006
</member>
19007
<member name="P:Tao.Sdl.Sdl.AUDIO_U16SYS">
19008
<summary>
19009
Native audio byte ordering
19010
</summary>
19011
<remarks>
19012
<p>Based on code from SDL_audio.h
19013
<code>
19014
#if SDL_BYTEORDER == SDL_LIL_ENDIAN
19015
#define AUDIO_U16SYS AUDIO_U16LSB
19016
#define AUDIO_S16SYS AUDIO_S16LSB
19017
#else
19018
#define AUDIO_U16SYS AUDIO_U16MSB
19019
#define AUDIO_S16SYS AUDIO_S16MSB
19020
#endif
19021
</code>
19022
</p>
19023
</remarks>
19024
</member>
19025
<member name="P:Tao.Sdl.Sdl.AUDIO_S16SYS">
19026
<summary>
19027
Native audio byte ordering
19028
</summary>
19029
<remarks>
19030
<p>Based on code from SDL_audio.h
19031
<code>
19032
#if SDL_BYTEORDER == SDL_LIL_ENDIAN
19033
#define AUDIO_U16SYS AUDIO_U16LSB
19034
#define AUDIO_S16SYS AUDIO_S16LSB
19035
#else
19036
#define AUDIO_U16SYS AUDIO_U16MSB
19037
#define AUDIO_S16SYS AUDIO_S16MSB
19038
#endif
19039
</code>
19040
</p>
19041
</remarks>
19042
</member>
19043
<member name="P:Tao.Sdl.Sdl.SDL_BYTEORDER">
19044
<summary>
19045
Returns the endianness of the host system.
19046
</summary>
19047
<remarks>
19048
</remarks>
19049
<returns>Returns the endianness of the host system.</returns>
19050
</member>
19051
<member name="P:Tao.Sdl.Sdl.SDL_COMPILEDVERSION">
19052
<summary>
19053
This returns the current SDL version
19054
</summary>
19055
<remarks>
19056
<p>
19057
Binds to C-function call in SDL_version.h:
19058
<code>#define SDL_COMPILEDVERSION SDL_VERSIONNUM(SDL_MAJOR_VERSION, SDL_MINOR_VERSION, SDL_PATCHLEVEL)</code>
19059
</p>
19060
</remarks>
19061
<returns>
19062
Returns the version number as a numeric value: (1.2.7 -> 1207)
19063
</returns>
19064
</member>
19065
<member name="T:Tao.Sdl.Sdl.SDL_AudioSpec">
19066
<summary>
19067
Audio Specification Structure
19068
</summary>
19069
<remarks>The calculated values in this structure are
19070
calculated by SDL_OpenAudio()
19071
The SDL_AudioSpec structure is used to describe the format of some
19072
audio data. This structure is used by SDL_OpenAudio and SDL_LoadWAV.
19073
While all fields are used by <see cref="M:Tao.Sdl.Sdl.SDL_OpenAudio(System.IntPtr,System.IntPtr)"/> only
19074
freq, format, samples
19075
and channels are used by <see cref="M:Tao.Sdl.Sdl.SDL_LoadWAV(System.String,System.IntPtr@,System.IntPtr@,System.Int32@)"/>.
19076
We will detail these common members here.
19077
<p>Marshals C-struct in SDL_audio.h:
19078
<code>
19079
typedef struct{
19080
int freq;
19081
Uint16 format;
19082
Uint8 channels;
19083
Uint8 silence;
19084
Uint16 samples;
19085
Uint32 size;
19086
void (*callback)(void *userdata, Uint8 *stream, int len);
19087
void *userdata;
19088
} SDL_AudioSpec;
19089
</code></p>
19090
</remarks>
19091
<seealso cref="M:Tao.Sdl.Sdl.SDL_OpenAudio(System.IntPtr,System.IntPtr)"/>
19092
<seealso cref="M:Tao.Sdl.Sdl.SDL_LoadWAV(System.String,System.IntPtr@,System.IntPtr@,System.Int32@)"/>
19093
</member>
19094
<member name="F:Tao.Sdl.Sdl.SDL_AudioSpec.freq">
19095
<summary>
19096
Audio frequency in samples per second
19097
</summary>
19098
<remarks>
19099
The number of samples sent to the sound device every second.
19100
Common values are 11025, 22050 and 44100. The higher the better.
19101
</remarks>
19102
</member>
19103
<member name="F:Tao.Sdl.Sdl.SDL_AudioSpec.format">
19104
<summary>
19105
Audio data format.
19106
</summary>
19107
<remarks>
19108
Specifies the size and type of each sample element.
19109
<list type="table">
19110
<item>
19111
<term><see cref="F:Tao.Sdl.Sdl.AUDIO_U8"/></term>
19112
<description>Unsigned 8-bit samples</description>
19113
</item>
19114
<item>
19115
<term><see cref="F:Tao.Sdl.Sdl.AUDIO_S8"/></term>
19116
<description>Signed 8-bit samples</description>
19117
</item>
19118
<item>
19119
<term><see cref="F:Tao.Sdl.Sdl.AUDIO_U16"/> <see cref="F:Tao.Sdl.Sdl.AUDIO_U16LSB"/></term>
19120
<description>Unsigned 16-bit little-endian samples</description>
19121
</item>
19122
<item>
19123
<term><see cref="F:Tao.Sdl.Sdl.AUDIO_S16"/> <see cref="F:Tao.Sdl.Sdl.AUDIO_S16LSB"/></term>
19124
<description>Signed 16-bit little-endian samples</description>
19125
</item>
19126
<item>
19127
<term><see cref="F:Tao.Sdl.Sdl.AUDIO_U16MSB"/></term>
19128
<description>Unsigned 16-bit big-endian samples</description>
19129
</item>
19130
<item>
19131
<term><see cref="F:Tao.Sdl.Sdl.AUDIO_S16MSB"/></term>
19132
<description>Signed 16-bit big-endian samples</description>
19133
</item>
19134
<item>
19135
<term><see cref="P:Tao.Sdl.Sdl.AUDIO_U16SYS"/></term>
19136
<description>Either AUDIO_U16LSB or
19137
AUDIO_U16MSB depending on you systems endianness
19138
</description>
19139
</item>
19140
<item>
19141
<term><see cref="P:Tao.Sdl.Sdl.AUDIO_S16SYS"/></term>
19142
<description>Either AUDIO_S16LSB or
19143
AUDIO_S16MSB depending on you systems endianness
19144
</description>
19145
</item>
19146
</list>
19147
</remarks>
19148
</member>
19149
<member name="F:Tao.Sdl.Sdl.SDL_AudioSpec.channels">
19150
<summary>
19151
Number of channels: 1 mono, 2 stereo.
19152
</summary>
19153
<remarks>
19154
The number of seperate sound channels.
19155
1 is mono (single channel), 2 is stereo (dual channel).
19156
</remarks>
19157
</member>
19158
<member name="F:Tao.Sdl.Sdl.SDL_AudioSpec.silence">
19159
<summary>
19160
Audio buffer silence value (calculated).
19161
</summary>
19162
</member>
19163
<member name="F:Tao.Sdl.Sdl.SDL_AudioSpec.samples">
19164
<summary>
19165
Audio buffer size in samples.
19166
</summary>
19167
<remarks>
19168
When used with <see cref="M:Tao.Sdl.Sdl.SDL_OpenAudio(System.IntPtr,System.IntPtr)"/> this refers
19169
to the size of the
19170
audio buffer in samples. A sample a chunk of audio data
19171
of the size specified in format mulitplied by the number
19172
of channels. When the SDL_AudioSpec is used with
19173
<see cref="M:Tao.Sdl.Sdl.SDL_LoadWAV(System.String,System.IntPtr@,System.IntPtr@,System.Int32@)"/> samples is set to 4096.
19174
</remarks>
19175
</member>
19176
<member name="F:Tao.Sdl.Sdl.SDL_AudioSpec.padding">
19177
<summary>
19178
Necessary for some compile environments. Should not be used
19179
</summary>
19180
</member>
19181
<member name="F:Tao.Sdl.Sdl.SDL_AudioSpec.size">
19182
<summary>
19183
Audio buffer size in bytes (calculated)
19184
</summary>
19185
</member>
19186
<member name="F:Tao.Sdl.Sdl.SDL_AudioSpec.callback">
19187
<summary>
19188
Callback function for filling the audio buffer
19189
This function is called when the audio device needs more data.
19190
'stream' is a pointer to the audio data buffer
19191
'len' is the length of that buffer in bytes.
19192
Once the callback returns, the buffer will no longer be valid.
19193
Stereo samples are stored in a LRLRLR ordering.
19194
</summary>
19195
</member>
19196
<member name="F:Tao.Sdl.Sdl.SDL_AudioSpec.userdata">
19197
<summary>
19198
Pointer the user data which is passed to the callback function
19199
</summary>
19200
</member>
19201
<member name="T:Tao.Sdl.Sdl.SDL_AudioCVT">
19202
<summary>
19203
Audio Conversion Structure
19204
</summary>
19205
<remarks>
19206
The SDL_AudioCVT is used to convert audio data between different
19207
formats. A SDL_AudioCVT structure is created with the
19208
<see cref="M:Tao.Sdl.Sdl.SDL_BuildAudioCVT(System.IntPtr,System.Int16,System.Byte,System.Int32,System.Int16,System.Byte,System.Int32)"/> function, while the actual
19209
conversion is done by the SDL_ConvertAudio function.
19210
<p>Many of the fields in the <see cref="T:Tao.Sdl.Sdl.SDL_AudioCVT"/>
19211
structure should be considered private and their function
19212
will not be discussed here.</p>
19213
<p>
19214
<code>
19215
typedef struct{
19216
int needed;
19217
Uint16 src_format;
19218
Uint16 dest_format;
19219
double rate_incr;
19220
Uint8 *buf;
19221
int len;
19222
int len_cvt;
19223
int len_mult;
19224
double len_ratio;
19225
void (*filters[10])(struct SDL_AudioCVT *cvt, Uint16 format);
19226
int filter_index;
19227
} SDL_AudioCVT;
19228
</code></p>
19229
</remarks>
19230
<seealso cref="M:Tao.Sdl.Sdl.SDL_BuildAudioCVT(System.IntPtr,System.Int16,System.Byte,System.Int32,System.Int16,System.Byte,System.Int32)"/>
19231
<seealso cref="M:Tao.Sdl.Sdl.SDL_ConvertAudio(System.IntPtr)"/>
19232
<seealso cref="T:Tao.Sdl.Sdl.SDL_AudioSpec"/>
19233
</member>
19234
<member name="F:Tao.Sdl.Sdl.SDL_AudioCVT.needed">
19235
<summary>
19236
Set to 1 if conversion possible
19237
</summary>
19238
</member>
19239
<member name="F:Tao.Sdl.Sdl.SDL_AudioCVT.src_format">
19240
<summary>
19241
Audio format of the source
19242
</summary>
19243
</member>
19244
<member name="F:Tao.Sdl.Sdl.SDL_AudioCVT.dst_format">
19245
<summary>
19246
Audio format of the destination
19247
</summary>
19248
</member>
19249
<member name="F:Tao.Sdl.Sdl.SDL_AudioCVT.rate_incr">
19250
<summary>
19251
Rate conversion increment
19252
</summary>
19253
</member>
19254
<member name="F:Tao.Sdl.Sdl.SDL_AudioCVT.buf">
19255
<summary>
19256
Buffer to hold entire audio data
19257
</summary>
19258
<remarks>
19259
This points to the audio data that will be used in the
19260
conversion. It is both the source and the destination,
19261
which means the converted audio data overwrites the original
19262
data. It also means that the converted data may be larger
19263
than the original data (if you were converting from 8-bit
19264
to 16-bit, for instance), so you must ensure buf is large
19265
enough. See below.
19266
<p>IntPtr to byte</p>
19267
</remarks>
19268
</member>
19269
<member name="F:Tao.Sdl.Sdl.SDL_AudioCVT.len">
19270
<summary>
19271
Length of original audio buffer in bytes
19272
</summary>
19273
</member>
19274
<member name="F:Tao.Sdl.Sdl.SDL_AudioCVT.len_cvt">
19275
<summary>
19276
Length of converted audio buffer in bytes (calculated)
19277
</summary>
19278
<remarks>
19279
This is the length of the original audio data in bytes.
19280
</remarks>
19281
</member>
19282
<member name="F:Tao.Sdl.Sdl.SDL_AudioCVT.len_mult">
19283
<summary>
19284
buf must be len*len_mult bytes in size(calculated)
19285
</summary>
19286
<remarks>
19287
As explained above, the audio buffer needs to be big enough
19288
to store the converted data, which may be bigger than the
19289
original audio data. The length of buf should be len*len_mult.
19290
</remarks>
19291
</member>
19292
<member name="F:Tao.Sdl.Sdl.SDL_AudioCVT.len_ratio">
19293
<summary>
19294
Final audio size is len*len_ratio
19295
</summary>
19296
<remarks>
19297
When you have finished converting your audio data, you need
19298
to know how much of your audio buffer is valid. len*len_ratio
19299
is the size of the converted audio data in bytes. This is
19300
very similar to len_mult, however when the convert audio
19301
data is shorter than the original len_mult would be 1.
19302
len_ratio, on the other hand, would be a fractional
19303
number between 0 and 1.
19304
</remarks>
19305
</member>
19306
<member name="F:Tao.Sdl.Sdl.SDL_AudioCVT.filter_index">
19307
<summary>
19308
Current audio conversion function
19309
</summary>
19310
</member>
19311
<member name="T:Tao.Sdl.Sdl.SDL_CDtrack">
19312
<summary>
19313
CD Track Information Structure
19314
</summary>
19315
<remarks>
19316
SDL_CDtrack stores data on each track on a CD,
19317
its fields should be pretty self explainatory.
19318
It is a member a the <see cref="T:Tao.Sdl.Sdl.SDL_CD"/> structure.
19319
<p>Note: Frames can be converted to standard timings.
19320
There are CD_FPS frames per second,
19321
so SDL_CDtrack.length/CD_FPS=length_in_seconds.</p>
19322
<p>Struct in SDL_cdrom.h
19323
<code>
19324
typedef struct{
19325
Uint8 id;
19326
Uint8 type;
19327
Uint32 length;
19328
Uint32 offset;
19329
} SDL_CDtrack;
19330
</code></p>
19331
</remarks>
19332
<seealso cref="T:Tao.Sdl.Sdl.SDL_CD"/>
19333
</member>
19334
<member name="F:Tao.Sdl.Sdl.SDL_CDtrack.id">
19335
<summary>
19336
Track number(0-99)
19337
</summary>
19338
</member>
19339
<member name="F:Tao.Sdl.Sdl.SDL_CDtrack.type">
19340
<summary>
19341
Data or audio track
19342
</summary>
19343
<remarks>
19344
SDL_AUDIO_TRACK or SDL_DATA_TRACK
19345
</remarks>
19346
</member>
19347
<member name="F:Tao.Sdl.Sdl.SDL_CDtrack.unused">
19348
<summary>
19349
Unused
19350
</summary>
19351
</member>
19352
<member name="F:Tao.Sdl.Sdl.SDL_CDtrack.length">
19353
<summary>
19354
Length, in frames, of this track
19355
</summary>
19356
</member>
19357
<member name="F:Tao.Sdl.Sdl.SDL_CDtrack.offset">
19358
<summary>
19359
Offset, in frames, from start of disk
19360
</summary>
19361
</member>
19362
<member name="T:Tao.Sdl.Sdl.SDL_CD">
19363
<summary>
19364
CDROM Drive Information.
19365
</summary>
19366
<remarks>
19367
An SDL_CD structure is returned by <see cref="M:Tao.Sdl.Sdl.SDL_CDOpen(System.Int32)"/>.
19368
It represents an
19369
opened CDROM device and stores information on the layout of the
19370
tracks on the disc.
19371
<p>A frame is the base data unit of a CD. CD_FPS frames is equal
19372
to 1 second of music. SDL provides two macros for converting
19373
between time and frames: FRAMES_TO_MSF(f, M,S,F) and
19374
MSF_TO_FRAMES.</p>
19375
<p>Struct from SDL_cdrom.h
19376
<code>
19377
typedef struct{
19378
int id;
19379
CDstatus status;
19380
int numtracks;
19381
int cur_track;
19382
int cur_frame;
19383
SDL_CDtrack track[SDL_MAX_TRACKS+1];
19384
} SDL_CD;
19385
</code></p>
19386
</remarks>
19387
<example>
19388
<code>
19389
int min, sec, frame;
19390
int frame_offset;
19391
19392
FRAMES_TO_MSF(cdrom-&gt;cur_frame, &amp;min, &amp;sec, &amp;frame);
19393
printf("Current Position: %d minutes, %d seconds, %d frames\n", min, sec, frame);
19394
19395
frame_offset=MSF_TO_FRAMES(min, sec, frame);
19396
</code>
19397
</example>
19398
<seealso cref="M:Tao.Sdl.Sdl.SDL_CDOpen(System.Int32)"/>
19399
<seealso cref="T:Tao.Sdl.Sdl.SDL_CDtrack"/>
19400
</member>
19401
<member name="F:Tao.Sdl.Sdl.SDL_CD.id">
19402
<summary>
19403
Private drive identifier
19404
</summary>
19405
</member>
19406
<member name="F:Tao.Sdl.Sdl.SDL_CD.status">
19407
<summary>
19408
Current drive status
19409
</summary>
19410
<remarks>
19411
SDL_CDStatus enum
19412
</remarks>
19413
</member>
19414
<member name="F:Tao.Sdl.Sdl.SDL_CD.numtracks">
19415
<summary>
19416
Number of tracks on the CD
19417
</summary>
19418
</member>
19419
<member name="F:Tao.Sdl.Sdl.SDL_CD.cur_track">
19420
<summary>
19421
Current track
19422
</summary>
19423
</member>
19424
<member name="F:Tao.Sdl.Sdl.SDL_CD.cur_frame">
19425
<summary>
19426
Current frame offset within current track
19427
</summary>
19428
</member>
19429
<member name="F:Tao.Sdl.Sdl.SDL_CD.track">
19430
<summary>
19431
Array of track descriptions. (see <see cref="T:Tao.Sdl.Sdl.SDL_CDtrack"/>)
19432
</summary>
19433
</member>
19434
<member name="M:Tao.Sdl.Sdl.SDL_CD.#ctor">
19435
<summary>
19436
19437
</summary>
19438
</member>
19439
<member name="T:Tao.Sdl.Sdl.SDL_CDTrackData">
19440
<summary>
19441
19442
</summary>
19443
</member>
19444
<member name="M:Tao.Sdl.Sdl.SDL_CDTrackData.#ctor">
19445
<summary>
19446
19447
</summary>
19448
</member>
19449
<member name="P:Tao.Sdl.Sdl.SDL_CDTrackData.Item(System.Int32)">
19450
<summary>
19451
19452
</summary>
19453
</member>
19454
<member name="T:Tao.Sdl.Sdl.SDL_ActiveEvent">
19455
<summary>
19456
Application visibility event structure.
19457
</summary>
19458
<remarks>
19459
SDL_ActiveEvent is a member of the <see cref="T:Tao.Sdl.Sdl.SDL_Event"/>
19460
union and is used when an event of type SDL_ACTIVEEVENT
19461
is reported.
19462
<p>When the mouse leaves or enters the window area a
19463
SDL_APPMOUSEFOCUS type activation event occurs, if the
19464
mouse entered the window then gain will be 1, otherwise
19465
gain will be 0. A SDL_APPINPUTFOCUS type activation event
19466
occurs when the application loses or gains keyboard focus.
19467
This usually occurs when another application is made active.
19468
Finally, a SDL_APPACTIVE type event occurs when the application
19469
is either minimised/iconified (gain=0) or restored.</p>
19470
<p>Note: This event does not occur when an application window is
19471
first created.</p>
19472
<p>Struct in SDL_events.h
19473
<code>
19474
typedef struct{
19475
Uint8 type;
19476
Uint8 gain;
19477
Uint8 state;
19478
} SDL_ActiveEvent;
19479
</code></p>
19480
</remarks>
19481
<seealso cref="T:Tao.Sdl.Sdl.SDL_Event"/>
19482
<seealso cref="M:Tao.Sdl.Sdl.SDL_GetAppState"/>
19483
</member>
19484
<member name="F:Tao.Sdl.Sdl.SDL_ActiveEvent.type">
19485
<summary>
19486
SDL_ACTIVEEVENT
19487
</summary>
19488
</member>
19489
<member name="F:Tao.Sdl.Sdl.SDL_ActiveEvent.gain">
19490
<summary>
19491
0 if the event is a loss or 1 if it is a gain.
19492
</summary>
19493
</member>
19494
<member name="F:Tao.Sdl.Sdl.SDL_ActiveEvent.state">
19495
<summary>
19496
SDL_APPMOUSEFOCUS if mouse focus was gained or lost,
19497
SDL_APPINPUTFOCUS if input focus was gained or lost,
19498
or SDL_APPACTIVE if the application was iconified
19499
(gain=0) or restored(gain=1).
19500
</summary>
19501
</member>
19502
<member name="T:Tao.Sdl.Sdl.SDL_KeyboardEvent">
19503
<summary>
19504
Keyboard event structure
19505
</summary>
19506
<remarks>
19507
SDL_KeyboardEvent is a member of the <see cref="T:Tao.Sdl.Sdl.SDL_Event"/> union
19508
and is used when an event of type SDL_KEYDOWN or SDL_KEYUP is
19509
reported.
19510
<p>The type and state actually report the same information,
19511
they just use different values to do it! A keyboard event occurs
19512
when a key is released (type=SDK_KEYUP or state=SDL_RELEASED)
19513
and when a key is pressed (type=SDL_KEYDOWN or state=SDL_PRESSED).
19514
The information on what key was pressed or released is in the
19515
<see cref="T:Tao.Sdl.Sdl.SDL_keysym"/> structure.</p>
19516
<p>Note: Repeating SDL_KEYDOWN events will occur if key repeat
19517
is enabled (see <see cref="M:Tao.Sdl.Sdl.SDL_EnableKeyRepeat(System.Int32,System.Int32)"/>).</p>
19518
<p>Struct in SDL_events.h
19519
<code>
19520
typedef struct{
19521
Uint8 type;
19522
Uint8 state;
19523
SDL_keysym keysym;
19524
} SDL_KeyboardEvent;
19525
</code></p>
19526
</remarks>
19527
<seealso cref="T:Tao.Sdl.Sdl.SDL_Event"/>
19528
<seealso cref="T:Tao.Sdl.Sdl.SDL_keysym"/>
19529
<seealso cref="M:Tao.Sdl.Sdl.SDL_EnableKeyRepeat(System.Int32,System.Int32)"/>
19530
<seealso cref="M:Tao.Sdl.Sdl.SDL_EnableUNICODE(System.Int32)"/>
19531
</member>
19532
<member name="F:Tao.Sdl.Sdl.SDL_KeyboardEvent.type">
19533
<summary>
19534
SDL_KEYDOWN or SDL_KEYUP
19535
</summary>
19536
</member>
19537
<member name="F:Tao.Sdl.Sdl.SDL_KeyboardEvent.which">
19538
<summary>
19539
The keyboard device index
19540
</summary>
19541
</member>
19542
<member name="F:Tao.Sdl.Sdl.SDL_KeyboardEvent.state">
19543
<summary>
19544
SDL_PRESSED or SDL_RELEASED
19545
</summary>
19546
</member>
19547
<member name="F:Tao.Sdl.Sdl.SDL_KeyboardEvent.keysym">
19548
<summary>
19549
Contains key press information
19550
</summary>
19551
</member>
19552
<member name="T:Tao.Sdl.Sdl.SDL_MouseMotionEvent">
19553
<summary>
19554
Mouse motion event structure
19555
</summary>
19556
<remarks>
19557
SDL_MouseMotionEvent is a member of the <see cref="T:Tao.Sdl.Sdl.SDL_Event"/>
19558
union and is
19559
used when an event of type SDL_MOUSEMOTION is reported.
19560
<p>Simply put, a SDL_MOUSEMOTION type event occurs when a user
19561
moves the mouse within the application window or when
19562
<see cref="M:Tao.Sdl.Sdl.SDL_WarpMouse(System.Int16,System.Int16)"/>
19563
is called. Both the absolute (x and y) and relative (xrel and yrel
19564
) coordinates are reported along with the current button states
19565
(state). The button state can be interpreted using the SDL_BUTTON
19566
macro (see <see cref="M:Tao.Sdl.Sdl.SDL_GetMouseState(System.Int32@,System.Int32@)"/>).</p>
19567
<p>If the cursor is hidden (<see cref="M:Tao.Sdl.Sdl.SDL_ShowCursor(System.Int32)"/>(0))
19568
and the input is
19569
grabbed (<see cref="M:Tao.Sdl.Sdl.SDL_WM_GrabInput(System.Int32)"/>(SDL_GRAB_ON)),
19570
then the mouse will give
19571
relative motion events even when the cursor reaches the edge fo
19572
the screen. This is currently only implemented on Windows and
19573
Linux/Unix-a-likes.</p>
19574
<p>Struct in SDL_events.h
19575
<code>
19576
typedef struct{
19577
Uint8 type;
19578
Uint8 which;
19579
Uint8 state;
19580
Uint16 x, y;
19581
Sint16 xrel, yrel;
19582
} SDL_MouseMotionEvent;
19583
</code></p>
19584
</remarks>
19585
<seealso cref="T:Tao.Sdl.Sdl.SDL_Event"/>
19586
<seealso cref="T:Tao.Sdl.Sdl.SDL_MouseButtonEvent"/>
19587
</member>
19588
<member name="F:Tao.Sdl.Sdl.SDL_MouseMotionEvent.type">
19589
<summary>
19590
SDL_MOUSEMOTION
19591
</summary>
19592
</member>
19593
<member name="F:Tao.Sdl.Sdl.SDL_MouseMotionEvent.which">
19594
<summary>
19595
The mouse device index
19596
</summary>
19597
</member>
19598
<member name="F:Tao.Sdl.Sdl.SDL_MouseMotionEvent.state">
19599
<summary>
19600
The current button state
19601
</summary>
19602
</member>
19603
<member name="F:Tao.Sdl.Sdl.SDL_MouseMotionEvent.x">
19604
<summary>
19605
The X coordinate of the mouse
19606
</summary>
19607
</member>
19608
<member name="F:Tao.Sdl.Sdl.SDL_MouseMotionEvent.y">
19609
<summary>
19610
The Y coordinate of the mouse
19611
</summary>
19612
</member>
19613
<member name="F:Tao.Sdl.Sdl.SDL_MouseMotionEvent.xrel">
19614
<summary>
19615
The relative motion in the X direction
19616
</summary>
19617
</member>
19618
<member name="F:Tao.Sdl.Sdl.SDL_MouseMotionEvent.yrel">
19619
<summary>
19620
The relative motion in the Y direction
19621
</summary>
19622
</member>
19623
<member name="T:Tao.Sdl.Sdl.SDL_MouseButtonEvent">
19624
<summary>
19625
Mouse button event structure
19626
</summary>
19627
<remarks>
19628
SDL_MouseButtonEvent is a member of the <see cref="T:Tao.Sdl.Sdl.SDL_Event"/>
19629
union and is used when an event of type SDL_MOUSEBUTTONDOWN or
19630
SDL_MOUSEBUTTONUP is reported.
19631
<p>When a mouse button press or release is detected then number
19632
of the button pressed (from 1 to 255, with 1 usually being the
19633
left button and 2 the right) is placed into button, the position
19634
of the mouse when this event occured is stored in the x and the
19635
y fields. Like <see cref="T:Tao.Sdl.Sdl.SDL_KeyboardEvent"/>, information on
19636
whether the event was a press or a release event is stored in
19637
both the type and state fields, but this should be obvious.
19638
</p>
19639
<p>Struct in SDL_events.h
19640
<code>
19641
typedef struct{
19642
Uint8 type;
19643
Uint8 button;
19644
Uint8 state;
19645
Uint16 x, y;
19646
} SDL_MouseButtonEvent;
19647
</code>
19648
</p>
19649
</remarks>
19650
<seealso cref="T:Tao.Sdl.Sdl.SDL_Event"/>
19651
<seealso cref="T:Tao.Sdl.Sdl.SDL_MouseMotionEvent"/>
19652
</member>
19653
<member name="F:Tao.Sdl.Sdl.SDL_MouseButtonEvent.type">
19654
<summary>
19655
SDL_MOUSEBUTTONDOWN or SDL_MOUSEBUTTONUP
19656
</summary>
19657
</member>
19658
<member name="F:Tao.Sdl.Sdl.SDL_MouseButtonEvent.which">
19659
<summary>
19660
The mouse device index
19661
</summary>
19662
</member>
19663
<member name="F:Tao.Sdl.Sdl.SDL_MouseButtonEvent.button">
19664
<summary>
19665
The mouse button index (SDL_BUTTON_LEFT,
19666
SDL_BUTTON_MIDDLE, SDL_BUTTON_RIGHT)
19667
</summary>
19668
</member>
19669
<member name="F:Tao.Sdl.Sdl.SDL_MouseButtonEvent.state">
19670
<summary>
19671
SDL_PRESSED or SDL_RELEASED
19672
</summary>
19673
</member>
19674
<member name="F:Tao.Sdl.Sdl.SDL_MouseButtonEvent.x">
19675
<summary>
19676
The X coordinate of the mouse at press/release time
19677
</summary>
19678
</member>
19679
<member name="F:Tao.Sdl.Sdl.SDL_MouseButtonEvent.y">
19680
<summary>
19681
The Y coordinate of the mouse at press/release time
19682
</summary>
19683
</member>
19684
<member name="T:Tao.Sdl.Sdl.SDL_JoyAxisEvent">
19685
<summary>
19686
Joystick axis motion event structure
19687
</summary>
19688
<remarks>
19689
SDL_JoyAxisEvent is a member of the <see cref="T:Tao.Sdl.Sdl.SDL_Event"/> union
19690
and is used when an event of type SDL_JOYAXISMOTION is reported.
19691
<p>A SDL_JOYAXISMOTION event occurs when ever a user moves an
19692
axis on the joystick. The field which is the index of the
19693
joystick that reported the event and axis is the index of the
19694
axis (for a more detailed explaination see the Joystick section).
19695
value is the current position of the axis.</p>
19696
<p>
19697
<code>Struct in SDL_cdrom.h
19698
typedef struct{
19699
Uint8 type;
19700
Uint8 which;
19701
Uint8 axis;
19702
Sint16 value;
19703
} SDL_JoyAxisEvent;
19704
</code></p>
19705
</remarks>
19706
<seealso cref="T:Tao.Sdl.Sdl.SDL_Event"/>
19707
<seealso cref="M:Tao.Sdl.Sdl.SDL_JoystickEventState(System.Int32)"/>
19708
<seealso cref="M:Tao.Sdl.Sdl.SDL_JoystickGetAxis(System.IntPtr,System.Int32)"/>
19709
</member>
19710
<member name="F:Tao.Sdl.Sdl.SDL_JoyAxisEvent.type">
19711
<summary>
19712
SDL_JOYAXISMOTION
19713
</summary>
19714
</member>
19715
<member name="F:Tao.Sdl.Sdl.SDL_JoyAxisEvent.which">
19716
<summary>
19717
The joystick device index
19718
</summary>
19719
</member>
19720
<member name="F:Tao.Sdl.Sdl.SDL_JoyAxisEvent.axis">
19721
<summary>
19722
Joystick axis index
19723
</summary>
19724
</member>
19725
<member name="F:Tao.Sdl.Sdl.SDL_JoyAxisEvent.val">
19726
<summary>
19727
Axis value (range: -32768 to 32767)
19728
</summary>
19729
</member>
19730
<member name="T:Tao.Sdl.Sdl.SDL_JoyBallEvent">
19731
<summary>
19732
Joystick trackball motion event structure
19733
</summary>
19734
<remarks>
19735
SDL_JoyBallEvent is a member of the <see cref="T:Tao.Sdl.Sdl.SDL_Event"/> union
19736
and is used when an event of type SDL_JOYBALLMOTION is reported.
19737
<p>A SDL_JOYBALLMOTION event occurs when a user moves a trackball
19738
on the joystick. The field which is the index of the joystick
19739
that reported the event and ball is the index of the trackball
19740
(for a more detailed explaination see the Joystick section).
19741
Trackballs only return relative motion, this is the change
19742
in position on the ball since it was last polled (last cycle
19743
of the event loop) and it is stored in xrel and yrel.</p>
19744
<p>Struct in SDL_events.h
19745
<code>
19746
typedef struct{
19747
Uint8 type;
19748
Uint8 which;
19749
Uint8 ball;
19750
Sint16 xrel, yrel;
19751
} SDL_JoyBallEvent;
19752
</code></p></remarks>
19753
<seealso cref="T:Tao.Sdl.Sdl.SDL_Event"/>
19754
<seealso cref="M:Tao.Sdl.Sdl.SDL_JoystickEventState(System.Int32)"/>
19755
<seealso cref="M:Tao.Sdl.Sdl.SDL_JoystickGetBall(System.IntPtr,System.Int32,System.Int32@,System.Int32@)"/>
19756
</member>
19757
<member name="F:Tao.Sdl.Sdl.SDL_JoyBallEvent.type">
19758
<summary>
19759
SDL_JOYBALLMOTION
19760
</summary>
19761
</member>
19762
<member name="F:Tao.Sdl.Sdl.SDL_JoyBallEvent.which">
19763
<summary>
19764
The joystick device index
19765
</summary>
19766
</member>
19767
<member name="F:Tao.Sdl.Sdl.SDL_JoyBallEvent.ball">
19768
<summary>
19769
The joystick trackball index
19770
</summary>
19771
</member>
19772
<member name="F:Tao.Sdl.Sdl.SDL_JoyBallEvent.xrel">
19773
<summary>
19774
The relative motion in the X direction
19775
</summary>
19776
</member>
19777
<member name="F:Tao.Sdl.Sdl.SDL_JoyBallEvent.yrel">
19778
<summary>
19779
The relative motion in the Y direction
19780
</summary>
19781
</member>
19782
<member name="T:Tao.Sdl.Sdl.SDL_JoyHatEvent">
19783
<summary>
19784
Joystick hat position change event structure
19785
</summary>
19786
<remarks>
19787
SDL_JoyHatEvent is a member of the <see cref="T:Tao.Sdl.Sdl.SDL_Event"/> union
19788
and is used when an event of type SDL_JOYHATMOTION is reported.
19789
<p>A SDL_JOYHATMOTION event occurs when ever a user moves a hat
19790
on the joystick. The field which is the index of the joystick that
19791
reported the event and hat is the index of the hat (for a more
19792
detailed exlaination see the Joystick section). value is the
19793
current position of the hat. It is a logically OR'd combination
19794
of the following values (whose meanings should be pretty
19795
obvious:) :</p>
19796
<p>SDL_HAT_CENTERED</p>
19797
<p>SDL_HAT_UP</p>
19798
<p>SDL_HAT_RIGHT</p>
19799
<p>SDL_HAT_DOWN</p>
19800
<p>SDL_HAT_LEFT</p>
19801
<p>The following defines are also provided:</p>
19802
<p>SDL_HAT_RIGHTUP</p>
19803
<p>SDL_HAT_RIGHTDOWN</p>
19804
<p>SDL_HAT_LEFTUP</p>
19805
<p>SDL_HAT_LEFTDOWN</p>
19806
<p>Struct from SDL_events.h
19807
<code>
19808
typedef struct{
19809
Uint8 type;
19810
Uint8 which;
19811
Uint8 hat;
19812
Uint8 value;
19813
} SDL_JoyHatEvent;
19814
</code></p></remarks>
19815
<seealso cref="T:Tao.Sdl.Sdl.SDL_Event"/>
19816
<seealso cref="M:Tao.Sdl.Sdl.SDL_JoystickEventState(System.Int32)"/>
19817
<seealso cref="M:Tao.Sdl.Sdl.SDL_JoystickGetHat(System.IntPtr,System.Int32)"/>
19818
</member>
19819
<member name="F:Tao.Sdl.Sdl.SDL_JoyHatEvent.type">
19820
<summary>
19821
SDL_JOYHATMOTION
19822
</summary>
19823
</member>
19824
<member name="F:Tao.Sdl.Sdl.SDL_JoyHatEvent.which">
19825
<summary>
19826
The joystick device index
19827
</summary>
19828
</member>
19829
<member name="F:Tao.Sdl.Sdl.SDL_JoyHatEvent.hat">
19830
<summary>
19831
The joystick hat index
19832
</summary>
19833
</member>
19834
<member name="F:Tao.Sdl.Sdl.SDL_JoyHatEvent.val">
19835
<summary>
19836
The hat position value:
19837
<p><code>SDL_HAT_LEFTUP SDL_HAT_UP SDL_HAT_RIGHTUP
19838
SDL_HAT_LEFT SDL_HAT_CENTERED SDL_HAT_RIGHT
19839
SDL_HAT_LEFTDOWN SDL_HAT_DOWN SDL_HAT_RIGHTDOWN</code></p>
19840
Note that zero means the POV is centered.
19841
</summary>
19842
</member>
19843
<member name="T:Tao.Sdl.Sdl.SDL_JoyButtonEvent">
19844
<summary>
19845
Joystick button event structure
19846
</summary>
19847
<remarks>
19848
SDL_JoyButtonEvent is a member of the <see cref="T:Tao.Sdl.Sdl.SDL_Event"/>
19849
union and is used when an event of type SDL_JOYBUTTONDOWN or
19850
SDL_JOYBUTTONUP is reported.
19851
<p>A SDL_JOYBUTTONDOWN or SDL_JOYBUTTONUP event occurs when ever
19852
a user presses or releases a button on a joystick. The field which
19853
is the index of the joystick that reported the event and button
19854
is the index of the button (for a more detailed explaination see
19855
the Joystick section). state is the current state or the button
19856
which is either SDL_PRESSED or SDL_RELEASED.</p>
19857
<p>Struct from SDL_events.h
19858
<code>
19859
typedef struct{
19860
Uint8 type;
19861
Uint8 which;
19862
Uint8 button;
19863
Uint8 state;
19864
} SDL_JoyButtonEvent;
19865
</code></p></remarks>
19866
<seealso cref="T:Tao.Sdl.Sdl.SDL_Event"/>
19867
<seealso cref="M:Tao.Sdl.Sdl.SDL_JoystickEventState(System.Int32)"/>
19868
<seealso cref="M:Tao.Sdl.Sdl.SDL_JoystickGetButton(System.IntPtr,System.Int32)"/>
19869
</member>
19870
<member name="F:Tao.Sdl.Sdl.SDL_JoyButtonEvent.type">
19871
<summary>
19872
SDL_JOYBUTTONDOWN or SDL_JOYBUTTONUP
19873
</summary>
19874
</member>
19875
<member name="F:Tao.Sdl.Sdl.SDL_JoyButtonEvent.which">
19876
<summary>
19877
The joystick device index
19878
</summary>
19879
</member>
19880
<member name="F:Tao.Sdl.Sdl.SDL_JoyButtonEvent.button">
19881
<summary>
19882
The joystick button index
19883
</summary>
19884
</member>
19885
<member name="F:Tao.Sdl.Sdl.SDL_JoyButtonEvent.state">
19886
<summary>
19887
SDL_PRESSED or SDL_RELEASED
19888
</summary>
19889
</member>
19890
<member name="T:Tao.Sdl.Sdl.SDL_ResizeEvent">
19891
<summary>
19892
Window resized event
19893
</summary>
19894
<remarks>
19895
SDL_ResizeEvent is a member of the <see cref="T:Tao.Sdl.Sdl.SDL_Event"/> union
19896
and is used when an event of type SDL_VIDEORESIZE is reported.
19897
<p>When SDL_RESIZABLE is passed as a flag to
19898
<see cref="M:Tao.Sdl.Sdl.SDL_SetVideoMode(System.Int32,System.Int32,System.Int32,System.Int32)"/> the user is allowed to resize the
19899
applications window. When the window is resized an
19900
SDL_VIDEORESIZE is report, with the new window width and height
19901
values stored in w and h, respectively. When an SDL_VIDEORESIZE
19902
is recieved the window should be resized to the new dimensions
19903
using <see cref="M:Tao.Sdl.Sdl.SDL_SetVideoMode(System.Int32,System.Int32,System.Int32,System.Int32)"/>.</p>
19904
<p>Struct in SDL_events.h
19905
<code>
19906
typedef struct{
19907
Uint8 type;
19908
int w, h;
19909
} SDL_ResizeEvent;
19910
</code></p></remarks>
19911
<seealso cref="T:Tao.Sdl.Sdl.SDL_Event"/>
19912
<seealso cref="M:Tao.Sdl.Sdl.SDL_SetVideoMode(System.Int32,System.Int32,System.Int32,System.Int32)"/>
19913
</member>
19914
<member name="F:Tao.Sdl.Sdl.SDL_ResizeEvent.type">
19915
<summary>
19916
SDL_VIDEORESIZE
19917
</summary>
19918
</member>
19919
<member name="F:Tao.Sdl.Sdl.SDL_ResizeEvent.w">
19920
<summary>
19921
New width of the window
19922
</summary>
19923
</member>
19924
<member name="F:Tao.Sdl.Sdl.SDL_ResizeEvent.h">
19925
<summary>
19926
New height of the window
19927
</summary>
19928
</member>
19929
<member name="T:Tao.Sdl.Sdl.SDL_ExposeEvent">
19930
<summary>
19931
Screen redraw event
19932
</summary>
19933
<remarks>
19934
SDL_ExposeEvent is a member of the <see cref="T:Tao.Sdl.Sdl.SDL_Event"/> union
19935
and is used whan an event of type SDL_VIDEOEXPOSE is reported.
19936
<p>A VIDEOEXPOSE event is triggered when the screen has been
19937
modified outside of the application, usually by the window
19938
manager and needs to be redrawn.</p>
19939
<p>Struct in SDL_events.h
19940
<code>
19941
typedef struct{
19942
Uint8 type
19943
} SDL_ExposeEvent;
19944
</code>
19945
</p>
19946
</remarks>
19947
<seealso cref="T:Tao.Sdl.Sdl.SDL_Event"/>
19948
<seealso cref="M:Tao.Sdl.Sdl.SDL_SetEventFilter(Tao.Sdl.Sdl.SDL_EventFilter)"/>
19949
</member>
19950
<member name="F:Tao.Sdl.Sdl.SDL_ExposeEvent.type">
19951
<summary>
19952
SDL_VIDEOEXPOSE
19953
</summary>
19954
</member>
19955
<member name="T:Tao.Sdl.Sdl.SDL_QuitEvent">
19956
<summary>
19957
Quit requested event
19958
</summary>
19959
<remarks>
19960
SDL_QuitEvent is a member of the <see cref="T:Tao.Sdl.Sdl.SDL_Event"/> union
19961
and is used whan an event of type SDL_QUIT is reported.
19962
<p>As can be seen, the SDL_QuitEvent structure serves no useful
19963
purpose. The event itself, on the other hand, is very important.
19964
If you filter out or ignore a quit event then it is impossible
19965
for the user to close the window. On the other hand, if you do
19966
accept a quit event then the application window will be closed,
19967
and screen updates will still report success event though the
19968
application will no longer be visible.</p>
19969
<p>Note: The macro SDL_QuitRequested will return non-zero if a
19970
quit event is pending</p>
19971
<p>Struct in SDL_events.h
19972
<code>
19973
typedef struct{
19974
Uint8 type
19975
} SDL_QuitEvent;
19976
</code></p></remarks>
19977
<seealso cref="T:Tao.Sdl.Sdl.SDL_Event"/>
19978
<seealso cref="M:Tao.Sdl.Sdl.SDL_SetEventFilter(Tao.Sdl.Sdl.SDL_EventFilter)"/>
19979
</member>
19980
<member name="F:Tao.Sdl.Sdl.SDL_QuitEvent.type">
19981
<summary>
19982
SDL_QUIT
19983
</summary>
19984
</member>
19985
<member name="T:Tao.Sdl.Sdl.SDL_UserEvent">
19986
<summary>
19987
A user-defined event type
19988
</summary>
19989
<remarks>
19990
SDL_UserEvent is in the user member of the structure
19991
<see cref="T:Tao.Sdl.Sdl.SDL_Event"/>. This event is unique, it is never created
19992
by SDL but only by the user. The event can be pushed onto the
19993
event queue using <see cref="M:Tao.Sdl.Sdl.SDL_PushEvent(Tao.Sdl.Sdl.SDL_Event@)"/>.
19994
The contents of the structure
19995
members or completely up to the programmer, the only requirement
19996
is that type is a value from SDL_USEREVENT to SDL_NUMEVENTS-1
19997
(inclusive).
19998
<p>Struct in SDL_events.h
19999
<code>
20000
typedef struct{
20001
Uint8 type;
20002
int code;
20003
void *data1;
20004
void *data2;
20005
} SDL_UserEvent;
20006
</code>
20007
</p>
20008
</remarks>
20009
<example>
20010
<code>
20011
SDL_Event event;
20012
20013
event.type = SDL_USEREVENT;
20014
event.user.code = my_event_code;
20015
event.user.data1 = significant_data;
20016
event.user.data2 = 0;
20017
SDL_PushEvent(&amp;event);
20018
</code>
20019
20020
</example>
20021
<seealso cref="T:Tao.Sdl.Sdl.SDL_Event"/>
20022
<seealso cref="M:Tao.Sdl.Sdl.SDL_PushEvent(Tao.Sdl.Sdl.SDL_Event@)"/>
20023
</member>
20024
<member name="F:Tao.Sdl.Sdl.SDL_UserEvent.type">
20025
<summary>
20026
SDL_USEREVENT through SDL_NUMEVENTS-1
20027
</summary>
20028
</member>
20029
<member name="F:Tao.Sdl.Sdl.SDL_UserEvent.code">
20030
<summary>
20031
User defined event code
20032
</summary>
20033
</member>
20034
<member name="F:Tao.Sdl.Sdl.SDL_UserEvent.data1">
20035
<summary>
20036
User defined data pointer
20037
</summary>
20038
</member>
20039
<member name="F:Tao.Sdl.Sdl.SDL_UserEvent.data2">
20040
<summary>
20041
User defined data pointer
20042
</summary>
20043
</member>
20044
<member name="T:Tao.Sdl.Sdl.SDL_SysWMEvent">
20045
<summary>
20046
Platform-dependent window manager event.
20047
</summary>
20048
<remarks>
20049
The system window manager event contains a pointer to
20050
system-specific information about unknown window manager events.
20051
If you enable this event using <see cref="M:Tao.Sdl.Sdl.SDL_EventState(System.Byte,System.Int32)"/>,
20052
it will be generated whenever unhandled events are received from
20053
the window manager. This can be used, for example, to implement
20054
cut-and-paste in your application.
20055
<p>
20056
If you want to obtain system-specific information about the
20057
window manager, you can fill the version member of a
20058
SDL_SysWMinfo structure (details can be found in SDL_syswm.h,
20059
which must be included) using the SDL_VERSION() macro found
20060
in SDL_version.h, and pass it to the function:
20061
</p>
20062
<p><code>int SDL_GetWMInfo(SDL_SysWMinfo *info);</code></p>
20063
<p>Struct from SDL_events.h
20064
<code>
20065
typedef struct {
20066
Uint8 type; /* Always SDL_SYSWMEVENT */
20067
SDL_SysWMmsg *msg;
20068
} SDL_SysWMEvent;
20069
</code>
20070
</p></remarks>
20071
<seealso cref="M:Tao.Sdl.Sdl.SDL_EventState(System.Byte,System.Int32)"/>
20072
</member>
20073
<member name="F:Tao.Sdl.Sdl.SDL_SysWMEvent.type">
20074
<summary>
20075
20076
</summary>
20077
</member>
20078
<member name="F:Tao.Sdl.Sdl.SDL_SysWMEvent.msg">
20079
<summary>
20080
IntPtr to SDL_SysWMmsg
20081
</summary>
20082
</member>
20083
<member name="T:Tao.Sdl.Sdl.SDL_Event">
20084
<summary>
20085
General event structure
20086
</summary>
20087
<remarks>
20088
The SDL_Event union is the core to all event handling is SDL,
20089
its probably the most important structure after SDL_Surface.
20090
SDL_Event is a union of all event structures used in SDL,
20091
using it is a simple matter of knowing which union member
20092
relates to which event type.
20093
<list type="table">
20094
<listheader>
20095
<term>Event type</term>
20096
<description>Event Structure</description>
20097
</listheader>
20098
<item>
20099
<term>SDL_ACTIVEEVENT</term>
20100
<description><see cref="T:Tao.Sdl.Sdl.SDL_ActiveEvent"/></description>
20101
</item>
20102
<item>
20103
<term>SDL_KEYDOWN</term>
20104
<description><see cref="T:Tao.Sdl.Sdl.SDL_KeyboardEvent"/></description>
20105
</item>
20106
<item>
20107
<term>SDL_KEYUP</term>
20108
<description><see cref="T:Tao.Sdl.Sdl.SDL_KeyboardEvent"/></description>
20109
</item>
20110
<item>
20111
<term>SDL_MOUSEMOTION</term>
20112
<description><see cref="T:Tao.Sdl.Sdl.SDL_MouseMotionEvent"/></description>
20113
</item>
20114
<item>
20115
<term>SDL_MOUSEBUTTONDOWN</term>
20116
<description><see cref="T:Tao.Sdl.Sdl.SDL_MouseButtonEvent"/></description>
20117
</item>
20118
<item>
20119
<term>SDL_MOUSEBUTTONUP</term>
20120
<description><see cref="T:Tao.Sdl.Sdl.SDL_MouseButtonEvent"/></description>
20121
</item>
20122
<item>
20123
<term>SDL_JOYAXISMOTION</term>
20124
<description><see cref="T:Tao.Sdl.Sdl.SDL_JoyAxisEvent"/></description>
20125
</item>
20126
<item>
20127
<term>SDL_JOYBALLMOTION</term>
20128
<description><see cref="T:Tao.Sdl.Sdl.SDL_JoyBallEvent"/></description>
20129
</item>
20130
<item>
20131
<term>SDL_JOYHATMOTION</term>
20132
<description><see cref="T:Tao.Sdl.Sdl.SDL_JoyHatEvent"/></description>
20133
</item>
20134
<item>
20135
<term>SDL_JOYBUTTONDOWN</term>
20136
<description><see cref="T:Tao.Sdl.Sdl.SDL_JoyButtonEvent"/></description>
20137
</item>
20138
<item>
20139
<term>SDL_JOYBUTTONUP</term>
20140
<description><see cref="T:Tao.Sdl.Sdl.SDL_JoyButtonEvent"/></description>
20141
</item>
20142
<item>
20143
<term>SDL_QUIT</term>
20144
<description><see cref="T:Tao.Sdl.Sdl.SDL_QuitEvent"/></description>
20145
</item>
20146
<item>
20147
<term>SDL_SYSWMEVENT</term>
20148
<description><see cref="T:Tao.Sdl.Sdl.SDL_SysWMEvent"/></description>
20149
</item>
20150
<item>
20151
<term>SDL_VIDEORESIZE</term>
20152
<description><see cref="T:Tao.Sdl.Sdl.SDL_ResizeEvent"/></description>
20153
</item>
20154
<item>
20155
<term>SDL_VIDEOEXPOSE</term>
20156
<description><see cref="T:Tao.Sdl.Sdl.SDL_ExposeEvent"/></description>
20157
</item>
20158
<item>
20159
<term>SDL_USEREVENT</term>
20160
<description><see cref="T:Tao.Sdl.Sdl.SDL_UserEvent"/></description>
20161
</item>
20162
</list>
20163
<p>
20164
The SDL_Event structure has two uses
20165
<p>Reading events on the event queue</p>
20166
<p>Placing events on the event queue</p>
20167
<p>Reading events from the event queue is done with either
20168
<see cref="M:Tao.Sdl.Sdl.SDL_PollEvent(Tao.Sdl.Sdl.SDL_Event@)"/> or <see cref="M:Tao.Sdl.Sdl.SDL_PeepEvents(Tao.Sdl.Sdl.SDL_Event[],System.Int32,System.Int32,System.Int32)"/>.
20169
We'll use SDL_PollEvent and step through an example.</p>
20170
<p>First off, we create an empty SDL_Event structure.</p>
20171
<p><code>SDL_Event test_event;</code></p>
20172
<p>SDL_PollEvent removes the next event from the event queue, if
20173
there are no events on the queue it returns 0 otherwise it returns
20174
1. We use a while loop to process each event in turn.</p>
20175
<p><code>while(SDL_PollEvent(&amp;test_event)) { </code></p>
20176
<p>The SDL_PollEvent function take a pointer to an SDL_Event
20177
structure that is to be filled with event information. We know
20178
that if SDL_PollEvent removes an event from the queue then the
20179
event information will be placed in our test_event structure,
20180
but we also know that the type of event will be placed in the
20181
type member of test_event. So to handle each event type
20182
seperately we use a switch statement.</p>
20183
<p><code> switch(test_event.type) { </code></p>
20184
<p>We need to know what kind of events we're looking for and the
20185
event type's of those events. So lets assume we want to detect
20186
where the user is moving the mouse pointer within our application.
20187
We look through our event types and notice that SDL_MOUSEMOTION
20188
is, more than likely, the event we're looking for. A little more
20189
research tells use that SDL_MOUSEMOTION events are handled
20190
within the <see cref="T:Tao.Sdl.Sdl.SDL_MouseMotionEvent"/>
20191
structure which is the motion
20192
member of SDL_Event. We can check for the SDL_MOUSEMOTION
20193
event type within our switch statement like so: </p>
20194
<p><code>case SDL_MOUSEMOTION:</code></p>
20195
<p>All we need do now is read the information out of the
20196
motion member of test_event.</p>
20197
<code>
20198
printf("We got a motion event.\n");
20199
printf("Current mouse position is: (%d, %d)\n", test_event.motion.x, test_event.motion.y);
20200
break;
20201
default:
20202
printf("Unhandled Event!\n");
20203
break;
20204
}
20205
}
20206
printf("Event queue empty.\n");</code>
20207
<p>It is also possible to push events onto the event queue
20208
and so use it as a two-way communication path. Both
20209
<see cref="M:Tao.Sdl.Sdl.SDL_PushEvent(Tao.Sdl.Sdl.SDL_Event@)"/> and <see cref="M:Tao.Sdl.Sdl.SDL_PeepEvents(Tao.Sdl.Sdl.SDL_Event[],System.Int32,System.Int32,System.Int32)"/>
20210
allow you to place events onto the event queue. This is
20211
usually used to place a SDL_USEREVENT on the event queue,
20212
however you could use it to post fake input events if you
20213
wished. Creating your own events is a simple matter of
20214
choosing the event type you want, setting the type member
20215
and filling the appropriate member structure with information.
20216
</p><p>
20217
<code>
20218
SDL_Event user_event;
20219
20220
user_event.type=SDL_USEREVENT;
20221
user_event.user.code=2;
20222
user_event.user.data1=NULL;
20223
user_event.user.data2=NULL;
20224
SDL_PushEvent(&amp;user_event);
20225
</code>
20226
</p>
20227
<p>Union from SDL_events.h
20228
<code>
20229
typedef union{
20230
Uint8 type;
20231
SDL_ActiveEvent active;
20232
SDL_KeyboardEvent key;
20233
SDL_MouseMotionEvent motion;
20234
SDL_MouseButtonEvent button;
20235
SDL_JoyAxisEvent jaxis;
20236
SDL_JoyBallEvent jball;
20237
SDL_JoyHatEvent jhat;
20238
SDL_JoyButtonEvent jbutton;
20239
SDL_ResizeEvent resize;
20240
SDL_ExposeEvent expose;
20241
SDL_QuitEvent quit;
20242
SDL_UserEvent user;
20243
SDL_SywWMEvent syswm;
20244
} SDL_Event;
20245
</code></p></p></remarks>
20246
<seealso cref="M:Tao.Sdl.Sdl.SDL_PollEvent(Tao.Sdl.Sdl.SDL_Event@)"/>
20247
<seealso cref="M:Tao.Sdl.Sdl.SDL_PushEvent(Tao.Sdl.Sdl.SDL_Event@)"/>
20248
<seealso cref="M:Tao.Sdl.Sdl.SDL_PeepEvents(Tao.Sdl.Sdl.SDL_Event[],System.Int32,System.Int32,System.Int32)"/>
20249
</member>
20250
<member name="F:Tao.Sdl.Sdl.SDL_Event.type">
20251
<summary>
20252
20253
</summary>
20254
</member>
20255
<member name="F:Tao.Sdl.Sdl.SDL_Event.active">
20256
<summary>
20257
Activation event
20258
</summary>
20259
</member>
20260
<member name="F:Tao.Sdl.Sdl.SDL_Event.key">
20261
<summary>
20262
Keyboard event
20263
</summary>
20264
</member>
20265
<member name="F:Tao.Sdl.Sdl.SDL_Event.motion">
20266
<summary>
20267
Mouse motion event
20268
</summary>
20269
</member>
20270
<member name="F:Tao.Sdl.Sdl.SDL_Event.button">
20271
<summary>
20272
Mouse button event
20273
</summary>
20274
</member>
20275
<member name="F:Tao.Sdl.Sdl.SDL_Event.jaxis">
20276
<summary>
20277
Joystick axis event
20278
</summary>
20279
</member>
20280
<member name="F:Tao.Sdl.Sdl.SDL_Event.jball">
20281
<summary>
20282
Joystick trackbell event
20283
</summary>
20284
</member>
20285
<member name="F:Tao.Sdl.Sdl.SDL_Event.jhat">
20286
<summary>
20287
Joystick hat motion event
20288
</summary>
20289
</member>
20290
<member name="F:Tao.Sdl.Sdl.SDL_Event.jbutton">
20291
<summary>
20292
Joystick button event
20293
</summary>
20294
</member>
20295
<member name="F:Tao.Sdl.Sdl.SDL_Event.resize">
20296
<summary>
20297
Application window resize event
20298
</summary>
20299
</member>
20300
<member name="F:Tao.Sdl.Sdl.SDL_Event.expose">
20301
<summary>
20302
Application window expose event
20303
</summary>
20304
</member>
20305
<member name="F:Tao.Sdl.Sdl.SDL_Event.quit">
20306
<summary>
20307
Quit request event
20308
</summary>
20309
</member>
20310
<member name="F:Tao.Sdl.Sdl.SDL_Event.user">
20311
<summary>
20312
User defined event
20313
</summary>
20314
</member>
20315
<member name="F:Tao.Sdl.Sdl.SDL_Event.syswm">
20316
<summary>
20317
Undefined window manager event
20318
</summary>
20319
</member>
20320
<member name="T:Tao.Sdl.Sdl.SDL_keysym">
20321
<summary>
20322
The SDL_keysym structure describes a key press or a key release.
20323
</summary>
20324
<remarks>
20325
The SDL_keysym structure describes a key press or a key release.
20326
The scancode field is hardware specific and should be ignored
20327
unless you know what your doing. The sym field is the SDLKey
20328
value of the key being pressed or released. The mod field
20329
describes the state of the keyboard modifiers at the time the
20330
key press or release occurred. So a value of KMOD_NUM | KMOD_CAPS
20331
| KMOD_LSHIFT would mean that Numlock, Capslock and the left shift
20332
key were all press (or enabled in the case of the lock keys).
20333
Finally, the unicode field stores the 16-bit unicode value of
20334
the key.
20335
<p>Note: It should be noted and understood that this field is
20336
only valid when the SDL_keysym is describing a key press,
20337
not a key release. Unicode values only make sense on a key
20338
press because the unicode value describes an international
20339
character and only key presses produce characters. More
20340
information on Unicode can be found at www.unicode.org</p>
20341
<p>Note: Unicode translation must be enabled using the
20342
<see cref="M:Tao.Sdl.Sdl.SDL_EnableUNICODE(System.Int32)"/> function.
20343
</p>
20344
<p>Struct in SDL_keyboard.h
20345
<code>
20346
typedef struct{
20347
Uint8 scancode;
20348
SDLKey sym;
20349
SDLMod mod;
20350
Uint16 unicode;
20351
} SDL_keysym;
20352
</code></p>
20353
</remarks>
20354
</member>
20355
<member name="F:Tao.Sdl.Sdl.SDL_keysym.scancode">
20356
<summary>
20357
Hardware specific scancode.
20358
</summary>
20359
<remarks>
20360
The scancode is hardware dependent,
20361
and should not be used by general
20362
applications.
20363
If no hardware scancode is available, it will be 0.
20364
</remarks>
20365
</member>
20366
<member name="F:Tao.Sdl.Sdl.SDL_keysym.sym">
20367
<summary>
20368
SDL virtual keysym.
20369
</summary>
20370
</member>
20371
<member name="F:Tao.Sdl.Sdl.SDL_keysym.mod">
20372
<summary>
20373
Current key modifiers.
20374
</summary>
20375
</member>
20376
<member name="F:Tao.Sdl.Sdl.SDL_keysym.unicode">
20377
<summary>
20378
Translated character.
20379
</summary>
20380
<remarks>
20381
The 'unicode' translated character is only available
20382
when character
20383
translation is enabled by the SDL_EnableUNICODE() API.
20384
If non-zero,
20385
this is a UNICODE character corresponding to the keypress.
20386
If the
20387
high 9 bits of the character are 0,
20388
then this maps to the equivalent
20389
ASCII character:
20390
<p><code>
20391
char ch;
20392
if ( (keysym.unicode and 0xFF80) == 0 ) {
20393
ch = keysym.unicode and 0x7F;
20394
} else {
20395
An international character..
20396
}</code></p>
20397
</remarks>
20398
</member>
20399
<member name="T:Tao.Sdl.Sdl.SDL_Cursor">
20400
<summary>
20401
Structure to hold cursor
20402
</summary>
20403
<remarks>
20404
<p>Struct in SDL_mouse.h
20405
<code>
20406
struct {
20407
SDL_Rect area; /* The area of the mouse cursor */
20408
Sint16 hot_x, hot_y; /* The "tip" of the cursor */
20409
Uint8 *data; /* B/W cursor data */
20410
Uint8 *mask; /* B/W cursor mask */
20411
Uint8 *save[2]; /* Place to save cursor area */
20412
WMcursor *wm_cursor; /* Window-manager cursor */
20413
} SDL_Cursor
20414
</code>
20415
</p>
20416
</remarks>
20417
</member>
20418
<member name="F:Tao.Sdl.Sdl.SDL_Cursor.area">
20419
<summary>
20420
The area of the mouse cursor
20421
</summary>
20422
</member>
20423
<member name="F:Tao.Sdl.Sdl.SDL_Cursor.hot_x">
20424
<summary>
20425
The "tip" of the cursor
20426
</summary>
20427
</member>
20428
<member name="F:Tao.Sdl.Sdl.SDL_Cursor.hot_y">
20429
<summary>
20430
The "tip" of the cursor
20431
</summary>
20432
</member>
20433
<member name="F:Tao.Sdl.Sdl.SDL_Cursor.data">
20434
<summary>
20435
B/W cursor data
20436
</summary>
20437
<remarks>
20438
IntPtr to byte
20439
</remarks>
20440
</member>
20441
<member name="F:Tao.Sdl.Sdl.SDL_Cursor.mask">
20442
<summary>
20443
B/W cursor mask
20444
</summary>
20445
<remarks>
20446
IntPtr to byte
20447
</remarks>
20448
</member>
20449
<member name="F:Tao.Sdl.Sdl.SDL_Cursor.save">
20450
<summary>
20451
Place to save cursor area
20452
</summary>
20453
<remarks>
20454
IntPtr to byte[2]
20455
</remarks>
20456
</member>
20457
<member name="F:Tao.Sdl.Sdl.SDL_Cursor.wm_cursor">
20458
<summary>
20459
Window-manager cursor
20460
</summary>
20461
<remarks>
20462
IntPtr to WMcursor
20463
</remarks>
20464
</member>
20465
<member name="T:Tao.Sdl.Sdl.SDL_SysWMmsg_Unix">
20466
<summary>
20467
The UNIX custom event structure. TODO
20468
</summary>
20469
<remarks>
20470
<p>Struct in SDL_syswm.h
20471
<code>
20472
struct SDL_SysWMmsg {
20473
SDL_version version;
20474
SDL_SYSWM_TYPE subsystem;
20475
union
20476
{
20477
XEvent xevent;
20478
} event;
20479
};
20480
</code>
20481
</p>
20482
</remarks>
20483
</member>
20484
<member name="F:Tao.Sdl.Sdl.SDL_SysWMmsg_Unix.version">
20485
<summary>
20486
20487
</summary>
20488
</member>
20489
<member name="F:Tao.Sdl.Sdl.SDL_SysWMmsg_Unix.subsystem">
20490
<summary>
20491
20492
</summary>
20493
</member>
20494
<member name="T:Tao.Sdl.Sdl.SDL_SysWMinfo_Unix">
20495
<summary>
20496
The UNIX custom window manager information structure. TODO
20497
</summary>
20498
<remarks>
20499
When this structure is returned, it holds information about which
20500
low level system it is using, and will be one of SDL_SYSWM_TYPE.
20501
<p>Struct in SDL_syswm.h
20502
<code>
20503
struct SDL_SysWMinfo {
20504
SDL_version version;
20505
SDL_SYSWM_TYPE subsystem;
20506
union
20507
{
20508
struct
20509
{
20510
Display *display; /* The X11 display */
20511
Window window; /* The X11 display window */
20512
/* These locking functions should be called around
20513
any X11 functions using the display variable.
20514
They lock the event thread, so should not be
20515
called around event functions or from event filters.
20516
*/
20517
void (*lock_func)(void);
20518
void (*unlock_func)(void);
20519
20520
/* Introduced in SDL 1.0.2 */
20521
Window fswindow; /* The X11 fullscreen window */
20522
Window wmwindow; /* The X11 managed input window */
20523
} x11;
20524
} info;
20525
} SDL_SysWMinfo;
20526
</code>
20527
</p>
20528
</remarks>
20529
</member>
20530
<member name="F:Tao.Sdl.Sdl.SDL_SysWMinfo_Unix.version">
20531
<summary>
20532
20533
</summary>
20534
</member>
20535
<member name="F:Tao.Sdl.Sdl.SDL_SysWMinfo_Unix.subsystem">
20536
<summary>
20537
20538
</summary>
20539
</member>
20540
<member name="T:Tao.Sdl.Sdl.SDL_SysWMmsg_Windows">
20541
<summary>
20542
The Windows custom event structure. TODO
20543
</summary>
20544
<remarks>
20545
<p>Struct in SDL_syswm.h
20546
<code>
20547
struct SDL_SysWMmsg {
20548
SDL_version version;
20549
HWND hwnd;
20550
UINT msg;
20551
WPARAM wParam;
20552
LPARAM lParam;
20553
};
20554
</code>
20555
</p>
20556
</remarks>
20557
</member>
20558
<member name="F:Tao.Sdl.Sdl.SDL_SysWMmsg_Windows.version">
20559
<summary>
20560
20561
</summary>
20562
</member>
20563
<member name="F:Tao.Sdl.Sdl.SDL_SysWMmsg_Windows.hwnd">
20564
<summary>
20565
The window for the message
20566
</summary>
20567
</member>
20568
<member name="F:Tao.Sdl.Sdl.SDL_SysWMmsg_Windows.msg">
20569
<summary>
20570
The type of message
20571
</summary>
20572
</member>
20573
<member name="F:Tao.Sdl.Sdl.SDL_SysWMmsg_Windows.wParam">
20574
<summary>
20575
WORD message parameter
20576
</summary>
20577
</member>
20578
<member name="F:Tao.Sdl.Sdl.SDL_SysWMmsg_Windows.lParam">
20579
<summary>
20580
LONG message parameter
20581
</summary>
20582
</member>
20583
<member name="T:Tao.Sdl.Sdl.SDL_SysWMinfo_Windows">
20584
<summary>
20585
The Windows custom window manager information structure. TODO
20586
</summary>
20587
<remarks>
20588
<p>Struct in SDL_syswm.h
20589
<code>
20590
struct SDL_SysWMinfo {
20591
SDL_version version;
20592
HWND window;
20593
HGLRC hglrc;
20594
} SDL_SysWMinfo;
20595
</code>
20596
</p>
20597
</remarks>
20598
</member>
20599
<member name="F:Tao.Sdl.Sdl.SDL_SysWMinfo_Windows.version">
20600
<summary>
20601
20602
</summary>
20603
</member>
20604
<member name="F:Tao.Sdl.Sdl.SDL_SysWMinfo_Windows.window">
20605
<summary>
20606
The Win32 display window
20607
</summary>
20608
</member>
20609
<member name="F:Tao.Sdl.Sdl.SDL_SysWMinfo_Windows.hglrc">
20610
<summary>
20611
The OpenGL context, if any
20612
</summary>
20613
</member>
20614
<member name="T:Tao.Sdl.Sdl.SDL_SysWMmsg_RiscOS">
20615
<summary>
20616
RISC OS custom event structure
20617
</summary>
20618
<remarks>
20619
<p>Struct in SDL_syswm.h
20620
<code>
20621
struct SDL_SysWMmsg {
20622
SDL_version version;
20623
int eventCode;
20624
int pollBlock[64];
20625
};
20626
</code>
20627
</p>
20628
</remarks>
20629
</member>
20630
<member name="F:Tao.Sdl.Sdl.SDL_SysWMmsg_RiscOS.version">
20631
<summary>
20632
20633
</summary>
20634
</member>
20635
<member name="F:Tao.Sdl.Sdl.SDL_SysWMmsg_RiscOS.eventCode">
20636
<summary>
20637
The window for the message
20638
</summary>
20639
</member>
20640
<member name="F:Tao.Sdl.Sdl.SDL_SysWMmsg_RiscOS.pollBlock">
20641
<summary>
20642
The window for the message
20643
</summary>
20644
</member>
20645
<member name="T:Tao.Sdl.Sdl.SDL_SysWMinfo_RiscOS">
20646
<summary>
20647
The RISCOS custom window manager information structure
20648
</summary>
20649
<remarks>
20650
<p>Struct in SDL_syswm.h
20651
<code>
20652
struct SDL_SysWMinfo {
20653
SDL_version version;
20654
int wimpVersion;
20655
int taskHandle;
20656
int window;
20657
};
20658
</code>
20659
</p>
20660
</remarks>
20661
</member>
20662
<member name="F:Tao.Sdl.Sdl.SDL_SysWMinfo_RiscOS.version">
20663
<summary>
20664
20665
</summary>
20666
</member>
20667
<member name="F:Tao.Sdl.Sdl.SDL_SysWMinfo_RiscOS.wimpVersion">
20668
<summary>
20669
Wimp version running under
20670
</summary>
20671
</member>
20672
<member name="F:Tao.Sdl.Sdl.SDL_SysWMinfo_RiscOS.taskHandle">
20673
<summary>
20674
The RISCOS task handle
20675
</summary>
20676
</member>
20677
<member name="F:Tao.Sdl.Sdl.SDL_SysWMinfo_RiscOS.window">
20678
<summary>
20679
20680
</summary>
20681
</member>
20682
<member name="T:Tao.Sdl.Sdl.SDL_SysWMmsg">
20683
<summary>
20684
The generic custom event structure
20685
</summary>
20686
<remarks>
20687
<p>Struct in SDL_syswm.h
20688
<code>
20689
struct SDL_SysWMmsg {
20690
SDL_version version;
20691
int data;
20692
};
20693
</code>
20694
</p>
20695
</remarks>
20696
</member>
20697
<member name="F:Tao.Sdl.Sdl.SDL_SysWMmsg.version">
20698
<summary>
20699
20700
</summary>
20701
</member>
20702
<member name="F:Tao.Sdl.Sdl.SDL_SysWMmsg.data">
20703
<summary>
20704
20705
</summary>
20706
</member>
20707
<member name="T:Tao.Sdl.Sdl.SDL_SysWMinfo">
20708
<summary>
20709
The generic custom window manager information structure
20710
</summary>
20711
<remarks>
20712
<p>Struct in SDL_syswm.h
20713
<code>
20714
struct SDL_SysWMinfo {
20715
SDL_version version;
20716
int data;
20717
};
20718
</code>
20719
</p>
20720
</remarks>
20721
</member>
20722
<member name="F:Tao.Sdl.Sdl.SDL_SysWMinfo.version">
20723
<summary>
20724
20725
</summary>
20726
</member>
20727
<member name="F:Tao.Sdl.Sdl.SDL_SysWMinfo.data">
20728
<summary>
20729
20730
</summary>
20731
</member>
20732
<member name="T:Tao.Sdl.Sdl.SDL_TimerID">
20733
<summary>
20734
20735
</summary>
20736
</member>
20737
<member name="T:Tao.Sdl.Sdl.SDL_version">
20738
<summary>
20739
Structure to hold version number of the SDL library
20740
</summary>
20741
</member>
20742
<member name="F:Tao.Sdl.Sdl.SDL_version.major">
20743
<summary>
20744
Major version
20745
</summary>
20746
</member>
20747
<member name="F:Tao.Sdl.Sdl.SDL_version.minor">
20748
<summary>
20749
Minor version
20750
</summary>
20751
</member>
20752
<member name="F:Tao.Sdl.Sdl.SDL_version.patch">
20753
<summary>
20754
Patch version
20755
</summary>
20756
</member>
20757
<member name="M:Tao.Sdl.Sdl.SDL_version.ToString">
20758
<summary>
20759
20760
</summary>
20761
<returns></returns>
20762
</member>
20763
<member name="T:Tao.Sdl.Sdl.SDL_Rect">
20764
<summary>
20765
Defines a rectangular area.
20766
</summary>
20767
<remarks>
20768
A SDL_Rect defines a rectangular area of pixels.
20769
It is used by <see cref="M:Tao.Sdl.Sdl.SDL_BlitSurface(System.IntPtr,Tao.Sdl.Sdl.SDL_Rect@,System.IntPtr,Tao.Sdl.Sdl.SDL_Rect@)"/> to define blitting
20770
regions and by several other video functions.
20771
</remarks>
20772
<see cref="M:Tao.Sdl.Sdl.SDL_BlitSurface(System.IntPtr,Tao.Sdl.Sdl.SDL_Rect@,System.IntPtr,Tao.Sdl.Sdl.SDL_Rect@)"/>
20773
<see cref="M:Tao.Sdl.Sdl.SDL_UpdateRect(System.IntPtr,System.Int32,System.Int32,System.Int32,System.Int32)"/>
20774
</member>
20775
<member name="F:Tao.Sdl.Sdl.SDL_Rect.x">
20776
<summary>
20777
x position of the upper-left corner of the rectangle.
20778
</summary>
20779
</member>
20780
<member name="F:Tao.Sdl.Sdl.SDL_Rect.y">
20781
<summary>
20782
y position of the upper-left corner of the rectangle.
20783
</summary>
20784
</member>
20785
<member name="F:Tao.Sdl.Sdl.SDL_Rect.w">
20786
<summary>
20787
The width of the rectangle.
20788
</summary>
20789
</member>
20790
<member name="F:Tao.Sdl.Sdl.SDL_Rect.h">
20791
<summary>
20792
The height of the rectangle.
20793
</summary>
20794
</member>
20795
<member name="M:Tao.Sdl.Sdl.SDL_Rect.#ctor(System.Int16,System.Int16,System.Int16,System.Int16)">
20796
<summary>
20797
20798
</summary>
20799
<param name="x"></param>
20800
<param name="y"></param>
20801
<param name="w"></param>
20802
<param name="h"></param>
20803
</member>
20804
<member name="M:Tao.Sdl.Sdl.SDL_Rect.ToString">
20805
<summary>
20806
20807
</summary>
20808
<returns></returns>
20809
</member>
20810
<member name="T:Tao.Sdl.Sdl.SDL_Color">
20811
<summary>
20812
Format independent color description
20813
</summary>
20814
<remarks>
20815
SDL_Color describes a color in a format independent way.
20816
You can convert a SDL_Color to a pixel value for a certain
20817
pixel format using <see cref="M:Tao.Sdl.Sdl.SDL_MapRGB(System.IntPtr,System.Byte,System.Byte,System.Byte)"/>.
20818
</remarks>
20819
<seealso cref="T:Tao.Sdl.Sdl.SDL_PixelFormat"/>
20820
<seealso cref="M:Tao.Sdl.Sdl.SDL_SetColors(System.IntPtr,Tao.Sdl.Sdl.SDL_Color[],System.Int32,System.Int32)"/>
20821
<seealso cref="T:Tao.Sdl.Sdl.SDL_Palette"/>
20822
</member>
20823
<member name="F:Tao.Sdl.Sdl.SDL_Color.r">
20824
<summary>
20825
Red Intensity
20826
</summary>
20827
</member>
20828
<member name="F:Tao.Sdl.Sdl.SDL_Color.g">
20829
<summary>
20830
Green Intensity
20831
</summary>
20832
</member>
20833
<member name="F:Tao.Sdl.Sdl.SDL_Color.b">
20834
<summary>
20835
Blue Intensity
20836
</summary>
20837
</member>
20838
<member name="F:Tao.Sdl.Sdl.SDL_Color.unused">
20839
<summary>
20840
Alpha Channel
20841
Currently unused
20842
</summary>
20843
</member>
20844
<member name="M:Tao.Sdl.Sdl.SDL_Color.#ctor(System.Byte,System.Byte,System.Byte)">
20845
<summary>
20846
20847
</summary>
20848
<param name="r"></param>
20849
<param name="g"></param>
20850
<param name="b"></param>
20851
</member>
20852
<member name="M:Tao.Sdl.Sdl.SDL_Color.#ctor(System.Byte,System.Byte,System.Byte,System.Byte)">
20853
<summary>
20854
20855
</summary>
20856
<param name="r"></param>
20857
<param name="g"></param>
20858
<param name="b"></param>
20859
<param name="a"></param>
20860
</member>
20861
<member name="T:Tao.Sdl.Sdl.SDL_Palette">
20862
<summary>
20863
Color palette for 8-bit pixel formats
20864
</summary>
20865
<remarks>
20866
Each pixel in an 8-bit surface is an index into
20867
the colors field of the SDL_Palette structure store
20868
in <see cref="T:Tao.Sdl.Sdl.SDL_PixelFormat"/>. A SDL_Palette should never need
20869
to be created manually. It is automatically created
20870
when SDL allocates a <see cref="T:Tao.Sdl.Sdl.SDL_PixelFormat"/> for a surface.
20871
The colors values of a <see cref="T:Tao.Sdl.Sdl.SDL_Surface"/>
20872
palette can be set with the <see cref="M:Tao.Sdl.Sdl.SDL_SetColors(System.IntPtr,Tao.Sdl.Sdl.SDL_Color[],System.Int32,System.Int32)"/>.
20873
</remarks>
20874
<see cref="T:Tao.Sdl.Sdl.SDL_Color"/>
20875
<see cref="T:Tao.Sdl.Sdl.SDL_Surface"/>
20876
<see cref="M:Tao.Sdl.Sdl.SDL_SetColors(System.IntPtr,Tao.Sdl.Sdl.SDL_Color[],System.Int32,System.Int32)"/>
20877
<see cref="M:Tao.Sdl.Sdl.SDL_SetPalette(System.IntPtr,System.Int32,Tao.Sdl.Sdl.SDL_Color[],System.Int32,System.Int32)"/>
20878
</member>
20879
<member name="F:Tao.Sdl.Sdl.SDL_Palette.ncolors">
20880
<summary>
20881
Number of colors used in this palette
20882
</summary>
20883
</member>
20884
<member name="F:Tao.Sdl.Sdl.SDL_Palette.colors">
20885
<summary>
20886
Array of <see cref="T:Tao.Sdl.Sdl.SDL_Color"/>
20887
structures that make up the palette.
20888
</summary>
20889
</member>
20890
<member name="T:Tao.Sdl.Sdl.SDL_PixelFormat">
20891
<summary>
20892
Stores surface format information
20893
</summary>
20894
<remarks>
20895
A SDL_PixelFormat describes the format of the pixel data stored at the
20896
pixels field of a SDL_Surface. Every surface stores a SDL_PixelFormat
20897
in the format field.
20898
<p>
20899
If you wish to do pixel level modifications on a surface, then
20900
understanding how SDL stores its color information is essential.
20901
</p>
20902
<p>
20903
8-bit pixel formats are the easiest to understand.
20904
Since its an 8-bit format, we have 8 BitsPerPixel and 1 BytesPerPixel.
20905
Since BytesPerPixel is 1, all pixels are represented by a Uint8 which
20906
contains an index into palette.colors. So, to determine the color
20907
of a pixel in a 8-bit surface: we read the color index from
20908
surface.pixels and we use that index to read the SDL_Color
20909
structure from surface.format.palette.colors. Like so:
20910
</p>
20911
<p>
20912
<code>
20913
SDL_Surface *surface;
20914
SDL_PixelFormat *fmt;
20915
SDL_Color *color;
20916
Uint8 index;
20917
20918
.
20919
.
20920
20921
/* Create surface */
20922
.
20923
.
20924
fmt=surface.format;
20925
20926
/* Check the bitdepth of the surface */
20927
if(fmt.BitsPerPixel!=8)
20928
{
20929
fprintf(stderr, "Not an 8-bit surface.\n");
20930
return(-1);
20931
}
20932
20933
/* Lock the surface */
20934
SDL_LockSurface(surface);
20935
20936
/* Get the topleft pixel */
20937
index=*(Uint8 *)surface.pixels;
20938
color=fmt.palette.colors[index];
20939
20940
/* Unlock the surface */
20941
SDL_UnlockSurface(surface);
20942
printf("Pixel Color- Red: %d, Green: %d, Blue: %d. Index: %d\n",
20943
color.r, color.g, color.b, index);
20944
.
20945
.
20946
</code>
20947
</p>
20948
<P>
20949
Pixel formats above 8-bit are an entirely different experience.
20950
They are considered to be "TrueColor" formats and the color
20951
information is stored in the pixels themselves, not in a palette.
20952
The mask, shift and loss fields tell us how the color information
20953
is encoded. The mask fields allow us to isolate each color
20954
component, the shift fields tell us the number of bits to the
20955
right of each component in the pixel value and the loss fields
20956
tell us the number of bits lost from each component when
20957
packing 8-bit color component in a pixel.
20958
</P>
20959
20960
<code>
20961
/* Extracting color components from a 32-bit color value */
20962
SDL_PixelFormat *fmt;
20963
SDL_Surface *surface;
20964
Uint32 temp, pixel;
20965
Uint8 red, green, blue, alpha;
20966
.
20967
.
20968
.
20969
fmt=surface.format;
20970
SDL_LockSurface(surface);
20971
pixel=*((Uint32*)surface.pixels);
20972
SDL_UnlockSurface(surface);
20973
20974
/* Get Red component */
20975
temp=pixel&amp;fmt.Rmask; /* Isolate red component */
20976
temp=temp&gt;&gt;fmt.Rshift;/* Shift it down to 8-bit */
20977
temp=temp&lt;&lt;fmt.Rloss; /* Expand to a full 8-bit number */
20978
red=(Uint8)temp;
20979
20980
/* Get Green component */
20981
temp=pixel&amp;fmt.Gmask; /* Isolate green component */
20982
temp=temp&gt;&gt;fmt.Gshift;/* Shift it down to 8-bit */
20983
temp=temp&lt;&lt;fmt.Gloss; /* Expand to a full 8-bit number */
20984
green=(Uint8)temp;
20985
20986
/* Get Blue component */
20987
temp=pixel&amp;fmt.Bmask; /* Isolate blue component */
20988
temp=temp&gt;&gt;fmt.Bshift;/* Shift it down to 8-bit */
20989
temp=temp&lt;&lt;fmt.Bloss; /* Expand to a full 8-bit number */
20990
blue=(Uint8)temp;
20991
20992
/* Get Alpha component */
20993
temp=pixel&amp;fmt.Amask; /* Isolate alpha component */
20994
temp=temp&gt;&gt;fmt.Ashift;/* Shift it down to 8-bit */
20995
temp=temp&lt;&lt;fmt.Aloss; /* Expand to a full 8-bit number */
20996
alpha=(Uint8)temp;
20997
20998
printf("Pixel Color - R: %d, G: %d, B: %d, A: %d\n", red, green, blue, alpha);
20999
.
21000
.
21001
.
21002
</code>
21003
</remarks>
21004
<see cref="T:Tao.Sdl.Sdl.SDL_Surface"/>
21005
<see cref="M:Tao.Sdl.Sdl.SDL_MapRGB(System.IntPtr,System.Byte,System.Byte,System.Byte)"/>
21006
</member>
21007
<member name="F:Tao.Sdl.Sdl.SDL_PixelFormat.palette">
21008
<summary>
21009
Pointer to the palette, or NULL if the BitsPerPixel&gt;8
21010
Pointer to <see cref="T:Tao.Sdl.Sdl.SDL_Palette"/>
21011
</summary>
21012
</member>
21013
<member name="F:Tao.Sdl.Sdl.SDL_PixelFormat.BitsPerPixel">
21014
<summary>
21015
The number of bits used to represent each pixel in a surface.
21016
Usually 8, 16, 24 or 32.
21017
</summary>
21018
</member>
21019
<member name="F:Tao.Sdl.Sdl.SDL_PixelFormat.BytesPerPixel">
21020
<summary>
21021
The number of bytes used to represent each pixel in a surface.
21022
Usually one to four.
21023
</summary>
21024
</member>
21025
<member name="F:Tao.Sdl.Sdl.SDL_PixelFormat.Rloss">
21026
<summary>
21027
Precision loss of each color component (2[RGBA]loss)
21028
</summary>
21029
</member>
21030
<member name="F:Tao.Sdl.Sdl.SDL_PixelFormat.Gloss">
21031
<summary>
21032
Precision loss of each color component (2[RGBA]loss)
21033
</summary>
21034
</member>
21035
<member name="F:Tao.Sdl.Sdl.SDL_PixelFormat.Bloss">
21036
<summary>
21037
Precision loss of each color component (2[RGBA]loss)
21038
</summary>
21039
</member>
21040
<member name="F:Tao.Sdl.Sdl.SDL_PixelFormat.Aloss">
21041
<summary>
21042
Precision loss of each color component (2[RGBA]loss)
21043
</summary>
21044
</member>
21045
<member name="F:Tao.Sdl.Sdl.SDL_PixelFormat.Rshift">
21046
<summary>
21047
Binary left shift of each color component in the pixel value
21048
</summary>
21049
</member>
21050
<member name="F:Tao.Sdl.Sdl.SDL_PixelFormat.Gshift">
21051
<summary>
21052
Binary left shift of each color component in the pixel value
21053
</summary>
21054
</member>
21055
<member name="F:Tao.Sdl.Sdl.SDL_PixelFormat.Bshift">
21056
<summary>
21057
Binary left shift of each color component in the pixel value
21058
</summary>
21059
</member>
21060
<member name="F:Tao.Sdl.Sdl.SDL_PixelFormat.Ashift">
21061
<summary>
21062
Binary left shift of each color component in the pixel value
21063
</summary>
21064
</member>
21065
<member name="F:Tao.Sdl.Sdl.SDL_PixelFormat.Rmask">
21066
<summary>
21067
Binary mask used to retrieve individual color values
21068
</summary>
21069
</member>
21070
<member name="F:Tao.Sdl.Sdl.SDL_PixelFormat.Gmask">
21071
<summary>
21072
Binary mask used to retrieve individual color values
21073
</summary>
21074
</member>
21075
<member name="F:Tao.Sdl.Sdl.SDL_PixelFormat.Bmask">
21076
<summary>
21077
Binary mask used to retrieve individual color values
21078
</summary>
21079
</member>
21080
<member name="F:Tao.Sdl.Sdl.SDL_PixelFormat.Amask">
21081
<summary>
21082
Binary mask used to retrieve individual color values
21083
</summary>
21084
</member>
21085
<member name="F:Tao.Sdl.Sdl.SDL_PixelFormat.colorkey">
21086
<summary>
21087
Pixel value of transparent pixels
21088
</summary>
21089
</member>
21090
<member name="F:Tao.Sdl.Sdl.SDL_PixelFormat.alpha">
21091
<summary>
21092
Overall surface alpha value
21093
</summary>
21094
</member>
21095
<member name="M:Tao.Sdl.Sdl.SDL_PixelFormat.#ctor(System.IntPtr,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Byte,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Byte)">
21096
<summary>
21097
21098
</summary>
21099
<param name="palette"></param>
21100
<param name="BitsPerPixel"></param>
21101
<param name="BytesPerPixel"></param>
21102
<param name="Rloss"></param>
21103
<param name="Gloss"></param>
21104
<param name="Bloss"></param>
21105
<param name="Aloss"></param>
21106
<param name="Rshift"></param>
21107
<param name="Gshift"></param>
21108
<param name="Bshift"></param>
21109
<param name="Ashift"></param>
21110
<param name="Rmask"></param>
21111
<param name="Gmask"></param>
21112
<param name="Bmask"></param>
21113
<param name="Amask"></param>
21114
<param name="colorkey"></param>
21115
<param name="alpha"></param>
21116
</member>
21117
<member name="T:Tao.Sdl.Sdl.SDL_Surface">
21118
<summary>
21119
Graphical Surface Structure.
21120
</summary>
21121
<remarks>
21122
This structure should be treated as read-only, except for 'pixels',
21123
which, if not NULL, contains the raw pixel data for the surface.
21124
SDL_Surface's represent areas of "graphical" memory, memory
21125
that can be drawn to. The video framebuffer is returned as a
21126
SDL_Surface by SDL_SetVideoMode and SDL_GetVideoSurface.
21127
Most of the fields should be pretty obvious. w and h are the
21128
width and height of the surface in pixels. pixels is a pointer
21129
to the actual pixel data, the surface should be locked before
21130
accessing this field. The clip_rect field is the clipping rectangle
21131
as set by SDL_SetClipRect.
21132
21133
<p>The following are supported in the flags field.</p>
21134
<code>
21135
SDL_SWSURFACE Surface is stored in system memory
21136
SDL_HWSURFACE Surface is stored in video memory
21137
SDL_ASYNCBLIT Surface uses asynchronous blits if possible
21138
SDL_ANYFORMAT Allows any pixel-format (Display surface)
21139
SDL_HWPALETTE Surface has exclusive palette
21140
SDL_DOUBLEBUF Surface is double buffered (Display surface)
21141
SDL_FULLSCREEN Surface is full screen (Display Surface)
21142
SDL_OPENGL Surface has an OpenGL context (Display Surface)
21143
SDL_OPENGLBLIT Surface supports OpenGL blitting (Display Surface)
21144
SDL_RESIZABLE Surface is resizable (Display Surface)
21145
SDL_HWACCEL Surface blit uses hardware acceleration
21146
SDL_SRCCOLORKEY Surface use colorkey blitting
21147
SDL_RLEACCEL Colorkey blitting is accelerated with RLE
21148
SDL_SRCALPHA Surface blit uses alpha blending
21149
SDL_PREALLOC Surface uses preallocated memory</code>
21150
</remarks>
21151
</member>
21152
<member name="F:Tao.Sdl.Sdl.SDL_Surface.flags">
21153
<summary>
21154
Surface flags
21155
</summary>
21156
</member>
21157
<member name="F:Tao.Sdl.Sdl.SDL_Surface.format">
21158
<summary>
21159
Pixel format
21160
Pointer to SDL_PixelFormat
21161
</summary>
21162
</member>
21163
<member name="F:Tao.Sdl.Sdl.SDL_Surface.w">
21164
<summary>
21165
Width of the surface
21166
</summary>
21167
</member>
21168
<member name="F:Tao.Sdl.Sdl.SDL_Surface.h">
21169
<summary>
21170
Height of the surface
21171
</summary>
21172
</member>
21173
<member name="F:Tao.Sdl.Sdl.SDL_Surface.pitch">
21174
<summary>
21175
Length of a surface scanline in bytes
21176
</summary>
21177
</member>
21178
<member name="F:Tao.Sdl.Sdl.SDL_Surface.pixels">
21179
<summary>
21180
Pointer to the actual pixel data
21181
Void pointer.
21182
</summary>
21183
</member>
21184
<member name="F:Tao.Sdl.Sdl.SDL_Surface.offset">
21185
<summary>
21186
21187
</summary>
21188
</member>
21189
<member name="F:Tao.Sdl.Sdl.SDL_Surface.hwdata">
21190
<summary>
21191
Hardware-specific surface info
21192
</summary>
21193
</member>
21194
<member name="F:Tao.Sdl.Sdl.SDL_Surface.clip_rect">
21195
<summary>
21196
surface clip rectangle
21197
</summary>
21198
</member>
21199
<member name="F:Tao.Sdl.Sdl.SDL_Surface.unused1">
21200
<summary>
21201
21202
</summary>
21203
</member>
21204
<member name="F:Tao.Sdl.Sdl.SDL_Surface.locked">
21205
<summary>
21206
Allow recursive locks
21207
</summary>
21208
</member>
21209
<member name="F:Tao.Sdl.Sdl.SDL_Surface.map">
21210
<summary>
21211
info for fast blit mapping to other surfaces
21212
</summary>
21213
</member>
21214
<member name="F:Tao.Sdl.Sdl.SDL_Surface.format_version">
21215
<summary>
21216
format version, bumped at every change to invalidate blit maps
21217
</summary>
21218
</member>
21219
<member name="F:Tao.Sdl.Sdl.SDL_Surface.refcount">
21220
<summary>
21221
Reference count -- used when freeing surface
21222
</summary>
21223
</member>
21224
<member name="T:Tao.Sdl.Sdl.SDL_VideoInfo">
21225
<summary>
21226
Video Target information.
21227
Useful for determining the video hardware capabilities.
21228
Not finished. The C struct uses a set of bit-fields that need to be marshalled.
21229
The vfmt IntPtr works and provided useful information.
21230
</summary>
21231
<remarks>
21232
This (read-only) structure is returned by <see cref="M:Tao.Sdl.Sdl.SDL_GetVideoInfo"/>.
21233
It contains information on either the 'best' available mode
21234
(if called before <see cref="M:Tao.Sdl.Sdl.SDL_SetVideoMode(System.Int32,System.Int32,System.Int32,System.Int32)"/>) or the current video mode.
21235
</remarks>
21236
<see cref="M:Tao.Sdl.Sdl.SDL_GetVideoInfo"/>
21237
<see cref="T:Tao.Sdl.Sdl.SDL_PixelFormat"/>
21238
</member>
21239
<member name="F:Tao.Sdl.Sdl.SDL_VideoInfo.field1">
21240
<summary>
21241
21242
</summary>
21243
</member>
21244
<member name="F:Tao.Sdl.Sdl.SDL_VideoInfo.field2">
21245
<summary>
21246
21247
</summary>
21248
</member>
21249
<member name="F:Tao.Sdl.Sdl.SDL_VideoInfo.unused">
21250
<summary>
21251
21252
</summary>
21253
</member>
21254
<member name="F:Tao.Sdl.Sdl.SDL_VideoInfo.video_mem">
21255
<summary>
21256
Total amount of video memory in Kilobytes.
21257
</summary>
21258
</member>
21259
<member name="F:Tao.Sdl.Sdl.SDL_VideoInfo.vfmt">
21260
<summary>
21261
Pixel format of the video device. Pointer to SDL_PixelFormat.
21262
</summary>
21263
</member>
21264
<member name="F:Tao.Sdl.Sdl.SDL_VideoInfo.current_w">
21265
<summary>
21266
The current video mode width
21267
</summary>
21268
</member>
21269
<member name="F:Tao.Sdl.Sdl.SDL_VideoInfo.current_h">
21270
<summary>
21271
The current video mode height
21272
</summary>
21273
</member>
21274
<member name="P:Tao.Sdl.Sdl.SDL_VideoInfo.hw_available">
21275
<summary>
21276
Is it possible to create hardware surfaces?
21277
</summary>
21278
</member>
21279
<member name="P:Tao.Sdl.Sdl.SDL_VideoInfo.wm_available">
21280
<summary>
21281
Is there a window manager available
21282
</summary>
21283
</member>
21284
<member name="P:Tao.Sdl.Sdl.SDL_VideoInfo.blit_hw">
21285
<summary>
21286
Are hardware to hardware blits accelerated?
21287
</summary>
21288
</member>
21289
<member name="P:Tao.Sdl.Sdl.SDL_VideoInfo.blit_hw_CC">
21290
<summary>
21291
Are hardware to hardware colorkey blits accelerated?
21292
</summary>
21293
</member>
21294
<member name="P:Tao.Sdl.Sdl.SDL_VideoInfo.blit_hw_A">
21295
<summary>
21296
Are hardware to hardware alpha blits accelerated?
21297
</summary>
21298
</member>
21299
<member name="P:Tao.Sdl.Sdl.SDL_VideoInfo.blit_sw">
21300
<summary>
21301
Are software to hardware blits accelerated?
21302
</summary>
21303
</member>
21304
<member name="P:Tao.Sdl.Sdl.SDL_VideoInfo.blit_sw_CC">
21305
<summary>
21306
Are software to hardware colorkey blits accelerated?
21307
</summary>
21308
</member>
21309
<member name="P:Tao.Sdl.Sdl.SDL_VideoInfo.blit_sw_A">
21310
<summary>
21311
Are software to hardware alpha blits accelerated?
21312
</summary>
21313
</member>
21314
<member name="P:Tao.Sdl.Sdl.SDL_VideoInfo.blit_fill">
21315
<summary>
21316
Are color fills accelerated?
21317
</summary>
21318
</member>
21319
<member name="T:Tao.Sdl.Sdl.SDL_Overlay">
21320
<summary>
21321
The YUV hardware video overlay
21322
</summary>
21323
<remarks>
21324
A SDL_Overlay is similar to a SDL_Surface except
21325
it stores a YUV overlay. All the fields are read only,
21326
except for pixels which should be locked before use.
21327
The format field stores the format of the overlay
21328
which is one of the following:
21329
<code>
21330
SDL_YV12_OVERLAY 0x32315659 /* Planar mode: Y + V + U */
21331
SDL_IYUV_OVERLAY 0x56555949 /* Planar mode: Y + U + V */
21332
SDL_YUY2_OVERLAY 0x32595559 /* Packed mode: Y0+U0+Y1+V0 */
21333
SDL_UYVY_OVERLAY 0x59565955 /* Packed mode: U0+Y0+V0+Y1 */
21334
SDL_YVYU_OVERLAY 0x55595659 /* Packed mode: Y0+V0+Y1+U0 */</code>
21335
21336
More information on YUV formats can be found at
21337
http://www.webartz.com/fourcc/indexyuv.htm.
21338
</remarks>
21339
<see cref="M:Tao.Sdl.Sdl.SDL_CreateYUVOverlay(System.Int32,System.Int32,System.Int32,System.IntPtr)"/>
21340
<see cref="M:Tao.Sdl.Sdl.SDL_LockYUVOverlay(System.IntPtr)"/>
21341
<see cref="M:Tao.Sdl.Sdl.SDL_UnlockYUVOverlay(System.IntPtr)"/>
21342
<see cref="M:Tao.Sdl.Sdl.SDL_FreeYUVOverlay(System.IntPtr)"/>
21343
</member>
21344
<member name="F:Tao.Sdl.Sdl.SDL_Overlay.format">
21345
<summary>
21346
Overlay format (see below)
21347
</summary>
21348
</member>
21349
<member name="F:Tao.Sdl.Sdl.SDL_Overlay.w">
21350
<summary>
21351
Width of overlay
21352
</summary>
21353
</member>
21354
<member name="F:Tao.Sdl.Sdl.SDL_Overlay.h">
21355
<summary>
21356
Height of overlay
21357
</summary>
21358
</member>
21359
<member name="F:Tao.Sdl.Sdl.SDL_Overlay.planes">
21360
<summary>
21361
Number of planes in the overlay. Usually either 1 or 3.
21362
</summary>
21363
</member>
21364
<member name="F:Tao.Sdl.Sdl.SDL_Overlay.pitches">
21365
<summary>
21366
An array of pitches, one for each plane.
21367
Pitch is the length of a row in bytes.
21368
</summary>
21369
</member>
21370
<member name="F:Tao.Sdl.Sdl.SDL_Overlay.pixels">
21371
<summary>
21372
An array of pointers to the data of each plane.
21373
The overlay should be locked before these pointers are used.
21374
</summary>
21375
</member>
21376
<member name="F:Tao.Sdl.Sdl.SDL_Overlay.hwfuncs">
21377
<summary>
21378
Hardware-specific surface info
21379
</summary>
21380
</member>
21381
<member name="F:Tao.Sdl.Sdl.SDL_Overlay.hwdata">
21382
<summary>
21383
21384
</summary>
21385
</member>
21386
<member name="F:Tao.Sdl.Sdl.SDL_Overlay.field1">
21387
<summary>
21388
21389
</summary>
21390
</member>
21391
<member name="P:Tao.Sdl.Sdl.SDL_Overlay.hw_overlay">
21392
<summary>
21393
This will be set to 1 if the overlay is hardware accelerated.
21394
</summary>
21395
</member>
21396
<member name="T:Tao.Sdl.Sdl.AudioSpecCallbackDelegate">
21397
<summary>
21398
Used in the SDL_AudioSpec struct
21399
</summary>
21400
</member>
21401
<member name="T:Tao.Sdl.Sdl.SDL_EventFilter">
21402
<summary>
21403
This function sets up a filter to process all events before they
21404
change internal state and are posted to the internal event queue.
21405
</summary>
21406
<param name="evt">
21407
Event.
21408
</param>
21409
<returns>
21410
If the filter returns 1, then the event will be added
21411
to the internal queue. If it returns 0, then the event
21412
will be dropped from the queue. This allows selective
21413
filtering of dynamically.
21414
</returns>
21415
<remarks>
21416
<p>
21417
Binds to C callback in SDL_events.h:
21418
<code>typedef Uint32 (SDLCALL *SDL_EventFilter)(const SDL_Event *event)</code>
21419
</p>
21420
</remarks>
21421
<seealso cref="M:Tao.Sdl.Sdl.SDL_SetEventFilter(Tao.Sdl.Sdl.SDL_EventFilter)"/>
21422
<seealso cref="M:Tao.Sdl.Sdl.SDL_GetEventFilter"/>
21423
</member>
21424
<member name="T:Tao.Sdl.Sdl.ThreadDelegate">
21425
<summary>
21426
int (SDLCALL *fn)(void *)
21427
</summary>
21428
</member>
21429
<member name="T:Tao.Sdl.Sdl.SDL_TimerCallback">
21430
<summary>
21431
Prototype for the timer callback.
21432
</summary>
21433
<param name="interval">
21434
The current timer interval.
21435
</param>
21436
<returns>
21437
The next timer interval.
21438
</returns>
21439
<remarks>
21440
<p>
21441
Binds to C callback in SDL_timer.h:
21442
<code>typedef Uint32 (SDLCALL *SDL_TimerCallback)(Uint32 interval, void *param)</code>
21443
</p>
21444
</remarks>
21445
<seealso cref="M:Tao.Sdl.Sdl.SDL_SetTimer(System.Int32,Tao.Sdl.Sdl.SDL_TimerCallback)"/>
21446
</member>
21447
<member name="T:Tao.Sdl.Sdl.SDL_NewTimerCallback">
21448
<summary>
21449
Prototype for the new timer callback.
21450
</summary>
21451
<param name="interval">
21452
The current timer interval.
21453
</param>
21454
<returns>
21455
The next timer interval.
21456
</returns>
21457
<remarks>
21458
<para>
21459
The callback function is passed the current timer interval
21460
and returns the next timer interval. If the returned
21461
value is the same as the one passed in, the periodic alarm
21462
continues, otherwise a new alarm is scheduled.
21463
If the callback returns 0, the periodic alarm is cancelled.
21464
</para>
21465
<p>
21466
Binds to C callback in SDL_timer.h:
21467
<code>typedef Uint32 (SDLCALL *SDL_NewTimerCallback)(Uint32 interval, void *param)</code>
21468
</p>
21469
</remarks>
21470
<seealso cref="M:Tao.Sdl.Sdl.SDL_AddTimer(System.Int32,Tao.Sdl.Sdl.SDL_NewTimerCallback)"/>
21471
<seealso cref="M:Tao.Sdl.Sdl.SDL_RemoveTimer(Tao.Sdl.Sdl.SDL_TimerID)"/>
21472
</member>
21473
</members>
21474
</doc>
21475
21476