47class KWIN_EXPORT
Shadow :
public QObject
75 static std::unique_ptr<Shadow> createShadow(
Window *window);
81 return m_decorationShadow !=
nullptr;
83 QImage decorationShadowImage()
const;
87 return m_decorationShadow;
101 QSize elementSize(ShadowElements element)
const;
105 return QRectF(QPoint(0, 0), m_cachedSize);
113 return m_shadowElements[element];
122 void geometryChanged();
125 static std::unique_ptr<Shadow> createShadowFromX11(
Window *window);
126 static std::unique_ptr<Shadow> createShadowFromDecoration(
Window *window);
127 static std::unique_ptr<Shadow> createShadowFromWayland(
Window *window);
128 static std::unique_ptr<Shadow> createShadowFromInternalWindow(
Window *window);
129 static QList<uint32_t> readX11ShadowProperty(xcb_window_t
id);
130 bool init(
const QList<uint32_t> &data);
131 bool init(KDecoration2::Decoration *decoration);
132 bool init(
const QPointer<ShadowInterface> &shadow);
133 bool init(
const QWindow *window);
136 QImage m_shadowElements[ShadowElementsCount];
142 std::shared_ptr<KDecoration2::DecorationShadow> m_decorationShadow;