Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(614)

Side by Side Diff: Source/core/svg/SVGPathSegListBuilder.cpp

Issue 456763002: Get rid of SVGPathSegRole (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « Source/core/svg/SVGPathSegListBuilder.h ('k') | Source/core/svg/SVGPathSegMovetoAbs.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2002, 2003 The Karbon Developers 2 * Copyright (C) 2002, 2003 The Karbon Developers
3 * Copyright (C) 2006 Alexander Kellett <lypanov@kde.org> 3 * Copyright (C) 2006 Alexander Kellett <lypanov@kde.org>
4 * Copyright (C) 2006, 2007 Rob Buis <buis@kde.org> 4 * Copyright (C) 2006, 2007 Rob Buis <buis@kde.org>
5 * Copyright (C) 2007, 2009 Apple Inc. All rights reserved. 5 * Copyright (C) 2007, 2009 Apple Inc. All rights reserved.
6 * Copyright (C) Research In Motion Limited 2010. All rights reserved. 6 * Copyright (C) Research In Motion Limited 2010. All rights reserved.
7 * 7 *
8 * This library is free software; you can redistribute it and/or 8 * This library is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Library General Public 9 * modify it under the terms of the GNU Library General Public
10 * License as published by the Free Software Foundation; either 10 * License as published by the Free Software Foundation; either
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
45 #include "core/svg/SVGPathSegLinetoVerticalAbs.h" 45 #include "core/svg/SVGPathSegLinetoVerticalAbs.h"
46 #include "core/svg/SVGPathSegLinetoVerticalRel.h" 46 #include "core/svg/SVGPathSegLinetoVerticalRel.h"
47 #include "core/svg/SVGPathSegMovetoAbs.h" 47 #include "core/svg/SVGPathSegMovetoAbs.h"
48 #include "core/svg/SVGPathSegMovetoRel.h" 48 #include "core/svg/SVGPathSegMovetoRel.h"
49 49
50 namespace blink { 50 namespace blink {
51 51
52 SVGPathSegListBuilder::SVGPathSegListBuilder() 52 SVGPathSegListBuilder::SVGPathSegListBuilder()
53 : m_pathElement(0) 53 : m_pathElement(0)
54 , m_pathSegList(nullptr) 54 , m_pathSegList(nullptr)
55 , m_pathSegRole(PathSegUndefinedRole)
56 { 55 {
57 } 56 }
58 57
59 void SVGPathSegListBuilder::moveTo(const FloatPoint& targetPoint, bool, PathCoor dinateMode mode) 58 void SVGPathSegListBuilder::moveTo(const FloatPoint& targetPoint, bool, PathCoor dinateMode mode)
60 { 59 {
61 ASSERT(m_pathElement); 60 ASSERT(m_pathElement);
62 ASSERT(m_pathSegList); 61 ASSERT(m_pathSegList);
63 if (mode == AbsoluteCoordinates) 62 if (mode == AbsoluteCoordinates)
64 m_pathSegList->appendWithoutByteStreamSync(SVGPathSegMovetoAbs::create(m _pathElement, m_pathSegRole, targetPoint.x(), targetPoint.y())); 63 m_pathSegList->appendWithoutByteStreamSync(SVGPathSegMovetoAbs::create(m _pathElement, targetPoint.x(), targetPoint.y()));
65 else 64 else
66 m_pathSegList->appendWithoutByteStreamSync(SVGPathSegMovetoRel::create(m _pathElement, m_pathSegRole, targetPoint.x(), targetPoint.y())); 65 m_pathSegList->appendWithoutByteStreamSync(SVGPathSegMovetoRel::create(m _pathElement, targetPoint.x(), targetPoint.y()));
67 } 66 }
68 67
69 void SVGPathSegListBuilder::lineTo(const FloatPoint& targetPoint, PathCoordinate Mode mode) 68 void SVGPathSegListBuilder::lineTo(const FloatPoint& targetPoint, PathCoordinate Mode mode)
70 { 69 {
71 ASSERT(m_pathElement); 70 ASSERT(m_pathElement);
72 ASSERT(m_pathSegList); 71 ASSERT(m_pathSegList);
73 if (mode == AbsoluteCoordinates) 72 if (mode == AbsoluteCoordinates)
74 m_pathSegList->appendWithoutByteStreamSync(SVGPathSegLinetoAbs::create(m _pathElement, m_pathSegRole, targetPoint.x(), targetPoint.y())); 73 m_pathSegList->appendWithoutByteStreamSync(SVGPathSegLinetoAbs::create(m _pathElement, targetPoint.x(), targetPoint.y()));
75 else 74 else
76 m_pathSegList->appendWithoutByteStreamSync(SVGPathSegLinetoRel::create(m _pathElement, m_pathSegRole, targetPoint.x(), targetPoint.y())); 75 m_pathSegList->appendWithoutByteStreamSync(SVGPathSegLinetoRel::create(m _pathElement, targetPoint.x(), targetPoint.y()));
77 } 76 }
78 77
79 void SVGPathSegListBuilder::lineToHorizontal(float x, PathCoordinateMode mode) 78 void SVGPathSegListBuilder::lineToHorizontal(float x, PathCoordinateMode mode)
80 { 79 {
81 ASSERT(m_pathElement); 80 ASSERT(m_pathElement);
82 ASSERT(m_pathSegList); 81 ASSERT(m_pathSegList);
83 if (mode == AbsoluteCoordinates) 82 if (mode == AbsoluteCoordinates)
84 m_pathSegList->appendWithoutByteStreamSync(SVGPathSegLinetoHorizontalAbs ::create(m_pathElement, m_pathSegRole, x)); 83 m_pathSegList->appendWithoutByteStreamSync(SVGPathSegLinetoHorizontalAbs ::create(m_pathElement, x));
85 else 84 else
86 m_pathSegList->appendWithoutByteStreamSync(SVGPathSegLinetoHorizontalRel ::create(m_pathElement, m_pathSegRole, x)); 85 m_pathSegList->appendWithoutByteStreamSync(SVGPathSegLinetoHorizontalRel ::create(m_pathElement, x));
87 } 86 }
88 87
89 void SVGPathSegListBuilder::lineToVertical(float y, PathCoordinateMode mode) 88 void SVGPathSegListBuilder::lineToVertical(float y, PathCoordinateMode mode)
90 { 89 {
91 ASSERT(m_pathElement); 90 ASSERT(m_pathElement);
92 ASSERT(m_pathSegList); 91 ASSERT(m_pathSegList);
93 if (mode == AbsoluteCoordinates) 92 if (mode == AbsoluteCoordinates)
94 m_pathSegList->appendWithoutByteStreamSync(SVGPathSegLinetoVerticalAbs:: create(m_pathElement, m_pathSegRole, y)); 93 m_pathSegList->appendWithoutByteStreamSync(SVGPathSegLinetoVerticalAbs:: create(m_pathElement, y));
95 else 94 else
96 m_pathSegList->appendWithoutByteStreamSync(SVGPathSegLinetoVerticalRel:: create(m_pathElement, m_pathSegRole, y)); 95 m_pathSegList->appendWithoutByteStreamSync(SVGPathSegLinetoVerticalRel:: create(m_pathElement, y));
97 } 96 }
98 97
99 void SVGPathSegListBuilder::curveToCubic(const FloatPoint& point1, const FloatPo int& point2, const FloatPoint& targetPoint, PathCoordinateMode mode) 98 void SVGPathSegListBuilder::curveToCubic(const FloatPoint& point1, const FloatPo int& point2, const FloatPoint& targetPoint, PathCoordinateMode mode)
100 { 99 {
101 ASSERT(m_pathElement); 100 ASSERT(m_pathElement);
102 ASSERT(m_pathSegList); 101 ASSERT(m_pathSegList);
103 if (mode == AbsoluteCoordinates) 102 if (mode == AbsoluteCoordinates)
104 m_pathSegList->appendWithoutByteStreamSync(SVGPathSegCurvetoCubicAbs::cr eate(m_pathElement, m_pathSegRole, targetPoint.x(), targetPoint.y(), point1.x(), point1.y(), point2.x(), point2.y())); 103 m_pathSegList->appendWithoutByteStreamSync(SVGPathSegCurvetoCubicAbs::cr eate(m_pathElement, targetPoint.x(), targetPoint.y(), point1.x(), point1.y(), po int2.x(), point2.y()));
105 else 104 else
106 m_pathSegList->appendWithoutByteStreamSync(SVGPathSegCurvetoCubicRel::cr eate(m_pathElement, m_pathSegRole, targetPoint.x(), targetPoint.y(), point1.x(), point1.y(), point2.x(), point2.y())); 105 m_pathSegList->appendWithoutByteStreamSync(SVGPathSegCurvetoCubicRel::cr eate(m_pathElement, targetPoint.x(), targetPoint.y(), point1.x(), point1.y(), po int2.x(), point2.y()));
107 } 106 }
108 107
109 void SVGPathSegListBuilder::curveToCubicSmooth(const FloatPoint& point2, const F loatPoint& targetPoint, PathCoordinateMode mode) 108 void SVGPathSegListBuilder::curveToCubicSmooth(const FloatPoint& point2, const F loatPoint& targetPoint, PathCoordinateMode mode)
110 { 109 {
111 ASSERT(m_pathElement); 110 ASSERT(m_pathElement);
112 ASSERT(m_pathSegList); 111 ASSERT(m_pathSegList);
113 if (mode == AbsoluteCoordinates) 112 if (mode == AbsoluteCoordinates)
114 m_pathSegList->appendWithoutByteStreamSync(SVGPathSegCurvetoCubicSmoothA bs::create(m_pathElement, m_pathSegRole, targetPoint.x(), targetPoint.y(), point 2.x(), point2.y())); 113 m_pathSegList->appendWithoutByteStreamSync(SVGPathSegCurvetoCubicSmoothA bs::create(m_pathElement, targetPoint.x(), targetPoint.y(), point2.x(), point2.y ()));
115 else 114 else
116 m_pathSegList->appendWithoutByteStreamSync(SVGPathSegCurvetoCubicSmoothR el::create(m_pathElement, m_pathSegRole, targetPoint.x(), targetPoint.y(), point 2.x(), point2.y())); 115 m_pathSegList->appendWithoutByteStreamSync(SVGPathSegCurvetoCubicSmoothR el::create(m_pathElement, targetPoint.x(), targetPoint.y(), point2.x(), point2.y ()));
117 } 116 }
118 117
119 void SVGPathSegListBuilder::curveToQuadratic(const FloatPoint& point1, const Flo atPoint& targetPoint, PathCoordinateMode mode) 118 void SVGPathSegListBuilder::curveToQuadratic(const FloatPoint& point1, const Flo atPoint& targetPoint, PathCoordinateMode mode)
120 { 119 {
121 ASSERT(m_pathElement); 120 ASSERT(m_pathElement);
122 ASSERT(m_pathSegList); 121 ASSERT(m_pathSegList);
123 if (mode == AbsoluteCoordinates) 122 if (mode == AbsoluteCoordinates)
124 m_pathSegList->appendWithoutByteStreamSync(SVGPathSegCurvetoQuadraticAbs ::create(m_pathElement, m_pathSegRole, targetPoint.x(), targetPoint.y(), point1. x(), point1.y())); 123 m_pathSegList->appendWithoutByteStreamSync(SVGPathSegCurvetoQuadraticAbs ::create(m_pathElement, targetPoint.x(), targetPoint.y(), point1.x(), point1.y() ));
125 else 124 else
126 m_pathSegList->appendWithoutByteStreamSync(SVGPathSegCurvetoQuadraticRel ::create(m_pathElement, m_pathSegRole, targetPoint.x(), targetPoint.y(), point1. x(), point1.y())); 125 m_pathSegList->appendWithoutByteStreamSync(SVGPathSegCurvetoQuadraticRel ::create(m_pathElement, targetPoint.x(), targetPoint.y(), point1.x(), point1.y() ));
127 } 126 }
128 127
129 void SVGPathSegListBuilder::curveToQuadraticSmooth(const FloatPoint& targetPoint , PathCoordinateMode mode) 128 void SVGPathSegListBuilder::curveToQuadraticSmooth(const FloatPoint& targetPoint , PathCoordinateMode mode)
130 { 129 {
131 ASSERT(m_pathElement); 130 ASSERT(m_pathElement);
132 ASSERT(m_pathSegList); 131 ASSERT(m_pathSegList);
133 if (mode == AbsoluteCoordinates) 132 if (mode == AbsoluteCoordinates)
134 m_pathSegList->appendWithoutByteStreamSync(SVGPathSegCurvetoQuadraticSmo othAbs::create(m_pathElement, m_pathSegRole, targetPoint.x(), targetPoint.y())); 133 m_pathSegList->appendWithoutByteStreamSync(SVGPathSegCurvetoQuadraticSmo othAbs::create(m_pathElement, targetPoint.x(), targetPoint.y()));
135 else 134 else
136 m_pathSegList->appendWithoutByteStreamSync(SVGPathSegCurvetoQuadraticSmo othRel::create(m_pathElement, m_pathSegRole, targetPoint.x(), targetPoint.y())); 135 m_pathSegList->appendWithoutByteStreamSync(SVGPathSegCurvetoQuadraticSmo othRel::create(m_pathElement, targetPoint.x(), targetPoint.y()));
137 } 136 }
138 137
139 void SVGPathSegListBuilder::arcTo(float r1, float r2, float angle, bool largeArc Flag, bool sweepFlag, const FloatPoint& targetPoint, PathCoordinateMode mode) 138 void SVGPathSegListBuilder::arcTo(float r1, float r2, float angle, bool largeArc Flag, bool sweepFlag, const FloatPoint& targetPoint, PathCoordinateMode mode)
140 { 139 {
141 ASSERT(m_pathElement); 140 ASSERT(m_pathElement);
142 ASSERT(m_pathSegList); 141 ASSERT(m_pathSegList);
143 if (mode == AbsoluteCoordinates) 142 if (mode == AbsoluteCoordinates)
144 m_pathSegList->appendWithoutByteStreamSync(SVGPathSegArcAbs::create(m_pa thElement, m_pathSegRole, targetPoint.x(), targetPoint.y(), r1, r2, angle, large ArcFlag, sweepFlag)); 143 m_pathSegList->appendWithoutByteStreamSync(SVGPathSegArcAbs::create(m_pa thElement, targetPoint.x(), targetPoint.y(), r1, r2, angle, largeArcFlag, sweepF lag));
145 else 144 else
146 m_pathSegList->appendWithoutByteStreamSync(SVGPathSegArcRel::create(m_pa thElement, m_pathSegRole, targetPoint.x(), targetPoint.y(), r1, r2, angle, large ArcFlag, sweepFlag)); 145 m_pathSegList->appendWithoutByteStreamSync(SVGPathSegArcRel::create(m_pa thElement, targetPoint.x(), targetPoint.y(), r1, r2, angle, largeArcFlag, sweepF lag));
147 } 146 }
148 147
149 void SVGPathSegListBuilder::closePath() 148 void SVGPathSegListBuilder::closePath()
150 { 149 {
151 ASSERT(m_pathElement); 150 ASSERT(m_pathElement);
152 ASSERT(m_pathSegList); 151 ASSERT(m_pathSegList);
153 m_pathSegList->appendWithoutByteStreamSync(SVGPathSegClosePath::create(m_pat hElement, m_pathSegRole)); 152 m_pathSegList->appendWithoutByteStreamSync(SVGPathSegClosePath::create(m_pat hElement));
154 } 153 }
155 154
156 } 155 }
OLDNEW
« no previous file with comments | « Source/core/svg/SVGPathSegListBuilder.h ('k') | Source/core/svg/SVGPathSegMovetoAbs.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698