Mercurial > sdl-ios-xcode
annotate Xcode-iPhoneOS/Demos/src/happy.c @ 5284:96a22141cf86 tip
Changed output directory of Universal libSDL.a for iOS to respect build configurations. Template generator was updated to reflect these changes as well.
author | Eric Wing <ewing . public |-at-| gmail . com> |
---|---|
date | Sat, 12 Feb 2011 21:52:30 -0800 |
parents | b0797947dd1c |
children |
rev | line source |
---|---|
3277
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
1 /* |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
2 * happy.c |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
3 * written by Holmes Futrell |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
4 * use however you want |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
5 */ |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
6 |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
7 #include "SDL.h" |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
8 #include "common.h" |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
9 |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
10 #define NUM_HAPPY_FACES 100 /* number of faces to draw */ |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
11 #define MILLESECONDS_PER_FRAME 16 /* about 60 frames per second */ |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
12 #define HAPPY_FACE_SIZE 32 /* width and height of happyface (pixels) */ |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
13 |
3685
64ce267332c6
Switched from SDL_WindowID and SDL_TextureID to SDL_Window* and SDL_Texture* for code simplicity and improved performance.
Sam Lantinga <slouken@libsdl.org>
parents:
3277
diff
changeset
|
14 static SDL_Texture *texture = 0; /* reference to texture holding happyface */ |
3277
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
15 |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
16 static struct |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
17 { |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
18 float x, y; /* position of happyface */ |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
19 float xvel, yvel; /* velocity of happyface */ |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
20 } faces[NUM_HAPPY_FACES]; |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
21 |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
22 /* |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
23 Sets initial positions and velocities of happyfaces |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
24 units of velocity are pixels per millesecond |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
25 */ |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
26 void |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
27 initializeHappyFaces() |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
28 { |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
29 int i; |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
30 for (i = 0; i < NUM_HAPPY_FACES; i++) { |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
31 faces[i].x = randomFloat(0.0f, SCREEN_WIDTH - HAPPY_FACE_SIZE); |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
32 faces[i].y = randomFloat(0.0f, SCREEN_HEIGHT - HAPPY_FACE_SIZE); |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
33 faces[i].xvel = randomFloat(-0.1f, 0.1f); |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
34 faces[i].yvel = randomFloat(-0.1f, 0.1f); |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
35 } |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
36 } |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
37 |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
38 void |
5211
78db79f5a4e2
Updated the iPhone demos for the new API
Sam Lantinga <slouken@libsdl.org>
parents:
3685
diff
changeset
|
39 render(SDL_Renderer *renderer) |
3277
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
40 { |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
41 |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
42 int i; |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
43 SDL_Rect srcRect; |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
44 SDL_Rect dstRect; |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
45 |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
46 /* setup boundaries for happyface bouncing */ |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
47 Uint16 maxx = SCREEN_WIDTH - HAPPY_FACE_SIZE; |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
48 Uint16 maxy = SCREEN_HEIGHT - HAPPY_FACE_SIZE; |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
49 Uint16 minx = 0; |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
50 Uint16 miny = 0; |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
51 |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
52 /* setup rects for drawing */ |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
53 srcRect.x = 0; |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
54 srcRect.y = 0; |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
55 srcRect.w = HAPPY_FACE_SIZE; |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
56 srcRect.h = HAPPY_FACE_SIZE; |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
57 dstRect.w = HAPPY_FACE_SIZE; |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
58 dstRect.h = HAPPY_FACE_SIZE; |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
59 |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
60 /* fill background in with black */ |
5211
78db79f5a4e2
Updated the iPhone demos for the new API
Sam Lantinga <slouken@libsdl.org>
parents:
3685
diff
changeset
|
61 SDL_SetRenderDrawColor(renderer, 0, 0, 0, 255); |
78db79f5a4e2
Updated the iPhone demos for the new API
Sam Lantinga <slouken@libsdl.org>
parents:
3685
diff
changeset
|
62 SDL_RenderClear(renderer); |
3277
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
63 |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
64 /* |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
65 loop through all the happy faces: |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
66 - update position |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
67 - update velocity (if boundary is hit) |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
68 - draw |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
69 */ |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
70 for (i = 0; i < NUM_HAPPY_FACES; i++) { |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
71 faces[i].x += faces[i].xvel * MILLESECONDS_PER_FRAME; |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
72 faces[i].y += faces[i].yvel * MILLESECONDS_PER_FRAME; |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
73 if (faces[i].x > maxx) { |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
74 faces[i].x = maxx; |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
75 faces[i].xvel = -faces[i].xvel; |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
76 } else if (faces[i].y > maxy) { |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
77 faces[i].y = maxy; |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
78 faces[i].yvel = -faces[i].yvel; |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
79 } |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
80 if (faces[i].x < minx) { |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
81 faces[i].x = minx; |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
82 faces[i].xvel = -faces[i].xvel; |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
83 } else if (faces[i].y < miny) { |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
84 faces[i].y = miny; |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
85 faces[i].yvel = -faces[i].yvel; |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
86 } |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
87 dstRect.x = faces[i].x; |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
88 dstRect.y = faces[i].y; |
5211
78db79f5a4e2
Updated the iPhone demos for the new API
Sam Lantinga <slouken@libsdl.org>
parents:
3685
diff
changeset
|
89 SDL_RenderCopy(renderer, texture, &srcRect, &dstRect); |
3277
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
90 } |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
91 /* update screen */ |
5211
78db79f5a4e2
Updated the iPhone demos for the new API
Sam Lantinga <slouken@libsdl.org>
parents:
3685
diff
changeset
|
92 SDL_RenderPresent(renderer); |
3277
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
93 |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
94 } |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
95 |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
96 /* |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
97 loads the happyface graphic into a texture |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
98 */ |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
99 void |
5211
78db79f5a4e2
Updated the iPhone demos for the new API
Sam Lantinga <slouken@libsdl.org>
parents:
3685
diff
changeset
|
100 initializeTexture(SDL_Renderer *renderer) |
3277
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
101 { |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
102 SDL_Surface *bmp_surface; |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
103 /* load the bmp */ |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
104 bmp_surface = SDL_LoadBMP("icon.bmp"); |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
105 if (bmp_surface == NULL) { |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
106 fatalError("could not load bmp"); |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
107 } |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
108 /* set white to transparent on the happyface */ |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
109 SDL_SetColorKey(bmp_surface, 1, |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
110 SDL_MapRGB(bmp_surface->format, 255, 255, 255)); |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
111 |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
112 /* convert RGBA surface to texture */ |
5211
78db79f5a4e2
Updated the iPhone demos for the new API
Sam Lantinga <slouken@libsdl.org>
parents:
3685
diff
changeset
|
113 texture = SDL_CreateTextureFromSurface(renderer, bmp_surface); |
3685
64ce267332c6
Switched from SDL_WindowID and SDL_TextureID to SDL_Window* and SDL_Texture* for code simplicity and improved performance.
Sam Lantinga <slouken@libsdl.org>
parents:
3277
diff
changeset
|
114 if (texture == 0) { |
3277
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
115 fatalError("could not create texture"); |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
116 } |
3685
64ce267332c6
Switched from SDL_WindowID and SDL_TextureID to SDL_Window* and SDL_Texture* for code simplicity and improved performance.
Sam Lantinga <slouken@libsdl.org>
parents:
3277
diff
changeset
|
117 SDL_SetTextureBlendMode(texture, SDL_BLENDMODE_BLEND); |
3277
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
118 |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
119 /* free up allocated memory */ |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
120 SDL_FreeSurface(bmp_surface); |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
121 } |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
122 |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
123 int |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
124 main(int argc, char *argv[]) |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
125 { |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
126 |
3685
64ce267332c6
Switched from SDL_WindowID and SDL_TextureID to SDL_Window* and SDL_Texture* for code simplicity and improved performance.
Sam Lantinga <slouken@libsdl.org>
parents:
3277
diff
changeset
|
127 SDL_Window *window; |
5211
78db79f5a4e2
Updated the iPhone demos for the new API
Sam Lantinga <slouken@libsdl.org>
parents:
3685
diff
changeset
|
128 SDL_Renderer *renderer; |
3277
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
129 Uint32 startFrame; |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
130 Uint32 endFrame; |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
131 Uint32 delay; |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
132 int done; |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
133 |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
134 /* initialize SDL */ |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
135 if (SDL_Init(SDL_INIT_VIDEO) < 0) { |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
136 fatalError("Could not initialize SDL"); |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
137 } |
3685
64ce267332c6
Switched from SDL_WindowID and SDL_TextureID to SDL_Window* and SDL_Texture* for code simplicity and improved performance.
Sam Lantinga <slouken@libsdl.org>
parents:
3277
diff
changeset
|
138 window = SDL_CreateWindow(NULL, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, |
3277
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
139 SDL_WINDOW_OPENGL | SDL_WINDOW_SHOWN | |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
140 SDL_WINDOW_BORDERLESS); |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
141 |
5211
78db79f5a4e2
Updated the iPhone demos for the new API
Sam Lantinga <slouken@libsdl.org>
parents:
3685
diff
changeset
|
142 renderer = SDL_CreateRenderer(window, -1, 0); |
3277
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
143 |
5211
78db79f5a4e2
Updated the iPhone demos for the new API
Sam Lantinga <slouken@libsdl.org>
parents:
3685
diff
changeset
|
144 initializeTexture(renderer); |
3277
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
145 initializeHappyFaces(); |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
146 |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
147 /* main loop */ |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
148 done = 0; |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
149 while (!done) { |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
150 startFrame = SDL_GetTicks(); |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
151 SDL_Event event; |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
152 while (SDL_PollEvent(&event)) { |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
153 if (event.type == SDL_QUIT) { |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
154 done = 1; |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
155 } |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
156 } |
5211
78db79f5a4e2
Updated the iPhone demos for the new API
Sam Lantinga <slouken@libsdl.org>
parents:
3685
diff
changeset
|
157 render(renderer); |
3277
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
158 endFrame = SDL_GetTicks(); |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
159 |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
160 /* figure out how much time we have left, and then sleep */ |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
161 delay = MILLESECONDS_PER_FRAME - (endFrame - startFrame); |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
162 if (delay < 0) { |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
163 delay = 0; |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
164 } else if (delay > MILLESECONDS_PER_FRAME) { |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
165 delay = MILLESECONDS_PER_FRAME; |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
166 } |
5217
b0797947dd1c
You don't need to copy the pixels into the streaming texture's pixel data. This behavior is defined specifically to optimize the UpdateTexture path.
Sam Lantinga <slouken@libsdl.org>
parents:
5216
diff
changeset
|
167 SDL_Delay(delay); |
3277
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
168 } |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
169 |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
170 /* cleanup */ |
3685
64ce267332c6
Switched from SDL_WindowID and SDL_TextureID to SDL_Window* and SDL_Texture* for code simplicity and improved performance.
Sam Lantinga <slouken@libsdl.org>
parents:
3277
diff
changeset
|
171 SDL_DestroyTexture(texture); |
3277
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
172 /* shutdown SDL */ |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
173 SDL_Quit(); |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
174 |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
175 return 0; |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
176 |
20326ba2bda2
This name inconsistency has been bugging me for a while...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
177 } |