File indexing completed on 2024-05-05 17:39:39
0001 /* 0002 * SPDX-FileCopyrightText: 2012 Alejandro Fiestas Olivares <afiestas@kde.org> 0003 * 0004 * SPDX-License-Identifier: LGPL-2.1-or-later 0005 */ 0006 0007 #ifndef XRANDR11_BACKEND_H 0008 #define XRANDR11_BACKEND_H 0009 0010 #include "abstractbackend.h" 0011 0012 #include <QLoggingCategory> 0013 #include <QObject> 0014 0015 #include <xcb/xcb.h> 0016 0017 class XCBEventListener; 0018 0019 class XRandR11 : public KScreen::AbstractBackend 0020 { 0021 Q_OBJECT 0022 Q_PLUGIN_METADATA(IID "org.kf5.kscreen.backends.xrandr11") 0023 0024 public: 0025 explicit XRandR11(); 0026 ~XRandR11() override; 0027 0028 QString name() const override; 0029 QString serviceName() const override; 0030 KScreen::ConfigPtr config() const override; 0031 void setConfig(const KScreen::ConfigPtr &config) override; 0032 bool isValid() const override; 0033 0034 private Q_SLOTS: 0035 void updateConfig(); 0036 0037 private: 0038 bool m_valid; 0039 XCBEventListener *m_x11Helper; 0040 KScreen::ConfigPtr m_currentConfig; 0041 xcb_timestamp_t m_currentTimestamp; 0042 }; 0043 0044 Q_DECLARE_LOGGING_CATEGORY(KSCREEN_XRANDR11) 0045 0046 #endif // FAKE_BACKEND_H