File indexing completed on 2024-04-28 05:27:05

0001 /*
0002  * SPDX-FileCopyrightText: 2020 Mikhail Zolotukhin <zomial@protonmail.com>
0003  *
0004  * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
0005  */
0006 
0007 #pragma once
0008 
0009 #include <memory>
0010 
0011 class QString;
0012 class QPainter;
0013 class QRect;
0014 
0015 class DecorationPainter
0016 {
0017 public:
0018     DecorationPainter() = default;
0019     virtual ~DecorationPainter() = default;
0020 
0021     static std::unique_ptr<DecorationPainter> fromThemeName(const QString &themeName);
0022     virtual void paintButton(QPainter &painter, const QString &buttonType, const QString &buttonState) const = 0;
0023 
0024     static const QRect ButtonGeometry;
0025 };