1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-14 01:57:38 +00:00
serenity/Userland/Applications/PixelPaint/Tools/MoveTool.h
Andreas Kling 101eb53de5 PixelPaint: Add Tool::tool_name() as a single-point-of-truth
Let the tools know what their names are.
2022-08-21 20:33:01 +02:00

34 lines
917 B
C++

/*
* Copyright (c) 2020, Andreas Kling <kling@serenityos.org>
* Copyright (c) 2022, the SerenityOS developers.
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#pragma once
#include "../Layer.h"
#include "Tool.h"
namespace PixelPaint {
class MoveTool final : public Tool {
public:
MoveTool() = default;
virtual ~MoveTool() override = default;
virtual void on_mousedown(Layer*, MouseEvent&) override;
virtual void on_mousemove(Layer*, MouseEvent&) override;
virtual void on_mouseup(Layer*, MouseEvent&) override;
virtual void on_keydown(GUI::KeyEvent&) override;
virtual Variant<Gfx::StandardCursor, NonnullRefPtr<Gfx::Bitmap>> cursor() override { return Gfx::StandardCursor::Move; }
private:
virtual StringView tool_name() const override { return "Move Tool"sv; }
RefPtr<Layer> m_layer_being_moved;
Gfx::IntPoint m_event_origin;
Gfx::IntPoint m_layer_origin;
};
}