Canvas: implement quadraticCurveTo().

This commit is contained in:
Mátyás Mustoha 2015-02-19 15:18:36 +01:00
parent 7bd6cb0091
commit 2817f2e066
7 changed files with 19 additions and 13 deletions

View file

@ -28,6 +28,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),
@ -80,6 +81,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)
}
@ -150,6 +154,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>,