Red Square
This commit is contained in:
2
Makefile
2
Makefile
@@ -1,5 +1,5 @@
|
|||||||
build:
|
build:
|
||||||
gcc -Wall -std=c99 ./src/*.c -o renderer
|
gcc -Wall -std=c99 ./src/*.c -lSDL2 -o renderer
|
||||||
|
|
||||||
run:
|
run:
|
||||||
./renderer
|
./renderer
|
||||||
|
|||||||
BIN
src/.main.c.swp
BIN
src/.main.c.swp
Binary file not shown.
68
src/main.c
68
src/main.c
@@ -2,7 +2,10 @@
|
|||||||
#include <stdbool.h>
|
#include <stdbool.h>
|
||||||
#include <SDL2/SDL.h>
|
#include <SDL2/SDL.h>
|
||||||
|
|
||||||
SDL_Window* window = SDL_CreateWindow();
|
bool is_running= false;
|
||||||
|
SDL_Window* window = NULL;
|
||||||
|
SDL_Renderer* renderer = NULL;
|
||||||
|
|
||||||
|
|
||||||
bool initialize_window(void) {
|
bool initialize_window(void) {
|
||||||
if (SDL_Init(SDL_INIT_EVERYTHING) != 0) {
|
if (SDL_Init(SDL_INIT_EVERYTHING) != 0) {
|
||||||
@@ -10,16 +13,69 @@ bool initialize_window(void) {
|
|||||||
return false;
|
return false;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
// Create a SDL window
|
||||||
|
window = SDL_CreateWindow(
|
||||||
|
NULL,
|
||||||
|
SDL_WINDOWPOS_CENTERED,
|
||||||
|
SDL_WINDOWPOS_CENTERED,
|
||||||
|
800,
|
||||||
|
600,
|
||||||
|
SDL_WINDOW_BORDERLESS
|
||||||
|
);
|
||||||
|
if (!window) {
|
||||||
|
fprintf(stderr, "Error creating SDL window.\n");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
SDL_Window* window = SDL_CreateWindow();
|
// Create a SDL renderer
|
||||||
|
renderer = SDL_CreateRenderer(window, -1, 0);
|
||||||
// TODO: Create a SDL renderer
|
if (!renderer) {
|
||||||
|
fprintf(stderr, "Error creating SDL error.\n");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
int main(void) {
|
void setup(void){
|
||||||
|
//TODO
|
||||||
|
}
|
||||||
|
|
||||||
initialize_window();
|
void process_input(void){
|
||||||
|
SDL_Event event;
|
||||||
|
SDL_PollEvent(&event);
|
||||||
|
|
||||||
|
switch (event.type) {
|
||||||
|
case SDL_QUIT:
|
||||||
|
is_running = false;
|
||||||
|
break;
|
||||||
|
case SDL_KEYDOWN:
|
||||||
|
if (event.key.keysym.sym == SDLK_ESCAPE)
|
||||||
|
is_running = false;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
void update(void){
|
||||||
|
//TODO
|
||||||
|
}
|
||||||
|
void render(void){
|
||||||
|
SDL_SetRenderDrawColor(renderer, 255, 0, 0, 255);
|
||||||
|
SDL_RenderClear(renderer);
|
||||||
|
|
||||||
|
SDL_RenderPresent(renderer);
|
||||||
|
}
|
||||||
|
|
||||||
|
int main(void) {
|
||||||
|
is_running = initialize_window();
|
||||||
|
|
||||||
|
|
||||||
|
setup();
|
||||||
|
|
||||||
|
while (is_running) {
|
||||||
|
process_input();
|
||||||
|
update();
|
||||||
|
render();
|
||||||
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user