1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-26 08:27:45 +00:00

PixelPaint: Remove hand-rolled type information in favor of RTTI

This commit is contained in:
Andreas Kling 2021-01-01 15:55:48 +01:00
parent ef5e9af6d3
commit 167906d02b
12 changed files with 2 additions and 22 deletions

View file

@ -47,7 +47,6 @@ private:
bool m_was_drawing { false }; bool m_was_drawing { false };
Gfx::IntPoint m_last_position; Gfx::IntPoint m_last_position;
virtual const char* class_name() const override { return "BrushTool"; }
void draw_line(Gfx::Bitmap& bitmap, const Gfx::Color& color, const Gfx::IntPoint& start, const Gfx::IntPoint& end); void draw_line(Gfx::Bitmap& bitmap, const Gfx::Color& color, const Gfx::IntPoint& start, const Gfx::IntPoint& end);
void draw_point(Gfx::Bitmap& bitmap, const Gfx::Color& color, const Gfx::IntPoint& point); void draw_point(Gfx::Bitmap& bitmap, const Gfx::Color& color, const Gfx::IntPoint& point);
}; };

View file

@ -39,8 +39,6 @@ public:
virtual GUI::Widget* get_properties_widget() override; virtual GUI::Widget* get_properties_widget() override;
private: private:
virtual const char* class_name() const override { return "BucketTool"; }
RefPtr<GUI::Widget> m_properties_widget; RefPtr<GUI::Widget> m_properties_widget;
int m_threshold { 0 }; int m_threshold { 0 };
}; };

View file

@ -50,7 +50,6 @@ private:
// FIXME: Add Mode::Fill // FIXME: Add Mode::Fill
}; };
virtual const char* class_name() const override { return "EllipseTool"; }
void draw_using(GUI::Painter&, const Gfx::IntRect&); void draw_using(GUI::Painter&, const Gfx::IntRect&);
GUI::MouseButton m_drawing_button { GUI::MouseButton::None }; GUI::MouseButton m_drawing_button { GUI::MouseButton::None };

View file

@ -45,7 +45,6 @@ public:
private: private:
Gfx::Color get_color() const; Gfx::Color get_color() const;
virtual const char* class_name() const override { return "EraseTool"; }
Gfx::IntRect build_rect(const Gfx::IntPoint& pos, const Gfx::IntRect& widget_rect); Gfx::IntRect build_rect(const Gfx::IntPoint& pos, const Gfx::IntRect& widget_rect);
RefPtr<GUI::Menu> m_context_menu; RefPtr<GUI::Menu> m_context_menu;

View file

