60class Q_WAYLANDCOMPOSITOR_EXPORT
QWaylandOutputPrivate :
public QObjectPrivate,
public QtWaylandServer::wl_output
63 Q_DECLARE_PUBLIC(QWaylandOutput)
65 QWaylandOutputPrivate();
67 ~QWaylandOutputPrivate() override;
68 static QWaylandOutputPrivate *get(QWaylandOutput *output) {
return output->d_func(); }
70 void addView(QWaylandView *view, QWaylandSurface *surface);
71 void removeView(QWaylandView *view, QWaylandSurface *surface);
73 void sendGeometry(
const Resource *resource);
74 void sendGeometryInfo();
76 void sendMode(
const Resource *resource,
const QWaylandOutputMode &mode);
80 void handleWindowPixelSizeChanged();
83 void output_bind_resource(Resource *resource) override;
86 void _q_handleMaybeWindowPixelSizeChanged();
87 void _q_handleWindowDestroyed();
89 QWaylandCompositor *compositor =
nullptr;
90 QWindow *window =
nullptr;
94 QList<QWaylandOutputMode> modes;
96 int preferredMode = -1;
97 QRect availableGeometry;
98 QList<QWaylandSurfaceViewMapper> surfaceViews;
100 QWaylandOutput::Subpixel subpixel = QWaylandOutput::SubpixelUnknown;
101 QWaylandOutput::Transform transform = QWaylandOutput::TransformNormal;
103 bool sizeFollowsWindow =
false;
104 bool initialized =
false;
105 QSize windowPixelSize;
107 Q_DISABLE_COPY(QWaylandOutputPrivate)
109 friend class QWaylandXdgOutputManagerV1Private;