KDecoration2

decorationsettingsprivate.h
1/*
2 * SPDX-FileCopyrightText: 2014 Martin Gräßlin <mgraesslin@kde.org>
3 *
4 * SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
5 */
6#pragma once
7
8#include "../decorationdefines.h"
9#include <QFont>
10#include <QFontMetricsF>
11#include <QList>
12#include <kdecoration2/private/kdecoration2_private_export.h>
13#include <memory>
14
15//
16// W A R N I N G
17// -------------
18//
19// This file is not part of the KDecoration2 API. It exists purely as an
20// implementation detail. This header file may change from version to
21// version without notice, or even be removed.
22//
23// We mean it.
24//
25
26namespace KDecoration2
27{
28class DecorationSettings;
29
30class KDECORATIONS_PRIVATE_EXPORT DecorationSettingsPrivate
31{
32public:
33 virtual ~DecorationSettingsPrivate();
34 virtual bool isOnAllDesktopsAvailable() const = 0;
35 virtual bool isAlphaChannelSupported() const = 0;
36 virtual bool isCloseOnDoubleClickOnMenu() const = 0;
37 virtual QList<DecorationButtonType> decorationButtonsLeft() const = 0;
38 virtual QList<DecorationButtonType> decorationButtonsRight() const = 0;
39 virtual BorderSize borderSize() const = 0;
40 virtual QFont font() const;
41 virtual QFontMetricsF fontMetrics() const;
42
43 DecorationSettings *decorationSettings();
44 const DecorationSettings *decorationSettings() const;
45
46 int gridUnit() const;
47 int smallSpacing() const;
48 int largeSpacing() const;
49 void setGridUnit(int unit);
50 void setLargeSpacing(int spacing);
51 void setSmallSpacing(int spacing);
52
53protected:
54 explicit DecorationSettingsPrivate(DecorationSettings *parent);
55
56private:
57 class Private;
58 const std::unique_ptr<Private> d;
59};
60}
Framework for creating window decorations.
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Tue Mar 26 2024 11:17:09 by doxygen 1.10.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.