Krita Source Code Documentation
Loading...
Searching...
No Matches
kis_zoom_manager.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2006 Boudewijn Rempt <boud@valdyas.org>
3 *
4 * SPDX-License-Identifier: GPL-2.0-or-later
5 */
6#ifndef KIS_ZOOM_MANAGER
7#define KIS_ZOOM_MANAGER
8
9#include <QObject>
10#include <QPointer>
11
12#include <klocalizedstring.h>
13
14#include <KoZoomMode.h>
15#include <KoZoomAction.h>
16#include <KoZoomHandler.h>
19
20#include "KisView.h"
21
22class KoZoomHandler;
23class KoZoomAction;
24class KoRuler;
25class KoUnit;
27class QPoint;
28
29#include "kritaui_export.h"
30
36class KRITAUI_EXPORT KisZoomManager : public QObject
37{
38
39 Q_OBJECT
40
41public:
42
44 ~KisZoomManager() override;
45
46 void setup(KisKActionCollection * actionCollection);
47
48 void updateImageBoundsSnapping();
49 void syncOnImageResolutionChange();
50
51 KoZoomAction *zoomAction() const;
52 QWidget *zoomActionWidget() const;
53
54 KoRuler *horizontalRuler() const;
55 KoRuler *verticalRuler() const;
56
57public Q_SLOTS:
58
59 void setShowRulers(bool show);
60 void setRulersTrackMouse(bool value);
61 void mousePositionChanged(const QPoint &viewPos);
62
63 void zoomTo100();
64 void slotZoomIn();
65 void slotZoomOut();
66 void slotZoomToFit();
67 void slotZoomToFitWidth();
68 void slotZoomToFitHeight();
69 void slotToggleZoomToFit();
70 void applyRulersUnit(const KoUnit &baseUnit);
71 void setRulersPixelMultiple2(bool enabled);
72
73
74private Q_SLOTS:
75 void slotUpdateGuiAfterZoomChange();
76 void slotUpdateGuiAfterDocumentRectChanged();
77 void slotConfigChanged();
78
79private:
80 void updateMouseTrackingConnections();
81 void updateCurrentZoomResource();
82
83private:
84
86 KoZoomHandler * m_zoomHandler {nullptr};
87 KoCanvasController *m_canvasController {nullptr};
88 KoRuler * m_horizontalRuler {nullptr};
89 KoRuler * m_verticalRuler {nullptr};
90 KoZoomAction * m_zoomAction {nullptr};
94
97 qreal m_previousZoomLevel {1.0};
100};
101
102
103#endif
float value(const T *src, size_t ch)
A container for a set of QAction objects.
KisSignalAutoConnectionsStore m_mouseTrackingConnections
KoZoomMode::Mode m_previousZoomMode
KisSignalCompressor m_zoomChangedCompressor
QPointer< QWidget > m_zoomActionWidget
QPointF m_previousZoomPoint
KisSignalCompressor m_documentRectChangedCompressor
QPointer< KisView > m_view