1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
\r
4 <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
\r
5 <meta http-equiv="Content-Style-Type" content="text/css">
\r
6 <meta name="keywords" content="Simple Directmedia Layer SDL2.0">
\r
7 <link rel="top" href="index.html" title="
\83z
\81[
\83\80">
\r
8 <link rel="parent" href="CategoryEvents.html" title="1
\82Â
\8fã">
\r
9 <title>SDL_SetEventFilter</title>
\r
12 <a href="index.html">
\96Ú
\8e\9f</a> - <a href="ApiByCategory.html">API(
\8b@
\94\
\95Ê)</a> - <a href="CategoryEvents.html">
\83C
\83x
\83\93\83g
\8f\88\97\9d</a> - SDL_SetEventFilter
\r
14 <h1>SDL_SetEventFilter</h1>
\r
15 \93à
\95\94\8fó
\91Ô
\82ª
\95Ï
\82í
\82è
\93à
\95\94\83L
\83\85\81[
\82É
\93ü
\82é
\91O
\82É
\91S
\82Ä
\82Ì
\83C
\83x
\83\93\83g
\82ð
\8f\88\97\9d\82·
\82é
\83t
\83B
\83\8b\83^
\82ð
\90Ý
\92è
\82·
\82é
\r
17 <code>void SDL_SetEventFilter(SDL_EventFilter filter, void* userdata)</code>
\r
19 <table border="1" summary="SDL_SetEventFilter">
\r
20 <tr><td>filter</td><td>
\83C
\83x
\83\93\83g
\94
\90¶
\8e\9e\82É
\8cÄ
\82Î
\82ê
\82é
\8aÖ
\90\94 (
\8fÚ
\8d×
\82ð
\8eQ
\8fÆ
\82·
\82é
\82±
\82Æ)</td></tr>
\r
21 <tr><td>userdata</td><td>filter
\82Ö
\93n
\82³
\82ê
\82é
\83|
\83C
\83\93\83^</td></tr>
\r
23 <h2>
\83T
\83\93\83v
\83\8b\83R
\81[
\83h</h2>
\r
29 //
\82Ü
\82¸
\8cx
\8d\90:
\82±
\82ê
\82Í
\83o
\83J
\82°
\82½
\82â
\82è
\95û
\82Å
\82 \82é.
\82µ
\82©
\82µ,
\83C
\83x
\83\93\83g
\83t
\83B
\83\8b\83^
\82ª
\r
30 //
\82Ç
\82Ì
\82æ
\82¤
\82É
\93
\82
\82©
\82ð
\8e¦
\82µ
\82Ä
\82¢
\82é.
\8eÀ
\8dÛ
\82Ì
\8fê
\8d\87\82Í,
\83\81\83C
\83\93\83\8b\81[
\83v
\82Å
\r
31 // SDL_PollEvent
\82©
\82ç
\93¾
\82½
\83C
\83x
\83\93\83g
\82ð
\82½
\82¾
\8f\88\97\9d\82·
\82ê
\82Î
\82æ
\82¢.
\88ê
\94Ê
\93I
\82É,
\83C
\83x
\r
32 //
\83\93\83g
\83t
\83B
\83\8b\83^
\82ð
\8eg
\82¨
\82¤
\82Æ
\8ev
\82Á
\82½
\82Æ
\82«
\82Í,
\97§
\82¿
\8e~
\82Ü
\82è,
\8c´
\93_
\82É
\8bA
\82Á
\82Ä
\82»
\82ê
\r
33 //
\82ª
\82æ
\82¢
\95û
\96@
\82©
\82æ
\82
\8dl
\82¦
\82é
\82×
\82«
\82Å
\82 \82é.
\r
36 //
\82±
\82Ì
\8aÖ
\90\94\82ðSDL_SetEventFilter
\82É
\93n
\82·.
\83\86\81[
\83U
\82ª
\83L
\81[
\83{
\81[
\83h
\82Ì
\83X
\83y
\81[
\83X
\r
37 //
\83o
\81[
\82ð
\89\9f\82µ
\82½
\82Æ
\82«, `userdata`
\83|
\83C
\83\93\83^
\82ª
\8e¦
\82·
\92l
\82ð
\90Ø
\82è
\91Ö
\82¦
\82é.
\82±
\82ê
\82Í
\r
38 //
\90Â
\90F
\82ð
\82 \82ç
\82í
\82µ
\82Ä
\82¢
\82Ä, 255
\82Æ0
\82Ì
\8aÔ
\82Ì
\92l
\82Å
\82 \82é.
\83\81\83C
\83\93\83v
\83\8d\83O
\83\89\83\80\82Í
\83X
\r
39 //
\83y
\81[
\83X
\83o
\81[
\82ð
\89\9f\82·
\82½
\82Ñ
\82É
\82±
\82Ì
\92l
\82Ì
\90F
\82Å
\83E
\83B
\83\93\83h
\83E
\82ð
\83N
\83\8a\83A
\82·
\82é.
\r
40 static int SDLCALL my_event_filter(void *userdata, SDL_Event * event)
\r
42 if ((event->type == SDL_KEYDOWN) && (event->key.keysym.sym == SDLK_SPACE)) {
\r
43 Uint8 *blue = (Uint8 *) userdata;
\r
50 return 1; //
\83C
\83x
\83\93\83g
\82ð
\83L
\83\85\81[
\82É
\92Ç
\89Á
\82·
\82é
\8fê
\8d\87\82Í1
\82ð
\96ß
\82·
\r
53 int main(int argc, char **argv)
\r
58 //
\92P
\82É
\83E
\83B
\83\93\83h
\83E
\82ð
\90¶
\90¬
\82µ
\82Ä
\8d\95\90F
\82Å
\83N
\83\8a\83A
\82·
\82é.
\r
59 //
\8eÀ
\8dÛ
\82Ì
\8fê
\8d\87\82Í
\83G
\83\89\81[
\82ð
\83`
\83F
\83b
\83N
\82·
\82é
\82±
\82Æ!
\r
60 SDL_Init(SDL_INIT_VIDEO);
\r
61 SDL_Window *window = SDL_CreateWindow("Hello SDL", SDL_WINDOWPOS_UNDEFINED,
\r
62 SDL_WINDOWPOS_UNDEFINED, 640, 480, 0);
\r
63 SDL_Renderer *renderer = SDL_CreateRenderer(window, -1, SDL_RENDERER_PRESENTVSYNC);
\r
64 SDL_SetRenderDrawColor(renderer, 0, 0, 0, 255);
\r
65 SDL_RenderClear(renderer);
\r
66 SDL_RenderPresent(renderer);
\r
68 //
\83C
\83x
\83\93\83g
\83t
\83B
\83\8b\83^
\82ð
\90Ý
\92è
\82·
\82é...
\r
69 SDL_SetEventFilter(my_event_filter, &blue);
\r
71 //
\83C
\83x
\83\93\83g
\83\8b\81[
\83v
\82ð
\96³
\8cÀ
\82É
\8eÀ
\8ds
\82·
\82é.
\91S
\82Ä
\82Ì
\83C
\83x
\83\93\83g
\82Í
\82±
\82±
\82É
\93\9e\92B
\82·
\82é
\91O
\82É
\r
72 // my_event_filter
\8aÖ
\90\94\82ð
\92Ê
\89ß
\82·
\82é.
\83t
\83\8c\81[
\83\80\82²
\82Æ
\82É
\83E
\83B
\83\93\83h
\83E
\82ð`blue`
\82É
\90Ý
\92è
\82³
\r
73 //
\82ê
\82½
\90F
\82Å
\93h
\82è
\82Â
\82Ô
\82·.
\82»
\82Ì
\92l
\82Ì
\83A
\83h
\83\8c\83X
\82Íuserdata
\82Å
\83t
\83B
\83\8b\83^
\8aÖ
\90\94\82É
\93n
\82³
\82ê,
\r
74 //
\82»
\82±
\82Å
\95Ï
\82¦
\82ç
\82ê
\82é.
\r
77 while (SDL_PollEvent(&e)) {
\r
78 if (e.type == SDL_QUIT) {
\r
83 SDL_SetRenderDrawColor(renderer, 0, 0, blue, 255);
\r
84 SDL_RenderClear(renderer);
\r
85 SDL_RenderPresent(renderer);
\r
95 filter
\82Ì
\8aÖ
\90\94\83v
\83\8d\83g
\83^
\83C
\83v
\82Í
\r
98 <code>int YourEventFilter(void* userdata, SDL_Event* event)</code><br>
\r
101 YourEventFilter
\82Í
\94C
\88Ó
\82Ì
\8aÖ
\90\94\96¼
\82Å,
\83p
\83\89\83\81\81[
\83^
\82Í
\8e\9f\82Ì
\92Ê
\82è
\82Å
\82 \82é.
\r
104 <table border="1" summary="YourEventFilter">
\r
105 <tr><td>userdata</td><td><a href="SDL_SetEventFilter.html">SDL_SetEventFilter()</a>
\82Å
\90Ý
\92è
\82µ
\82½userdata</td></tr>
\r
106 <tr><td>event</td><td>
\83R
\81[
\83\8b\83o
\83b
\83N
\82ð
\88ø
\82«
\8bN
\82±
\82µ
\82½
\83C
\83x
\83\93\83g</td></tr>
\r
110 filter
\82ª1
\82ð
\96ß
\82µ
\82½
\82Æ
\82«,
\83C
\83x
\83\93\83g
\82Í
\93à
\95\94\83L
\83\85\81[
\82É
\92Ç
\89Á
\82³
\82ê
\82é.
\r
111 0
\82ð
\96ß
\82µ
\82½
\82Æ
\82«,
\83C
\83x
\83\93\83g
\82Í
\83L
\83\85\81[
\82©
\82ç
\8dí
\8f\9c\82³
\82ê
\82é
\82ª
\93à
\95\94\8fó
\91Ô
\82Í
\8dX
\90V
\82³
\82ê
\82é.
\r
112 \82±
\82ê
\82É
\82æ
\82è
\8eó
\90M
\82µ
\82½
\83C
\83x
\83\93\83g
\82ð
\93®
\93I
\82É
\83t
\83B
\83\8b\83^
\82Å
\91I
\91ð
\82Å
\82«
\82é.
\r
115 <em>
\92\8d\88Ó:</em>
\95Ê
\83X
\83\8c\83b
\83h
\82Å
\8eg
\97p
\82·
\82é
\8fê
\8d\87,
\83C
\83x
\83\93\83g
\83t
\83B
\83\8b\83^
\8aÖ
\90\94\82Å
\8ds
\82¤
\82±
\82Æ
\82É
\82Í
\8d×
\90S
\82Ì
\92\8d\88Ó
\82ð
\95¥
\82¤
\82±
\82Æ!
\r
118 \8a\84\82è
\8d\9e\82Ý(
\97á
\82¦
\82ÎCTRL-C)
\82Å
\94
\90¶
\82µ
\82½
\8fI
\97¹
\83C
\83x
\83\93\83g
\82Í,
\83A
\83v
\83\8a\83P
\81[
\83V
\83\87\83\93\82É
\82Í
\8e\9f\82Ì
\83C
\83x
\83\93\83g
\83|
\81[
\83\8a\83\93\83O
\82Å
\93Í
\82¯
\82ç
\82ê
\82é.
\r
121 <a href="SDL_QuitEvent.html">SDL_QuitEvent</a>
\83C
\83x
\83\93\83g
\82ð
\88µ
\82¤
\8fê
\8d\87,
\92\8d\88Ó
\82·
\82×
\82«
\82±
\82Æ
\82ª
\82 \82é.
\r
122 \82±
\82Ì
\8fê
\8d\87,
\83C
\83x
\83\93\83g
\83t
\83B
\83\8b\83^
\82Í
\83E
\83B
\83\93\83h
\83E
\83}
\83l
\81[
\83W
\83\83\82ª
\83A
\83v
\83\8a\83P
\81[
\83V
\83\87\83\93\83E
\83B
\83\93\83h
\83E
\82ð
\95Â
\82¶
\82æ
\82¤
\82Æ
\82µ
\82½
\82Æ
\82«
\82Ì
\82Ý
\8cÄ
\82Î
\82ê
\82é.
\r
123 \82à
\82µ
\83C
\83x
\83\93\83g
\83t
\83B
\83\8b\83^
\82ª1
\82ð
\96ß
\82·
\82Æ
\83E
\83B
\83\93\83h
\83E
\82Í
\95Â
\82¶
\82é.
\82»
\82ê
\88È
\8aO
\82ð
\96ß
\82·
\82Æ
\89Â
\94\
\82È
\82ç
\82Î
\8aJ
\82¢
\82½
\82Ü
\82Ü
\82É
\82·
\82é.
\r
126 \83\81\83\82:
\96³
\8cø
\89»
\82³
\82ê
\82½
\83C
\83x
\83\93\83g
\82Í
\83C
\83x
\83\93\83g
\83t
\83B
\83\8b\83^
\8aÖ
\90\94\82É
\82Í
\93Í
\82©
\82È
\82¢. <a href="SDL_EventState.html">SDL_EventState()</a>
\82ð
\8eQ
\8fÆ
\82·
\82é
\82±
\82Æ.
\r
129 \83\81\83\82:
\83t
\83B
\83\8b\83^
\82·
\82é
\82Ì
\82Å
\82Í
\82È
\82
\92P
\82É
\83C
\83x
\83\93\83g
\82ð
\92²
\8d¸
\82µ
\82½
\82¢
\82Ì
\82Å
\82 \82ê
\82Î,
\91ã
\82í
\82è
\82É<a href="SDL_AddEventWatch.html">SDL_AddEventWatch()</a>
\82ð
\8eg
\82¤
\82×
\82«
\82Å
\82 \82é.
\r
132 \83\81\83\82:
\83R
\81[
\83\8b\83o
\83b
\83N
\82Í
\83\86\81[
\83U
\82Ì<a href="SDL_PushEvent.html">SDL_PushEvent()</a>
\82Å
\94
\90¶
\82³
\82¹
\82½
\83C
\83x
\83\93\83g
\82Å
\82à
\8cÄ
\82Î
\82ê
\82é.
\r
133 \82µ
\82©
\82µ, <a href="SDL_PeepEvents.html">SDL_PeepEvents()</a>
\82Å
\94
\90¶
\82µ
\82½
\83C
\83x
\83\93\83g
\82Ì
\8fê
\8d\87\82Í
\8cÄ
\82Î
\82ê
\82È
\82¢.
\r
135 <h2>
\83o
\81[
\83W
\83\87\83\93</h2>
\r
137 <h2>
\8aÖ
\98A
\8d\80\96Ú(
\8aÖ
\90\94)</h2>
\r
138 <a href="SDL_AddEventWatch.html">SDL_AddEventWatch</a><br>
\r
139 <a href="SDL_EventState.html">SDL_EventState</a><br>
\r
140 <a href="SDL_GetEventFilter.html">SDL_GetEventFilter</a><br>
\r
141 <a href="SDL_PeepEvents.html">SDL_PeepEvents</a><br>
\r
142 <a href="SDL_PushEvent.html">SDL_PushEvent</a><br>
\r
143 <h2>SDL Wiki
\82Ö
\82Ì
\83\8a\83\93\83N</h2>
\r
144 <a href="https://wiki.libsdl.org/SDL_SetEventFilter">SDL_SetEventFilter - SDL Wiki</a>
\r