Class Output

Nested Relationships

Nested Types

Class Documentation

class Output

Public Types

enum class Type


enumerator unknown
enumerator vga
enumerator dvii
enumerator dvid
enumerator dvia
enumerator composite
enumerator svideo
enumerator lvds
enumerator component
enumerator ninepindin
enumerator displayport
enumerator hdmia
enumerator hdmib
enumerator tv
enumerator edp

Public Functions

explicit Output(const mir::graphics::DisplayConfigurationOutput &output)
Output(Output const&)
Output &operator=(Output const&)
auto type() const -> Type

The type of the output.

auto physical_size_mm() const -> PhysicalSizeMM

The physical size of the output.

auto connected() const -> bool

Whether the output is connected.

auto used() const -> bool

Whether the output is used in the configuration.

auto pixel_format() const -> MirPixelFormat

The current output pixel format.

auto refresh_rate() const -> double

refresh_rate in Hz

auto power_mode() const -> MirPowerMode

Current power mode.

auto orientation() const -> MirOrientation
auto scale() const -> float

Requested scale factor for this output, for HiDPI support.

auto form_factor() const -> MirFormFactor

Form factor of this output; phone display, tablet, monitor, TV, projector…

auto extents() const -> Rectangle

The logical rectangle occupied by the output, based on its position, current mode and orientation (rotation)

auto id() const -> int

Mir’s internal output ID mostly useful for matching against a miral::WindowInfo::output_id.

auto name() const -> std::string

The output name. This matches that suppled to clients through wl_output.


Since MirAL 3.8

auto attribute(std::string const &key) const -> std::optional<std::string>

A custom attribute value.


Since MirAL 3.8

auto attributes_map() const -> std::map<std::string const, std::optional<std::string>>

A custom attribute map.


Since MirAL 3.8

auto valid() const -> bool
auto is_same_output(Output const &other) const -> bool
auto logical_group_id() const -> int

A positive number if this output is part of a logical output group (aka a display wall) A single display area will stretch across all outputs in a group Zero if this output is not part of a logical group.

struct PhysicalSizeMM

Public Members

int width
int height