File indexing completed on 2024-05-26 04:34:30
0001 /* 0002 * kis_tool_select_rectangular.h - part of Krita 0003 * 0004 * SPDX-FileCopyrightText: 1999 Michael Koch <koch@kde.org> 0005 * SPDX-FileCopyrightText: 2002 Patrick Julien <freak@codepimps.org> 0006 * 0007 * 0008 * SPDX-License-Identifier: GPL-2.0-or-later 0009 */ 0010 0011 #ifndef KIS_TOOL_SELECT_RECTANGULAR_H_ 0012 #define KIS_TOOL_SELECT_RECTANGULAR_H_ 0013 0014 #include "KisSelectionToolFactoryBase.h" 0015 #include "kis_tool_rectangle_base.h" 0016 #include <kis_tool_select_base.h> 0017 #include "kis_selection_tool_config_widget_helper.h" 0018 #include <kis_icon.h> 0019 #include <QKeySequence> 0020 0021 0022 class __KisToolSelectRectangularLocal : public KisToolRectangleBase 0023 { 0024 Q_OBJECT 0025 0026 public: 0027 __KisToolSelectRectangularLocal(KoCanvasBase * canvas); 0028 }; 0029 0030 0031 class KisToolSelectRectangular : public KisToolSelectBase<__KisToolSelectRectangularLocal> 0032 { 0033 Q_OBJECT 0034 public: 0035 KisToolSelectRectangular(KoCanvasBase* canvas); 0036 void resetCursorStyle() override; 0037 private: 0038 void finishRect(const QRectF& rect, qreal roundCornersX, qreal roundCornersY) override; 0039 void beginShape() override; 0040 void endShape() override; 0041 }; 0042 0043 class KisToolSelectRectangularFactory : public KisSelectionToolFactoryBase 0044 { 0045 0046 public: 0047 KisToolSelectRectangularFactory() 0048 : KisSelectionToolFactoryBase("KisToolSelectRectangular") 0049 { 0050 setToolTip(i18n("Rectangular Selection Tool")); 0051 setSection(ToolBoxSection::Select); 0052 setActivationShapeId(KRITA_TOOL_ACTIVATION_ID); 0053 setIconName(koIconNameCStr("tool_rect_selection")); 0054 setShortcut(QKeySequence(Qt::CTRL + Qt::Key_R)); 0055 setPriority(0); 0056 } 0057 0058 ~KisToolSelectRectangularFactory() override {} 0059 0060 KoToolBase * createTool(KoCanvasBase *canvas) override { 0061 return new KisToolSelectRectangular(canvas); 0062 } 0063 }; 0064 0065 0066 0067 #endif // KIS_TOOL_SELECT_RECTANGULAR_H_ 0068