File indexing completed on 2024-06-16 04:18:02

0001 /*
0002  *  SPDX-FileCopyrightText: 2014 Dmitry Kazakov <dimula73@gmail.com>
0003  *
0004  *  SPDX-License-Identifier: GPL-2.0-or-later
0005  */
0006 
0007 #include "kis_transform_strategy_base.h"
0008 
0009 #include <QImage>
0010 #include <QPainterPath>
0011 #include <QTransform>
0012 #include "KoPointerEvent.h"
0013 
0014 
0015 struct KisTransformStrategyBase::Private
0016 {
0017     QTransform thumbToImageTransform;
0018     QImage originalImage;
0019     int decorationThickness = 1;
0020 };
0021 
0022 
0023 KisTransformStrategyBase::KisTransformStrategyBase()
0024     : m_d(new Private())
0025 {
0026 }
0027 
0028 KisTransformStrategyBase::~KisTransformStrategyBase()
0029 {
0030 }
0031 
0032 QPainterPath KisTransformStrategyBase::getCursorOutline() const
0033 {
0034     return QPainterPath();
0035 }
0036 
0037 void KisTransformStrategyBase::activatePrimaryAction()
0038 {
0039 }
0040 
0041 void KisTransformStrategyBase::deactivatePrimaryAction()
0042 {
0043 }
0044 
0045 void KisTransformStrategyBase::setDecorationThickness(int thickness)
0046 {
0047     m_d->decorationThickness = qMax(1, thickness);
0048 }
0049 
0050 int KisTransformStrategyBase::decorationThickness() const
0051 {
0052     return m_d->decorationThickness;
0053 }
0054 
0055 QImage KisTransformStrategyBase::originalImage() const
0056 {
0057     return m_d->originalImage;
0058 }
0059 
0060 QTransform KisTransformStrategyBase::thumbToImageTransform() const
0061 {
0062     return m_d->thumbToImageTransform;
0063 }
0064 
0065 void KisTransformStrategyBase::setThumbnailImage(const QImage &image, QTransform thumbToImageTransform)
0066 {
0067     m_d->originalImage = image;
0068     m_d->thumbToImageTransform = thumbToImageTransform;
0069 }
0070 
0071 bool KisTransformStrategyBase::acceptsClicks() const
0072 {
0073     return false;
0074 }
0075 
0076 void KisTransformStrategyBase::activateAlternateAction(KisTool::AlternateAction action)
0077 {
0078     Q_UNUSED(action);
0079 }
0080 
0081 void KisTransformStrategyBase::deactivateAlternateAction(KisTool::AlternateAction action)
0082 {
0083     Q_UNUSED(action);
0084 }
0085 
0086 bool KisTransformStrategyBase::beginAlternateAction(KoPointerEvent *event, KisTool::AlternateAction action)
0087 {
0088     Q_UNUSED(event);
0089     Q_UNUSED(action);
0090     return false;
0091 }
0092 
0093 void KisTransformStrategyBase::continueAlternateAction(KoPointerEvent *event, KisTool::AlternateAction action)
0094 {
0095     Q_UNUSED(event);
0096     Q_UNUSED(action);
0097 }
0098 
0099 bool KisTransformStrategyBase::endAlternateAction(KoPointerEvent *event, KisTool::AlternateAction action)
0100 {
0101     Q_UNUSED(event);
0102     Q_UNUSED(action);
0103     return false;
0104 }