#include #include #include #include #include #include #include "../include/gfx.hpp" bool key_event(SDL_Event e) { if (e.type == SDL_EVENT_KEY_DOWN) { if (e.key.key == SDLK_Q) { return true; } } return false; } bool event_handling(SDL_Event e) { while (SDL_PollEvent(&e)) { if (e.type == SDL_EVENT_QUIT) { return true; } if (key_event(e)) { return true; } } return false; } int main() { if (!SDL_Init(SDL_INIT_VIDEO)){ std::printf("SDL_INIT() failed"); return EXIT_FAILURE; } SDL_Window *window; window = SDL_CreateWindow("Physics Sim", 720, 540, SDL_WINDOW_RESIZABLE); if (window == NULL) { std::printf("SDL_CreateWindow() failed"); return EXIT_FAILURE; } SDL_Renderer *renderer = SDL_CreateRenderer(window, NULL); if (renderer == NULL) { std::printf("SDL_CreateRenderer() failed"); } SDL_Event e; bool exit = false; struct { int x; int y; } circle_pos; circle_pos = {10, 10}; while (!exit) { exit = event_handling(e); SDL_SetRenderDrawColor(renderer, 0, 0, 0, 0); SDL_RenderClear(renderer); gfx::draw_circle(renderer, circle_pos.x, circle_pos.y, 10); circle_pos.x++; SDL_RenderPresent(renderer); SDL_Delay(16); } SDL_Quit(); return 0; }