Krita Source Code Documentation
Loading...
Searching...
No Matches
overviewwidget.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2009 Cyrille Berger <cberger@cberger.net>
3 * SPDX-FileCopyrightText: 2014 Sven Langkamp <sven.langkamp@gmail.com>
4 *
5 * SPDX-License-Identifier: LGPL-2.0-or-later
6 */
7
8
9#ifndef OVERVIEWWIDGET_H
10#define OVERVIEWWIDGET_H
11#include <QObject>
12#include <QWidget>
13#include <QPixmap>
14
16
17#include <kis_canvas2.h>
18
20class KoCanvasBase;
21
23{
24 Q_OBJECT
25
26public:
27 OverviewWidget(QWidget * parent = 0);
28
29 ~OverviewWidget() override;
30
31 void setCanvas(KisCanvas2 *canvas) override;
32
33 inline bool isDragging() const
34 {
35 return m_dragging;
36 }
37
38public Q_SLOTS:
40 void updateThumbnail(QImage pixmap);
41 void slotThemeChanged();
42
43Q_SIGNALS:
46
47protected:
48 void resizeEvent(QResizeEvent *event) override;
49 void paintEvent(QPaintEvent *event) override;
50
51 void mousePressEvent(QMouseEvent* event) override;
52 void mouseMoveEvent(QMouseEvent* event) override;
53 void mouseReleaseEvent(QMouseEvent* event) override;
54 void wheelEvent(QWheelEvent* event) override;
55
56private:
59 void clearCachedState() override;
71 bool isPixelArt();
72
73 QPointF calculatePreviewOrigin(QSize previewSize);
74 QTransform canvasToPreviewTransform();
75 QTransform previewToCanvasTransform();
76 QPolygonF previewPolygon();
77
78 qreal m_previewScale {1.0};
79 QPixmap m_oldPixmap;
80 QPixmap m_pixmap;
81
82 QPointF m_previewOrigin; // in the same coordinates space as m_previewSize
83 QSize m_previewSize {QSize(100, 100)};
84
85 bool m_dragging {false};
86 QPointF m_lastPos {QPointF(0, 0)};
87
89};
90
91
92
93#endif /* OVERVIEWWIDGET_H */
void mousePressEvent(QMouseEvent *event) override
QTransform canvasToPreviewTransform()
QPolygonF previewPolygon()
void startUpdateCanvasProjection()
void updateThumbnail(QImage pixmap)
void resizeEvent(QResizeEvent *event) override
void wheelEvent(QWheelEvent *event) override
void clearCachedState() override
void mouseReleaseEvent(QMouseEvent *event) override
void paintEvent(QPaintEvent *event) override
void setCanvas(KisCanvas2 *canvas) override
void recalculatePreviewDimensions()
void signalDraggingFinished()
~OverviewWidget() override
bool isPixelArt()
isPixelArt checks if the preview is bigger than the image itself
void mouseMoveEvent(QMouseEvent *event) override
QTransform previewToCanvasTransform()
KisIdleTasksManager::TaskGuard registerIdleTask(KisCanvas2 *canvas) override
bool isDragging() const
OverviewWidget(QWidget *parent=0)
void signalDraggingStarted()
QPointF m_previewOrigin
QPointF calculatePreviewOrigin(QSize previewSize)