From a8bcacc95045102e67f2feabbdddf79535837554 Mon Sep 17 00:00:00 2001 From: jacopograndi Date: Thu, 19 Aug 2021 18:46:51 +0200 Subject: forgot to make repo until now --- graphics/graphics.h | 70 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 graphics/graphics.h (limited to 'graphics/graphics.h') diff --git a/graphics/graphics.h b/graphics/graphics.h new file mode 100644 index 0000000..6b36cbd --- /dev/null +++ b/graphics/graphics.h @@ -0,0 +1,70 @@ +#ifndef GRAPHICS_H +#define GRAPHICS_H + +#include +#include + +#define SDL_MAIN_HANDLED +#include + +#include "../game/gst.h" +#include "../game/view.h" +#include "cam.h" + +#include + + +class Graphics_sdl_text { + public: + Graphics_sdl_text(); + int get_text_width (char str[]); + void render_text (std::string str, vec2 off); + SDL_Renderer* gRenderer; + SDL_Texture *tex; + int char_width[128]; +}; + +class Graphics_sdl { + public: + Graphics_sdl (int resx, int resy); + ~Graphics_sdl (); + SDL_Renderer* get_renderer (); + void load_sheet (); + void present (); + void render_sprite ( + int x, int y, int w, int h, + int u, int v, int s, int t); + void render_rect ( + int r, int g, int b, int a, + int x, int y, int w, int h); + void render_sprite ( + int x, int y, int w, int h, + int u, int v, int s, int t, + int r, int g, int b); + + Graphics_sdl_text txt; + + private: + SDL_Window* window = NULL; + SDL_Surface* screenSurface = NULL; + SDL_Renderer* rend = NULL; + SDL_Texture* txsprites = NULL; +}; + + +class Graphics { + public: + Graphics (int resx, int resy) + : resx(resx), resy(resy), backend(resx, resy) {} + ~Graphics (); + + Graphics_sdl backend; + + int resx, resy; + Cam cam; + + void render (Gst &gst, View &view); + void present (); +}; + +#endif \ No newline at end of file -- cgit v1.2.3-54-g00ecf