KDecoration2

decorationsettingsprivate.h
1 /*
2  * SPDX-FileCopyrightText: 2014 Martin Gräßlin <[email protected]>
3  *
4  * SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
5  */
6 #ifndef KDECORATION2_DECORATION_SETTINGS_PRIVATE_H
7 #define KDECORATION2_DECORATION_SETTINGS_PRIVATE_H
8 
9 #include "../decorationdefines.h"
10 #include <QFont>
11 #include <QFontMetricsF>
12 #include <QVector>
13 #include <kdecoration2/private/kdecoration2_private_export.h>
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 
26 namespace KDecoration2
27 {
28 class DecorationSettings;
29 
30 class KDECORATIONS_PRIVATE_EXPORT DecorationSettingsPrivate
31 {
32 public:
33  virtual ~DecorationSettingsPrivate();
34  virtual bool isOnAllDesktopsAvailable() const = 0;
35  virtual bool isAlphaChannelSupported() const = 0;
36  virtual bool isCloseOnDoubleClickOnMenu() const = 0;
37  virtual QVector<DecorationButtonType> decorationButtonsLeft() const = 0;
38  virtual QVector<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 
53 protected:
54  explicit DecorationSettingsPrivate(DecorationSettings *parent);
55 
56 private:
57  class Private;
59 };
60 }
61 
62 #endif
Framework for creating window decorations.
BorderSize
Border sizes are a combination of visual and accessibility features.
This file is part of the KDE documentation.
Documentation copyright © 1996-2021 The KDE developers.
Generated on Sun Jun 20 2021 23:07:39 by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.