Chromium Code Reviews| Index: ui/gfx/paint_vector_icon.cc |
| diff --git a/ui/gfx/paint_vector_icon.cc b/ui/gfx/paint_vector_icon.cc |
| index 3bac6acd472f9b92de642c30a94e11d44d6dc325..182f42e605503fc450f4dda3e3fda8bc08252b06 100644 |
| --- a/ui/gfx/paint_vector_icon.cc |
| +++ b/ui/gfx/paint_vector_icon.cc |
| @@ -37,6 +37,8 @@ CommandType CommandFromString(const std::string& source) { |
| RETURN_IF_IS(CAP_SQUARE); |
| RETURN_IF_IS(MOVE_TO); |
| RETURN_IF_IS(R_MOVE_TO); |
| + RETURN_IF_IS(ARC_TO); |
| + RETURN_IF_IS(R_ARC_TO); |
| RETURN_IF_IS(LINE_TO); |
| RETURN_IF_IS(R_LINE_TO); |
| RETURN_IF_IS(H_LINE_TO); |
| @@ -145,6 +147,38 @@ void PaintPath(Canvas* canvas, |
| break; |
| } |
| + case ARC_TO: { |
| + SkScalar rx = path_elements[++i].arg; |
| + SkScalar ry = path_elements[++i].arg; |
| + SkScalar angle = path_elements[++i].arg; |
| + SkScalar large_arc_flag = path_elements[++i].arg; |
| + SkScalar arc_sweep_flag = path_elements[++i].arg; |
| + SkScalar x = path_elements[++i].arg; |
| + SkScalar y = path_elements[++i].arg; |
| + path.arcTo( |
| + rx, ry, angle, |
| + large_arc_flag ? SkPath::kLarge_ArcSize : SkPath::kSmall_ArcSize, |
| + arc_sweep_flag ? SkPath::kCW_Direction : SkPath::kCCW_Direction, |
|
Evan Stade
2016/06/10 20:42:22
dang this arc thing is a crazy command.
Can we sh
|
| + x, y); |
| + break; |
| + } |
| + |
| + case R_ARC_TO: { |
| + SkScalar rx = path_elements[++i].arg; |
| + SkScalar ry = path_elements[++i].arg; |
| + SkScalar angle = path_elements[++i].arg; |
| + SkScalar large_arc_flag = path_elements[++i].arg; |
| + SkScalar arc_sweep_flag = path_elements[++i].arg; |
| + SkScalar x = path_elements[++i].arg; |
| + SkScalar y = path_elements[++i].arg; |
| + path.rArcTo( |
| + rx, ry, angle, |
| + large_arc_flag ? SkPath::kLarge_ArcSize : SkPath::kSmall_ArcSize, |
| + arc_sweep_flag ? SkPath::kCW_Direction : SkPath::kCCW_Direction, |
| + x, y); |
| + break; |
| + } |
| + |
| case LINE_TO: { |
| SkScalar x = path_elements[++i].arg; |
| SkScalar y = path_elements[++i].arg; |