Index: include/core/SkPath.h |
diff --git a/include/core/SkPath.h b/include/core/SkPath.h |
index c5e50d78a9dcd4ee7a45542d113364af43c1dc8f..a010060b24a477c77fea26ba384c500e75c80fcc 100644 |
--- a/include/core/SkPath.h |
+++ b/include/core/SkPath.h |
@@ -236,6 +236,15 @@ public: |
*/ |
bool isLine(SkPoint line[2]) const; |
+ enum Direction { |
+ /** Direction either has not been or could not be computed */ |
+ kUnknown_Direction, |
+ /** clockwise direction for adding closed contours */ |
+ kCW_Direction, |
+ /** counter-clockwise direction for adding closed contours */ |
+ kCCW_Direction, |
+ }; |
+ |
/** Returns true if the path specifies a rectangle. If so, and if rect is |
not null, set rect to the bounds of the path. If the path does not |
specify a rectangle, return false and ignore rect. |
@@ -244,7 +253,36 @@ public: |
a rectangle |
@return true if the path specifies a rectangle |
*/ |
- bool isRect(SkRect* rect) const; |
+ bool isRect(SkRect* rect) const { |
+ return this->isRect(rect, NULL, NULL); |
+ } |
+ |
+ /** |
+ * Returns true if the path specifies a rectangle. |
+ * |
+ * If this returns false, then all output parameters are ignored, and left |
+ * unchanged. If this returns true, then each of the output parameters |
+ * are checked for NULL. If they are not, they return their value. |
+ * |
+ * @param rect If not null, set to the bounds of the rectangle |
+ * @param isClosed If not null, set to true if the path is closed |
+ * @param direction If not null, set to the rectangle's direction |
+ * @return true if the path specifies a rectangle |
+ */ |
+ bool isRect(SkRect* rect, bool* isClosed, Direction* direction) const; |
Stephen Chennney
2013/06/21 17:19:05
Is isClosed implied by a true return value? On oth
reed1
2013/06/21 17:24:03
move line line line line
that path is not closed,
|
+ |
+ /** Returns true if the path specifies a pair of nested rectangles. If so, and if |
+ rect is not null, set rect[0] to the outer rectangle and rect[1] to the inner |
+ rectangle. If so, and dirs is not null, set dirs[0] to the direction of |
+ the outer rectangle and dirs[1] to the direction of the inner rectangle. If |
+ the path does not specify a pair of nested rectangles, return |
+ false and ignore rect and dirs. |
+ |
+ @param rect If not null, returns the path as a pair of nested rectangles |
+ @param dirs If not null, returns the direction of the rects |
+ @return true if the path describes a pair of nested rectangles |
+ */ |
+ bool isNestedRects(SkRect rect[2], Direction dirs[2] = NULL) const; |
/** Return the number of points in the path |
*/ |
@@ -500,15 +538,6 @@ public: |
*/ |
void close(); |
- enum Direction { |
- /** Direction either has not been or could not be computed */ |
- kUnknown_Direction, |
- /** clockwise direction for adding closed contours */ |
- kCW_Direction, |
- /** counter-clockwise direction for adding closed contours */ |
- kCCW_Direction, |
- }; |
- |
/** |
* Return the opposite of the specified direction. kUnknown is its own |
* opposite. |
@@ -573,30 +602,6 @@ public: |
return computedDir == dir; |
} |
- /** Returns true if the path specifies a rectangle. If so, and if isClosed is |
- not null, set isClosed to true if the path is closed. Also, if returning true |
- and direction is not null, return the rect direction. If the path does not |
- specify a rectangle, return false and ignore isClosed and direction. |
- |
- @param isClosed If not null, set to true if the path is closed |
- @param direction If not null, set to the rectangle's direction |
- @return true if the path specifies a rectangle |
- */ |
- bool isRect(bool* isClosed, Direction* direction) const; |
- |
- /** Returns true if the path specifies a pair of nested rectangles. If so, and if |
- rect is not null, set rect[0] to the outer rectangle and rect[1] to the inner |
- rectangle. If so, and dirs is not null, set dirs[0] to the direction of |
- the outer rectangle and dirs[1] to the direction of the inner rectangle. If |
- the path does not specify a pair of nested rectangles, return |
- false and ignore rect and dirs. |
- |
- @param rect If not null, returns the path as a pair of nested rectangles |
- @param dirs If not null, returns the direction of the rects |
- @return true if the path describes a pair of nested rectangles |
- */ |
- bool isNestedRects(SkRect rect[2], Direction dirs[2] = NULL) const; |
- |
/** |
* Add a closed rectangle contour to the path |
* @param rect The rectangle to add as a closed contour to the path |