OSDN Git Service

SDL_EventState 関連項目(関数)にSDL_GetEventStateを追加 https://wiki.libsdl.org/SDL_EventState...
[sdl2referencejp/sdl2referencejp.git] / SDL_atomic_t.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">\r
2 <html lang="ja-JP">\r
3 <head>\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="CategoryAtomic.html" title="1\82Â\8fã">\r
9 <title>SDL_atomic_t</title>\r
10 </head>\r
11 <body>\r
12 <a href="index.html">\96Ú\8e\9f</a> - <a href="ApiByCategory.html">API(\8b@\94\\95Ê)</a> - <a href="CategoryAtomic.html">\83A\83g\83~\83b\83N\91\80\8dì</a> - SDL_atomic_t\r
13 <hr>\r
14 <h1>SDL_atomic_t</h1>\r
15 \83A\83g\83~\83b\83N\90®\90\94\92l\82ð\95\\82·\8d\\91¢\91Ì\r
16 <h2>\83t\83B\81[\83\8b\83h</h2>\r
17 <table border="1" summary="SDL_atomic_t">\r
18 <tr><td>int</td><td>value</td><td>\83A\83g\83~\83b\83N\90®\90\94\92l</td></tr>\r
19 </table>\r
20 <h2>\83T\83\93\83v\83\8b\83R\81[\83h</h2>\r
21 <p>\r
22 <code>\r
23 <pre>\r
24 /* \82±\82ê\82ÍFPS\82ð\83J\83E\83\93\83g\82·\82é\83T\83\93\83v\83\8b\82Å\82 \82é\r
25  *\r
26  * SDL\83^\83C\83}\82Í\95Ê\82Ì\83X\83\8c\83b\83h\82Å\93®\82¢\82Ä\82¢\82é\r
27  * \82»\82Ì\82½\82ß\83f\81[\83^\8b£\8d\87\82ð\96h\82®\95K\97v\82Å\82 \82é\r
28  */\r
29 SDL_atomic_t frames;\r
30 \r
31 /* \90Ý\92è\82³\82ê\82½\8aÔ\8au\82Å\95½\8bÏ\83t\83\8c\81[\83\80\83\8c\81[\83g\82Ì\8cv\8eZ\82Æ\95\\8e¦\82ð\8ds\82¤ */\r
32 Uint32 fps_timer_callback(Uint32 interval, void *data)\r
33 {\r
34         const float f = SDL_AtomicGet(&frames);\r
35         const float iv = (float)interval / 1000.0f;\r
36         printf("%.2f\tfps\n", f / iv);\r
37 \r
38         /* \83t\83\8c\81[\83\80\83J\83E\83\93\83^\82ð\83\8a\83Z\83b\83g\82·\82é */\r
39         SDL_AtomicSet(&frames, 0);\r
40 \r
41         return interval;\r
42 }\r
43 \r
44 int main(int argc, char **argv)\r
45 {\r
46         SDL_Init(SDL_INIT_EVERYTHING);\r
47         SDL_Window *win = SDL_CreateWindow("Counter",\r
48                         SDL_WINDOWPOS_CENTERED,\r
49                         SDL_WINDOWPOS_CENTERED,\r
50                         640,\r
51                         480,\r
52                         0\r
53                         );\r
54 \r
55         SDL_Surface *screen = SDL_GetWindowSurface(win);\r
56 \r
57         /* \83^\83C\83}\82Í\95Ê\83X\83\8c\83b\83h\82Å5\95b\8aÔ\8au\82Å\93®\82­ */\r
58         SDL_AddTimer(5000, fps_timer_callback, NULL);\r
59 \r
60         SDL_Event e;\r
61         while(1) {\r
62                 while (SDL_PollEvent(&e)) {\r
63                         if (e.type == SDL_QUIT) {\r
64                                 goto quit;\r
65                         }\r
66                 }\r
67                 SDL_FillRect(screen, NULL, 0xffffffff);\r
68                 SDL_UpdateWindowSurface(win);\r
69 \r
70                 /* \83t\83\8c\81[\83\80\90\94\82É1\82ð\89Á\82¦\82é */\r
71                 SDL_AtomicAdd(&frames, 1);\r
72         }\r
73 quit:\r
74         SDL_DestroyWindow(win);\r
75         SDL_Quit();\r
76         return 0;\r
77 }\r
78 </pre>\r
79 </code>\r
80 </p>\r
81 <h2>\8fÚ\8d×</h2>\r
82 <a href="SDL_atomic_t.html">SDL_atomic_t</a>\82Í\8d\\91¢\91Ì\82È\82Ì\82Å\8aÔ\88á\82Á\82Ä\89\89\8eZ\8eq\82Å\91\80\8dì\82·\82é\82±\82Æ\82ª\82È\82¢.\r
83 \83A\83g\83~\83b\83N\91\80\8dì\8aÖ\90\94\82Å\82Í\90®\90\94\82Ì\92l\82Æ\82µ\82Ä\82±\82ê\82ð\8eg\82¤\95K\97v\82ª\82 \82é.\r
84 <h2>\8aÖ\98A\8d\80\96Ú(\8aÖ\90\94)</h2>\r
85 <a href="SDL_AtomicAdd.html">SDL_AtomicAdd</a><br>\r
86 <a href="SDL_AtomicCAS.html">SDL_AtomicCAS</a><br>\r
87 <a href="SDL_AtomicDecRef.html">SDL_AtomicDecRef</a><br>\r
88 <a href="SDL_AtomicGet.html">SDL_AtomicGet</a><br>\r
89 <a href="SDL_AtomicIncRef.html">SDL_AtomicIncRef</a><br>\r
90 <a href="SDL_AtomicSet.html">SDL_AtomicSet</a><br>\r
91 <h2>SDL Wiki\82Ö\82Ì\83\8a\83\93\83N</h2>\r
92 <a href="https://wiki.libsdl.org/SDL_atomic_t">SDL_atomic_t - SDL Wiki</a><br>\r
93 <hr>\r
94 </body>\r
95 </html>\r