aboutsummaryrefslogtreecommitdiffhomepage
path: root/docs/SkPath_Reference.bmh
diff options
context:
space:
mode:
authorGravatar Mike Reed <reed@google.com>2018-02-20 13:57:05 -0500
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2018-02-20 19:33:53 +0000
commit0c3137c4f45ffbf09a41526e5eb96e12cc6f35ae (patch)
tree31f5d59a6fac15770f513576e4c63d01891a54ec /docs/SkPath_Reference.bmh
parentc320b1576850745a1011ada0bcef3de5f9b9f649 (diff)
hide complex versions of isOval and isRRect
Bug: skia: Change-Id: I9fa899d409470f424fdfbef5b0c3bb528bcce40e Reviewed-on: https://skia-review.googlesource.com/108660 Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
Diffstat (limited to 'docs/SkPath_Reference.bmh')
-rw-r--r--docs/SkPath_Reference.bmh87
1 files changed, 21 insertions, 66 deletions
diff --git a/docs/SkPath_Reference.bmh b/docs/SkPath_Reference.bmh
index a0166802cd..a473e9f1a4 100644
--- a/docs/SkPath_Reference.bmh
+++ b/docs/SkPath_Reference.bmh
@@ -1137,54 +1137,32 @@ Use setConvexity.
# ------------------------------------------------------------------------------
-#Method bool isOval(SkRect* rect, Direction* dir = nullptr,
- unsigned* start = nullptr) const
+#Method bool isOval(SkRect* bounds) const
#In Property
#Line # returns if describes Oval ##
-Returns true if constructed by addCircle, addOval; and in some cases,
-addRoundRect, addRRect. Path constructed with conicTo or rConicTo will not
-return true though Path draws Oval.
+Returns true if this path is recognized as an oval or circle.
-rect receives bounds of Oval.
-dir receives Direction of Oval: kCW_Direction if clockwise, kCCW_Direction if
-counterclockwise.
-start receives start of Oval: 0 for top, 1 for right, 2 for bottom, 3 for left.
+bounds receives bounds of Oval.
-rect, dir, and start are unmodified if Oval is not found.
+bounds is unmodified if Oval is not found.
-Triggers performance optimizations on some GPU_Surface implementations.
+#Param bounds storage for bounding Rect of Oval; may be nullptr ##
-#Param rect storage for bounding Rect of Oval; may be nullptr ##
-#Param dir storage for Direction; may be nullptr ##
-#Param start storage for start of Oval; may be nullptr ##
-
-#Return true if Path was constructed by method that reduces to Oval ##
+#Return true if Path is recognized as an oval or circle ##
#Example
void draw(SkCanvas* canvas) {
SkPaint paint;
SkPath path;
- path.addOval({20, 20, 220, 220}, SkPath::kCW_Direction, 1);
+ path.addOval({20, 20, 220, 220});
SkRect bounds;
- SkPath::Direction direction;
- unsigned start;
- path.isOval(&bounds, &direction, &start);
- paint.setColor(0xFF9FBFFF);
- canvas->drawRect(bounds, paint);
+ if (path.isOval(&bounds)) {
+ paint.setColor(0xFF9FBFFF);
+ canvas->drawRect(bounds, paint);
+ }
paint.setColor(0x3f000000);
canvas->drawPath(path, paint);
- paint.setColor(SK_ColorBLACK);
- canvas->rotate(start * 90, bounds.centerX(), bounds.centerY());
- char startText = '0' + start;
- paint.setTextSize(20);
- canvas->drawText(&startText, 1, bounds.centerX(), bounds.fTop + 20, paint);
- paint.setStyle(SkPaint::kStroke_Style);
- paint.setStrokeWidth(4);
- path.reset();
- path.addArc(bounds, -90, SkPath::kCW_Direction == direction ? 90 : -90);
- path.rLineTo(20, -20);
- canvas->drawPath(path, paint);
}
##
@@ -1194,59 +1172,36 @@ void draw(SkCanvas* canvas) {
# ------------------------------------------------------------------------------
-#Method bool isRRect(SkRRect* rrect, Direction* dir = nullptr,
- unsigned* start = nullptr) const
+#Method bool isRRect(SkRRect* rrect) const
#In Property
#Line # returns if describes Round_Rect ##
-Returns true if constructed by addRoundRect, addRRect; and if construction
-is not empty, not Rect, and not Oval. Path constructed with other calls
-will not return true though Path draws Round_Rect.
+Returns true if this path is recognized as a SkRRect (but not an oval/circle or rect).
rrect receives bounds of Round_Rect.
-dir receives Direction of Oval: kCW_Direction if clockwise, kCCW_Direction if
-counterclockwise.
-start receives start of Round_Rect: 0 for top, 1 for right, 2 for bottom, 3 for left.
-rrect, dir, and start are unmodified if Round_Rect is not found.
-
-Triggers performance optimizations on some GPU_Surface implementations.
+rrect is unmodified if Round_Rect is not found.
#Param rrect storage for bounding Rect of Round_Rect; may be nullptr ##
-#Param dir storage for Direction; may be nullptr ##
-#Param start storage for start of Round_Rect; may be nullptr ##
#Return true if Path contains only Round_Rect ##
#Example
#Description
-Draw rounded rectangle and its bounds. Draw an arc indicating where the rounded
-rectangle starts and its direction.
+Draw rounded rectangle and its bounds.
##
void draw(SkCanvas* canvas) {
SkPaint paint;
SkPath path;
- path.addRRect(SkRRect::MakeRectXY({20, 20, 220, 220}, 30, 50), SkPath::kCCW_Direction, 3);
+ path.addRRect(SkRRect::MakeRectXY({20, 20, 220, 220}, 30, 50));
SkRRect rrect;
- SkPath::Direction direction;
- unsigned start;
- path.isRRect(&rrect, &direction, &start);
- const SkRect& bounds = rrect.rect();
- paint.setColor(0xFF9FBFFF);
- canvas->drawRect(bounds, paint);
+ if (path.isRRect(&rrect)) {
+ const SkRect& bounds = rrect.rect();
+ paint.setColor(0xFF9FBFFF);
+ canvas->drawRect(bounds, paint);
+ }
paint.setColor(0x3f000000);
canvas->drawPath(path, paint);
- paint.setColor(SK_ColorBLACK);
- canvas->rotate(start * 90, bounds.centerX(), bounds.centerY());
- char startText = '0' + start;
- paint.setTextSize(20);
- canvas->drawText(&startText, 1, bounds.centerX(), bounds.fTop + 20, paint);
- paint.setStyle(SkPaint::kStroke_Style);
- paint.setStrokeWidth(4);
- path.reset();
- path.addArc(bounds, -90, SkPath::kCW_Direction == direction ? 90 : -90);
- path.rLineTo(20, -20);
- canvas->drawPath(path, paint);
}
##