annotate XCodeiPhoneOS/Demos/src/rectangles.c @ 2429:2c55b72ba46e gsoc2008_iphone

testdyngles is exactly what it sounds like -- a version of testdyngl that uses OpenGL ES calls instead of OpenGL. Was necessary to create because glOrtho is called glOrthof in OpenGL ES, and OpenGL ES doesn't have glBegin() type semantics for specifying geometry.
author Holmes Futrell <hfutrell@umail.ucsb.edu>
date Fri, 15 Aug 2008 00:52:52 +0000
parents 0705e8ebe951
children
rev   line source
2385
0705e8ebe951 Rectangles demo (SDL_RenderFill)
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff changeset
1 /*
0705e8ebe951 Rectangles demo (SDL_RenderFill)
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff changeset
2 * rectangles.c
0705e8ebe951 Rectangles demo (SDL_RenderFill)
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff changeset
3 * written by Holmes Futrell
0705e8ebe951 Rectangles demo (SDL_RenderFill)
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff changeset
4 * use however you want
0705e8ebe951 Rectangles demo (SDL_RenderFill)
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff changeset
5 */
0705e8ebe951 Rectangles demo (SDL_RenderFill)
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff changeset
6
0705e8ebe951 Rectangles demo (SDL_RenderFill)
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff changeset
7 #include "SDL.h"
0705e8ebe951 Rectangles demo (SDL_RenderFill)
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff changeset
8 #include <time.h>
0705e8ebe951 Rectangles demo (SDL_RenderFill)
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff changeset
9 #include "common.h"
0705e8ebe951 Rectangles demo (SDL_RenderFill)
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff changeset
10
0705e8ebe951 Rectangles demo (SDL_RenderFill)
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff changeset
11 void render(void) {
0705e8ebe951 Rectangles demo (SDL_RenderFill)
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff changeset
12
0705e8ebe951 Rectangles demo (SDL_RenderFill)
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff changeset
13 Uint8 r, g, b;
0705e8ebe951 Rectangles demo (SDL_RenderFill)
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff changeset
14 /* Come up with a random rectangle */
0705e8ebe951 Rectangles demo (SDL_RenderFill)
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff changeset
15 SDL_Rect rect;
0705e8ebe951 Rectangles demo (SDL_RenderFill)
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff changeset
16 rect.w = randomInt(64, 128);
0705e8ebe951 Rectangles demo (SDL_RenderFill)
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff changeset
17 rect.h = randomInt(64, 128);
0705e8ebe951 Rectangles demo (SDL_RenderFill)
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff changeset
18 rect.x = randomInt(0, SCREEN_WIDTH);
0705e8ebe951 Rectangles demo (SDL_RenderFill)
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff changeset
19 rect.y = randomInt(0, SCREEN_HEIGHT);
0705e8ebe951 Rectangles demo (SDL_RenderFill)
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff changeset
20
0705e8ebe951 Rectangles demo (SDL_RenderFill)
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff changeset
21 /* Come up with a random color */
0705e8ebe951 Rectangles demo (SDL_RenderFill)
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff changeset
22 r = randomInt(50, 255);
0705e8ebe951 Rectangles demo (SDL_RenderFill)
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff changeset
23 g = randomInt(50, 255);
0705e8ebe951 Rectangles demo (SDL_RenderFill)
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff changeset
24 b = randomInt(50, 255);
0705e8ebe951 Rectangles demo (SDL_RenderFill)
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff changeset
25
0705e8ebe951 Rectangles demo (SDL_RenderFill)
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff changeset
26 /* Fill the rectangle in the color */
0705e8ebe951 Rectangles demo (SDL_RenderFill)
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff changeset
27 SDL_RenderFill(r, g, b, 255, &rect);
0705e8ebe951 Rectangles demo (SDL_RenderFill)
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff changeset
28
0705e8ebe951 Rectangles demo (SDL_RenderFill)
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff changeset
29 /* update screen */
0705e8ebe951 Rectangles demo (SDL_RenderFill)
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff changeset
30 SDL_RenderPresent();
0705e8ebe951 Rectangles demo (SDL_RenderFill)
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff changeset
31
0705e8ebe951 Rectangles demo (SDL_RenderFill)
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff changeset
32 }
0705e8ebe951 Rectangles demo (SDL_RenderFill)
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff changeset
33
0705e8ebe951 Rectangles demo (SDL_RenderFill)
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff changeset
34 int main(int argc, char *argv[]) {
0705e8ebe951 Rectangles demo (SDL_RenderFill)
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff changeset
35
0705e8ebe951 Rectangles demo (SDL_RenderFill)
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff changeset
36 SDL_WindowID windowID;
0705e8ebe951 Rectangles demo (SDL_RenderFill)
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff changeset
37 int done;
0705e8ebe951 Rectangles demo (SDL_RenderFill)
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff changeset
38 SDL_Event event;
0705e8ebe951 Rectangles demo (SDL_RenderFill)
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff changeset
39
0705e8ebe951 Rectangles demo (SDL_RenderFill)
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff changeset
40 /* initialize SDL */
0705e8ebe951 Rectangles demo (SDL_RenderFill)
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff changeset
41 if (SDL_Init(SDL_INIT_VIDEO) < 0) {
0705e8ebe951 Rectangles demo (SDL_RenderFill)
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff changeset
42 fatalError("Could not initialize SDL");
0705e8ebe951 Rectangles demo (SDL_RenderFill)
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff changeset
43 }
0705e8ebe951 Rectangles demo (SDL_RenderFill)
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff changeset
44
0705e8ebe951 Rectangles demo (SDL_RenderFill)
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff changeset
45 /* seed random number generator */
0705e8ebe951 Rectangles demo (SDL_RenderFill)
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff changeset
46 srand(time(NULL));
0705e8ebe951 Rectangles demo (SDL_RenderFill)
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff changeset
47
0705e8ebe951 Rectangles demo (SDL_RenderFill)
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff changeset
48 /* create window and renderer */
0705e8ebe951 Rectangles demo (SDL_RenderFill)
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff changeset
49 windowID = SDL_CreateWindow(NULL, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, SDL_WINDOW_SHOWN);
0705e8ebe951 Rectangles demo (SDL_RenderFill)
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff changeset
50 if (windowID == 0) {
0705e8ebe951 Rectangles demo (SDL_RenderFill)
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff changeset
51 fatalError("Could not initialize Window");
0705e8ebe951 Rectangles demo (SDL_RenderFill)
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff changeset
52 }
0705e8ebe951 Rectangles demo (SDL_RenderFill)
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff changeset
53 if (SDL_CreateRenderer(windowID, -1, 0) != 0) {
0705e8ebe951 Rectangles demo (SDL_RenderFill)
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff changeset
54 fatalError("Could not create renderer");
0705e8ebe951 Rectangles demo (SDL_RenderFill)
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff changeset
55 }
0705e8ebe951 Rectangles demo (SDL_RenderFill)
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff changeset
56
0705e8ebe951 Rectangles demo (SDL_RenderFill)
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff changeset
57 /* Fill screen with black */
0705e8ebe951 Rectangles demo (SDL_RenderFill)
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff changeset
58 SDL_RenderFill(0,0,0,0, NULL);
0705e8ebe951 Rectangles demo (SDL_RenderFill)
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff changeset
59
0705e8ebe951 Rectangles demo (SDL_RenderFill)
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff changeset
60 /* Enter render loop, waiting for user to quit */
0705e8ebe951 Rectangles demo (SDL_RenderFill)
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff changeset
61 done = 0;
0705e8ebe951 Rectangles demo (SDL_RenderFill)
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff changeset
62 while(!done) {
0705e8ebe951 Rectangles demo (SDL_RenderFill)
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff changeset
63 while (SDL_PollEvent(&event)) {
0705e8ebe951 Rectangles demo (SDL_RenderFill)
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff changeset
64 if (event.type == SDL_QUIT) {
0705e8ebe951 Rectangles demo (SDL_RenderFill)
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff changeset
65 done = 1;
0705e8ebe951 Rectangles demo (SDL_RenderFill)
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff changeset
66 }
0705e8ebe951 Rectangles demo (SDL_RenderFill)
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff changeset
67 }
0705e8ebe951 Rectangles demo (SDL_RenderFill)
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff changeset
68 render();
0705e8ebe951 Rectangles demo (SDL_RenderFill)
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff changeset
69 SDL_Delay(1);
0705e8ebe951 Rectangles demo (SDL_RenderFill)
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff changeset
70 }
0705e8ebe951 Rectangles demo (SDL_RenderFill)
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff changeset
71
0705e8ebe951 Rectangles demo (SDL_RenderFill)
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff changeset
72 /* shutdown SDL */
0705e8ebe951 Rectangles demo (SDL_RenderFill)
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff changeset
73 SDL_Quit();
0705e8ebe951 Rectangles demo (SDL_RenderFill)
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff changeset
74
0705e8ebe951 Rectangles demo (SDL_RenderFill)
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff changeset
75 return 0;
0705e8ebe951 Rectangles demo (SDL_RenderFill)
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff changeset
76 }