SDL 1.2.13
[crawl:crawl-sdl.git] / docs / html / sdlevent.html
1 <HTML
2 ><HEAD
3 ><TITLE
4 >SDL_Event</TITLE
5 ><META
6 NAME="GENERATOR"
7 CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
8 "><LINK
9 REL="HOME"
10 TITLE="SDL Library Documentation"
11 HREF="index.html"><LINK
12 REL="UP"
13 TITLE="SDL Event Structures."
14 HREF="eventstructures.html"><LINK
15 REL="PREVIOUS"
16 TITLE="SDL Event Structures."
17 HREF="eventstructures.html"><LINK
18 REL="NEXT"
19 TITLE="SDL_ActiveEvent"
20 HREF="sdlactiveevent.html"></HEAD
21 ><BODY
22 CLASS="REFENTRY"
23 BGCOLOR="#FFF8DC"
24 TEXT="#000000"
25 LINK="#0000ee"
26 VLINK="#551a8b"
27 ALINK="#ff0000"
28 ><DIV
29 CLASS="NAVHEADER"
30 ><TABLE
31 SUMMARY="Header navigation table"
32 WIDTH="100%"
33 BORDER="0"
34 CELLPADDING="0"
35 CELLSPACING="0"
36 ><TR
37 ><TH
38 COLSPAN="3"
39 ALIGN="center"
40 >SDL Library Documentation</TH
41 ></TR
42 ><TR
43 ><TD
44 WIDTH="10%"
45 ALIGN="left"
46 VALIGN="bottom"
47 ><A
48 HREF="eventstructures.html"
49 ACCESSKEY="P"
50 >Prev</A
51 ></TD
52 ><TD
53 WIDTH="80%"
54 ALIGN="center"
55 VALIGN="bottom"
56 ></TD
57 ><TD
58 WIDTH="10%"
59 ALIGN="right"
60 VALIGN="bottom"
61 ><A
62 HREF="sdlactiveevent.html"
63 ACCESSKEY="N"
64 >Next</A
65 ></TD
66 ></TR
67 ></TABLE
68 ><HR
69 ALIGN="LEFT"
70 WIDTH="100%"></DIV
71 ><H1
72 ><A
73 NAME="SDLEVENT"
74 ></A
75 >SDL_Event</H1
76 ><DIV
77 CLASS="REFNAMEDIV"
78 ><A
79 NAME="AEN3711"
80 ></A
81 ><H2
82 >Name</H2
83 >SDL_Event&nbsp;--&nbsp;General event structure</DIV
84 ><DIV
85 CLASS="REFSECT1"
86 ><A
87 NAME="AEN3714"
88 ></A
89 ><H2
90 >Structure Definition</H2
91 ><PRE
92 CLASS="PROGRAMLISTING"
93 >typedef union{
94   Uint8 type;
95   SDL_ActiveEvent active;
96   SDL_KeyboardEvent key;
97   SDL_MouseMotionEvent motion;
98   SDL_MouseButtonEvent button;
99   SDL_JoyAxisEvent jaxis;
100   SDL_JoyBallEvent jball;
101   SDL_JoyHatEvent jhat;
102   SDL_JoyButtonEvent jbutton;
103   SDL_ResizeEvent resize;
104   SDL_ExposeEvent expose;
105   SDL_QuitEvent quit;
106   SDL_UserEvent user;
107   SDL_SysWMEvent syswm;
108 } SDL_Event;</PRE
109 ></DIV
110 ><DIV
111 CLASS="REFSECT1"
112 ><A
113 NAME="AEN3717"
114 ></A
115 ><H2
116 >Structure Data</H2
117 ><DIV
118 CLASS="INFORMALTABLE"
119 ><A
120 NAME="AEN3719"
121 ></A
122 ><P
123 ></P
124 ><TABLE
125 BORDER="0"
126 CLASS="CALSTABLE"
127 ><TBODY
128 ><TR
129 ><TD
130 ALIGN="LEFT"
131 VALIGN="TOP"
132 ><TT
133 CLASS="STRUCTFIELD"
134 ><I
135 >type</I
136 ></TT
137 ></TD
138 ><TD
139 ALIGN="LEFT"
140 VALIGN="TOP"
141 >The type of event</TD
142 ></TR
143 ><TR
144 ><TD
145 ALIGN="LEFT"
146 VALIGN="TOP"
147 ><TT
148 CLASS="STRUCTFIELD"
149 ><I
150 >active</I
151 ></TT
152 ></TD
153 ><TD
154 ALIGN="LEFT"
155 VALIGN="TOP"
156 ><A
157 HREF="sdlactiveevent.html"
158 >Activation event</A
159 ></TD
160 ></TR
161 ><TR
162 ><TD
163 ALIGN="LEFT"
164 VALIGN="TOP"
165 ><TT
166 CLASS="STRUCTFIELD"
167 ><I
168 >key</I
169 ></TT
170 ></TD
171 ><TD
172 ALIGN="LEFT"
173 VALIGN="TOP"
174 ><A
175 HREF="sdlkeyboardevent.html"
176 >Keyboard event</A
177 ></TD
178 ></TR
179 ><TR
180 ><TD
181 ALIGN="LEFT"
182 VALIGN="TOP"
183 ><TT
184 CLASS="STRUCTFIELD"
185 ><I
186 >motion</I
187 ></TT
188 ></TD
189 ><TD
190 ALIGN="LEFT"
191 VALIGN="TOP"
192 ><A
193 HREF="sdlmousemotionevent.html"
194 >Mouse motion event</A
195 ></TD
196 ></TR
197 ><TR
198 ><TD
199 ALIGN="LEFT"
200 VALIGN="TOP"
201 ><TT
202 CLASS="STRUCTFIELD"
203 ><I
204 >button</I
205 ></TT
206 ></TD
207 ><TD
208 ALIGN="LEFT"
209 VALIGN="TOP"
210 ><A
211 HREF="sdlmousebuttonevent.html"
212 >Mouse button event</A
213 ></TD
214 ></TR
215 ><TR
216 ><TD
217 ALIGN="LEFT"
218 VALIGN="TOP"
219 ><TT
220 CLASS="STRUCTFIELD"
221 ><I
222 >jaxis</I
223 ></TT
224 ></TD
225 ><TD
226 ALIGN="LEFT"
227 VALIGN="TOP"
228 ><A
229 HREF="sdljoyaxisevent.html"
230 >Joystick axis motion event</A
231 ></TD
232 ></TR
233 ><TR
234 ><TD
235 ALIGN="LEFT"
236 VALIGN="TOP"
237 ><TT
238 CLASS="STRUCTFIELD"
239 ><I
240 >jball</I
241 ></TT
242 ></TD
243 ><TD
244 ALIGN="LEFT"
245 VALIGN="TOP"
246 ><A
247 HREF="sdljoyballevent.html"
248 >Joystick trackball motion event</A
249 ></TD
250 ></TR
251 ><TR
252 ><TD
253 ALIGN="LEFT"
254 VALIGN="TOP"
255 ><TT
256 CLASS="STRUCTFIELD"
257 ><I
258 >jhat</I
259 ></TT
260 ></TD
261 ><TD
262 ALIGN="LEFT"
263 VALIGN="TOP"
264 ><A
265 HREF="sdljoyhatevent.html"
266 >Joystick hat motion event</A
267 ></TD
268 ></TR
269 ><TR
270 ><TD
271 ALIGN="LEFT"
272 VALIGN="TOP"
273 ><TT
274 CLASS="STRUCTFIELD"
275 ><I
276 >jbutton</I
277 ></TT
278 ></TD
279 ><TD
280 ALIGN="LEFT"
281 VALIGN="TOP"
282 ><A
283 HREF="sdljoybuttonevent.html"
284 >Joystick button event</A
285 ></TD
286 ></TR
287 ><TR
288 ><TD
289 ALIGN="LEFT"
290 VALIGN="TOP"
291 ><TT
292 CLASS="STRUCTFIELD"
293 ><I
294 >resize</I
295 ></TT
296 ></TD
297 ><TD
298 ALIGN="LEFT"
299 VALIGN="TOP"
300 ><A
301 HREF="sdlresizeevent.html"
302 >Application window resize event</A
303 ></TD
304 ></TR
305 ><TR
306 ><TD
307 ALIGN="LEFT"
308 VALIGN="TOP"
309 ><TT
310 CLASS="STRUCTFIELD"
311 ><I
312 >expose</I
313 ></TT
314 ></TD
315 ><TD
316 ALIGN="LEFT"
317 VALIGN="TOP"
318 ><A
319 HREF="sdlexposeevent.html"
320 >Application window expose event</A
321 ></TD
322 ></TR
323 ><TR
324 ><TD
325 ALIGN="LEFT"
326 VALIGN="TOP"
327 ><TT
328 CLASS="STRUCTFIELD"
329 ><I
330 >quit</I
331 ></TT
332 ></TD
333 ><TD
334 ALIGN="LEFT"
335 VALIGN="TOP"
336 ><A
337 HREF="sdlquitevent.html"
338 >Application quit request event</A
339 ></TD
340 ></TR
341 ><TR
342 ><TD
343 ALIGN="LEFT"
344 VALIGN="TOP"
345 ><TT
346 CLASS="STRUCTFIELD"
347 ><I
348 >user</I
349 ></TT
350 ></TD
351 ><TD
352 ALIGN="LEFT"
353 VALIGN="TOP"
354 ><A
355 HREF="sdluserevent.html"
356 >User defined event</A
357 ></TD
358 ></TR
359 ><TR
360 ><TD
361 ALIGN="LEFT"
362 VALIGN="TOP"
363 ><TT
364 CLASS="STRUCTFIELD"
365 ><I
366 >syswm</I
367 ></TT
368 ></TD
369 ><TD
370 ALIGN="LEFT"
371 VALIGN="TOP"
372 ><A
373 HREF="sdlsyswmevent.html"
374 >Undefined window manager event</A
375 ></TD
376 ></TR
377 ></TBODY
378 ></TABLE
379 ><P
380 ></P
381 ></DIV
382 ></DIV
383 ><DIV
384 CLASS="REFSECT1"
385 ><A
386 NAME="AEN3791"
387 ></A
388 ><H2
389 >Description</H2
390 ><P
391 >The <SPAN
392 CLASS="STRUCTNAME"
393 >SDL_Event</SPAN
394 > union is the core to all event handling is SDL, its probably the most important structure after <SPAN
395 CLASS="STRUCTNAME"
396 >SDL_Surface</SPAN
397 >. <SPAN
398 CLASS="STRUCTNAME"
399 >SDL_Event</SPAN
400 > is a union of all event structures used in SDL, using it is a simple matter of knowing which union member relates to which event <TT
401 CLASS="STRUCTFIELD"
402 ><I
403 >type</I
404 ></TT
405 >.</P
406 ><P
407 ><DIV
408 CLASS="INFORMALTABLE"
409 ><A
410 NAME="AEN3799"
411 ></A
412 ><P
413 ></P
414 ><TABLE
415 BORDER="1"
416 CLASS="CALSTABLE"
417 ><THEAD
418 ><TR
419 ><TH
420 ALIGN="LEFT"
421 VALIGN="TOP"
422 >Event <TT
423 CLASS="STRUCTFIELD"
424 ><I
425 >type</I
426 ></TT
427 ></TH
428 ><TH
429 ALIGN="LEFT"
430 VALIGN="TOP"
431 >Event Structure</TH
432 ></TR
433 ></THEAD
434 ><TBODY
435 ><TR
436 ><TD
437 ALIGN="LEFT"
438 VALIGN="MIDDLE"
439 ><TT
440 CLASS="LITERAL"
441 >SDL_ACTIVEEVENT</TT
442 ></TD
443 ><TD
444 ALIGN="LEFT"
445 VALIGN="MIDDLE"
446 ><A
447 HREF="sdlactiveevent.html"
448 ><SPAN
449 CLASS="STRUCTNAME"
450 >SDL_ActiveEvent</SPAN
451 ></A
452 ></TD
453 ></TR
454 ><TR
455 ><TD
456 ALIGN="LEFT"
457 VALIGN="TOP"
458 ><TT
459 CLASS="LITERAL"
460 >SDL_KEYDOWN/UP</TT
461 ></TD
462 ><TD
463 ALIGN="LEFT"
464 VALIGN="TOP"
465 ><A
466 HREF="sdlkeyboardevent.html"
467 ><SPAN
468 CLASS="STRUCTNAME"
469 >SDL_KeyboardEvent</SPAN
470 ></A
471 ></TD
472 ></TR
473 ><TR
474 ><TD
475 ALIGN="LEFT"
476 VALIGN="TOP"
477 ><TT
478 CLASS="LITERAL"
479 >SDL_MOUSEMOTION</TT
480 ></TD
481 ><TD
482 ALIGN="LEFT"
483 VALIGN="TOP"
484 ><A
485 HREF="sdlmousemotionevent.html"
486 ><SPAN
487 CLASS="STRUCTNAME"
488 >SDL_MouseMotionEvent</SPAN
489 ></A
490 ></TD
491 ></TR
492 ><TR
493 ><TD
494 ALIGN="LEFT"
495 VALIGN="TOP"
496 ><TT
497 CLASS="LITERAL"
498 >SDL_MOUSEBUTTONDOWN/UP</TT
499 ></TD
500 ><TD
501 ALIGN="LEFT"
502 VALIGN="TOP"
503 ><A
504 HREF="sdlmousebuttonevent.html"
505 ><SPAN
506 CLASS="STRUCTNAME"
507 >SDL_MouseButtonEvent</SPAN
508 ></A
509 ></TD
510 ></TR
511 ><TR
512 ><TD
513 ALIGN="LEFT"
514 VALIGN="TOP"
515 ><TT
516 CLASS="LITERAL"
517 >SDL_JOYAXISMOTION</TT
518 ></TD
519 ><TD
520 ALIGN="LEFT"
521 VALIGN="TOP"
522 ><A
523 HREF="sdljoyaxisevent.html"
524 ><SPAN
525 CLASS="STRUCTNAME"
526 >SDL_JoyAxisEvent</SPAN
527 ></A
528 ></TD
529 ></TR
530 ><TR
531 ><TD
532 ALIGN="LEFT"
533 VALIGN="TOP"
534 ><TT
535 CLASS="LITERAL"
536 >SDL_JOYBALLMOTION</TT
537 ></TD
538 ><TD
539 ALIGN="LEFT"
540 VALIGN="TOP"
541 ><A
542 HREF="sdljoyballevent.html"
543 ><SPAN
544 CLASS="STRUCTNAME"
545 >SDL_JoyBallEvent</SPAN
546 ></A
547 ></TD
548 ></TR
549 ><TR
550 ><TD
551 ALIGN="LEFT"
552 VALIGN="TOP"
553 ><TT
554 CLASS="LITERAL"
555 >SDL_JOYHATMOTION</TT
556 ></TD
557 ><TD
558 ALIGN="LEFT"
559 VALIGN="TOP"
560 ><A
561 HREF="sdljoyhatevent.html"
562 ><SPAN
563 CLASS="STRUCTNAME"
564 >SDL_JoyHatEvent</SPAN
565 ></A
566 ></TD
567 ></TR
568 ><TR
569 ><TD
570 ALIGN="LEFT"
571 VALIGN="TOP"
572 ><TT
573 CLASS="LITERAL"
574 >SDL_JOYBUTTONDOWN/UP</TT
575 ></TD
576 ><TD
577 ALIGN="LEFT"
578 VALIGN="TOP"
579 ><A
580 HREF="sdljoybuttonevent.html"
581 ><SPAN
582 CLASS="STRUCTNAME"
583 >SDL_JoyButtonEvent</SPAN
584 ></A
585 ></TD
586 ></TR
587 ><TR
588 ><TD
589 ALIGN="LEFT"
590 VALIGN="TOP"
591 ><TT
592 CLASS="LITERAL"
593 >SDL_QUIT</TT
594 ></TD
595 ><TD
596 ALIGN="LEFT"
597 VALIGN="TOP"
598 ><A
599 HREF="sdlquitevent.html"
600 ><SPAN
601 CLASS="STRUCTNAME"
602 >SDL_QuitEvent</SPAN
603 ></A
604 ></TD
605 ></TR
606 ><TR
607 ><TD
608 ALIGN="LEFT"
609 VALIGN="TOP"
610 ><TT
611 CLASS="LITERAL"
612 >SDL_SYSWMEVENT</TT
613 ></TD
614 ><TD
615 ALIGN="LEFT"
616 VALIGN="TOP"
617 ><A
618 HREF="sdlsyswmevent.html"
619 ><SPAN
620 CLASS="STRUCTNAME"
621 >SDL_SysWMEvent</SPAN
622 ></A
623 ></TD
624 ></TR
625 ><TR
626 ><TD
627 ALIGN="LEFT"
628 VALIGN="TOP"
629 ><TT
630 CLASS="LITERAL"
631 >SDL_VIDEORESIZE</TT
632 ></TD
633 ><TD
634 ALIGN="LEFT"
635 VALIGN="TOP"
636 ><A
637 HREF="sdlresizeevent.html"
638 ><SPAN
639 CLASS="STRUCTNAME"
640 >SDL_ResizeEvent</SPAN
641 ></A
642 ></TD
643 ></TR
644 ><TR
645 ><TD
646 ALIGN="LEFT"
647 VALIGN="TOP"
648 ><TT
649 CLASS="LITERAL"
650 >SDL_VIDEOEXPOSE</TT
651 ></TD
652 ><TD
653 ALIGN="LEFT"
654 VALIGN="TOP"
655 ><A
656 HREF="sdlexposeevent.html"
657 ><SPAN
658 CLASS="STRUCTNAME"
659 >SDL_ExposeEvent</SPAN
660 ></A
661 ></TD
662 ></TR
663 ><TR
664 ><TD
665 ALIGN="LEFT"
666 VALIGN="TOP"
667 ><TT
668 CLASS="LITERAL"
669 >SDL_USEREVENT</TT
670 ></TD
671 ><TD
672 ALIGN="LEFT"
673 VALIGN="TOP"
674 ><A
675 HREF="sdluserevent.html"
676 ><SPAN
677 CLASS="STRUCTNAME"
678 >SDL_UserEvent</SPAN
679 ></A
680 ></TD
681 ></TR
682 ></TBODY
683 ></TABLE
684 ><P
685 ></P
686 ></DIV
687 ></P
688 ></DIV
689 ><DIV
690 CLASS="REFSECT1"
691 ><A
692 NAME="AEN3885"
693 ></A
694 ><H2
695 >Use</H2
696 ><P
697 >The <SPAN
698 CLASS="STRUCTNAME"
699 >SDL_Event</SPAN
700 > structure has two uses</P
701 ><P
702 ></P
703 ><UL
704 COMPACT="COMPACT"
705 ><LI
706 ><P
707 >Reading events on the event queue</P
708 ></LI
709 ><LI
710 ><P
711 >Placing events on the event queue</P
712 ></LI
713 ></UL
714 ><P
715 >Reading events from the event queue is done with either <A
716 HREF="sdlpollevent.html"
717 ><TT
718 CLASS="FUNCTION"
719 >SDL_PollEvent</TT
720 ></A
721 > or <A
722 HREF="sdlpeepevents.html"
723 ><TT
724 CLASS="FUNCTION"
725 >SDL_PeepEvents</TT
726 ></A
727 >. We'll use <TT
728 CLASS="FUNCTION"
729 >SDL_PollEvent</TT
730 > and step through an example.</P
731 ><P
732 >First off, we create an empty <SPAN
733 CLASS="STRUCTNAME"
734 >SDL_Event</SPAN
735 > structure.
736 <PRE
737 CLASS="PROGRAMLISTING"
738 >SDL_Event test_event;</PRE
739 >
740 <TT
741 CLASS="FUNCTION"
742 >SDL_PollEvent</TT
743 > removes the next event from the event queue, if there are no events on the queue it returns <SPAN
744 CLASS="RETURNVALUE"
745 >0</SPAN
746 > otherwise it returns <SPAN
747 CLASS="RETURNVALUE"
748 >1</SPAN
749 >. We use a <TT
750 CLASS="FUNCTION"
751 >while</TT
752 > loop to process each event in turn.
753 <PRE
754 CLASS="PROGRAMLISTING"
755 >while(SDL_PollEvent(&#38;test_event)) {</PRE
756 >
757 The <TT
758 CLASS="FUNCTION"
759 >SDL_PollEvent</TT
760 > function take a pointer to an <SPAN
761 CLASS="STRUCTNAME"
762 >SDL_Event</SPAN
763 > structure that is to be filled with event information. We know that if <TT
764 CLASS="FUNCTION"
765 >SDL_PollEvent</TT
766 > removes an event from the queue then the event information will be placed in our <SPAN
767 CLASS="STRUCTNAME"
768 >test_event</SPAN
769 > structure, but we also know that the <SPAN
770 CLASS="emphasis"
771 ><I
772 CLASS="EMPHASIS"
773 >type</I
774 ></SPAN
775 > of event will be placed in the <TT
776 CLASS="STRUCTFIELD"
777 ><I
778 >type</I
779 ></TT
780 > member of <SPAN
781 CLASS="STRUCTNAME"
782 >test_event</SPAN
783 >. So to handle each event <TT
784 CLASS="STRUCTFIELD"
785 ><I
786 >type</I
787 ></TT
788 > seperately we use a <TT
789 CLASS="FUNCTION"
790 >switch</TT
791 > statement.
792 <PRE
793 CLASS="PROGRAMLISTING"
794 >  switch(test_event.type) {</PRE
795 >
796 We need to know what kind of events we're looking for <SPAN
797 CLASS="emphasis"
798 ><I
799 CLASS="EMPHASIS"
800 >and</I
801 ></SPAN
802 > the event <TT
803 CLASS="STRUCTFIELD"
804 ><I
805 >type</I
806 ></TT
807 >'s of those events. So lets assume we want to detect where the user is moving the mouse pointer within our application. We look through our event types and notice that <TT
808 CLASS="LITERAL"
809 >SDL_MOUSEMOTION</TT
810 > is, more than likely, the event we're looking for. A little <A
811 HREF="sdlmousemotionevent.html"
812 >more</A
813 > research tells use that <TT
814 CLASS="LITERAL"
815 >SDL_MOUSEMOTION</TT
816 > events are handled within the <A
817 HREF="sdlmousemotionevent.html"
818 ><SPAN
819 CLASS="STRUCTNAME"
820 >SDL_MouseMotionEvent</SPAN
821 ></A
822 > structure which is the <TT
823 CLASS="STRUCTFIELD"
824 ><I
825 >motion</I
826 ></TT
827 > member of <SPAN
828 CLASS="STRUCTNAME"
829 >SDL_Event</SPAN
830 >. We can check for the <TT
831 CLASS="LITERAL"
832 >SDL_MOUSEMOTION</TT
833 > event <TT
834 CLASS="STRUCTFIELD"
835 ><I
836 >type</I
837 ></TT
838 > within our <TT
839 CLASS="FUNCTION"
840 >switch</TT
841 > statement like so:
842 <PRE
843 CLASS="PROGRAMLISTING"
844 >    case SDL_MOUSEMOTION:</PRE
845 >
846 All we need do now is read the information out of the <TT
847 CLASS="STRUCTFIELD"
848 ><I
849 >motion</I
850 ></TT
851 > member of <SPAN
852 CLASS="STRUCTNAME"
853 >test_event</SPAN
854 >.
855 <PRE
856 CLASS="PROGRAMLISTING"
857 >      printf("We got a motion event.\n");
858       printf("Current mouse position is: (%d, %d)\n", test_event.motion.x, test_event.motion.y);
859       break;
860     default:
861       printf("Unhandled Event!\n");
862       break;
863   }
864 }
865 printf("Event queue empty.\n");</PRE
866 ></P
867 ><P
868 >It is also possible to push events onto the event queue and so use it as a two-way communication path. Both <A
869 HREF="sdlpushevent.html"
870 ><TT
871 CLASS="FUNCTION"
872 >SDL_PushEvent</TT
873 ></A
874 > and <A
875 HREF="sdlpeepevents.html"
876 ><TT
877 CLASS="FUNCTION"
878 >SDL_PeepEvents</TT
879 ></A
880 > allow you to place events onto the event queue. This is usually used to place a <TT
881 CLASS="LITERAL"
882 >SDL_USEREVENT</TT
883 > on the event queue, however you could use it to post fake input events if you wished. Creating your own events is a simple matter of choosing the event type you want, setting the <TT
884 CLASS="STRUCTFIELD"
885 ><I
886 >type</I
887 ></TT
888 > member and filling the appropriate member structure with information.
889 <PRE
890 CLASS="PROGRAMLISTING"
891 >SDL_Event user_event;
892
893 user_event.type=SDL_USEREVENT;
894 user_event.user.code=2;
895 user_event.user.data1=NULL;
896 user_event.user.data2=NULL;
897 SDL_PushEvent(&#38;user_event);</PRE
898 ></P
899 ></DIV
900 ><DIV
901 CLASS="REFSECT1"
902 ><A
903 NAME="AEN3942"
904 ></A
905 ><H2
906 >See Also</H2
907 ><P
908 ><A
909 HREF="sdlpollevent.html"
910 ><TT
911 CLASS="FUNCTION"
912 >SDL_PollEvent</TT
913 ></A
914 >,
915 <A
916 HREF="sdlpushevent.html"
917 ><TT
918 CLASS="FUNCTION"
919 >SDL_PushEvent</TT
920 ></A
921 >,
922 <A
923 HREF="sdlpeepevents.html"
924 ><TT
925 CLASS="FUNCTION"
926 >SDL_PeepEvents</TT
927 ></A
928 ></P
929 ></DIV
930 ><DIV
931 CLASS="NAVFOOTER"
932 ><HR
933 ALIGN="LEFT"
934 WIDTH="100%"><TABLE
935 SUMMARY="Footer navigation table"
936 WIDTH="100%"
937 BORDER="0"
938 CELLPADDING="0"
939 CELLSPACING="0"
940 ><TR
941 ><TD
942 WIDTH="33%"
943 ALIGN="left"
944 VALIGN="top"
945 ><A
946 HREF="eventstructures.html"
947 ACCESSKEY="P"
948 >Prev</A
949 ></TD
950 ><TD
951 WIDTH="34%"
952 ALIGN="center"
953 VALIGN="top"
954 ><A
955 HREF="index.html"
956 ACCESSKEY="H"
957 >Home</A
958 ></TD
959 ><TD
960 WIDTH="33%"
961 ALIGN="right"
962 VALIGN="top"
963 ><A
964 HREF="sdlactiveevent.html"
965 ACCESSKEY="N"
966 >Next</A
967 ></TD
968 ></TR
969 ><TR
970 ><TD
971 WIDTH="33%"
972 ALIGN="left"
973 VALIGN="top"
974 >SDL Event Structures.</TD
975 ><TD
976 WIDTH="34%"
977 ALIGN="center"
978 VALIGN="top"
979 ><A
980 HREF="eventstructures.html"
981 ACCESSKEY="U"
982 >Up</A
983 ></TD
984 ><TD
985 WIDTH="33%"
986 ALIGN="right"
987 VALIGN="top"
988 >SDL_ActiveEvent</TD
989 ></TR
990 ></TABLE
991 ></DIV
992 ></BODY
993 ></HTML
994 >