19 #ifndef MIR_GRAPHICS_DISPLAY_H_ 20 #define MIR_GRAPHICS_DISPLAY_H_ 34 class DisplayConfiguration;
37 class EventHandlerRegister;
70 virtual void for_each_display_buffer(std::function<
void(
DisplayBuffer&)>
const& f) = 0;
76 virtual void post() = 0;
88 virtual std::chrono::milliseconds recommended_sleep()
const = 0;
106 virtual void for_each_display_sync_group(std::function<
void(
DisplaySyncGroup&)>
const& f) = 0;
111 virtual std::unique_ptr<DisplayConfiguration> configuration()
const = 0;
129 virtual bool apply_if_configuration_preserves_display_buffers(
DisplayConfiguration const& conf) = 0;
145 virtual void register_configuration_change_handler(
147 DisplayConfigurationChangeHandler
const& conf_change_handler) = 0;
155 virtual void register_pause_resume_handlers(
157 DisplayPauseHandler
const& pause_handler,
158 DisplayResumeHandler
const& resume_handler) = 0;
166 virtual void pause() = 0;
171 virtual void resume() = 0;
176 virtual std::shared_ptr<Cursor> create_hardware_cursor(std::shared_ptr<CursorImage>
const& initial_image) = 0;
182 virtual std::unique_ptr<VirtualOutput> create_virtual_output(
int width,
int height) = 0;
Definition: as_render_target.h:27
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:64
unsigned int height
Definition: mir_image.h:27
unsigned int width
Definition: mir_image.h:26
std::function< bool()> DisplayResumeHandler
Definition: display.h:41
std::function< bool()> DisplayPauseHandler
Definition: display.h:38
Frame is a unique identifier for a frame displayed on an output.
Definition: frame.h:37
virtual ~NativeDisplay()=default
Interface to a virtual output.
Definition: virtual_output.h:31
uint32_t output_id
The id of the output to place the surface in.
Definition: client_types.h:183
Interface to the display subsystem.
Definition: display.h:100
std::function< void()> DisplayConfigurationChangeHandler
Definition: display.h:42
Interface to a configuration of display cards and outputs.
Definition: display_configuration.h:185
NativeDisplay operator=(NativeDisplay const &)=delete
Definition: event_handler_register.h:32