KDecoration2

decorationbridge.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 <QObject>
9
10#include <memory>
11
12#include <kdecoration2/private/kdecoration2_private_export.h>
13
14//
15// W A R N I N G
16// -------------
17//
18// This file is not part of the KDecoration2 API. It exists purely as an
19// implementation detail. This header file may change from version to
20// version without notice, or even be removed.
21//
22// We mean it.
23//
24
25class QRect;
26
27namespace KDecoration2
28{
29class Decoration;
30class DecorationSettings;
31class DecorationSettingsPrivate;
32class DecoratedClient;
33class DecoratedClientPrivate;
34
35class KDECORATIONS_PRIVATE_EXPORT DecorationBridge : public QObject
36{
37 Q_OBJECT
38public:
39 ~DecorationBridge() override;
40
41 virtual std::unique_ptr<DecoratedClientPrivate> createClient(DecoratedClient *client, Decoration *decoration) = 0;
42 virtual std::unique_ptr<DecorationSettingsPrivate> settings(DecorationSettings *parent) = 0;
43
44protected:
45 explicit DecorationBridge(QObject *parent = nullptr);
46};
47
48} // namespace
49
50Q_DECLARE_METATYPE(KDecoration2::DecorationBridge *)
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.