QWaylandOutput Class

The QWaylandOutput class represents a displayable area managed by the compositor. 更多...

头: #include <QWaylandOutput>
CMake: find_package(Qt6 REQUIRED COMPONENTS WaylandCompositor)
target_link_libraries(mytarget PRIVATE Qt6::WaylandCompositor)
qmake: QT += waylandcompositor
实例化: WaylandOutput
继承: QWaylandObject

公共类型

enum Subpixel { SubpixelUnknown, SubpixelNone, SubpixelHorizontalRgb, SubpixelHorizontalBgr, SubpixelVerticalRgb, SubpixelVerticalBgr }
enum Transform { TransformNormal, Transform90, Transform180, Transform270, TransformFlipped, …, TransformFlipped270 }

特性

公共函数

QWaylandOutput (QWaylandCompositor * compositor , QWindow * window )
virtual ~QWaylandOutput () override
void addMode (const QWaylandOutputMode & mode , bool preferred = false)
QRect availableGeometry () const
QWaylandCompositor * compositor () const
QWaylandOutputMode currentMode () const
void frameStarted ()
QRect geometry () const
QString manufacturer () const
QString model () const
QList<QWaylandOutputMode> modes () const
QSize physicalSize () const
QPoint position () const
int scaleFactor () const
void sendFrameCallbacks ()
void setAvailableGeometry (const QRect & availableGeometry )
void setCurrentMode (const QWaylandOutputMode & mode )
void setManufacturer (const QString & manufacturer )
void setModel (const QString & model )
void setPhysicalSize (const QSize & size )
void setPosition (const QPoint & pt )
void setScaleFactor (int scale )
void setSizeFollowsWindow (bool follow )
void setSubpixel (const QWaylandOutput::Subpixel & subpixel )
void setTransform (const QWaylandOutput::Transform & transform )
void setWindow (QWindow * window )
bool sizeFollowsWindow () const
QWaylandOutput::Subpixel subpixel () const
QWaylandOutput::Transform transform () const
virtual void update ()
QWindow * window () const

信号

void availableGeometryChanged ()
void compositorChanged ()
void geometryChanged ()
void manufacturerChanged ()
void modelChanged ()
void physicalSizeChanged ()
void positionChanged ()
void scaleFactorChanged ()
void sizeFollowsWindowChanged ()
void subpixelChanged ()
void transformChanged ()
void windowChanged ()

静态公共成员

QWaylandOutput * fromResource (wl_resource * resource )

详细描述

The QWaylandOutput manages a rectangular area within bounds of the compositor's geometry, to use it for displaying client content. This could, for instance, be a screen managed by the WaylandCompositor .

The class corresponds to the wl_output interface in the Wayland protocol.

成员类型文档编制

enum QWaylandOutput:: Subpixel

This enum type is used to specify the subpixel arrangement of a QWaylandOutput .

常量 描述
QWaylandOutput::SubpixelUnknown 0 The subpixel arrangement is not set.
QWaylandOutput::SubpixelNone 1 There are no subpixels.
QWaylandOutput::SubpixelHorizontalRgb 2 The subpixels are arranged horizontally in red, green, blue order.
QWaylandOutput::SubpixelHorizontalBgr 3 The subpixels are arranged horizontally in blue, green, red order.
QWaylandOutput::SubpixelVerticalRgb 4 The subpixels are arranged vertically in red, green, blue order.
QWaylandOutput::SubpixelVerticalBgr 5 The subpixels are arranged vertically in blue, green, red order.

另请参阅 QWaylandOutput::subpixel .

enum QWaylandOutput:: Transform

* * This enum type is used to specify the orientation of a QWaylandOutput . * *

常量 描述
QWaylandOutput::TransformNormal 0 The orientation is normal. *
QWaylandOutput::Transform90 1 The orientation is rotated 90 degrees. *
QWaylandOutput::Transform180 2 The orientation is rotated 180 degrees. *
QWaylandOutput::Transform270 3 The orientation is rotated 270 degrees. *
QWaylandOutput::TransformFlipped 4 The orientation is mirrored. *
QWaylandOutput::TransformFlipped90 5 The orientation is mirrored, and rotated 90 degrees. *
QWaylandOutput::TransformFlipped180 6 The orientation is mirrored, and rotated 180 degrees. *
QWaylandOutput::TransformFlipped270 7 The orientation is mirrored, and rotated 270 degrees. * *

另请参阅 QWaylandOutput::transform .

特性文档编制

availableGeometry : QRect

This property holds the geometry of the QWaylandOutput available for displaying content. The available geometry is in output coordinates space, starts from 0,0 and it's as big as the output by default.

访问函数:

QRect availableGeometry () const
void setAvailableGeometry (const QRect & availableGeometry )

通知程序信号:

void availableGeometryChanged ()

另请参阅 QWaylandOutput::currentMode and QWaylandOutput::geometry .

