X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Fvideo%2Frenderer.hpp;h=4b67f6ee96335ba6c7514b74f3f25c901bb709df;hb=48a97f3e160a195df0114ae976f64a9241e19bbc;hp=2bd96d70b68ca7907d0cb99277a8344818f9ba53;hpb=fea3446f05e1e7673607b835c269d3e8d1929ab3;p=supertux.git diff --git a/src/video/renderer.hpp b/src/video/renderer.hpp index 2bd96d70b..4b67f6ee9 100644 --- a/src/video/renderer.hpp +++ b/src/video/renderer.hpp @@ -1,12 +1,10 @@ -// $Id: drawing_context.hpp 4986 2007-04-16 17:48:28Z matzeb $ -// // SuperTux // Copyright (C) 2006 Matthias Braun // -// This program is free software; you can redistribute it and/or -// modify it under the terms of the GNU General Public License -// as published by the Free Software Foundation; either version 2 -// of the License, or (at your option) any later version. +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -14,26 +12,26 @@ // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License -// along with this program; if not, write to the Free Software -// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -#ifndef SUPERTUX_RENDERER_H -#define SUPERTUX_RENDERER_H +// along with this program. If not, see . -#include -#include -#include +#ifndef HEADER_SUPERTUX_VIDEO_RENDERER_HPP +#define HEADER_SUPERTUX_VIDEO_RENDERER_HPP -#include +#include +#include +#include #include +#include +#include +#include -#include "glutil.hpp" -#include "obstack/obstack.h" +#include "math/rectf.hpp" #include "math/vector.hpp" -#include "math/rect.hpp" -#include "surface.hpp" -#include "font.hpp" -#include "color.hpp" +#include "video/color.hpp" +#include "video/font.hpp" +#include "video/glutil.hpp" +#include "video/surface.hpp" class Surface; class Texture; @@ -42,15 +40,27 @@ struct DrawingRequest; class Renderer { public: - virtual ~Renderer() {} + Renderer(); + virtual ~Renderer(); virtual void draw_surface(const DrawingRequest& request) = 0; virtual void draw_surface_part(const DrawingRequest& request) = 0; virtual void draw_gradient(const DrawingRequest& request) = 0; virtual void draw_filled_rect(const DrawingRequest& request)= 0; + virtual void draw_inverse_ellipse(const DrawingRequest& request)= 0; virtual void do_take_screenshot() = 0; virtual void flip() = 0; + virtual void resize(int w, int h) = 0; + virtual void apply_config() = 0; + virtual void set_gamma(float gamma) = 0; + virtual SDL_Window* get_window() const = 0; + + static Renderer* instance() { assert(instance_); return instance_; } + +protected: + static Renderer* instance_; }; #endif +/* EOF */