11#include <klocalizedstring.h>
56 setName(i18n(
"Zoom and Rotate Canvas"));
57 QHash<QString, int> shortcuts;
92 if (event->type() == QEvent::NativeGesture || event->type() == QEvent::TouchBegin
93 || event->type() == QEvent::TouchUpdate) {
96 using Flags = KisCanvasNavigationActionStrategy::Flags;
99 flags.setFlag(Flag::PanEnabled,
d->hasPanAction(shortcut));
100 flags.setFlag(Flag::RotationEnabled);
101 flags.setFlag(Flag::RotationDescrete,
d->rotationIsDiscrete(shortcut));
102 flags.setFlag(Flag::ZoomEnabled);
103 flags.setFlag(Flag::ZoomDescrete,
d->zoomIsDiscrete(shortcut));
105 if (event->type() == QEvent::NativeGesture) {
108 const QTouchEvent *tevent =
static_cast<const QTouchEvent*
>(event);
116 d->actionStrategy.reset();
127 if (
d->actionStrategy &&
d->actionStrategy->supportsEvent(event)) {
128 d->actionStrategy->inputEvent(event);
std::unique_ptr< KisCanvasNavigationActionStrategy > actionStrategy
static bool zoomIsDiscrete(int shortcutIndex)
static bool hasPanAction(int shortcutIndex)
static bool rotationIsDiscrete(int shortcutIndex)
void cursorMovedAbsolute(const QPointF &lastPos, const QPointF &pos) override
int priority() const override
void deactivate(int shortcut) override
KisInputActionGroup inputActionGroup(int shortcut) const override
~KisZoomAndRotateAction()
void begin(int shortcut, QEvent *event) override
void activate(int shortcut) override
void end(QEvent *event) override
const QScopedPointer< Private > d
void inputEvent(QEvent *event) override
@ DiscreteZoomAndDiscreteRotateMode
@ PanAndDiscreteZoomAndRotateMode
@ PanAndDiscreteZoomAndDiscreteRotateMode
@ ZoomAndDiscreteRotateMode
@ PanAndZoomAndDiscreteRotateMode
@ PanAndZoomAndRotateMode
@ DiscreteZoomAndRotateMode