Mir
Public Member Functions | Protected Member Functions | List of all members
mir::graphics::DisplayBuffer Class Referenceabstract

Interface to an output framebuffer. More...

#include <display_buffer.h>

Public Member Functions

virtual ~DisplayBuffer ()=default
 
virtual geometry::Rectangle view_area () const =0
 The area the DisplayBuffer occupies in the virtual screen space. More...
 
virtual bool overlay (RenderableList const &renderlist)=0
 This will render renderlist to the screen and post the result to the screen if there is a hardware optimization that can be done. More...
 
virtual MirOrientation orientation () const =0
 Returns the orientation of the display buffer relative to how the user should see it (the orientation of the output). More...
 
virtual MirMirrorMode mirror_mode () const =0
 Returns the mirror mode of the display buffer relative to orientation. More...
 
virtual NativeDisplayBuffernative_display_buffer ()=0
 Returns a pointer to the native display buffer object backing this display buffer. More...
 

Protected Member Functions

 DisplayBuffer ()=default
 
 DisplayBuffer (DisplayBuffer const &c)=delete
 
DisplayBufferoperator= (DisplayBuffer const &c)=delete
 

Detailed Description

Interface to an output framebuffer.

Examples:
render_surfaces.cpp, and server_example_custom_compositor.cpp.

Constructor & Destructor Documentation

virtual mir::graphics::DisplayBuffer::~DisplayBuffer ( )
virtualdefault
mir::graphics::DisplayBuffer::DisplayBuffer ( )
protecteddefault
mir::graphics::DisplayBuffer::DisplayBuffer ( DisplayBuffer const &  c)
protecteddelete

Member Function Documentation

virtual MirMirrorMode mir::graphics::DisplayBuffer::mirror_mode ( ) const
pure virtual

Returns the mirror mode of the display buffer relative to orientation.

If your DisplayBuffer can do the mirroring itself then this will always return mir_mirror_mode_none. If the DisplayBuffer does not implement the mirroring itself then this function will return the mirror mode the renderer must do after rotation to make things "look right".

virtual NativeDisplayBuffer* mir::graphics::DisplayBuffer::native_display_buffer ( )
pure virtual

Returns a pointer to the native display buffer object backing this display buffer.

The pointer to the native display buffer remains valid as long as the display buffer object is valid.

DisplayBuffer& mir::graphics::DisplayBuffer::operator= ( DisplayBuffer const &  c)
protecteddelete
virtual MirOrientation mir::graphics::DisplayBuffer::orientation ( ) const
pure virtual

Returns the orientation of the display buffer relative to how the user should see it (the orientation of the output).

This tells us how much (if any) rotation the renderer needs to do. If your DisplayBuffer can do the rotation itself then this will always return mir_orientation_normal. If the DisplayBuffer does not implement the rotation itself then this function will return the amount of rotation the renderer must do to make things "look right".

virtual bool mir::graphics::DisplayBuffer::overlay ( RenderableList const &  renderlist)
pure virtual

This will render renderlist to the screen and post the result to the screen if there is a hardware optimization that can be done.

Parameters
[in]renderlistThe renderables that should appear on the screen if the hardware is capable of optmizing that list somehow. If what you want displayed on the screen cannot be represented by a RenderableList, then you should render using a graphics library like OpenGL.
Returns
True if the hardware can (and has) fully composite/overlay the list; False if the hardware platform cannot composite the list, and the caller should then render the list another way using a graphics library such as OpenGL.
virtual geometry::Rectangle mir::graphics::DisplayBuffer::view_area ( ) const
pure virtual

The area the DisplayBuffer occupies in the virtual screen space.

Examples:
render_surfaces.cpp.

The documentation for this class was generated from the following file:

Copyright © 2012-2016 Canonical Ltd.
Generated on Tue Oct 31 05:57:28 UTC 2017