OSDN Git Service

SDL_HINT_RENDER_DRIVER metalを追加した https://wiki.libsdl.org/SDL_HINT_RENDER_DRIVER...
[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, 0);\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