19 #ifndef MIR_GRAPHICS_ANDROID_DISPLAY_BUFFER_H_
20 #define MIR_GRAPHICS_ANDROID_DISPLAY_BUFFER_H_
26 #include <system/window.h>
36 class FramebufferBundle;
38 class DisplayBuffer :
public ConfigurableDisplayBuffer
41 DisplayBuffer(std::shared_ptr<FramebufferBundle>
const& fb_bundle,
42 std::shared_ptr<DisplayDevice>
const& display_device,
43 std::shared_ptr<ANativeWindow>
const& native_window,
44 GLContext
const& shared_gl_context);
54 std::function<
void(Renderable
const&)>
const& render_fn);
57 DisplayConfigurationOutput configuration()
const;
58 void configure(DisplayConfigurationOutput
const&);
63 std::shared_ptr<FramebufferBundle>
const fb_bundle;
64 std::shared_ptr<DisplayDevice>
const display_device;
65 std::shared_ptr<ANativeWindow>
const native_window;
68 DisplayConfigurationOutput current_configuration;
virtual void release_current()=0
Releases the current GL rendering target.
virtual void render_and_post_update(RenderableList const &renderlist, std::function< void(Renderable const &)> const &render_fn)=0
This will render renderlist to the screen and post the result to the screen.
std::list< std::shared_ptr< Renderable > > RenderableList
Definition: renderable.h:88
virtual bool can_bypass() const =0
to be deprecated
virtual void post_update()=0
This will trigger OpenGL rendering and post the result to the screen.
virtual geometry::Rectangle view_area() const =0
The area the DisplayBuffer occupies in the virtual screen space.
virtual void make_current()=0
Makes the DisplayBuffer the current GL rendering target.
virtual MirOrientation orientation() const =0
Returns the orientation of the display buffer relative to how the user should see it (the orientation...