File indexing completed on 2024-04-28 16:44:34

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 "decorationbuttongroup.h"
0008 
0009 #include <QRectF>
0010 #include <QVector>
0011 
0012 //
0013 //  W A R N I N G
0014 //  -------------
0015 //
0016 // This file is not part of the KDecoration2 API.  It exists purely as an
0017 // implementation detail.  This header file may change from version to
0018 // version without notice, or even be removed.
0019 //
0020 // We mean it.
0021 //
0022 
0023 namespace KDecoration2
0024 {
0025 class Decoration;
0026 
0027 class Q_DECL_HIDDEN DecorationButtonGroup::Private
0028 {
0029 public:
0030     explicit Private(Decoration *decoration, DecorationButtonGroup *parent);
0031     ~Private();
0032 
0033     void setGeometry(const QRectF &geometry);
0034     void updateLayout();
0035 
0036     Decoration *decoration;
0037     QRectF geometry;
0038     QVector<QPointer<DecorationButton>> buttons;
0039     qreal spacing;
0040 
0041 private:
0042     DecorationButtonGroup *q;
0043 };
0044 
0045 } // namespace