PixelPaint: Make brush draw on mousedown

This makes the brush tool start drawing a point before the user moves
the mouse, like in Photoshop and Gimp. The number of iterations of
draw_point makes for roughly 4 clicks to full opacity.
This commit is contained in:
Marcus Nilsson 2021-07-05 23:22:57 +02:00 committed by Andreas Kling
parent 9be08e33ea
commit 618bb2d33e
Notes: sideshowbarker 2024-07-18 10:03:25 +09:00

View File

@ -25,11 +25,17 @@ BrushTool::~BrushTool()
{
}
void BrushTool::on_mousedown(Layer&, GUI::MouseEvent& event, GUI::MouseEvent&)
void BrushTool::on_mousedown(Layer& layer, GUI::MouseEvent& event, GUI::MouseEvent&)
{
if (event.button() != GUI::MouseButton::Left && event.button() != GUI::MouseButton::Right)
return;
const int first_draw_opacity = 10;
for (int i = 0; i < first_draw_opacity; ++i)
draw_point(layer.bitmap(), m_editor->color_for(event), event.position());
layer.did_modify_bitmap();
m_last_position = event.position();
}