29class KWIN_EXPORT
Item :
public QObject
39 qreal opacity()
const;
40 void setOpacity(qreal opacity);
42 QPointF position()
const;
43 void setPosition(
const QPointF &point);
46 void setSize(
const QSizeF &size);
58 QRectF boundingRect()
const;
60 virtual QList<QRectF> shape()
const;
61 virtual QRegion opaque()
const;
67 Item *parentItem()
const;
68 void setParentItem(
Item *parent);
69 QList<Item *> childItems()
const;
70 QList<Item *> sortedChildItems()
const;
72 QPointF rootPosition()
const;
74 QMatrix4x4 transform()
const;
75 void setTransform(
const QMatrix4x4 &transform);
81 QRegion mapToGlobal(
const QRegion ®ion)
const;
86 QRectF mapToGlobal(
const QRectF &rect)
const;
91 QRectF mapFromGlobal(
const QRectF &rect)
const;
96 void stackBefore(
Item *sibling);
100 void stackAfter(
Item *sibling);
102 bool explicitVisible()
const;
103 bool isVisible()
const;
104 void setVisible(
bool visible);
106 void scheduleRepaint(
const QRectF ®ion);
107 void scheduleRepaint(
const QRegion ®ion);
108 void scheduleRepaint(
SceneDelegate *delegate,
const QRegion ®ion);
109 void scheduleFrame();
114 virtual void preprocess();
142 void addChild(
Item *item);
143 void removeChild(
Item *item);
144 void updateBoundingRect();
145 void scheduleRepaintInternal(
const QRegion ®ion);
146 void scheduleRepaintInternal(
SceneDelegate *delegate,
const QRegion ®ion);
147 void markSortedChildItemsDirty();
149 bool computeEffectiveVisibility()
const;
150 void updateEffectiveVisibility();
154 QPointer<Item> m_parentItem;
155 QList<Item *> m_childItems;
156 QMatrix4x4 m_transform;
157 QRectF m_boundingRect;
159 QSizeF m_size = QSize(0, 0);
162 bool m_explicitVisible =
true;
163 bool m_effectiveVisible =
true;
164 QMap<SceneDelegate *, QRegion> m_repaints;
165 mutable std::optional<WindowQuadList> m_quads;
166 mutable std::optional<QList<Item *>> m_sortedChildItems;