diff --git a/components/canvas/raqote_backend.rs b/components/canvas/raqote_backend.rs index b5bcf100b60b..137b00e4bf07 100644 --- a/components/canvas/raqote_backend.rs +++ b/components/canvas/raqote_backend.rs @@ -509,7 +509,19 @@ impl GenericPathBuilder for PathBuilder { unimplemented!(); } fn get_current_point(&mut self) -> Point2D { - unimplemented!(); + let path = self.finish(); + + for op in path.as_raqote().ops.iter().rev() { + match op { + PathOp::MoveTo(point) | PathOp::LineTo(point) => { + return Point2D::new(point.x, point.y) + }, + PathOp::CubicTo(_, _, point) => return Point2D::new(point.x, point.y), + PathOp::QuadTo(_, point) => return Point2D::new(point.x, point.y), + _ => {}, + }; + } + panic!("dead end"); } fn line_to(&mut self, point: Point2D) { self.0.as_mut().unwrap().line_to(point.x, point.y);