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);
79 void maybeSendDone(
const Resource *resource);
80 void maybeSendScale(
const Resource *resource,
int scale);
82 void handleWindowPixelSizeChanged();
85 void output_bind_resource(Resource *resource) override;
88 void _q_handleMaybeWindowPixelSizeChanged();
89 void _q_handleWindowDestroyed();
91 QWaylandCompositor *compositor =
nullptr;
92 QWindow *window =
nullptr;
96 QList<QWaylandOutputMode> modes;
98 int preferredMode = -1;
99 QRect availableGeometry;
100 QList<QWaylandSurfaceViewMapper> surfaceViews;
102 QWaylandOutput::Subpixel subpixel = QWaylandOutput::SubpixelUnknown;
103 QWaylandOutput::Transform transform = QWaylandOutput::TransformNormal;
105 bool sizeFollowsWindow =
false;
106 bool initialized =
false;
107 bool canSendFrameCallbacks =
false;
108 QSize windowPixelSize;
110 Q_DISABLE_COPY(QWaylandOutputPrivate)
112 friend class QWaylandXdgOutputManagerV1Private;