1.8
Public Member Functions | Static Public Member Functions | List of all members
ComposerScreen Class Reference

Screen in an in-memory buffer for the Microchip Graphic Composer. More...

Inheritance diagram for ComposerScreen:
Inheritance graph
[legend]

Public Member Functions

 ComposerScreen (const Size &size=Size(800, 480))
 
EGT_NODISCARD unsigned char * get_pixmap ()
 
EGT_NODISCARD bool is_composer () const override
 Returns true if this is a screen used with the Microchip Graphic Composer. More...
 
void resize (const Size &size)
 
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...
 

Static Public Member Functions

static Signal ::RegisterHandle register_screen_resize_hook (const Signal<>::EventCallback &handler)
 Register a handler to manage screen size changes. More...
 
static void unregister_screen_resize_hook (Signal<>::RegisterHandle handle)
 Unregister a handler that managed screen size changes. 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...
 

Additional Inherited Members

- Public Types inherited from Screen
using DamageArray = std::vector< Rect >
 Type used for damage arrays. 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)
 
- 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...
 

Detailed Description

Screen in an in-memory buffer for the Microchip Graphic Composer.

Constructor & Destructor Documentation

◆ ComposerScreen()

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

Member Function Documentation

◆ get_pixmap()

EGT_NODISCARD unsigned char* get_pixmap ( )

◆ is_composer()

EGT_NODISCARD bool is_composer ( ) const
inlineoverridevirtual

Returns true if this is a screen used with the Microchip Graphic Composer.

Reimplemented from Screen.

◆ register_screen_resize_hook()

static Signal ::RegisterHandle register_screen_resize_hook ( const Signal<>::EventCallback &  handler)
static

Register a handler to manage screen size changes.

Parameters
[in]

◆ resize()

void resize ( const Size size)

◆ 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.

◆ unregister_screen_resize_hook()

static void unregister_screen_resize_hook ( Signal<>::RegisterHandle  handle)
static

Unregister a handler that managed screen size changes.

Parameters
[in]