19 #ifndef MIR_COMPOSITOR_SCREENCAST_DISPLAY_BUFFER_H_
20 #define MIR_COMPOSITOR_SCREENCAST_DISPLAY_BUFFER_H_
25 #include <GLES2/gl2.h>
29 namespace renderer {
namespace gl {
class TextureSource; }}
35 template <
void (*Generate)(GLsizei,GLu
int*),
void (*Delete)(GLsizei,GLu
int const*)>
41 operator GLuint()
const {
return resource; }
79 GLint old_viewport[4];
All things Mir.
Definition: atomic_callback.h:25
Definition: texture_source.h:29
NativeDisplayBuffer * native_display_buffer() override
Returns a pointer to the native display buffer object backing this display buffer.
Definition: screencast_display_buffer.cpp:110
bool post_renderables_if_optimizable(graphics::RenderableList const &) override
This will render renderlist to the screen and post the result to the screen if there is a hardware op...
Definition: screencast_display_buffer.cpp:95
MirOrientation orientation() const override
Returns the orientation of the display buffer relative to how the user should see it (the orientation...
Definition: screencast_display_buffer.cpp:105
GLResource()
Definition: screencast_display_buffer.h:39
Definition: screencast_display_buffer.h:50
Interface to an output framebuffer.
Definition: display_buffer.h:47
Definition: screencast_display_buffer.h:36
void swap_buffers() override
Swap buffers for OpenGL rendering.
Definition: screencast_display_buffer.cpp:100
~GLResource()
Definition: screencast_display_buffer.h:40
geometry::Rectangle view_area() const override
The area the DisplayBuffer occupies in the virtual screen space.
Definition: screencast_display_buffer.cpp:70
void make_current() override
Makes the the current GL render target.
Definition: screencast_display_buffer.cpp:75
~ScreencastDisplayBuffer()
Definition: screencast_display_buffer.cpp:65
Definition: display_buffer.h:35
Definition: render_target.h:29
void release_current() override
Releases the current GL render target.
Definition: screencast_display_buffer.cpp:88
std::vector< std::shared_ptr< Renderable > > RenderableList
Definition: renderable.h:79
Definition: rectangle.h:33
NativeDisplayBuffer()=default
ScreencastDisplayBuffer(geometry::Rectangle const &rect, graphics::Buffer &buffer)
Definition: screencast_display_buffer.cpp:29