19 #ifndef MIR_GRAPHICS_DISPLAY_CONFIGURATION_H_
20 #define MIR_GRAPHICS_DISPLAY_CONFIGURATION_H_
35 namespace detail {
struct GraphicsConfCardIdTag;
struct GraphicsConfOutputIdTag; }
45 DisplayConfigurationCardId
id;
86 DisplayConfigurationOutputId
id;
94 std::vector<DisplayConfigurationMode>
modes;
130 DisplayConfigurationOutputId
const&
id;
134 std::vector<DisplayConfigurationMode>
const&
modes;
176 virtual bool valid()
const;
184 std::ostream&
operator<<(std::ostream& out, DisplayConfiguration
const& val);
Mirror of a DisplayConfigurationOutput, with some fields limited to being read-only, preventing users from changing things they shouldn't.
Definition: display_configuration.h:128
All things Mir.
Definition: atomic_callback.h:25
uint32_t const & preferred_mode_index
Definition: display_configuration.h:135
Configuration information for a display card.
Definition: display_configuration.h:43
DisplayConfigurationOutputType const & type
Definition: display_configuration.h:132
Configuration information for a display output mode.
Definition: display_configuration.h:74
geometry::Size const & physical_size_mm
Definition: display_configuration.h:136
bool & used
Definition: display_configuration.h:138
std::vector< DisplayConfigurationMode > modes
The modes supported by the output.
Definition: display_configuration.h:94
DisplayConfigurationOutputId id
The output's id.
Definition: display_configuration.h:86
DisplayConfigurationOutputType type
The type of the output.
Definition: display_configuration.h:90
IntWrapper< detail::GraphicsConfOutputIdTag > DisplayConfigurationOutputId
Definition: display_configuration.h:38
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:114
std::vector< MirPixelFormat > pixel_formats
The pixel formats supported by the output.
Definition: display_configuration.h:92
uint32_t preferred_mode_index
The index in the 'modes' vector of the preferred output mode.
Definition: display_configuration.h:96
MirFormFactor form_factor
Form factor of this output; phone display, tablet, monitor, TV, projector...
Definition: display_configuration.h:116
virtual void for_each_output(std::function< void(DisplayConfigurationOutput const &)> f) const =0
Executes a function object for each output in the configuration.
MirPixelFormat & current_format
Definition: display_configuration.h:141
double vrefresh_hz
Definition: display_configuration.h:77
DisplayConfigurationCardId card_id
The id of the card the output is connected to.
Definition: display_configuration.h:88
DisplayConfiguration()=default
std::ostream & operator<<(std::ostream &out, DisplayConfigurationCard const &val)
Definition: display_configuration.cpp:81
geometry::Size physical_size_mm
The physical size of the output.
Definition: display_configuration.h:98
geometry::Rectangle extents() const
Definition: display_configuration.cpp:304
DisplayConfigurationOutputType
The type of a display output.
Definition: display_configuration.h:52
bool operator!=(BufferProperties const &lhs, BufferProperties const &rhs)
Definition: buffer_properties.h:78
bool valid() const
Definition: display_configuration.cpp:253
MirFormFactor & form_factor
Definition: display_configuration.h:145
virtual ~DisplayConfiguration()
Definition: display_configuration.h:169
MirOrientation & orientation
Definition: display_configuration.h:143
geometry::Size size
Definition: display_configuration.h:76
bool const & connected
Definition: display_configuration.h:137
MirPowerMode power_mode
Current power mode.
Definition: display_configuration.h:110
UserDisplayConfigurationOutput(DisplayConfigurationOutput &master)
Definition: display_configuration.cpp:283
MirOrientation orientation
Definition: display_configuration.h:111
DisplayConfiguration & operator=(DisplayConfiguration const &c)=delete
bool connected
Whether the output is connected.
Definition: display_configuration.h:100
bool used
Whether the output is used in the configuration.
Definition: display_configuration.h:102
Configuration information for a display output.
Definition: display_configuration.h:83
DisplayConfigurationCardId id
Definition: display_configuration.h:45
IntWrapper< detail::GraphicsConfCardIdTag > DisplayConfigurationCardId
Definition: display_configuration.h:37
virtual void for_each_card(std::function< void(DisplayConfigurationCard const &)> f) const =0
Executes a function object for each card in the configuration.
Definition: rectangle.h:33
size_t max_simultaneous_outputs
Definition: display_configuration.h:46
geometry::Point top_left
The top left point of this output in the virtual coordinate space.
Definition: display_configuration.h:104
geometry::Point & top_left
Definition: display_configuration.h:139
DisplayConfigurationOutputId const & id
Definition: display_configuration.h:130
virtual bool valid() const
Definition: display_configuration.cpp:270
geometry::Rectangle extents() const
The logical rectangle occupied by the output, based on its position, current mode and orientation (ro...
Definition: display_configuration.cpp:248
std::vector< DisplayConfigurationMode > const & modes
Definition: display_configuration.h:134
DisplayConfigurationCardId const & card_id
Definition: display_configuration.h:131
uint32_t current_mode_index
The index in the 'modes' vector of the current output mode.
Definition: display_configuration.h:106
uint32_t & current_mode_index
Definition: display_configuration.h:140
float & scale
Definition: display_configuration.h:144
Interface to a configuration of display cards and outputs.
Definition: display_configuration.h:166
MirPixelFormat current_format
The current output pixel format.
Definition: display_configuration.h:108
MirPowerMode & power_mode
Definition: display_configuration.h:142
std::vector< MirPixelFormat > const & pixel_formats
Definition: display_configuration.h:133