#ifndef RENDERVIEW_H #define RENDERVIEW_H #include #include #include "View.h" class RenderView : public View { // rendering FBO FrameBuffer *frame_buffer_; Surface *fading_overlay_; // promises of returning thumbnails after an update std::vector< std::promise > thumbnailer_; public: RenderView (); ~RenderView (); void draw () override; bool canSelect(Source *) override { return false; } void setResolution (glm::vec3 resolution = glm::vec3(0.f), bool useAlpha = false); glm::vec3 resolution() const { return frame_buffer_->resolution(); } void setFading(float f = 0.f); float fading() const; inline FrameBuffer *frame () const { return frame_buffer_; } // get a thumbnail; wait for a promise to be fullfiled FrameBufferImage *thumbnail (); }; #endif // RENDERVIEW_H