diff options
author | Mike Reed <reed@google.com> | 2018-02-20 13:57:05 -0500 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2018-02-20 19:33:53 +0000 |
commit | 0c3137c4f45ffbf09a41526e5eb96e12cc6f35ae (patch) | |
tree | 31f5d59a6fac15770f513576e4c63d01891a54ec /docs | |
parent | c320b1576850745a1011ada0bcef3de5f9b9f649 (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')
-rw-r--r-- | docs/SkPath_Reference.bmh | 87 |
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); } ## |