瀏覽代碼

LibGfx: Add Path::[horizontal,vertical]_path_to()

The SVG spec describes some path operations using these, so we might as
well have them. :^)
Sam Atkins 3 年之前
父節點
當前提交
aa2f20fb60
共有 1 個文件被更改,包括 16 次插入0 次删除
  1. 16 0
      Userland/Libraries/LibGfx/Path.h

+ 16 - 0
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<QuadraticBezierCurveSegment>(point, through);