Updated the template code
This commit is contained in:
parent
1c631c853c
commit
7aadbd91ac
2 changed files with 51 additions and 44 deletions
|
@ -17,10 +17,15 @@ randomInt(int min, int max)
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
render(void)
|
render(SDL_Renderer *renderer)
|
||||||
{
|
{
|
||||||
|
|
||||||
Uint8 r, g, b;
|
Uint8 r, g, b;
|
||||||
|
|
||||||
|
/* Clear the screen */
|
||||||
|
SDL_SetRenderDrawColor(0, 0, 0, 255);
|
||||||
|
SDL_SetRenderClear(renderer);
|
||||||
|
|
||||||
/* Come up with a random rectangle */
|
/* Come up with a random rectangle */
|
||||||
SDL_Rect rect;
|
SDL_Rect rect;
|
||||||
rect.w = randomInt(64, 128);
|
rect.w = randomInt(64, 128);
|
||||||
|
@ -32,45 +37,47 @@ render(void)
|
||||||
r = randomInt(50, 255);
|
r = randomInt(50, 255);
|
||||||
g = randomInt(50, 255);
|
g = randomInt(50, 255);
|
||||||
b = randomInt(50, 255);
|
b = randomInt(50, 255);
|
||||||
SDL_SetRenderDrawColor(r, g, b, 255);
|
SDL_SetRenderDrawColor(renderer, r, g, b, 255);
|
||||||
|
|
||||||
/* Fill the rectangle in the color */
|
/* Fill the rectangle in the color */
|
||||||
SDL_RenderFillRect(&rect);
|
SDL_RenderFillRect(renderer, &rect);
|
||||||
|
|
||||||
/* update screen */
|
/* update screen */
|
||||||
SDL_RenderPresent();
|
SDL_RenderPresent(renderer);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
main(int argc, char *argv[])
|
main(int argc, char *argv[])
|
||||||
{
|
{
|
||||||
|
|
||||||
SDL_WindowID windowID;
|
SDL_Window *window;
|
||||||
|
SDL_Renderer *renderer;
|
||||||
int done;
|
int done;
|
||||||
SDL_Event event;
|
SDL_Event event;
|
||||||
|
|
||||||
/* initialize SDL */
|
/* initialize SDL */
|
||||||
if (SDL_Init(SDL_INIT_VIDEO) < 0) {
|
if (SDL_Init(SDL_INIT_VIDEO) < 0) {
|
||||||
printf("Could not initialize SDL\n");
|
printf("Could not initialize SDL\n");
|
||||||
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* seed random number generator */
|
/* seed random number generator */
|
||||||
srand(time(NULL));
|
srand(time(NULL));
|
||||||
|
|
||||||
/* create window and renderer */
|
/* create window and renderer */
|
||||||
windowID =
|
window =
|
||||||
SDL_CreateWindow(NULL, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT,
|
SDL_CreateWindow(NULL, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT,
|
||||||
SDL_WINDOW_OPENGL | SDL_WINDOW_SHOWN);
|
SDL_WINDOW_OPENGL | SDL_WINDOW_SHOWN);
|
||||||
if (windowID == 0) {
|
if (!window) {
|
||||||
printf("Could not initialize Window\n");
|
printf("Could not initialize Window\n");
|
||||||
}
|
return 1;
|
||||||
if (SDL_CreateRenderer(windowID, -1, 0) != 0) {
|
|
||||||
printf("Could not create renderer\n");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Fill screen with black */
|
renderer = SDL_CreateRenderer(window, -1, 0);
|
||||||
SDL_RenderClear();
|
if (renderer) {
|
||||||
|
printf("Could not create renderer\n");
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
/* Enter render loop, waiting for user to quit */
|
/* Enter render loop, waiting for user to quit */
|
||||||
done = 0;
|
done = 0;
|
||||||
|
@ -80,7 +87,7 @@ main(int argc, char *argv[])
|
||||||
done = 1;
|
done = 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
render();
|
render(renderer);
|
||||||
SDL_Delay(1);
|
SDL_Delay(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -75,12 +75,12 @@ static void createSurface (int fullscreen)
|
||||||
// Create window
|
// Create window
|
||||||
gScreen = SDL_SetVideoMode (640, 480, 0, flags);
|
gScreen = SDL_SetVideoMode (640, 480, 0, flags);
|
||||||
if (gScreen == NULL) {
|
if (gScreen == NULL) {
|
||||||
|
|
||||||
fprintf (stderr, "Couldn't set 640x480 OpenGL video mode: %s\n",
|
fprintf (stderr, "Couldn't set 640x480 OpenGL video mode: %s\n",
|
||||||
SDL_GetError());
|
SDL_GetError());
|
||||||
SDL_Quit();
|
SDL_Quit();
|
||||||
exit(2);
|
exit(2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void initGL ()
|
static void initGL ()
|
||||||
|
@ -100,29 +100,29 @@ static void mainLoop ()
|
||||||
SDL_Event event;
|
SDL_Event event;
|
||||||
int done = 0;
|
int done = 0;
|
||||||
int fps = 24;
|
int fps = 24;
|
||||||
int delay = 1000/fps;
|
int delay = 1000/fps;
|
||||||
int thenTicks = -1;
|
int thenTicks = -1;
|
||||||
int nowTicks;
|
int nowTicks;
|
||||||
|
|
||||||
while ( !done ) {
|
while ( !done ) {
|
||||||
|
|
||||||
/* Check for events */
|
/* Check for events */
|
||||||
while ( SDL_PollEvent (&event) ) {
|
while ( SDL_PollEvent (&event) ) {
|
||||||
switch (event.type) {
|
switch (event.type) {
|
||||||
|
|
||||||
case SDL_MOUSEMOTION:
|
case SDL_MOUSEMOTION:
|
||||||
break;
|
break;
|
||||||
case SDL_MOUSEBUTTONDOWN:
|
case SDL_MOUSEBUTTONDOWN:
|
||||||
break;
|
break;
|
||||||
case SDL_KEYDOWN:
|
case SDL_KEYDOWN:
|
||||||
/* Any keypress quits the app... */
|
/* Any keypress quits the app... */
|
||||||
case SDL_QUIT:
|
case SDL_QUIT:
|
||||||
done = 1;
|
done = 1;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Draw at 24 hz
|
// Draw at 24 hz
|
||||||
// This approach is not normally recommended - it is better to
|
// This approach is not normally recommended - it is better to
|
||||||
|
@ -144,18 +144,18 @@ static void mainLoop ()
|
||||||
}
|
}
|
||||||
|
|
||||||
SDL_Delay (delay);
|
SDL_Delay (delay);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int main(int argc, char *argv[])
|
int main(int argc, char *argv[])
|
||||||
{
|
{
|
||||||
// Init SDL video subsystem
|
// Init SDL video subsystem
|
||||||
if ( SDL_Init (SDL_INIT_VIDEO) < 0 ) {
|
if ( SDL_Init (SDL_INIT_VIDEO) < 0 ) {
|
||||||
|
|
||||||
fprintf(stderr, "Couldn't initialize SDL: %s\n",
|
fprintf(stderr, "Couldn't initialize SDL: %s\n",
|
||||||
SDL_GetError());
|
SDL_GetError());
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Set GL context attributes
|
// Set GL context attributes
|
||||||
initAttributes ();
|
initAttributes ();
|
||||||
|
@ -173,7 +173,7 @@ int main(int argc, char *argv[])
|
||||||
mainLoop ();
|
mainLoop ();
|
||||||
|
|
||||||
// Cleanup
|
// Cleanup
|
||||||
SDL_Quit();
|
SDL_Quit();
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue