diff --git a/Base/res/icons/pixelpaint/rectangle-select.png b/Base/res/icons/pixelpaint/rectangle-select.png new file mode 100644 index 0000000000..f67db412dc Binary files /dev/null and b/Base/res/icons/pixelpaint/rectangle-select.png differ diff --git a/Userland/Applications/PixelPaint/CMakeLists.txt b/Userland/Applications/PixelPaint/CMakeLists.txt index 6b1d34103f..e937c025f3 100644 --- a/Userland/Applications/PixelPaint/CMakeLists.txt +++ b/Userland/Applications/PixelPaint/CMakeLists.txt @@ -20,6 +20,7 @@ set(SOURCES PickerTool.cpp PixelPaintWindowGML.h RectangleTool.cpp + RectangleSelectTool.cpp SprayTool.cpp ToolboxWidget.cpp ToolPropertiesWidget.cpp diff --git a/Userland/Applications/PixelPaint/RectangleSelectTool.cpp b/Userland/Applications/PixelPaint/RectangleSelectTool.cpp new file mode 100644 index 0000000000..194e5490e0 --- /dev/null +++ b/Userland/Applications/PixelPaint/RectangleSelectTool.cpp @@ -0,0 +1,35 @@ +/* + * Copyright (c) 2021, Andreas Kling + * + * SPDX-License-Identifier: BSD-2-Clause + */ + +#include "RectangleSelectTool.h" + +namespace PixelPaint { + +RectangleSelectTool::RectangleSelectTool() +{ +} + +RectangleSelectTool::~RectangleSelectTool() +{ +} + +void RectangleSelectTool::on_mousedown(Layer&, GUI::MouseEvent&, GUI::MouseEvent&) +{ +} + +void RectangleSelectTool::on_mousemove(Layer&, GUI::MouseEvent&, GUI::MouseEvent&) +{ +} + +void RectangleSelectTool::on_mouseup(Layer&, GUI::MouseEvent&, GUI::MouseEvent&) +{ +} + +void RectangleSelectTool::on_second_paint(Layer const&, GUI::PaintEvent&) +{ +} + +} diff --git a/Userland/Applications/PixelPaint/RectangleSelectTool.h b/Userland/Applications/PixelPaint/RectangleSelectTool.h new file mode 100644 index 0000000000..dc14c985b4 --- /dev/null +++ b/Userland/Applications/PixelPaint/RectangleSelectTool.h @@ -0,0 +1,24 @@ +/* + * Copyright (c) 2021, Andreas Kling + * + * SPDX-License-Identifier: BSD-2-Clause + */ + +#pragma once + +#include "Tool.h" + +namespace PixelPaint { + +class RectangleSelectTool final : public Tool { +public: + RectangleSelectTool(); + virtual ~RectangleSelectTool(); + + virtual void on_mousedown(Layer&, GUI::MouseEvent&, GUI::MouseEvent&) override; + virtual void on_mousemove(Layer&, GUI::MouseEvent&, GUI::MouseEvent&) override; + virtual void on_mouseup(Layer&, GUI::MouseEvent&, GUI::MouseEvent&) override; + virtual void on_second_paint(Layer const&, GUI::PaintEvent&) override; +}; + +} diff --git a/Userland/Applications/PixelPaint/ToolboxWidget.cpp b/Userland/Applications/PixelPaint/ToolboxWidget.cpp index 0a1d2f5279..c12c1870ab 100644 --- a/Userland/Applications/PixelPaint/ToolboxWidget.cpp +++ b/Userland/Applications/PixelPaint/ToolboxWidget.cpp @@ -13,6 +13,7 @@ #include "MoveTool.h" #include "PenTool.h" #include "PickerTool.h" +#include "RectangleSelectTool.h" #include "RectangleTool.h" #include "SprayTool.h" #include "ZoomTool.h" @@ -77,6 +78,7 @@ void ToolboxWidget::setup_tools() add_tool("Rectangle", "rectangle", { Mod_Ctrl | Mod_Shift, Key_R }, make()); add_tool("Ellipse", "circle", { Mod_Ctrl | Mod_Shift, Key_E }, make()); add_tool("Zoom", "zoom", { 0, Key_Z }, make()); + add_tool("Rectangle Select", "rectangle-select", { 0, Key_R }, make()); } }