File indexing completed on 2024-06-16 04:17:45

0001 /*
0002  *  kis_tool_rectangle.h - part of KImageShop^WKrayon^WKrita
0003  *
0004  *  SPDX-FileCopyrightText: 1999 Michael Koch <koch@kde.org>
0005  *  SPDX-FileCopyrightText: 2002 Patrick Julien <freak@codepimps.org>
0006  *  SPDX-FileCopyrightText: 2004 Boudewijn Rempt <boud@valdyas.org>
0007  *  SPDX-FileCopyrightText: 2004 Clarence Dang <dang@kde.org>
0008  *
0009  *  SPDX-License-Identifier: GPL-2.0-or-later
0010  */
0011 
0012 #ifndef __KIS_TOOL_RECTANGLE_H__
0013 #define __KIS_TOOL_RECTANGLE_H__
0014 
0015 #include "kis_tool_shape.h"
0016 #include "kis_types.h"
0017 #include "KisToolPaintFactoryBase.h"
0018 #include "flake/kis_node_shape.h"
0019 #include <kis_tool_rectangle_base.h>
0020 #include <kis_icon.h>
0021 
0022 
0023 class QRect;
0024 
0025 class KoCanvasBase;
0026 
0027 class KisToolRectangle : public KisToolRectangleBase
0028 {
0029     Q_OBJECT
0030 
0031 public:
0032     KisToolRectangle(KoCanvasBase * canvas);
0033     ~KisToolRectangle() override;
0034 
0035 protected:
0036     void finishRect(const QRectF& rect, qreal roundCornersX, qreal roundCornersY) override;
0037 
0038 protected Q_SLOTS:
0039     void resetCursorStyle() override;
0040 };
0041 
0042 class KisToolRectangleFactory : public KisToolPaintFactoryBase
0043 {
0044 
0045 public:
0046     KisToolRectangleFactory()
0047             : KisToolPaintFactoryBase("KritaShape/KisToolRectangle") {
0048         setToolTip(i18n("Rectangle Tool"));
0049 
0050         setSection(ToolBoxSection::Shape);
0051         setActivationShapeId(KRITA_TOOL_ACTIVATION_ID);
0052         setIconName(koIconNameCStr("krita_tool_rectangle"));
0053         //setShortcut( Qt::Key_F6 );
0054         setPriority(2);
0055     }
0056 
0057     ~KisToolRectangleFactory() override {}
0058 
0059     KoToolBase * createTool(KoCanvasBase *canvas) override {
0060         return  new KisToolRectangle(canvas);
0061     }
0062 
0063 };
0064 
0065 
0066 #endif // __KIS_TOOL_RECTANGLE_H__
0067