1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 05:17:35 +00:00

LibGfx+PixelPaint: Add Point::end_point_for_aspect_ratio method

Previously we only had `Point::end_point_for_square_aspect_ratio`,
which was convenient for PixelPaint but assumed the aspect ratio
was always fixed at 1. This patch replaces it with a new mthod that
takes in an arbitrary aspect ratio and computes the end point based
off that.

There's some explicit casting going on in `Point.cpp` to ensure that
the types line up, since we're templating Point based on `T`.`
This commit is contained in:
Mustafa Quraish 2021-09-15 19:34:50 -04:00 committed by Andreas Kling
parent 5c244a7893
commit f14c891ba5
4 changed files with 15 additions and 10 deletions

View file

@ -90,7 +90,7 @@ void EllipseTool::on_mousemove(Layer*, MouseEvent& event)
m_draw_mode = event.layer_event().alt() ? DrawMode::FromCenter : DrawMode::FromCorner;
if (event.layer_event().shift())
m_ellipse_end_position = m_ellipse_start_position.end_point_for_square_aspect_ratio(event.layer_event().position());
m_ellipse_end_position = m_ellipse_start_position.end_point_for_aspect_ratio(event.layer_event().position(), 1.0);
else
m_ellipse_end_position = event.layer_event().position();