From b228349c5d3e93e8e58e96efeb332fdb58093f0f Mon Sep 17 00:00:00 2001 From: Charles Date: Wed, 18 Mar 2020 18:18:15 +0100 Subject: Initial commit --- src/graphics.cpp | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 src/graphics.cpp (limited to 'src/graphics.cpp') diff --git a/src/graphics.cpp b/src/graphics.cpp new file mode 100644 index 0000000..589a1a8 --- /dev/null +++ b/src/graphics.cpp @@ -0,0 +1,50 @@ +#include "graphics.hpp" + +Graphics::Graphics(std::string t, int w, int h) +{ + running = true; + title = t; + width = w; + height = h; + + if (SDL_Init(SDL_INIT_VIDEO) < 0) + return; + if ((window = SDL_CreateWindow(title.c_str(), 0, 0, width, height, 0)) == NULL) + return; + if ((renderer = SDL_CreateRenderer(window, -1, 0)) == NULL) + return; +} + +Graphics::~Graphics() +{ + SDL_DestroyRenderer(renderer); + SDL_DestroyWindow(window); + SDL_Quit(); +} + +void Graphics::update() +{ + SDL_RenderClear(renderer); + handleEvent(); + SDL_RenderPresent(renderer); +} + +bool Graphics::isRunning() +{ + return running; +} + +void Graphics::handleEvent() +{ + SDL_Event e; + + while (SDL_PollEvent(&e)) + { + switch (e.type) + { + case SDL_QUIT: + running = false; + } + } + +} -- cgit