1.2
Public Member Functions | Protected Attributes | List of all members
MemoryScreen Class Reference

Screen in an in-memory buffer. More...

Inheritance diagram for MemoryScreen:
Inheritance graph
[legend]

Public Member Functions

 MemoryScreen (const Size &size=Size(800, 480))
 
virtual void save_to_file (const std::string &filename) const
 
void schedule_flip () override
 Schedule a flip to occur later. More...
 
- Public Member Functions inherited from Screen
 Screen () noexcept
 
 Screen (const Screen &)=default
 
 Screen (Screen &&) noexcept=default
 
virtual ~Screen () noexcept=default
 
void async_flip (bool async)
 Set if asynchronous buffer flips are used. More...
 
EGT_NODISCARD Rect box () const
 Bounding box for the screen. More...
 
virtual EGT_NODISCARD size_t brightness () const
 Get the current brightness of the screen. More...
 
virtual void brightness (size_t brightness)
 Set the brightness of the screen. More...
 
EGT_NODISCARD shared_cairo_t context () const
 Get the context for the screen. More...
 
virtual void flip (const DamageArray &damage)
 Perform a flip of the buffers. More...
 
EGT_NODISCARD PixelFormat format () const
 Get the format of the screen. More...
 
virtual EGT_NODISCARD bool have_planes () const
 Returns true if the screen supports planes. More...
 
virtual void high_fidelity ()
 Configure high fidelity options. More...
 
virtual uint32_t index ()
 If the screen implementation manages multiple buffers, this will return the index of the current buffer. More...
 
virtual void low_fidelity ()
 Configure low fidelity options. More...
 
virtual EGT_NODISCARD size_t max_brightness () const
 Get the max brightness of the screen. More...
 
Screenoperator= (const Screen &)=default
 
Screenoperator= (Screen &&) noexcept=default
 
EGT_NODISCARD Size size () const
 Size of the screen. More...
 

Protected Attributes

Canvas m_canvas
 
- Protected Attributes inherited from Screen
bool m_async {false}
 Perform flips asynchronously if supported. More...
 
BufferArray m_buffers
 Screen buffer array. More...
 
shared_cairo_t m_cr
 Composition surface context. More...
 
PixelFormat m_format {}
 Format of the screen. More...
 
Size m_size
 Size of the screen. More...
 
shared_cairo_surface_t m_surface
 Composition surface. More...
 

Additional Inherited Members

- Public Types inherited from Screen
using DamageArray = std::vector< Rect >
 Type used for damage arrays. More...
 
- Static Public Member Functions inherited from Screen
static void damage_algorithm (Screen::DamageArray &damage, Rect rect)
 This function implements the algorithm for adding damage rectangles to a list. More...
 
- Protected Types inherited from Screen
using BufferArray = std::vector< ScreenBuffer >
 Type used for an array of ScreenBuffer objects. More...
 
- Protected Member Functions inherited from Screen
virtual void copy_to_buffer (ScreenBuffer &buffer)
 Copy the framebuffer to the current composition buffer. More...
 
void copy_to_buffer_software (ScreenBuffer &buffer)
 Copy the framebuffer to the current composition buffer. More...
 
void init (const Size &size, PixelFormat format=PixelFormat::argb8888)
 
void init (void **ptr, uint32_t count, const Size &size, PixelFormat format=PixelFormat::argb8888)
 

Detailed Description

Screen in an in-memory buffer.

Constructor & Destructor Documentation

◆ MemoryScreen()

MemoryScreen ( const Size size = Size(800, 480))
explicit

Member Function Documentation

◆ save_to_file()

virtual void save_to_file ( const std::string &  filename) const
virtual

◆ schedule_flip()

void schedule_flip ( )
inlineoverridevirtual

Schedule a flip to occur later.

This is needed if a flip should occur sometime in the future to the hardware.

Implements Screen.

Member Data Documentation

◆ m_canvas

Canvas m_canvas
protected