SDL
2.0
main.c
Go to the documentation of this file.
1
/*
2
* rectangles.c
3
* written by Holmes Futrell
4
* use however you want
5
*/
6
7
#include "
SDL.h
"
8
#include <stdio.h>
9
#include <stdlib.h>
10
#include <time.h>
11
12
#define SCREEN_WIDTH 320
13
#define SCREEN_HEIGHT 480
14
15
int
16
randomInt
(
int
min,
int
max)
17
{
18
return
min + rand() % (max - min + 1);
19
}
20
21
void
22
render
(
SDL_Renderer
*
renderer
)
23
{
24
25
SDL_Rect
rect
;
26
Uint8
r
,
g
,
b
;
27
28
/* Clear the screen */
29
SDL_SetRenderDrawColor
(renderer, 0, 0, 0, 255);
30
SDL_RenderClear
(renderer);
31
32
/* Come up with a random rectangle */
33
rect.
w
=
randomInt
(64, 128);
34
rect.
h
=
randomInt
(64, 128);
35
rect.
x
=
randomInt
(0,
SCREEN_WIDTH
);
36
rect.
y
=
randomInt
(0,
SCREEN_HEIGHT
);
37
38
/* Come up with a random color */
39
r =
randomInt
(50, 255);
40
g =
randomInt
(50, 255);
41
b =
randomInt
(50, 255);
42
SDL_SetRenderDrawColor
(renderer, r, g, b, 255);
43
44
/* Fill the rectangle in the color */
45
SDL_RenderFillRect
(renderer, &rect);
46
47
/* update screen */
48
SDL_RenderPresent
(renderer);
49
}
50
51
int
52
main
(
int
argc,
char
*argv[])
53
{
54
55
SDL_Window
*
window
;
56
SDL_Renderer
*
renderer
;
57
int
done
;
58
SDL_Event
event
;
59
60
/* initialize SDL */
61
if
(
SDL_Init
(
SDL_INIT_VIDEO
) < 0) {
62
printf(
"Could not initialize SDL\n"
);
63
return
1;
64
}
65
66
/* seed random number generator */
67
srand(
time
(
NULL
));
68
69
/* create window and renderer */
70
window =
71
SDL_CreateWindow
(
NULL
, 0, 0,
SCREEN_WIDTH
,
SCREEN_HEIGHT
,
72
SDL_WINDOW_OPENGL
);
73
if
(!window) {
74
printf(
"Could not initialize Window\n"
);
75
return
1;
76
}
77
78
renderer =
SDL_CreateRenderer
(window, -1, 0);
79
if
(!renderer) {
80
printf(
"Could not create renderer\n"
);
81
return
1;
82
}
83
84
/* Enter render loop, waiting for user to quit */
85
done = 0;
86
while
(!done) {
87
while
(
SDL_PollEvent
(&event)) {
88
if
(event.
type
==
SDL_QUIT
) {
89
done = 1;
90
}
91
}
92
render
(renderer);
93
SDL_Delay
(1);
94
}
95
96
/* shutdown SDL */
97
SDL_Quit
();
98
99
return
0;
100
}
main
int main(int argc, char *argv[])
Definition:
main.c:52
r
GLdouble GLdouble GLdouble r
Definition:
SDL_opengl.h:2079
SDL_PollEvent
#define SDL_PollEvent
Definition:
SDL_dynapi_overrides.h:122
time
EGLSurface EGLnsecsANDROID time
Definition:
eglext.h:518
randomInt
int randomInt(int min, int max)
Definition:
main.c:16
rect
SDL_Rect rect
Definition:
testrelative.c:27
SDL_RenderFillRect
#define SDL_RenderFillRect
Definition:
SDL_dynapi_overrides.h:341
SDL_QUIT
Definition:
SDL_events.h:60
SDL_Renderer
Definition:
SDL_sysrender.h:85
SDL_CreateWindow
#define SDL_CreateWindow
Definition:
SDL_dynapi_overrides.h:514
render
void render(SDL_Renderer *renderer)
Definition:
main.c:22
renderer
static SDL_Renderer * renderer
Definition:
testaudiocapture.c:21
Uint8
uint8_t Uint8
Definition:
SDL_stdinc.h:179
event
struct _cl_event * event
Definition:
SDL_opengl_glext.h:2649
SDL_Quit
#define SDL_Quit
Definition:
SDL_dynapi_overrides.h:58
done
int done
Definition:
checkkeys.c:28
SDL_Rect::x
int x
Definition:
SDL_rect.h:66
SDL_Rect::w
int w
Definition:
SDL_rect.h:67
SCREEN_WIDTH
#define SCREEN_WIDTH
Definition:
main.c:12
SDL_Delay
#define SDL_Delay
Definition:
SDL_dynapi_overrides.h:486
NULL
#define NULL
Definition:
begin_code.h:164
SDL_RenderClear
#define SDL_RenderClear
Definition:
SDL_dynapi_overrides.h:334
window
EGLSurface EGLNativeWindowType * window
Definition:
eglext.h:1025
SDL_Rect::h
int h
Definition:
SDL_rect.h:67
SDL_Window
The type used to identify a window.
Definition:
SDL_sysvideo.h:73
SDL_Init
#define SDL_Init
Definition:
SDL_dynapi_overrides.h:54
SDL_Event
General event structure.
Definition:
SDL_events.h:557
SDL_WINDOW_OPENGL
Definition:
SDL_video.h:101
SDL_SetRenderDrawColor
#define SDL_SetRenderDrawColor
Definition:
SDL_dynapi_overrides.h:330
SCREEN_HEIGHT
#define SCREEN_HEIGHT
Definition:
main.c:13
SDL.h
g
GLboolean GLboolean g
Definition:
SDL_opengl_glext.h:1109
b
GLboolean GLboolean GLboolean b
Definition:
SDL_opengl_glext.h:1109
SDL_Rect::y
int y
Definition:
SDL_rect.h:66
SDL_INIT_VIDEO
#define SDL_INIT_VIDEO
Definition:
SDL.h:79
SDL_CreateRenderer
#define SDL_CreateRenderer
Definition:
SDL_dynapi_overrides.h:301
SDL_Rect
A rectangle, with the origin at the upper left.
Definition:
SDL_rect.h:64
SDL_RenderPresent
#define SDL_RenderPresent
Definition:
SDL_dynapi_overrides.h:346
SDL_Event::type
Uint32 type
Definition:
SDL_events.h:559
Xcode-iOS
Template
SDL iOS Application
main.c
Generated by
1.8.13