File indexing completed on 2024-04-28 16:44:33
0001 /* 0002 * SPDX-FileCopyrightText: 2014 Martin Gräßlin <mgraesslin@kde.org> 0003 * 0004 * SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL 0005 */ 0006 #pragma once 0007 #include "decoration.h" 0008 0009 // 0010 // W A R N I N G 0011 // ------------- 0012 // 0013 // This file is not part of the KDecoration2 API. It exists purely as an 0014 // implementation detail. This header file may change from version to 0015 // version without notice, or even be removed. 0016 // 0017 // We mean it. 0018 // 0019 0020 namespace KDecoration2 0021 { 0022 class Decoration; 0023 class DecorationBridge; 0024 class DecorationButton; 0025 class DecoratedClient; 0026 class DecorationSettings; 0027 class DecorationShadow; 0028 0029 class Q_DECL_HIDDEN Decoration::Private 0030 { 0031 public: 0032 Private(Decoration *decoration, const QVariantList &args); 0033 0034 QMargins borders; 0035 QMargins resizeOnlyBorders; 0036 0037 Qt::WindowFrameSection sectionUnderMouse; 0038 void setSectionUnderMouse(Qt::WindowFrameSection section); 0039 void updateSectionUnderMouse(const QPoint &mousePosition); 0040 0041 QRect titleBar; 0042 QRegion blurRegion; 0043 0044 void addButton(DecorationButton *button); 0045 0046 QSharedPointer<DecorationSettings> settings; 0047 DecorationBridge *bridge; 0048 QSharedPointer<DecoratedClient> client; 0049 bool opaque; 0050 QVector<DecorationButton *> buttons; 0051 QSharedPointer<DecorationShadow> shadow; 0052 0053 private: 0054 Decoration *q; 0055 }; 0056 0057 } // namespace