mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 19:47:44 +00:00
PixelPaint: Make Layer passed to tools a pointer
Some tools (e.g. ZoomTool) doesn't need layer to work. This commit makes mouse events fire even if there is no layer. This fixes a bug that ZoomTool didn't work when there is no layers.
This commit is contained in:
parent
0224dc2882
commit
3ad9df1522
28 changed files with 202 additions and 136 deletions
|
@ -18,12 +18,15 @@ PickerTool::~PickerTool()
|
|||
{
|
||||
}
|
||||
|
||||
void PickerTool::on_mousedown(Layer& layer, MouseEvent& event)
|
||||
void PickerTool::on_mousedown(Layer* layer, MouseEvent& event)
|
||||
{
|
||||
auto& layer_event = event.layer_event();
|
||||
if (!layer.rect().contains(layer_event.position()))
|
||||
if (!layer)
|
||||
return;
|
||||
auto color = layer.bitmap().get_pixel(layer_event.position());
|
||||
|
||||
auto& layer_event = event.layer_event();
|
||||
if (!layer->rect().contains(layer_event.position()))
|
||||
return;
|
||||
auto color = layer->bitmap().get_pixel(layer_event.position());
|
||||
if (layer_event.button() == GUI::MouseButton::Left)
|
||||
m_editor->set_primary_color(color);
|
||||
else if (layer_event.button() == GUI::MouseButton::Right)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue