From d3aa4ff7a564953dff9a15ff03fd42eebf64569f Mon Sep 17 00:00:00 2001 From: "reed@android.com" Date: Tue, 9 Feb 2010 16:38:45 +0000 Subject: [PATCH] add countPoints() and getPoint() git-svn-id: http://skia.googlecode.com/svn/trunk@494 2bbb7eff-a529-9590-31e7-b0007b416f81 --- include/core/SkPath.h | 12 ++++++++++++ src/core/SkPath.cpp | 7 +++++++ 2 files changed, 19 insertions(+) diff --git a/include/core/SkPath.h b/include/core/SkPath.h index ecdfd1a..3afea09 100644 --- a/include/core/SkPath.h +++ b/include/core/SkPath.h @@ -123,6 +123,18 @@ public: */ bool isRect(SkRect* rect) const; + /** Return the number of points in the path + */ + int countPoints() const { + return this->getPoints(NULL, 0); + } + + /** Return the point at the specified index. If the index is out of range + (i.e. is not 0 <= index < countPoints()) then the returned coordinates + will be (0,0) + */ + SkPoint getPoint(int index) const; + /** Returns the number of points in the path. Up to max points are copied. @param points If not null, receives up to max points diff --git a/src/core/SkPath.cpp b/src/core/SkPath.cpp index 1c77107..2308ec6 100644 --- a/src/core/SkPath.cpp +++ b/src/core/SkPath.cpp @@ -184,6 +184,13 @@ int SkPath::getPoints(SkPoint copy[], int max) const { return count; } +SkPoint SkPath::getPoint(int index) const { + if ((unsigned)index < (unsigned)fPts.count()) { + return fPts[index]; + } + return SkPoint::Make(0, 0); +} + void SkPath::getLastPt(SkPoint* lastPt) const { SkDEBUGCODE(this->validate();) -- 2.7.4