16#include "qwayland-server-wayland.h"
23class IdleInhibitorV1Interface;
24class ViewportInterface;
25class ContentTypeV1Interface;
26class TearingControlV1Interface;
27class FractionalScaleV1Interface;
28class FrogColorManagementSurfaceV1;
29class PresentationTimeFeedback;
30class XXColorSurfaceV2;
67 QPointer<BlurInterface>
blur;
80 QList<SubSurfaceInterface *>
below;
81 QList<SubSurfaceInterface *>
above;
101 return surface->d.get();
110 void setShadow(
const QPointer<ShadowInterface> &shadow);
111 void setBlur(
const QPointer<BlurInterface> &blur);
112 void setContrast(
const QPointer<ContrastInterface> &contrast);
113 void setSlide(
const QPointer<SlideInterface> &slide);
129 bool contains(
const QPointF &position)
const;
185 void surface_attach(Resource *resource, struct ::wl_resource *buffer, int32_t x, int32_t y)
override;
186 void surface_damage(Resource *resource, int32_t x, int32_t y, int32_t width, int32_t height)
override;
187 void surface_frame(Resource *resource, uint32_t callback)
override;
193 void surface_damage_buffer(Resource *resource, int32_t x, int32_t y, int32_t width, int32_t height)
override;
194 void surface_offset(Resource *resource, int32_t x, int32_t y)
override;
197 QMetaObject::Connection constrainsOneShotConnection;
198 QMetaObject::Connection constrainsUnboundConnection;
Convenient Class which represents a wl_client.
static const ColorDescription sRGB
Resource representing a wl_surface.
QRectF computeBufferSourceBox() const
void surface_commit(Resource *resource) override
ClientConnection * client
void setContrast(const QPointer< ContrastInterface > &contrast)
void installIdleInhibitor(IdleInhibitorV1Interface *inhibitor)
void removeIdleInhibitor(IdleInhibitorV1Interface *inhibitor)
void surface_set_input_region(Resource *resource, struct ::wl_resource *region) override
void setBlur(const QPointer< BlurInterface > &blur)
void surface_set_buffer_scale(Resource *resource, int32_t scale) override
bool raiseChild(SubSurfaceInterface *subsurface, SurfaceInterface *anchor)
ConfinedPointerV1Interface * confinedPointer
QList< OutputInterface * > outputs
std::unique_ptr< Transaction > transaction
bool contains(const QPointF &position) const
void surface_destroy(Resource *resource) override
std::unique_ptr< LinuxDmaBufV1Feedback > dmabufFeedbackV1
FractionalScaleV1Interface * fractionalScaleExtension
XXColorSurfaceV2 * xxColorSurface
FrogColorManagementSurfaceV1 * frogColorManagement
std::vector< std::unique_ptr< PresentationTimeFeedback > > pendingPresentationFeedbacks
std::unique_ptr< SurfaceState > current
void surface_frame(Resource *resource, uint32_t callback) override
std::optional< qreal > preferredBufferScale
void setShadow(const QPointer< ShadowInterface > &shadow)
void removeChild(SubSurfaceInterface *subsurface)
bool computeEffectiveMapped() const
std::unique_ptr< SurfaceState > pending
void surface_damage(Resource *resource, int32_t x, int32_t y, int32_t width, int32_t height) override
CompositorInterface * compositor
void surface_destroy_resource(Resource *resource) override
void updateEffectiveMapped()
static SurfaceInterfacePrivate * get(SurfaceInterface *surface)
QHash< OutputInterface *, QMetaObject::Connection > outputBoundConnections
QRegion mapToBuffer(const QRegion ®ion) const
void installPointerConstraint(LockedPointerV1Interface *lock)
bool inputContains(const QPointF &position) const
GraphicsBufferRef bufferRef
void surface_damage_buffer(Resource *resource, int32_t x, int32_t y, int32_t width, int32_t height) override
void surface_attach(Resource *resource, struct ::wl_resource *buffer, int32_t x, int32_t y) override
TearingControlV1Interface * tearing
LockedPointerV1Interface * lockedPointer
Transaction * lastTransaction
QList< IdleInhibitorV1Interface * > idleInhibitors
SurfaceInterfacePrivate(SurfaceInterface *q)
QPointer< OutputInterface > primaryOutput
void addChild(SubSurfaceInterface *subsurface)
void surface_set_buffer_transform(Resource *resource, int32_t transform) override
SubSurfaceInterface * handle
QHash< OutputInterface *, QMetaObject::Connection > outputDestroyedConnections
void surface_set_opaque_region(Resource *resource, struct ::wl_resource *region) override
qreal pendingScaleOverride
struct KWin::SurfaceInterfacePrivate::@30 subsurface
Transaction * firstTransaction
void surface_offset(Resource *resource, int32_t x, int32_t y) override
void applyState(SurfaceState *next)
QPointer< ContentTypeV1Interface > contentTypeInterface
bool lowerChild(SubSurfaceInterface *subsurface, SurfaceInterface *anchor)
std::optional< OutputTransform > preferredBufferTransform
void setSlide(const QPointer< SlideInterface > &slide)
std::optional< ColorDescription > preferredColorDescription
ViewportInterface * viewportExtension
KWIN_EXPORT QRect infiniteRegion()
bool destinationSizeIsSet
QPointer< ContrastInterface > contrast
struct KWin::SurfaceState::@29 viewport
void mergeInto(SurfaceState *target)
bool colorDescriptionIsSet
QPointer< SlideInterface > slide
SurfaceState(const SurfaceState &cpy)=delete
OutputTransform bufferTransform
bool presentationModeHintIsSet
PresentationModeHint presentationHint
struct KWin::SurfaceState::@28 subsurface
QHash< SubSurfaceInterface *, QPoint > position
QPointer< ShadowInterface > shadow
QPointer< BlurInterface > blur
QList< SubSurfaceInterface * > below
ColorDescription colorDescription
bool bufferTransformIsSet
bool subsurfacePositionChanged
QPointer< GraphicsBuffer > buffer
std::unique_ptr< PresentationTimeFeedback > presentationFeedback
bool subsurfaceOrderChanged
SurfaceState & operator=(SurfaceState &&mv)=default
QList< SubSurfaceInterface * > above