From aa2f20fb601c27b60b4b79599163a01e76e3d9be Mon Sep 17 00:00:00 2001 From: Sam Atkins Date: Fri, 11 Feb 2022 17:47:39 +0000 Subject: [PATCH] LibGfx: Add Path::[horizontal,vertical]_path_to() The SVG spec describes some path operations using these, so we might as well have them. :^) --- Userland/Libraries/LibGfx/Path.h | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/Userland/Libraries/LibGfx/Path.h b/Userland/Libraries/LibGfx/Path.h index 41c0d65ade..19dd40cb1c 100644 --- a/Userland/Libraries/LibGfx/Path.h +++ b/Userland/Libraries/LibGfx/Path.h @@ -150,6 +150,22 @@ public: invalidate_split_lines(); } + void horizontal_line_to(float x) + { + float previous_y = 0; + if (!m_segments.is_empty()) + previous_y = m_segments.last().point().y(); + line_to({ x, previous_y }); + } + + void vertical_line_to(float y) + { + float previous_x = 0; + if (!m_segments.is_empty()) + previous_x = m_segments.last().point().x(); + line_to({ previous_x, y }); + } + void quadratic_bezier_curve_to(const FloatPoint& through, const FloatPoint& point) { append_segment(point, through);