File indexing completed on 2024-06-16 05:05:55
0001 /* 0002 KWin - the KDE window manager 0003 This file is part of the KDE project. 0004 0005 SPDX-FileCopyrightText: 2020 Vlad Zahorodnii <vlad.zahorodnii@kde.org> 0006 0007 SPDX-License-Identifier: GPL-2.0-or-later 0008 */ 0009 0010 #pragma once 0011 0012 #include <qaccessibilityclient/registry.h> 0013 0014 namespace KWin 0015 { 0016 0017 class ZoomAccessibilityIntegration : public QObject 0018 { 0019 Q_OBJECT 0020 0021 public: 0022 explicit ZoomAccessibilityIntegration(QObject *parent = nullptr); 0023 0024 void setFocusTrackingEnabled(bool enabled); 0025 bool isFocusTrackingEnabled() const; 0026 0027 void setTextCaretTrackingEnabled(bool enabled); 0028 bool isTextCaretTrackingEnabled() const; 0029 0030 Q_SIGNALS: 0031 void focusPointChanged(const QPoint &point); 0032 0033 private Q_SLOTS: 0034 void slotFocusChanged(const QAccessibleClient::AccessibleObject &object); 0035 0036 private: 0037 void createAccessibilityRegistry(); 0038 void destroyAccessibilityRegistry(); 0039 void updateAccessibilityRegistry(); 0040 0041 QAccessibleClient::Registry *m_accessibilityRegistry = nullptr; 0042 bool m_isFocusTrackingEnabled = false; 0043 bool m_isTextCaretTrackingEnabled = false; 0044 }; 0045 0046 } // namespace KWin