59class Q_WAYLANDCOMPOSITOR_EXPORT
QWaylandOutputPrivate :
public QObjectPrivate,
public QtWaylandServer::wl_output
62 Q_DECLARE_PUBLIC(QWaylandOutput)
64 QWaylandOutputPrivate();
66 ~QWaylandOutputPrivate() override;
67 static QWaylandOutputPrivate *get(QWaylandOutput *output) {
return output->d_func(); }
69 void addView(QWaylandView *view, QWaylandSurface *surface);
70 void removeView(QWaylandView *view, QWaylandSurface *surface);
72 void sendGeometry(
const Resource *resource);
73 void sendGeometryInfo();
75 void sendMode(
const Resource *resource,
const QWaylandOutputMode &mode);
78 void maybeSendDone(
const Resource *resource);
79 void maybeSendScale(
const Resource *resource,
int scale);
81 void handleWindowPixelSizeChanged();
84 void output_bind_resource(Resource *resource) override;
87 void _q_handleMaybeWindowPixelSizeChanged();
88 void _q_handleWindowDestroyed();
90 QWaylandCompositor *compositor =
nullptr;
91 QWindow *window =
nullptr;
95 QList<QWaylandOutputMode> modes;
97 int preferredMode = -1;
98 QRect availableGeometry;
99 QList<QWaylandSurfaceViewMapper> surfaceViews;
101 QWaylandOutput::Subpixel subpixel = QWaylandOutput::SubpixelUnknown;
102 QWaylandOutput::Transform transform = QWaylandOutput::TransformNormal;
104 bool sizeFollowsWindow =
false;
105 bool initialized =
false;
106 bool canSendFrameCallbacks =
false;
107 QSize windowPixelSize;
109 Q_DISABLE_COPY(QWaylandOutputPrivate)
111 friend class QWaylandXdgOutputManagerV1Private;