comparison test/testsprite2.c @ 3536:0267b8b1595c

Added interfaces for batch drawing of points, lines and rects: SDL_DrawPoints() SDL_BlendPoints() SDL_BlendLines() SDL_DrawLines() SDL_FillRects() SDL_BlendRects() SDL_RenderPoints() SDL_RenderLines() SDL_RenderRects() Renamed SDL_RenderFill() to SDL_RenderRect()
author Sam Lantinga <slouken@libsdl.org>
date Wed, 09 Dec 2009 15:56:56 +0000
parents 0d7b20a4a629
children 5543db4239e6
comparison
equal deleted inserted replaced
3535:b403f790df65 3536:0267b8b1595c
139 SDL_SetTextureAlphaMod(sprite, (Uint8) current_alpha); 139 SDL_SetTextureAlphaMod(sprite, (Uint8) current_alpha);
140 } 140 }
141 141
142 /* Draw a gray background */ 142 /* Draw a gray background */
143 SDL_SetRenderDrawColor(0xA0, 0xA0, 0xA0, 0xFF); 143 SDL_SetRenderDrawColor(0xA0, 0xA0, 0xA0, 0xFF);
144 SDL_RenderFill(NULL); 144 SDL_RenderRect(NULL);
145 145
146 /* Test points */ 146 /* Test points */
147 SDL_SetRenderDrawColor(0xFF, 0x00, 0x00, 0xFF); 147 SDL_SetRenderDrawColor(0xFF, 0x00, 0x00, 0xFF);
148 SDL_RenderPoint(0, 0); 148 SDL_RenderPoint(0, 0);
149 SDL_RenderPoint(window_w-1, 0); 149 SDL_RenderPoint(window_w-1, 0);
161 SDL_SetRenderDrawColor(0xFF, 0xFF, 0xFF, 0xFF); 161 SDL_SetRenderDrawColor(0xFF, 0xFF, 0xFF, 0xFF);
162 temp.x = 1; 162 temp.x = 1;
163 temp.y = 1; 163 temp.y = 1;
164 temp.w = sprite_w; 164 temp.w = sprite_w;
165 temp.h = sprite_h; 165 temp.h = sprite_h;
166 SDL_RenderFill(&temp); 166 SDL_RenderRect(&temp);
167 SDL_RenderCopy(sprite, NULL, &temp); 167 SDL_RenderCopy(sprite, NULL, &temp);
168 temp.x = window_w-sprite_w-1; 168 temp.x = window_w-sprite_w-1;
169 temp.y = 1; 169 temp.y = 1;
170 temp.w = sprite_w; 170 temp.w = sprite_w;
171 temp.h = sprite_h; 171 temp.h = sprite_h;
172 SDL_RenderFill(&temp); 172 SDL_RenderRect(&temp);
173 SDL_RenderCopy(sprite, NULL, &temp); 173 SDL_RenderCopy(sprite, NULL, &temp);
174 temp.x = 1; 174 temp.x = 1;
175 temp.y = window_h-sprite_h-1; 175 temp.y = window_h-sprite_h-1;
176 temp.w = sprite_w; 176 temp.w = sprite_w;
177 temp.h = sprite_h; 177 temp.h = sprite_h;
178 SDL_RenderFill(&temp); 178 SDL_RenderRect(&temp);
179 SDL_RenderCopy(sprite, NULL, &temp); 179 SDL_RenderCopy(sprite, NULL, &temp);
180 temp.x = window_w-sprite_w-1; 180 temp.x = window_w-sprite_w-1;
181 temp.y = window_h-sprite_h-1; 181 temp.y = window_h-sprite_h-1;
182 temp.w = sprite_w; 182 temp.w = sprite_w;
183 temp.h = sprite_h; 183 temp.h = sprite_h;
184 SDL_RenderFill(&temp); 184 SDL_RenderRect(&temp);
185 SDL_RenderCopy(sprite, NULL, &temp); 185 SDL_RenderCopy(sprite, NULL, &temp);
186 186
187 /* Test diagonal lines */ 187 /* Test diagonal lines */
188 SDL_SetRenderDrawColor(0x00, 0xFF, 0x00, 0xFF); 188 SDL_SetRenderDrawColor(0x00, 0xFF, 0x00, 0xFF);
189 SDL_RenderLine(sprite_w, sprite_h, 189 SDL_RenderLine(sprite_w, sprite_h,
302 quit(2); 302 quit(2);
303 } 303 }
304 for (i = 0; i < state->num_windows; ++i) { 304 for (i = 0; i < state->num_windows; ++i) {
305 SDL_SelectRenderer(state->windows[i]); 305 SDL_SelectRenderer(state->windows[i]);
306 SDL_SetRenderDrawColor(0xA0, 0xA0, 0xA0, 0xFF); 306 SDL_SetRenderDrawColor(0xA0, 0xA0, 0xA0, 0xFF);
307 SDL_RenderFill(NULL); 307 SDL_RenderRect(NULL);
308 } 308 }
309 if (LoadSprite("icon.bmp") < 0) { 309 if (LoadSprite("icon.bmp") < 0) {
310 quit(2); 310 quit(2);
311 } 311 }
312 312
348 case SDL_WINDOWEVENT: 348 case SDL_WINDOWEVENT:
349 switch (event.window.event) { 349 switch (event.window.event) {
350 case SDL_WINDOWEVENT_EXPOSED: 350 case SDL_WINDOWEVENT_EXPOSED:
351 SDL_SelectRenderer(event.window.windowID); 351 SDL_SelectRenderer(event.window.windowID);
352 SDL_SetRenderDrawColor(0xA0, 0xA0, 0xA0, 0xFF); 352 SDL_SetRenderDrawColor(0xA0, 0xA0, 0xA0, 0xFF);
353 SDL_RenderFill(NULL); 353 SDL_RenderRect(NULL);
354 break; 354 break;
355 } 355 }
356 break; 356 break;
357 default: 357 default:
358 break; 358 break;