#include #include #include #include "display.h" bool is_running = false; void setup(void) { // Allocate the required memory in bytes to hold color buffer color_buffer = (uint32_t *) malloc(sizeof(uint32_t) * window_width * window_height); // Creating the SDL Texture that is uses to display the color buffer color_buffer_texture = SDL_CreateTexture( renderer, SDL_PIXELFORMAT_ARGB8888, SDL_TEXTUREACCESS_STREAMING, window_width, window_height ); } 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) { } void render(void) { SDL_SetRenderDrawColor(renderer, 255, 0, 0, 255); SDL_RenderClear(renderer); clear_color_buffer(0xFF000000); draw_grid(10); draw_rect(50, 50, 640, 480, 0xFFDD00DD); render_color_buffer(); SDL_RenderPresent(renderer); } int main(void) { is_running = initialize_window(); setup(); while (is_running) { process_input(); update(); render(); } destroy_window(); return 0; }