X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Fvideo%2Fsdl%2Fsdl_renderer.hpp;h=fa3cd0a7d7e2a02dbdaf14801c9869494b86753c;hb=d794aac09d4a3b3f5f93985cd74381bb4de4ce84;hp=7f78180063fe1a49afa9f22a6c4c7174cbd4ac70;hpb=c1277f5b7db9f55d1d28f658b4e804f32b76f0ce;p=supertux.git diff --git a/src/video/sdl/sdl_renderer.hpp b/src/video/sdl/sdl_renderer.hpp index 7f7818006..fa3cd0a7d 100644 --- a/src/video/sdl/sdl_renderer.hpp +++ b/src/video/sdl/sdl_renderer.hpp @@ -17,8 +17,7 @@ #ifndef HEADER_SUPERTUX_VIDEO_SDL_RENDERER_HPP #define HEADER_SUPERTUX_VIDEO_SDL_RENDERER_HPP -#include - +#include "SDL.h" #include "video/renderer.hpp" class SDLRenderer : public Renderer @@ -27,21 +26,33 @@ public: SDLRenderer(); ~SDLRenderer(); - void draw_surface(const DrawingRequest& request); - void draw_surface_part(const DrawingRequest& request); - void draw_text(const DrawingRequest& request); - void draw_gradient(const DrawingRequest& request); - void draw_filled_rect(const DrawingRequest& request); - void draw_inverse_ellipse(const DrawingRequest& request); - void do_take_screenshot(); - void flip(); - void resize(int w, int h); - void apply_config() {} + void start_draw() override; + void end_draw() override; + void draw_surface(const DrawingRequest& request) override; + void draw_surface_part(const DrawingRequest& request) override; + void draw_gradient(const DrawingRequest& request) override; + void draw_filled_rect(const DrawingRequest& request) override; + void draw_inverse_ellipse(const DrawingRequest& request) override; + void do_take_screenshot() override; + void flip() override; + void resize(int w, int h) override; + void apply_config() override; + Vector to_logical(int physical_x, int physical_y) override; + void set_gamma(float gamma) override; + + SDL_Window* get_window() const { return m_window; } + SDL_Renderer* get_sdl_renderer() const { return m_renderer; }; + +private: + void apply_video_mode(); + void apply_viewport(); private: - SDL_Surface *screen; - int numerator; - int denominator; + SDL_Window* m_window; + SDL_Renderer* m_renderer; + SDL_Rect m_viewport; + Size m_desktop_size; + Vector m_scale; private: SDLRenderer(const SDLRenderer&);