diff options
author | schenney@chromium.org <schenney@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2012-01-04 21:05:51 +0000 |
---|---|---|
committer | schenney@chromium.org <schenney@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2012-01-04 21:05:51 +0000 |
commit | 6630d8d8ea7a897a18e3d950bab9fa40f065804a (patch) | |
tree | ca6f155b195359afd5691e1dde70c60010d0a822 /gm/degeneratesegments.cpp | |
parent | c6f2e7da31d60e48a420b6de520361d966ea278d (diff) |
Add the ability to iterate through a path without modification. This change is
required by WebKit SVG in order to correctly draw markers and endcaps.
BUG=415
TEST=TestPath in the unit tests
Review URL: http://codereview.appspot.com/5505097
git-svn-id: http://skia.googlecode.com/svn/trunk@2962 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'gm/degeneratesegments.cpp')
-rw-r--r-- | gm/degeneratesegments.cpp | 96 |
1 files changed, 48 insertions, 48 deletions
diff --git a/gm/degeneratesegments.cpp b/gm/degeneratesegments.cpp index 99dd4add61..63d9dba651 100644 --- a/gm/degeneratesegments.cpp +++ b/gm/degeneratesegments.cpp @@ -31,8 +31,8 @@ protected: typedef SkPoint (*AddSegmentFunc)(SkPath&, SkPoint&); // We need to use explicit commands here, instead of addPath, because we - // do not want the SkPath::Iter used in addPath to remove the degenerate - // segments before we send th epath off for drawing. + // do not want the moveTo that is added at the beginning of a path to + // appear in the appended path. static SkPoint AddMove(SkPath& path, SkPoint& startPt) { SkPoint moveToPt = startPt + SkPoint::Make(0, 10*SK_Scalar1); path.moveTo(moveToPt); @@ -207,52 +207,52 @@ protected: } virtual void onDraw(SkCanvas* canvas) { - static const AddSegmentFunc gSegmentFunctions[] = { - AddMove, - AddMoveClose, - AddDegenLine, - AddMoveDegenLine, - AddMoveDegenLineClose, - AddDegenQuad, - AddMoveDegenQuad, - AddMoveDegenQuadClose, - AddDegenCubic, - AddMoveDegenCubic, - AddMoveDegenCubicClose, - AddClose, - AddLine, - AddMoveLine, - AddMoveLineClose, - AddQuad, - AddMoveQuad, - AddMoveQuadClose, - AddCubic, - AddMoveCubic, - AddMoveCubicClose - }; - static const char* gSegmentNames[] = { - "Move", - "MoveClose", - "DegenLine", - "MoveDegenLine", - "MoveDegenLineClose", - "DegenQuad", - "MoveDegenQuad", - "MoveDegenQuadClose", - "DegenCubic", - "MoveDegenCubic", - "MoveDegenCubicClose", - "Close", - "Line", - "MoveLine", - "MoveLineClose", - "Quad", - "MoveQuad", - "MoveQuadClose", - "Cubic", - "MoveCubic", - "MoveCubicClose" - }; + static const AddSegmentFunc gSegmentFunctions[] = { + AddMove, + AddMoveClose, + AddDegenLine, + AddMoveDegenLine, + AddMoveDegenLineClose, + AddDegenQuad, + AddMoveDegenQuad, + AddMoveDegenQuadClose, + AddDegenCubic, + AddMoveDegenCubic, + AddMoveDegenCubicClose, + AddClose, + AddLine, + AddMoveLine, + AddMoveLineClose, + AddQuad, + AddMoveQuad, + AddMoveQuadClose, + AddCubic, + AddMoveCubic, + AddMoveCubicClose + }; + static const char* gSegmentNames[] = { + "Move", + "MoveClose", + "DegenLine", + "MoveDegenLine", + "MoveDegenLineClose", + "DegenQuad", + "MoveDegenQuad", + "MoveDegenQuadClose", + "DegenCubic", + "MoveDegenCubic", + "MoveDegenCubicClose", + "Close", + "Line", + "MoveLine", + "MoveLineClose", + "Quad", + "MoveQuad", + "MoveQuadClose", + "Cubic", + "MoveCubic", + "MoveCubicClose" + }; struct FillAndName { SkPath::FillType fFill; |