File indexing completed on 2025-02-02 05:02:43
0001 /* 0002 SPDX-FileCopyrightText: 2018 Nicolas Fella <nicolas.fella@gmx.de> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #ifndef BRIGHTNESSMANAGER_H 0008 #define BRIGHTNESSMANAGER_H 0009 0010 #include "solidextras_export.h" 0011 0012 #include <QObject> 0013 0014 class BrightnessBackend : public QObject 0015 { 0016 public: 0017 explicit BrightnessBackend(QObject *parent = nullptr) : QObject(parent) 0018 , m_maximized() 0019 , m_previousValue() 0020 {} 0021 ~BrightnessBackend() override = default; 0022 0023 public: 0024 virtual void toggleBrightness(); 0025 0026 protected: 0027 virtual void setBrightness(float brightness) = 0; 0028 virtual float brightness() const = 0; 0029 virtual float maxBrightness() const = 0; 0030 0031 private: 0032 bool m_maximized; 0033 int m_previousValue; 0034 }; 0035 0036 class SOLIDEXTRAS_EXPORT BrightnessManager : public QObject 0037 { 0038 Q_OBJECT 0039 0040 public: 0041 explicit BrightnessManager(QObject *parent = nullptr); 0042 ~BrightnessManager() override; 0043 0044 public Q_SLOTS: 0045 void toggleBrightness(); 0046 0047 private: 0048 BrightnessBackend *m_backend; 0049 }; 0050 0051 #endif // BRIGHTNESSMANAGER_H 0052