mirror of
https://github.com/servo/servo.git
synced 2025-07-22 23:03:42 +01:00
Canvas: added arc().
This commit is contained in:
parent
7cd776b74f
commit
c98bca6130
12 changed files with 19 additions and 47 deletions
|
@ -29,6 +29,7 @@ pub enum CanvasMsg {
|
|||
MoveTo(Point2D<f32>),
|
||||
LineTo(Point2D<f32>),
|
||||
BezierCurveTo(Point2D<f32>, Point2D<f32>, Point2D<f32>),
|
||||
Arc(Point2D<f32>, f32, f32, f32, bool),
|
||||
SetFillStyle(FillOrStrokeStyle),
|
||||
SetStrokeStyle(FillOrStrokeStyle),
|
||||
SetTransform(Matrix2D<f32>),
|
||||
|
@ -82,6 +83,9 @@ impl<'a> CanvasPaintTask<'a> {
|
|||
CanvasMsg::BezierCurveTo(ref cp1, ref cp2, ref pt) => {
|
||||
painter.bezier_curve_to(cp1, cp2, pt)
|
||||
}
|
||||
CanvasMsg::Arc(ref center, radius, start, end, ccw) => {
|
||||
painter.arc(center, radius, start, end, ccw)
|
||||
}
|
||||
CanvasMsg::SetFillStyle(style) => painter.set_fill_style(style),
|
||||
CanvasMsg::SetStrokeStyle(style) => painter.set_stroke_style(style),
|
||||
CanvasMsg::SetTransform(ref matrix) => painter.set_transform(matrix),
|
||||
|
@ -153,6 +157,15 @@ impl<'a> CanvasPaintTask<'a> {
|
|||
self.path_builder.bezier_curve_to(cp1, cp2, endpoint)
|
||||
}
|
||||
|
||||
fn arc(&self,
|
||||
center: &Point2D<AzFloat>,
|
||||
radius: AzFloat,
|
||||
start_angle: AzFloat,
|
||||
end_angle: AzFloat,
|
||||
ccw: bool) {
|
||||
self.path_builder.arc(*center, radius, start_angle, end_angle, ccw)
|
||||
}
|
||||
|
||||
fn set_fill_style(&mut self, style: FillOrStrokeStyle) {
|
||||
self.fill_style = style.to_azure_pattern()
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue