Warning, file /graphics/krita/plugins/tools/tool_enclose_and_fill/subtools/KisEllipseEnclosingProducer.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 KISELLIPSEENCLOSINGPRODUCER
0010 #define KISELLIPSEENCLOSINGPRODUCER
0011 
0012 #include <kis_tool_ellipse_base.h>
0013 #include <kis_pixel_selection.h>
0014 
0015 #include "KisDynamicDelegatedTool.h"
0016 
0017 class KisEllipseEnclosingProducer : public KisDynamicDelegateTool<KisToolEllipseBase>
0018 {
0019     Q_OBJECT
0020 
0021 public:
0022     KisEllipseEnclosingProducer(KoCanvasBase *canvas);
0023     ~KisEllipseEnclosingProducer() override;
0024     
0025     bool hasUserInteractionRunning() const;
0026     
0027 protected:
0028     void finishRect(const QRectF& rect, qreal roundCornersX, qreal roundCornersY) 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