[read-only] geometry : const QRect

This property holds the geometry of the QWaylandOutput .

访问函数:

QRect geometry () const

通知程序信号:

void geometryChanged ()

另请参阅 QWaylandOutput::currentMode .

manufacturer : QString

This property holds a textual description of the manufacturer of this QWaylandOutput .

访问函数:

QString manufacturer () const
void setManufacturer (const QString & manufacturer )

通知程序信号:

void manufacturerChanged ()

model : QString

This property holds a textual description of the model of this QWaylandOutput .

访问函数:

QString model () const
void setModel (const QString & model )

通知程序信号:

void modelChanged ()

physicalSize : QSize

This property holds the physical size of the QWaylandOutput in millimeters.

访问函数:

QSize physicalSize () const
void setPhysicalSize (const QSize & size )

通知程序信号:

void physicalSizeChanged ()

另请参阅 QWaylandOutput::geometry and QWaylandOutput::currentMode .

position : QPoint

This property holds the position of this QWaylandOutput in the compositor's coordinate system.

访问函数:

QPoint 位置 () const
void setPosition (const QPoint & pt )

通知程序信号:

void positionChanged ()

scaleFactor : int

This property holds the factor by which the QWaylandCompositor scales surface buffers before they are displayed. This is used on high density output devices where unscaled content would be too small to be practical. The client can in turn set the scale factor of its buffer to match the output if it prefers to provide high resolution content that is suitable for the output device.

The default is 1 (no scaling).

访问函数:

int scaleFactor () const
void setScaleFactor (int scale )

通知程序信号:

void scaleFactorChanged ()

sizeFollowsWindow : bool

This property controls whether the size of the QWaylandOutput matches the size of its window.

If this property is true, all modes previously added are replaced by a mode that matches window size and screen refresh rate.

默认为 false。

访问函数:

bool sizeFollowsWindow () const
void setSizeFollowsWindow (bool follow )

通知程序信号:

void sizeFollowsWindowChanged ()

subpixel : QWaylandOutput::Subpixel

This property holds the subpixel arrangement of this QWaylandOutput 。默认为 QWaylandOutput::SubpixelUnknown .

访问函数:

QWaylandOutput::Subpixel subpixel () const
void setSubpixel (const QWaylandOutput::Subpixel & subpixel )

通知程序信号:

void subpixelChanged ()

transform : QWaylandOutput::Transform

This property holds the transformation that the QWaylandCompositor applies to a surface to compensate for the orientation of the QWaylandOutput .

默认为 QWaylandOutput::TransformNormal .

访问函数:

QWaylandOutput::Transform transform () const
void setTransform (const QWaylandOutput::Transform & transform )

通知程序信号:

void transformChanged ()

window : QWindow *

此特性保持 QWindow for this QWaylandOutput .

访问函数:

QWindow * window () const
void setWindow (QWindow * window )

通知程序信号:

void windowChanged ()

成员函数文档编制

QWaylandOutput:: QWaylandOutput ( QWaylandCompositor * compositor , QWindow * window )

Constructs a QWaylandOutput in compositor and with the specified window create () function must be called on the compositor before constructing a QWaylandOutput for it.

The QWaylandOutput object is initialized later, in reaction to an event. At this point it is added as an output for the compositor . If it is the first QWaylandOutput object created for this compositor , it becomes the default output .

[override virtual] QWaylandOutput:: ~QWaylandOutput ()

销毁 QWaylandOutput .

void QWaylandOutput:: addMode (const QWaylandOutputMode & mode , bool preferred = false)

Adds the mode mode to the output and mark it as preferred if preferred is true . Please note there can only be one preferred mode.

QWaylandCompositor *QWaylandOutput:: compositor () const

Returns the compositor for this QWaylandOutput .

注意: Getter function for property compositor.

QWaylandOutputMode QWaylandOutput:: currentMode () const

Returns the output's size in pixels and refresh rate in mHz. If the current mode is not set it will return an invalid mode.

另请参阅 setCurrentMode (), QWaylandOutput::modes ,和 QWaylandOutputMode .

void QWaylandOutput:: frameStarted ()

Informs QWaylandOutput that a frame has started.

[static] QWaylandOutput *QWaylandOutput:: fromResource ( wl_resource * resource )

返回 QWaylandOutput 对应 resource .

QList < QWaylandOutputMode > QWaylandOutput:: modes () const

Returns the list of modes.

void QWaylandOutput:: sendFrameCallbacks ()

Sends pending frame callbacks.

void QWaylandOutput:: setCurrentMode (const QWaylandOutputMode & mode )

Sets the current mode. The mode mode must have been previously added.

另请参阅 currentMode (), QWaylandOutput::modes ,和 QWaylandOutputMode .

[虚拟] void QWaylandOutput:: update ()

调度 QEvent::UpdateRequest to be delivered to the QWaylandOutput 's window .

另请参阅 QWindow::requestUpdate ().