Index: Source/core/svg/SVGPathTraversalStateBuilder.cpp |
diff --git a/Source/core/svg/SVGPathTraversalStateBuilder.cpp b/Source/core/svg/SVGPathTraversalStateBuilder.cpp |
index 8e6f5cf36948dad2446dd6fd502daf0a8b23624f..d1bfab4bd3941cc025b32590230b5d689863257f 100644 |
--- a/Source/core/svg/SVGPathTraversalStateBuilder.cpp |
+++ b/Source/core/svg/SVGPathTraversalStateBuilder.cpp |
@@ -27,70 +27,56 @@ |
namespace blink { |
-SVGPathTraversalStateBuilder::SVGPathTraversalStateBuilder() |
- : m_traversalState(0) |
+SVGPathTraversalStateBuilder::SVGPathTraversalStateBuilder(PathTraversalState& traversalState, float desiredLength) |
+ : m_traversalState(traversalState) |
{ |
+ m_traversalState.m_desiredLength = desiredLength; |
} |
void SVGPathTraversalStateBuilder::moveTo(const FloatPoint& targetPoint, bool, PathCoordinateMode) |
{ |
- ASSERT(m_traversalState); |
- m_traversalState->m_totalLength += m_traversalState->moveTo(targetPoint); |
+ m_traversalState.m_totalLength += m_traversalState.moveTo(targetPoint); |
} |
void SVGPathTraversalStateBuilder::lineTo(const FloatPoint& targetPoint, PathCoordinateMode) |
{ |
- ASSERT(m_traversalState); |
- m_traversalState->m_totalLength += m_traversalState->lineTo(targetPoint); |
+ m_traversalState.m_totalLength += m_traversalState.lineTo(targetPoint); |
} |
void SVGPathTraversalStateBuilder::curveToCubic(const FloatPoint& point1, const FloatPoint& point2, const FloatPoint& targetPoint, PathCoordinateMode) |
{ |
- ASSERT(m_traversalState); |
- m_traversalState->m_totalLength += m_traversalState->cubicBezierTo(point1, point2, targetPoint); |
+ m_traversalState.m_totalLength += m_traversalState.cubicBezierTo(point1, point2, targetPoint); |
} |
void SVGPathTraversalStateBuilder::closePath() |
{ |
- ASSERT(m_traversalState); |
- m_traversalState->m_totalLength += m_traversalState->closeSubpath(); |
-} |
- |
-void SVGPathTraversalStateBuilder::setDesiredLength(float desiredLength) |
-{ |
- ASSERT(m_traversalState); |
- m_traversalState->m_desiredLength = desiredLength; |
+ m_traversalState.m_totalLength += m_traversalState.closeSubpath(); |
} |
bool SVGPathTraversalStateBuilder::continueConsuming() |
{ |
- ASSERT(m_traversalState); |
- m_traversalState->processSegment(); |
- return !m_traversalState->m_success; |
+ m_traversalState.processSegment(); |
+ return !m_traversalState.m_success; |
} |
void SVGPathTraversalStateBuilder::incrementPathSegmentCount() |
{ |
- ASSERT(m_traversalState); |
- ++m_traversalState->m_segmentIndex; |
+ ++m_traversalState.m_segmentIndex; |
} |
unsigned SVGPathTraversalStateBuilder::pathSegmentIndex() |
{ |
- ASSERT(m_traversalState); |
- return m_traversalState->m_segmentIndex; |
+ return m_traversalState.m_segmentIndex; |
} |
float SVGPathTraversalStateBuilder::totalLength() |
{ |
- ASSERT(m_traversalState); |
- return m_traversalState->m_totalLength; |
+ return m_traversalState.m_totalLength; |
} |
FloatPoint SVGPathTraversalStateBuilder::currentPoint() |
{ |
- ASSERT(m_traversalState); |
- return m_traversalState->m_current; |
+ return m_traversalState.m_current; |
} |
} |