X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Frender%2Fview.h;h=bdddb65d31b977cf896cdd3dacc1d89c470cfbd8;hb=42c44db6aa2961cffea6263f337adbd9d161c59c;hp=23425a86e3dff251322f219c6a337bac27e3bd0d;hpb=190a7e11237351f6b730c28f7b16f183e8adc69c;p=libs%2Fgl.git diff --git a/source/render/view.h b/source/render/view.h index 23425a86..bdddb65d 100644 --- a/source/render/view.h +++ b/source/render/view.h @@ -20,17 +20,16 @@ Sequence can be used to specify other tags and add post-processing. class View { protected: - Framebuffer ⌖ - Camera *camera; - Renderable *content; - Renderer *internal_renderer; + Camera *camera = 0; + Renderable *content = 0; + Renderer *internal_renderer = 0; - View(Framebuffer &); + View() = default; public: virtual ~View(); - virtual unsigned get_width() const { return target.get_width(); } - virtual unsigned get_height() const { return target.get_height(); } + virtual unsigned get_width() const { return get_target().get_width(); } + virtual unsigned get_height() const { return get_target().get_height(); } float get_aspect_ratio() const { return static_cast(get_width())/get_height(); } /** Sets the camera to render with. The camera's aspect ratio is set to @@ -41,6 +40,8 @@ public: virtual void render(); virtual void render(Renderer &); +protected: + virtual const Framebuffer &get_target() const = 0; }; } // namespace GL