Warning, file /graphics/krita/plugins/tools/tool_enclose_and_fill/subtools/KisLassoEnclosingProducer.h was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).

0001 /*
0002  * KDE. Krita Project.
0003  *
0004  * SPDX-FileCopyrightText: 2022 Deif Lou <ginoba@gmail.com>
0005  *
0006  * SPDX-License-Identifier: GPL-2.0-or-later
0007  */
0008 
0009 #ifndef KISLASSOENCLOSINGPRODUCER
0010 #define KISLASSOENCLOSINGPRODUCER
0011 
0012 #include <kis_pixel_selection.h>
0013 #include <KisToolOutlineBase.h>
0014 
0015 #include "KisDynamicDelegatedTool.h"
0016 
0017 class KisLassoEnclosingProducer : public KisDynamicDelegateTool<KisToolOutlineBase>
0018 {
0019     Q_OBJECT
0020 
0021 public:
0022     KisLassoEnclosingProducer(KoCanvasBase *canvas);
0023     ~KisLassoEnclosingProducer() override;
0024     
0025     bool hasUserInteractionRunning() const;
0026     
0027 protected:
0028     void finishOutline(const QVector<QPointF> &points) override;
0029     void beginShape() override;
0030     void endShape() override;
0031 
0032 Q_SIGNALS:
0033     void enclosingMaskProduced(KisPixelSelectionSP enclosingMask);
0034 
0035 private:
0036     bool m_hasUserInteractionRunning {false};
0037 
0038 protected Q_SLOTS:
0039     void resetCursorStyle() override;
0040 };
0041 
0042 #endif