#include "engine.h" bool left = true; // polling events every frame void client_poll_event() { SDL_Event ev = game_state->event; if (ev.type == SDL_EVENT_QUIT) { game_state->is_running = false; } if (ev.type == SDL_EVENT_KEY_DOWN) { switch (ev.key.key) { case SDLK_Q: game_state->is_running = false; } } } // performed every frame void client_update_framebuffer() { // draw a green square // clear_framebuffer(0x000000); // for (int i = 0; i < 20; i++) { // for (int j = 0; j < 20; j++) { // put_pixel(i, j, 0x00FF00); // } // } // draw alternating green squares if (left) { clear_framebuffer(0x000000); for (int i = 0; i < 20; i++) { for (int j = 0; j < 20; j++) { put_pixel(i, j, 0x00FF00); } } left = false; } else { clear_framebuffer(0x000000); for (int i = 20; i < 40; i++) { for (int j = 20; j < 40; j++) { put_pixel(i, j, 0x00FFFF); } } left = true; } SDL_Delay(100); } int main() { // initialize the engine if (engine_init( client_poll_event, client_update_framebuffer )) { engine_start(); engine_stop(); return 0; } else { return 1; } }