85 Q_PROPERTY(QRegion opaque READ opaque NOTIFY opaqueChanged)
89 Q_PROPERTY(QRegion input READ input NOTIFY inputChanged)
90 Q_PROPERTY(QSizeF size READ size NOTIFY sizeChanged)
106 wl_resource *resource() const;
128 void frameRendered(quint32 msec);
129 bool hasFrameCallbacks() const;
133 QRegion opaque() const;
134 QRegion input() const;
135 QRegion bufferDamage() const;
136 QRectF bufferSourceBox() const;
149 QPoint offset() const;
162 QRectF boundingRect() const;
168 QSize bufferSize() const;
213 bool isMapped() const;
274 bool inhibitsIdle() const;
298 qreal scaleOverride() const;
303 QPoint toSurfaceLocal(const QPoint &point) const;
308 QPointF toSurfaceLocal(const QPointF &point) const;
319 void setPreferredBufferScale(qreal scale);
333 void setFirstTransaction(
Transaction *transaction);
360 void aboutToBeDestroyed();
369 void damaged(const QRegion &);
370 void opaqueChanged(const QRegion &);
371 void inputChanged(const QRegion &);
376 void bufferSourceBoxChanged();
380 void bufferSizeChanged();
393 void shadowChanged();
395 void slideOnShowHideChanged();
396 void contrastChanged();
408 void childSubSurfacesChanged();
419 void pointerConstraintsChanged();
425 void inhibitsIdleChanged();
427 void colorDescriptionChanged();
428 void presentationModeHintChanged();
442 void stateStashed(quint32 serial);
448 void stateApplied(quint32 serial);
465 connect(surface, &SurfaceInterface::stateStashed,
this, &SurfaceExtension::stashState);
466 connect(surface, &SurfaceInterface::stateApplied,
this, &SurfaceExtension::applyState);
469 virtual void apply(Commit *commit) = 0;
475 void stashState(quint32 serial)
477 Commit stash = std::exchange(pending, Commit{});
478 stashed.insert(serial, stash);
481 void applyState(quint32 serial)
483 if (!stashed.isEmpty()) {
484 if (stashed.firstKey() == serial) {
485 Commit stash = stashed.take(serial);