1/*
2 SPDX-FileCopyrightText: 2019 Vlad Zahorodnii <vlad.zahorodnii@kde.org>
3
4 SPDX-License-Identifier: LGPL-2.1-or-later
5*/
6
7#ifndef KWINDOWSHADOW_P_H
8#define KWINDOWSHADOW_P_H
9
10//
11// W A R N I N G
12// -------------
13//
14// This file is not part of the KF API. It exists purely as an
15// implementation detail. This header file may change from version to
16// version without notice, or even be removed.
17//
18// We mean it.
19//
20
21#include "kwindowshadow.h"
22
23#include <QPointer>
24
25class KWINDOWSYSTEM_EXPORT KWindowShadowTilePrivate
26{
27public:
28 virtual ~KWindowShadowTilePrivate();
29
30 virtual bool create() = 0;
31 virtual void destroy() = 0;
32
33 static KWindowShadowTilePrivate *get(const KWindowShadowTile *tile);
34
35 QImage image;
36 bool isCreated = false;
37};
38
39class KWINDOWSYSTEM_EXPORT KWindowShadowPrivate
40{
41public:
42 virtual ~KWindowShadowPrivate();
43
44 virtual bool create() = 0;
45 virtual void destroy() = 0;
46
47 bool prepareTiles();
48
49 QPointer<QWindow> window;
50 KWindowShadowTile::Ptr leftTile;
51 KWindowShadowTile::Ptr topLeftTile;
52 KWindowShadowTile::Ptr topTile;
53 KWindowShadowTile::Ptr topRightTile;
54 KWindowShadowTile::Ptr rightTile;
55 KWindowShadowTile::Ptr bottomRightTile;
56 KWindowShadowTile::Ptr bottomTile;
57 KWindowShadowTile::Ptr bottomLeftTile;
58 QMargins padding;
59 bool isCreated = false;
60};
61
62#endif // KWINDOWSHADOW_P_H
63

source code of kwindowsystem/src/kwindowshadow_p.h