File indexing completed on 2024-05-12 16:01:33
0001 /* 0002 * SPDX-FileCopyrightText: 2009 Cyrille Berger <cberger@cberger.net> 0003 * SPDX-FileCopyrightText: 2014 Sven Langkamp <sven.langkamp@gmail.com> 0004 * 0005 * SPDX-License-Identifier: GPL-2.0-or-later 0006 */ 0007 0008 #ifndef KIS_MIRROR_MANAGER_H 0009 #define KIS_MIRROR_MANAGER_H 0010 0011 #include <QObject> 0012 #include <QPointer> 0013 #include <kis_types.h> 0014 0015 #include "KisView.h" 0016 0017 class KisViewManager; 0018 class KisKActionCollection; 0019 class KisMirrorAxis; 0020 class KisMirrorAxisConfig; 0021 0022 class KisMirrorManager : public QObject 0023 { 0024 Q_OBJECT 0025 0026 public: 0027 KisMirrorManager(KisViewManager* view); 0028 ~KisMirrorManager() override; 0029 0030 void setup(KisKActionCollection* collection); 0031 void setView(QPointer<KisView> imageView); 0032 0033 private Q_SLOTS: 0034 void updateAction(); 0035 void slotSyncActionStates(bool val); 0036 void slotDocumentConfigChanged(); 0037 void slotMirrorAxisConfigChanged(); 0038 0039 private: 0040 QPointer<KisView> m_imageView; 0041 QAction *m_mirrorCanvas {nullptr}; 0042 QAction *m_mirrorCanvasAroundCursor {nullptr}; 0043 void setDecorationConfig(); 0044 KisMirrorAxisSP decoration() const; 0045 }; 0046 0047 #endif // KIS_MIRROR_MANAGER_H