From 4bd905de0ec054c94a3853ded832ee00573d4bc2 Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Mon, 14 Jun 2021 16:51:29 +0200 Subject: [PATCH] PixelPaint: Add a new "Rectangle Select" tool :^) This patch only adds the tool along with a toolbar icon for it. It doesn't do anything yet. --- .../res/icons/pixelpaint/rectangle-select.png | Bin 0 -> 95 bytes .../Applications/PixelPaint/CMakeLists.txt | 1 + .../PixelPaint/RectangleSelectTool.cpp | 35 ++++++++++++++++++ .../PixelPaint/RectangleSelectTool.h | 24 ++++++++++++ .../Applications/PixelPaint/ToolboxWidget.cpp | 2 + 5 files changed, 62 insertions(+) create mode 100644 Base/res/icons/pixelpaint/rectangle-select.png create mode 100644 Userland/Applications/PixelPaint/RectangleSelectTool.cpp create mode 100644 Userland/Applications/PixelPaint/RectangleSelectTool.h diff --git a/Base/res/icons/pixelpaint/rectangle-select.png b/Base/res/icons/pixelpaint/rectangle-select.png new file mode 100644 index 0000000000000000000000000000000000000000..f67db412dcb3d6c32ef81d10b7742243ddf3c4e5 GIT binary patch literal 95 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7)I41rLo7}wCrIc#uoszp xxQ%;4vS#UChiP)l97VYo$0^vV@`*Dr+?11ioAW<+0|NsCgQu&X%Q~loCIAM68BzcM literal 0 HcmV?d00001 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()); } }