X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fvideo%2Frenderer.hpp;h=2839492ea85979b06f78eb4e7ffb1569999acab7;hb=4f423b9bbb6fa694b8c6bcc338e069aad45db3e3;hp=2bd96d70b68ca7907d0cb99277a8344818f9ba53;hpb=c655b296af60a436a8ce2bf0e6ede4f72eae0580;p=supertux.git diff --git a/src/video/renderer.hpp b/src/video/renderer.hpp index 2bd96d70b..2839492ea 100644 --- a/src/video/renderer.hpp +++ b/src/video/renderer.hpp @@ -16,6 +16,7 @@ // 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 @@ -24,7 +25,7 @@ #include #include - +#include #include #include "glutil.hpp" @@ -42,14 +43,23 @@ 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; + + static Renderer* instance() { assert(instance_); return instance_; } + +protected: + static Renderer* instance_; }; #endif