@ -27,6 +27,7 @@
#include "ImageEditor.h" #include "ImageEditor.h"
#include "Image.h" #include "Image.h"
#include "Layer.h" #include "Layer.h"
#include "MoveTool.h"
#include "Tool.h" #include "Tool.h"
#include <LibGUI/Command.h> #include <LibGUI/Command.h>
#include <LibGUI/Painter.h> #include <LibGUI/Painter.h>
@ -203,7 +204,7 @@ void ImageEditor::mousedown_event(GUI::MouseEvent& event)
if (!m_active_tool) if (!m_active_tool)
return; return;
if (m_active_tool->is_move_tool()) { if (is<MoveTool>(*m_active_tool)) {
if (auto* other_layer = layer_at_editor_position(event.position())) { if (auto* other_layer = layer_at_editor_position(event.position())) {
set_active_layer(other_layer); set_active_layer(other_layer);
} }

View file

@ -46,8 +46,6 @@ public:
virtual void on_keyup(GUI::KeyEvent&) override; virtual void on_keyup(GUI::KeyEvent&) override;
private: private:
virtual const char* class_name() const override { return "LineTool"; }
GUI::MouseButton m_drawing_button { GUI::MouseButton::None }; GUI::MouseButton m_drawing_button { GUI::MouseButton::None };
Gfx::IntPoint m_line_start_position; Gfx::IntPoint m_line_start_position;
Gfx::IntPoint m_line_end_position; Gfx::IntPoint m_line_end_position;

View file

@ -42,9 +42,6 @@ public:
virtual void on_context_menu(Layer&, GUI::ContextMenuEvent&) override; virtual void on_context_menu(Layer&, GUI::ContextMenuEvent&) override;
private: private:
virtual const char* class_name() const override { return "MoveTool"; }
virtual bool is_move_tool() const override { return true; }
RefPtr<Layer> m_layer_being_moved; RefPtr<Layer> m_layer_being_moved;
Gfx::IntPoint m_event_origin; Gfx::IntPoint m_event_origin;
Gfx::IntPoint m_layer_origin; Gfx::IntPoint m_layer_origin;

View file

@ -44,8 +44,6 @@ public:
virtual GUI::Widget* get_properties_widget() override; virtual GUI::Widget* get_properties_widget() override;
private: private:
virtual const char* class_name() const override { return "PenTool"; }
Gfx::IntPoint m_last_drawing_event_position { -1, -1 }; Gfx::IntPoint m_last_drawing_event_position { -1, -1 };
RefPtr<GUI::Menu> m_context_menu; RefPtr<GUI::Menu> m_context_menu;
RefPtr<GUI::Widget> m_properties_widget; RefPtr<GUI::Widget> m_properties_widget;

View file

@ -36,9 +36,6 @@ public:
virtual ~PickerTool() override; virtual ~PickerTool() override;
virtual void on_mousedown(Layer&, GUI::MouseEvent& layer_event, GUI::MouseEvent& image_event) override; virtual void on_mousedown(Layer&, GUI::MouseEvent& layer_event, GUI::MouseEvent& image_event) override;
private:
virtual const char* class_name() const override { return "PickerTool"; }
}; };
} }

View file

@ -51,7 +51,6 @@ private:
Gradient, Gradient,
}; };
virtual const char* class_name() const override { return "RectangleTool"; }
void draw_using(GUI::Painter&, const Gfx::IntRect&); void draw_using(GUI::Painter&, const Gfx::IntRect&);
GUI::MouseButton m_drawing_button { GUI::MouseButton::None }; GUI::MouseButton m_drawing_button { GUI::MouseButton::None };

View file

@ -45,7 +45,6 @@ public:
virtual GUI::Widget* get_properties_widget() override; virtual GUI::Widget* get_properties_widget() override;
private: private:
virtual const char* class_name() const override { return "SprayTool"; }
void paint_it(); void paint_it();
RefPtr<GUI::Widget> m_properties_widget; RefPtr<GUI::Widget> m_properties_widget;

View file

@ -38,8 +38,6 @@ class Tool {
public: public:
virtual ~Tool(); virtual ~Tool();
virtual const char* class_name() const = 0;
virtual void on_mousedown(Layer&, GUI::MouseEvent&, GUI::MouseEvent&) { } virtual void on_mousedown(Layer&, GUI::MouseEvent&, GUI::MouseEvent&) { }
virtual void on_mousemove(Layer&, GUI::MouseEvent&, GUI::MouseEvent&) { } virtual void on_mousemove(Layer&, GUI::MouseEvent&, GUI::MouseEvent&) { }
virtual void on_mouseup(Layer&, GUI::MouseEvent&, GUI::MouseEvent&) { } virtual void on_mouseup(Layer&, GUI::MouseEvent&, GUI::MouseEvent&) { }
@ -50,8 +48,6 @@ public:
virtual void on_keyup(GUI::KeyEvent&) { } virtual void on_keyup(GUI::KeyEvent&) { }
virtual GUI::Widget* get_properties_widget() { return nullptr; } virtual GUI::Widget* get_properties_widget() { return nullptr; }
virtual bool is_move_tool() const { return false; }
void clear() { m_editor = nullptr; } void clear() { m_editor = nullptr; }
void setup(ImageEditor&); void setup(ImageEditor&);