OSDN Git Service

SDL_CreateSoftwareRenderer サンプルコードにSDL_Quit()を追加 https://wiki.libsdl.org/SDL_CreateSo...
[sdl2referencejp/sdl2referencejp.git] / SDL_CreateSoftwareRenderer.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="CategoryRender.html" title="1\82Â\8fã">\r
9 <title>SDL_CreateSoftwareRenderer</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="CategoryRender.html">2D\83\8c\83\93\83_\83\8a\83\93\83O</a> - SDL_CreateSoftwareRenderer\r
13 <hr>\r
14 <h1>SDL_CreateSoftwareRenderer</h1>\r
15 \83T\81[\83t\83F\83C\83X\82Ì2D\83\\83t\83g\83E\83F\83A\83\8c\83\93\83_\83\8a\83\93\83O\83R\83\93\83e\83L\83X\83g\82ð\8dì\90¬\82·\82é\r
16 <h2>\8d\\95¶</h2>\r
17 <code>SDL_Renderer* SDL_CreateSoftwareRenderer(SDL_Surface* surface)</code>\r
18 <h2>\88ø\90\94</h2>\r
19 <table border="1" summary="SDL_CreateSoftwareRenderer">\r
20 <tr><td>surface</td><td>\83\8c\83\93\83_\83\8a\83\93\83O\82ª\8ds\82í\82ê\82é<a href="SDL_Surface.html">SDL_Surface</a></td></tr>\r
21 </table>\r
22 <h2>\96ß\82è\92l</h2>\r
23 \90¬\8c÷\82Ì\82Æ\82«\83\8c\83\93\83_\83\8a\83\93\83O\83R\83\93\83e\83L\83X\83g, \8e¸\94s\82Ì\82Æ\82«NULL\82ð\96ß\82·.\r
24 <a href="SDL_GetError.html">SDL_GetError()</a>\82Å\8fÚ\8d×\82ð\92m\82é\82±\82Æ\82ª\82Å\82«\82é.\r
25 <h2>\83T\83\93\83v\83\8b\83R\81[\83h</h2>\r
26 <p>\r
27 <code>\r
28 <pre>\r
29 #include "SDL.h"\r
30 \r
31 SDL_Window *window;\r
32 SDL_Renderer *renderer;\r
33 int done;\r
34 \r
35 void\r
36 DrawChessBoard(SDL_Renderer * renderer)\r
37 {\r
38         int row = 0,column = 0,x = 0;\r
39         SDL_Rect rect, darea;\r
40 \r
41         /* \95`\89æ\82·\82é\83T\81[\83t\83F\83C\83X\82Ì\83T\83C\83Y\82ð\93¾\82é */\r
42         SDL_RenderGetViewport(renderer, &darea);\r
43 \r
44         for ( ; row &lt; 8; row++) {\r
45                 column = row%2;\r
46                 x = column;\r
47                 for ( ; column &lt; 4+(row%2); column++) {\r
48                         SDL_SetRenderDrawColor(renderer, 0, 0, 0, 0xFF);\r
49 \r
50                         rect.w = darea.w/8;\r
51                         rect.h = darea.h/8;\r
52                         rect.x = x * rect.w;\r
53                         rect.y = row * rect.h;\r
54                         x = x + 2;\r
55                         SDL_RenderFillRect(renderer, &rect);\r
56                 }\r
57         }\r
58 }\r
59 \r
60 void\r
61 loop()\r
62 {\r
63         SDL_Event e;\r
64         while (SDL_PollEvent(&e)) {\r
65                 if (e.type == SDL_QUIT) {\r
66                         done = 1;\r
67                         return;\r
68                 }\r
69 \r
70                 if ((e.type == SDL_KEYDOWN) && (e.key.keysym.sym == SDLK_ESCAPE)) {\r
71                         done = 1;\r
72                         return;\r
73                 }\r
74         }\r
75 \r
76         DrawChessBoard(renderer);\r
77 \r
78         /* \83\8c\83\93\83_\83\8a\83\93\83O\83T\81[\83t\83F\83C\83X\82Ì\8f\88\97\9d\82ª\8a®\97¹\82µ\82½\82È\82ç\82Î, \r
79            \83E\83B\83\93\83h\83E\82ð\95`\82¢\82½\89æ\91\9c\82Å\8dX\90V\82·\82é */\r
80         SDL_UpdateWindowSurface(window);\r
81 }\r
82 \r
83 int\r
84 main(int argc, char *argv[])\r
85 {\r
86         SDL_Surface *surface;\r
87 \r
88         /* \92Ê\8fí\82Ì\83A\83v\83\8a\83P\81[\83V\83\87\83\93\83\8d\83O\82ð\97L\8cø\82É\82·\82é */\r
89         SDL_LogSetPriority(SDL_LOG_CATEGORY_APPLICATION, SDL_LOG_PRIORITY_INFO);\r
90 \r
91         /* SDL\82ð\8f\89\8aú\89»\82·\82é */\r
92         if (SDL_Init(SDL_INIT_VIDEO) != 0) {\r
93                 SDL_LogError(SDL_LOG_CATEGORY_APPLICATION, "SDL_Init\82É\8e¸\94s\82µ\82½ : %s\n", SDL_GetError());\r
94                 return 1;\r
95         }\r
96 \r
97 \r
98         /* \8ew\92è\82Ì\83T\81[\83t\83F\83C\83X\82Ì\83E\83B\83\93\83h\83E\82Æ\83\8c\83\93\83_\83\89\81[\82ð\90\90¬\82·\82é */\r
99         window = SDL_CreateWindow("\83`\83F\83X\94Õ", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, 640, 480, SDL_WINDOW_SHOWN);\r
100         if (!window) {\r
101                 SDL_LogError(SDL_LOG_CATEGORY_APPLICATION, "\83E\83B\83\93\83h\83E\82Ì\90\90¬\82É\8e¸\94s\82µ\82½ : %s\n",SDL_GetError());\r
102                 return 1;\r
103         }\r
104         surface = SDL_GetWindowSurface(window);\r
105         renderer = SDL_CreateSoftwareRenderer(surface);\r
106         if (!renderer) {\r
107                 SDL_LogError(SDL_LOG_CATEGORY_APPLICATION, "\83T\81[\83t\83F\83C\83X\82Ì\83\8c\83\93\83_\83\89\81[\82Ì\90\90¬\82É\8e¸\94s\82µ\82½ : %s\n",SDL_GetError());\r
108                 return 1;\r
109         }\r
110 \r
111         /* \83\8c\83\93\83_\83\8a\83\93\83O\83T\81[\83t\83F\83C\83X\82ð\8ew\92è\82Ì\90F\82Å\8fÁ\8b\8e\82·\82é */\r
112         SDL_SetRenderDrawColor(renderer, 0xFF, 0xFF, 0xFF, 0xFF);\r
113         SDL_RenderClear(renderer);\r
114 \r
115 \r
116         /* \83\8c\83\93\83_\83\8a\83\93\83O\83T\81[\83t\83F\83C\83X\82É\89æ\91\9c\82ð\95`\89æ\82·\82é */\r
117         done = 0;\r
118 \r
119         while (!done) {\r
120                 loop();\r
121         }\r
122 \r
123         SDL_Quit();\r
124         return 0;\r
125 }\r
126 </pre>\r
127 </code>\r
128 </p>\r
129 <h2>\8fÚ\8d×</h2>\r
130 <p>\r
131 SDL_Renderer\82ð\90\90¬\82·\82é\82½\82ß\82É\82Í\8e\9f\82Ì2\82Â\82ÌAPI\82à\8eg\82¦\82é:<br>\r
132 1) <a href="SDL_CreateRenderer.html">SDL_CreateRenderer</a><br>\r
133 2) <a href="SDL_CreateWindowAndRenderer.html">SDL_CreateWindowAndRenderer</a></br>\r
134 </p>\r
135 <h2>\8aÖ\98A\8d\80\96Ú(\8aÖ\90\94)</h2>\r
136 <a href="SDL_CreateRenderer.html">SDL_CreateRenderer</a><br>\r
137 <a href="SDL_DestroyRenderer.html">SDL_DestroyRenderer</a><br>\r
138 <h2>SDL Wiki\82Ö\82Ì\83\8a\83\93\83N</h2>\r
139 <a href="https://wiki.libsdl.org/SDL_CreateSoftwareRenderer">SDL_CreateSoftwareRenderer - SDL Wiki</a>\r
140 <hr>\r
141 </body>\r
142 </html>\r