19 #ifndef MIR_GRAPHICS_DISPLAY_H_
20 #define MIR_GRAPHICS_DISPLAY_H_
33 class DisplayConfiguration;
66 virtual void post() = 0;
98 virtual std::unique_ptr<DisplayConfiguration>
configuration()
const = 0;
116 DisplayConfigurationChangeHandler
const& conf_change_handler) = 0;
126 DisplayPauseHandler
const& pause_handler,
127 DisplayResumeHandler
const& resume_handler) = 0;
135 virtual void pause() = 0;
140 virtual void resume() = 0;
145 virtual std::shared_ptr<Cursor>
create_hardware_cursor(std::shared_ptr<CursorImage>
const& initial_image) = 0;
virtual void pause()=0
Pauses the display.
All things Mir.
Definition: atomic_callback.h:25
virtual void resume()=0
Resumes the display.
virtual ~Display()
Definition: display.h:157
Interface to an output framebuffer.
Definition: display_buffer.h:47
DisplaySyncGroup represents a group of displays that need to be output in unison as a single post() c...
Definition: display.h:54
virtual void register_configuration_change_handler(EventHandlerRegister &handlers, DisplayConfigurationChangeHandler const &conf_change_handler)=0
Registers a handler for display configuration changes.
virtual std::unique_ptr< DisplayConfiguration > configuration() const =0
Gets a copy of the current output configuration.
virtual void for_each_display_buffer(std::function< void(DisplayBuffer &)> const &f)=0
Executes a functor that allows the DisplayBuffer contents to be updated.
virtual void configure(DisplayConfiguration const &conf)=0
Sets a new output configuration.
std::function< bool()> DisplayResumeHandler
Definition: display.h:40
DisplaySyncGroup & operator=(DisplaySyncGroup const &)=delete
virtual void register_pause_resume_handlers(EventHandlerRegister &handlers, DisplayPauseHandler const &pause_handler, DisplayResumeHandler const &resume_handler)=0
Registers handlers for pausing and resuming the display subsystem.
std::function< bool()> DisplayPauseHandler
Definition: display.h:37
virtual ~DisplaySyncGroup()=default
virtual std::chrono::milliseconds recommended_sleep() const =0
Returns a recommendation to the compositor as to how long it should wait before sampling the scene fo...
DisplaySyncGroup()=default
virtual void post()=0
Post the content of the DisplayBuffers associated with this DisplaySyncGroup.
virtual std::shared_ptr< Cursor > create_hardware_cursor(std::shared_ptr< CursorImage > const &initial_image)=0
Create a hardware cursor object.
virtual void for_each_display_sync_group(std::function< void(DisplaySyncGroup &)> const &f)=0
Executes a functor for each output group.
Interface to the display subsystem.
Definition: display.h:87
std::function< void()> DisplayConfigurationChangeHandler
Definition: display.h:41
Interface to a configuration of display cards and outputs.
Definition: display_configuration.h:166
virtual std::unique_ptr< GLContext > create_gl_context()=0
Creates a GLContext object that shares resources with the Display's GL context.
Definition: event_handler_register.h:31