11#include <QApplication>
14#include <klocalizedstring.h>
43 setDescription(i18n(
"The <i>Pan Canvas</i> action pans the canvas."));
45 QHash<QString, int> shortcuts;
67 QApplication::setOverrideCursor(Qt::OpenHandCursor);
73 QApplication::restoreOverrideCursor();
84 && (event->type() == QEvent::NativeGesture || event->type() == QEvent::TouchBegin
85 || event->type() == QEvent::TouchUpdate)
89 using Flags = KisCanvasNavigationActionStrategyNativeGesture::Flags;
92 flags.setFlag(Flag::PanEnabled);
94 if (event->type() == QEvent::NativeGesture) {
97 const QTouchEvent *tevent =
static_cast<const QTouchEvent*
>(event);
102 QApplication::restoreOverrideCursor();
106 bool overrideCursor =
true;
110 if (event->type() == QEvent::Wheel) {
113 QWheelEvent *wheelEvent =
static_cast<QWheelEvent*
>(event);
117 QApplication::restoreOverrideCursor();
140 if (overrideCursor) {
141 QApplication::setOverrideCursor(Qt::ClosedHandCursor);
148 QApplication::restoreOverrideCursor();
160 }
else if (event->type() == QEvent::Wheel) {
161 QWheelEvent *wheelEvent =
static_cast<QWheelEvent*
>(event);
std::unique_ptr< KisCanvasNavigationActionStrategy > actionStrategy
QPointF originalPreferredCenter
void inputEvent(QEvent *event) override
void end(QEvent *event) override
void cursorMovedAbsolute(const QPointF &lastPos, const QPointF &pos) override
bool isShortcutRequired(int shortcut) const override
void activate(int shortcut) override
void begin(int shortcut, QEvent *event) override
bool supportsHiResInputEvents(int shortcut) const override
KisInputActionGroup inputActionGroup(int shortcut) const override
int priority() const override
@ PanRightShortcut
Pan right by a fixed amount.
@ PanModeShortcut
Toggle the pan mode.
@ PanUpShortcut
Pan up by a fixed amount.
@ PanDownShortcut
Pan down by a fixed amount.
@ PanLeftShortcut
Pan left by a fixed amount.
void deactivate(int shortcut) override
KoCanvasController * canvasController() const
virtual QPointF preferredCenter() const =0
Returns the currently set preferred center point in view coordinates (pixels)
virtual void setPreferredCenter(const QPointF &viewPoint)=0
virtual void pan(const QPoint &distance)=0