19 #ifndef MIR_GRAPHICS_DISPLAY_CONFIGURATION_H_ 20 #define MIR_GRAPHICS_DISPLAY_CONFIGURATION_H_ 37 namespace detail {
struct GraphicsConfCardIdTag;
struct GraphicsConfOutputIdTag; }
47 DisplayConfigurationCardId
id;
91 DisplayConfigurationOutputId
id;
99 std::vector<DisplayConfigurationMode>
modes;
142 DisplayConfigurationOutputId
const&
id;
146 std::vector<DisplayConfigurationMode>
const&
modes;
192 virtual std::unique_ptr<DisplayConfiguration> clone()
const = 0;
194 virtual bool valid()
const;
Mirror of a DisplayConfigurationOutput, with some fields limited to being read-only, preventing users from changing things they shouldn't.
Definition: display_configuration.h:140
Definition: as_render_target.h:27
uint32_t const & preferred_mode_index
Definition: display_configuration.h:147
Configuration information for a display card.
Definition: display_configuration.h:45
DisplayConfigurationOutputType const & type
Definition: display_configuration.h:144
Configuration information for a display output mode.
Definition: display_configuration.h:79
geometry::Size const & physical_size_mm
Definition: display_configuration.h:148
bool & used
Definition: display_configuration.h:150
std::vector< DisplayConfigurationMode > modes
The modes supported by the output.
Definition: display_configuration.h:99
DisplayConfigurationOutputId id
The output's id.
Definition: display_configuration.h:91
DisplayConfigurationOutputType type
The type of the output.
Definition: display_configuration.h:95
IntWrapper< detail::GraphicsConfOutputIdTag > DisplayConfigurationOutputId
Definition: display_configuration.h:40
bool operator==(BufferProperties const &lhs, BufferProperties const &rhs)
Definition: buffer_properties.h:71
float scale
Requested scale factor for this output, for HiDPI support.
Definition: display_configuration.h:119
std::vector< MirPixelFormat > pixel_formats
The pixel formats supported by the output.
Definition: display_configuration.h:97
uint32_t preferred_mode_index
The index in the 'modes' vector of the preferred output mode.
Definition: display_configuration.h:101
GammaCurves gamma
The current gamma for the display.
Definition: display_configuration.h:127
MirFormFactor form_factor
Form factor of this output; phone display, tablet, monitor, TV, projector...
Definition: display_configuration.h:121
MirPixelFormat & current_format
Definition: display_configuration.h:153
double vrefresh_hz
Definition: display_configuration.h:82
DisplayConfigurationCardId card_id
The id of the card the output is connected to.
Definition: display_configuration.h:93
MirSubpixelArrangement subpixel_arrangement
Subpixel arrangement of this output.
Definition: display_configuration.h:124
geometry::Size physical_size_mm
The physical size of the output.
Definition: display_configuration.h:103
DisplayConfigurationOutputType
The type of a display output.
Definition: display_configuration.h:54
bool operator!=(BufferProperties const &lhs, BufferProperties const &rhs)
Definition: buffer_properties.h:78
MirFormFactor & form_factor
Definition: display_configuration.h:157
MirOrientation & orientation
Definition: display_configuration.h:155
geometry::Size size
Definition: display_configuration.h:81
bool const & connected
Definition: display_configuration.h:149
MirPowerMode power_mode
Current power mode.
Definition: display_configuration.h:115
MirOutputGammaSupported const & gamma_supported
Definition: display_configuration.h:160
MirOrientation orientation
Definition: display_configuration.h:116
bool connected
Whether the output is connected.
Definition: display_configuration.h:105
bool used
Whether the output is used in the configuration.
Definition: display_configuration.h:107
std::ostream & operator<<(std::ostream &out, DisplayConfigurationCard const &val)
Configuration information for a display output.
Definition: display_configuration.h:88
DisplayConfigurationCardId id
Definition: display_configuration.h:47
IntWrapper< detail::GraphicsConfCardIdTag > DisplayConfigurationCardId
Definition: display_configuration.h:39
Definition: gamma_curves.h:32
GammaCurves & gamma
Definition: display_configuration.h:159
Definition: rectangle.h:33
size_t max_simultaneous_outputs
Definition: display_configuration.h:48
geometry::Point top_left
The top left point of this output in the virtual coordinate space.
Definition: display_configuration.h:109
geometry::Point & top_left
Definition: display_configuration.h:151
DisplayConfigurationOutputId const & id
Definition: display_configuration.h:142
MirSubpixelArrangement & subpixel_arrangement
Definition: display_configuration.h:158
std::vector< DisplayConfigurationMode > const & modes
Definition: display_configuration.h:146
DisplayConfigurationCardId const & card_id
Definition: display_configuration.h:143
MirOutputGammaSupported gamma_supported
Definition: display_configuration.h:128
uint32_t current_mode_index
The index in the 'modes' vector of the current output mode.
Definition: display_configuration.h:111
uint32_t & current_mode_index
Definition: display_configuration.h:152
float & scale
Definition: display_configuration.h:156
Interface to a configuration of display cards and outputs.
Definition: display_configuration.h:181
MirPixelFormat current_format
The current output pixel format.
Definition: display_configuration.h:113
MirPowerMode & power_mode
Definition: display_configuration.h:154
std::vector< MirPixelFormat > const & pixel_formats
Definition: display_configuration.h:145