aboutsummaryrefslogtreecommitdiffstats
path: root/components/canvas/canvas_paint_task.rs
diff options
context:
space:
mode:
Diffstat (limited to 'components/canvas/canvas_paint_task.rs')
-rw-r--r--components/canvas/canvas_paint_task.rs10
1 files changed, 10 insertions, 0 deletions
diff --git a/components/canvas/canvas_paint_task.rs b/components/canvas/canvas_paint_task.rs
index 11186003c96..8efea20d255 100644
--- a/components/canvas/canvas_paint_task.rs
+++ b/components/canvas/canvas_paint_task.rs
@@ -29,6 +29,7 @@ pub enum CanvasMsg {
Fill,
MoveTo(Point2D<f32>),
LineTo(Point2D<f32>),
+ QuadraticCurveTo(Point2D<f32>, Point2D<f32>),
BezierCurveTo(Point2D<f32>, Point2D<f32>, Point2D<f32>),
Arc(Point2D<f32>, f32, f32, f32, bool),
SetFillStyle(FillOrStrokeStyle),
@@ -81,6 +82,9 @@ impl<'a> CanvasPaintTask<'a> {
CanvasMsg::Fill => painter.fill(),
CanvasMsg::MoveTo(ref point) => painter.move_to(point),
CanvasMsg::LineTo(ref point) => painter.line_to(point),
+ CanvasMsg::QuadraticCurveTo(ref cp, ref pt) => {
+ painter.quadratic_curve_to(cp, pt)
+ }
CanvasMsg::BezierCurveTo(ref cp1, ref cp2, ref pt) => {
painter.bezier_curve_to(cp1, cp2, pt)
}
@@ -151,6 +155,12 @@ impl<'a> CanvasPaintTask<'a> {
self.path_builder.line_to(*point)
}
+ fn quadratic_curve_to(&self,
+ cp: &Point2D<AzFloat>,
+ endpoint: &Point2D<AzFloat>) {
+ self.path_builder.quadratic_curve_to(cp, endpoint)
+ }
+
fn bezier_curve_to(&self,
cp1: &Point2D<AzFloat>,
cp2: &Point2D<AzFloat>,