aboutsummaryrefslogtreecommitdiffhomepage
path: root/docs/SkRect_Reference.bmh
diff options
context:
space:
mode:
Diffstat (limited to 'docs/SkRect_Reference.bmh')
-rw-r--r--docs/SkRect_Reference.bmh668
1 files changed, 418 insertions, 250 deletions
diff --git a/docs/SkRect_Reference.bmh b/docs/SkRect_Reference.bmh
index 0df650b668..fd223d1f01 100644
--- a/docs/SkRect_Reference.bmh
+++ b/docs/SkRect_Reference.bmh
@@ -2,6 +2,23 @@
#Alias Rects
#Alias Rect_Reference
+#Topic Overview
+
+#Subtopic Subtopics
+#Table
+#Legend
+# name # description ##
+#Legend ##
+# Constructors # functions that construct SkRect ##
+# Member_Functions # static functions and member methods ##
+# Members # member values ##
+# Operators # operator overloading methods ##
+# Related_Functions # similar methods grouped together ##
+#Table ##
+##
+
+#Topic Overview ##
+
#Struct SkRect
SkRect holds four SkScalar coordinates describing the upper and
@@ -14,48 +31,20 @@ its top, it is considered empty.
SkRect can be constructed from int values to avoid compiler warnings that
integer input cannot convert to SkScalar without loss of precision.
-#Topic Overview
-
-#Subtopic Subtopics
-#ToDo manually add subtopics ##
-#Table
-#Legend
-# topics # description ##
-#Legend ##
-# Constructors # functions that construct SkPath ##
-# Member_Functions # static functions and member methods ##
-# Operators # operator overloading methods ##
-#Table ##
-##
-
-#Subtopic Constructors
+#Subtopic Related_Functions
#Table
#Legend
-# name # description ##
+# name # description ##
#Legend ##
-# Make # constructs from ISize returning (0, 0, width, height) ##
-# MakeEmpty # constructs from bounds of (0, 0, 0, 0) ##
-# MakeFromIRect # deprecated ##
-# MakeIWH # constructs from int input returning (0, 0, width, height) ##
-# MakeLTRB # constructs from SkScalar left, top, right, bottom ##
-# MakeLargest # deprecated ##
-# MakeSize # constructs from Size returning (0, 0, width, height) ##
-# MakeWH # constructs from SkScalar input returning (0, 0, width, height) ##
-# MakeXYWH # constructs from SkScalar input returning (x, y, width, height) ##
-# makeInset # constructs from sides moved symmetrically about the center ##
-# makeOffset # constructs from translated sides ##
-# makeOutset # constructs from sides moved symmetrically about the center ##
-# makeSorted # constructs, ordering sides from smaller to larger ##
-#Table ##
-#Subtopic ##
-
-#Subtopic Operators
-#Table
-#Legend
-# description # function ##
-#Legend ##
-# bool operator!=(const SkRect& a, const SkRect& b) # returns true if members are unequal ##
-# bool operator==(const SkRect& a, const SkRect& b) # returns true if members are equal ##
+# As_Points # conversion to and from Points ##
+# From_Integers # set Scalar values from integer input ##
+# Inset_Outset_Offset # moves sides ##
+# Intersection # set to shared bounds ##
+# Join # set to union of bounds ##
+# Properties # side values, center, validity ##
+# Rounding # adjust to integer bounds ##
+# Set # replaces all values ##
+# Sorting # orders sides ##
#Table ##
#Subtopic ##
@@ -121,7 +110,7 @@ integer input cannot convert to SkScalar without loss of precision.
#Table ##
#Subtopic ##
-#Topic ##
+#Subtopic Members
#Member SkScalar fLeft
May contain any value, including infinities and NaN. The smaller of the
@@ -143,6 +132,28 @@ May contain any value, including infinities and NaN. The larger of the
vertical values when sorted. When equal to or less than fTop, Rect is empty.
##
+#Subtopic Members ##
+
+#Subtopic Constructors
+#Table
+#Legend
+# name # description ##
+#Legend ##
+# Make # constructs from ISize returning (0, 0, width, height) ##
+# MakeEmpty # constructs from bounds of (0, 0, 0, 0) ##
+# MakeFromIRect # deprecated ##
+# MakeIWH # constructs from int input returning (0, 0, width, height) ##
+# MakeLTRB # constructs from SkScalar left, top, right, bottom ##
+# MakeLargest # deprecated ##
+# MakeSize # constructs from Size returning (0, 0, width, height) ##
+# MakeWH # constructs from SkScalar input returning (0, 0, width, height) ##
+# MakeXYWH # constructs from SkScalar input returning (x, y, width, height) ##
+# makeInset # constructs from sides moved symmetrically about the center ##
+# makeOffset # constructs from translated sides ##
+# makeOutset # constructs from sides moved symmetrically about the center ##
+# makeSorted # constructs, ordering sides from smaller to larger ##
+#Table ##
+
# ------------------------------------------------------------------------------
#Method static constexpr SkRect SK_WARN_UNUSED_RESULT MakeEmpty()
@@ -402,6 +413,29 @@ than fBottom.
##
+#Subtopic Constructors ##
+
+#Subtopic Properties
+
+#Table
+#Legend
+# name # description ##
+#Legend ##
+# bottom() # returns larger bounds in y, if sorted ##
+# centerX # returns midpoint in x ##
+# centerY # returns midpoint in y ##
+# height() # returns span in y ##
+# isEmpty # returns true if width or height are zero or negative ##
+# isFinite # returns true if no member is infinite or NaN ##
+# isSorted # returns true if width or height are zero or positive ##
+# left() # returns smaller bounds in x, if sorted ##
+# right() # returns larger bounds in x, if sorted ##
+# top() # returns smaller bounds in y, if sorted ##
+# width() # returns span in x ##
+# x() # returns bounds left ##
+# y() # returns bounds top ##
+#Table ##
+
# ------------------------------------------------------------------------------
#Method bool isEmpty() const
@@ -738,6 +772,18 @@ left: 2e+38 right: 3e+38 centerX: inf safe mid x: 2.5e+38
##
+#Subtopic Properties ##
+
+#Subtopic Operators
+
+#Table
+#Legend
+# name # description ##
+#Legend ##
+# bool operator!=(const SkRect& a, const SkRect& b) # returns true if members are unequal ##
+# bool operator==(const SkRect& a, const SkRect& b) # returns true if members are equal ##
+#Table ##
+
# ------------------------------------------------------------------------------
#Method bool operator==(const SkRect& a, const SkRect& b)
@@ -808,6 +854,19 @@ test with NaN is not equal to itself
##
+#Subtopic Operators ##
+
+#Subtopic As_Points
+
+#Table
+#Legend
+# name # description ##
+#Legend ##
+# setBounds # sets to upper and lower limits of Point array ##
+# setBoundsCheck # sets to upper and lower limits of Point array ##
+# toQuad # returns four corners as Point ##
+#Table ##
+
# ------------------------------------------------------------------------------
#Method void toQuad(SkPoint quad[4]) const
@@ -843,6 +902,108 @@ corners: {1, 2} {3, 2} {3, 4} {1, 4}
# ------------------------------------------------------------------------------
+#Method void setBounds(const SkPoint pts[], int count)
+
+Sets to bounds of Point array with count entries. If count is zero or smaller,
+or if Point array contains an infinity or NaN, sets to (0, 0, 0, 0).
+
+Result is either empty or sorted: fLeft is less than or equal to fRight, and
+fTop is less than or equal to fBottom.
+
+#Param pts Point array ##
+#Param count entries in array ##
+
+#Example
+ SkPoint points[] = {{3, 4}, {1, 2}, {5, 6}, {SK_ScalarNaN, 8}};
+ for (int count = 0; count <= (int) SK_ARRAY_COUNT(points); ++count) {
+ SkRect rect;
+ rect.setBounds(points, count);
+ if (count > 0) {
+ SkDebugf("added: %3g, %g ", points[count - 1].fX, points[count - 1].fY);
+ } else {
+ SkDebugf("%14s", " ");
+ }
+ SkDebugf("count: %d rect: %g, %g, %g, %g\n", count,
+ rect.fLeft, rect.fTop, rect.fRight, rect.fBottom);
+ }
+#StdOut
+ count: 0 rect: 0, 0, 0, 0
+added: 3, 4 count: 1 rect: 3, 4, 3, 4
+added: 1, 2 count: 2 rect: 1, 2, 3, 4
+added: 5, 6 count: 3 rect: 1, 2, 5, 6
+added: nan, 8 count: 4 rect: 0, 0, 0, 0
+##
+##
+
+#SeeAlso set setBoundsCheck SkPath::addPoly
+
+##
+
+# ------------------------------------------------------------------------------
+
+#Method bool setBoundsCheck(const SkPoint pts[], int count)
+
+Sets to bounds of Point array with count entries. Returns false if count is
+zero or smaller, or if Point array contains an infinity or NaN; in these cases
+sets Rect to (0, 0, 0, 0).
+
+Result is either empty or sorted: fLeft is less than or equal to fRight, and
+fTop is less than or equal to fBottom.
+
+#Param pts Point array ##
+#Param count entries in array ##
+
+#Return true if all Point values are finite ##
+
+#Example
+ SkPoint points[] = {{3, 4}, {1, 2}, {5, 6}, {SK_ScalarNaN, 8}};
+ for (int count = 0; count <= (int) SK_ARRAY_COUNT(points); ++count) {
+ SkRect rect;
+ bool success = rect.setBoundsCheck(points, count);
+ if (count > 0) {
+ SkDebugf("added: %3g, %g ", points[count - 1].fX, points[count - 1].fY);
+ } else {
+ SkDebugf("%14s", " ");
+ }
+ SkDebugf("count: %d rect: %g, %g, %g, %g success: %s\n", count,
+ rect.fLeft, rect.fTop, rect.fRight, rect.fBottom, success ? "true" : "false");
+ }
+#StdOut
+ count: 0 rect: 0, 0, 0, 0 success: true
+added: 3, 4 count: 1 rect: 3, 4, 3, 4 success: true
+added: 1, 2 count: 2 rect: 1, 2, 3, 4 success: true
+added: 5, 6 count: 3 rect: 1, 2, 5, 6 success: true
+added: nan, 8 count: 4 rect: 0, 0, 0, 0 success: false
+##
+##
+
+#SeeAlso set setBounds SkPath::addPoly
+
+##
+
+#Subtopic As_Points ##
+
+#Subtopic Set
+
+#Table
+#Legend
+# name # description ##
+#Legend ##
+# iset() # sets to int input (left, top, right, bottom) ##
+# isetWH # sets to int input (0, 0, width, height) ##
+# set() # sets to SkScalar input (left, top, right, bottom) and others ##
+# # void set(const SkIRect& src) ##
+# # void set(SkScalar left, SkScalar top, SkScalar right, SkScalar bottom) ##
+# # void set(const SkPoint pts[], int count) ##
+# # void set(const SkPoint& p0, const SkPoint& p1) ##
+# setEmpty # sets to (0, 0, 0, 0) ##
+# setLTRB # sets to SkScalar input (left, top, right, bottom) ##
+# setWH # sets to SkScalar input (0, 0, width, height) ##
+# setXYWH # sets to SkScalar input (x, y, width, height) ##
+#Table ##
+
+# ------------------------------------------------------------------------------
+
#Method void setEmpty()
Sets Rect to (0, 0, 0, 0).
@@ -953,63 +1114,6 @@ rect2: {3, 4, 1, 2}
# ------------------------------------------------------------------------------
-#Method void iset(int left, int top, int right, int bottom)
-
-Sets Rect to (left, top, right, bottom).
-All parameters are promoted from integer to Scalar.
-left and right are not sorted; left is not necessarily less than right.
-top and bottom are not sorted; top is not necessarily less than bottom.
-
-#Param left promoted to SkScalar and stored in fLeft ##
-#Param top promoted to SkScalar and stored in fTop ##
-#Param right promoted to SkScalar and stored in fRight ##
-#Param bottom promoted to SkScalar and stored in fBottom ##
-
-#Example
- SkRect rect1 = {3, 4, 1, 2};
- SkDebugf("rect1: {%g, %g, %g, %g}\n", rect1.fLeft, rect1.fTop, rect1.fRight, rect1.fBottom);
- SkRect rect2;
- rect2.iset(3, 4, 1, 2);
- SkDebugf("rect2: {%g, %g, %g, %g}\n", rect2.fLeft, rect2.fTop, rect2.fRight, rect2.fBottom);
-#StdOut
-rect1: {3, 4, 1, 2}
-rect2: {3, 4, 1, 2}
-##
-##
-
-#SeeAlso set setLTRB SkIRect::set SkIntToScalar
-
-##
-
-# ------------------------------------------------------------------------------
-
-#Method void isetWH(int width, int height)
-
-Sets Rect to (0, 0, width, height).
-width and height may be zero or negative. width and height are promoted from
-integer to SkScalar, large values may lose precision.
-
-#Param width promoted to SkScalar and stored in fRight ##
-#Param height promoted to SkScalar and stored in fBottom ##
-
-#Example
- SkRect rect1 = {0, 0, 1, 2};
- SkDebugf("rect1: {%g, %g, %g, %g}\n", rect1.fLeft, rect1.fTop, rect1.fRight, rect1.fBottom);
- SkRect rect2;
- rect2.isetWH(1, 2);
- SkDebugf("rect2: {%g, %g, %g, %g}\n", rect2.fLeft, rect2.fTop, rect2.fRight, rect2.fBottom);
-#StdOut
-rect1: {0, 0, 1, 2}
-rect2: {0, 0, 1, 2}
-##
-##
-
-#SeeAlso MakeWH MakeXYWH iset() SkIRect:MakeWH
-
-##
-
-# ------------------------------------------------------------------------------
-
#Method void set(const SkPoint pts[], int count)
Sets to bounds of Point array with count entries. If count is zero or smaller,
@@ -1049,87 +1153,6 @@ added: nan, 8 count: 4 rect: 0, 0, 0, 0
# ------------------------------------------------------------------------------
-#Method void setBounds(const SkPoint pts[], int count)
-
-Sets to bounds of Point array with count entries. If count is zero or smaller,
-or if Point array contains an infinity or NaN, sets to (0, 0, 0, 0).
-
-Result is either empty or sorted: fLeft is less than or equal to fRight, and
-fTop is less than or equal to fBottom.
-
-#Param pts Point array ##
-#Param count entries in array ##
-
-#Example
- SkPoint points[] = {{3, 4}, {1, 2}, {5, 6}, {SK_ScalarNaN, 8}};
- for (int count = 0; count <= (int) SK_ARRAY_COUNT(points); ++count) {
- SkRect rect;
- rect.setBounds(points, count);
- if (count > 0) {
- SkDebugf("added: %3g, %g ", points[count - 1].fX, points[count - 1].fY);
- } else {
- SkDebugf("%14s", " ");
- }
- SkDebugf("count: %d rect: %g, %g, %g, %g\n", count,
- rect.fLeft, rect.fTop, rect.fRight, rect.fBottom);
- }
-#StdOut
- count: 0 rect: 0, 0, 0, 0
-added: 3, 4 count: 1 rect: 3, 4, 3, 4
-added: 1, 2 count: 2 rect: 1, 2, 3, 4
-added: 5, 6 count: 3 rect: 1, 2, 5, 6
-added: nan, 8 count: 4 rect: 0, 0, 0, 0
-##
-##
-
-#SeeAlso set setBoundsCheck SkPath::addPoly
-
-##
-
-# ------------------------------------------------------------------------------
-
-#Method bool setBoundsCheck(const SkPoint pts[], int count)
-
-Sets to bounds of Point array with count entries. Returns false if count is
-zero or smaller, or if Point array contains an infinity or NaN; in these cases
-sets Rect to (0, 0, 0, 0).
-
-Result is either empty or sorted: fLeft is less than or equal to fRight, and
-fTop is less than or equal to fBottom.
-
-#Param pts Point array ##
-#Param count entries in array ##
-
-#Return true if all Point values are finite ##
-
-#Example
- SkPoint points[] = {{3, 4}, {1, 2}, {5, 6}, {SK_ScalarNaN, 8}};
- for (int count = 0; count <= (int) SK_ARRAY_COUNT(points); ++count) {
- SkRect rect;
- bool success = rect.setBoundsCheck(points, count);
- if (count > 0) {
- SkDebugf("added: %3g, %g ", points[count - 1].fX, points[count - 1].fY);
- } else {
- SkDebugf("%14s", " ");
- }
- SkDebugf("count: %d rect: %g, %g, %g, %g success: %s\n", count,
- rect.fLeft, rect.fTop, rect.fRight, rect.fBottom, success ? "true" : "false");
- }
-#StdOut
- count: 0 rect: 0, 0, 0, 0 success: true
-added: 3, 4 count: 1 rect: 3, 4, 3, 4 success: true
-added: 1, 2 count: 2 rect: 1, 2, 3, 4 success: true
-added: 5, 6 count: 3 rect: 1, 2, 5, 6 success: true
-added: nan, 8 count: 4 rect: 0, 0, 0, 0 success: false
-##
-##
-
-#SeeAlso set setBounds SkPath::addPoly
-
-##
-
-# ------------------------------------------------------------------------------
-
#Method void set(const SkPoint& p0, const SkPoint& p1)
Sets bounds to the smallest Rect enclosing Points p0 and p1. The result is
@@ -1217,6 +1240,94 @@ rect: -15, 0, 0, 25 isEmpty: false
##
+#Subtopic Set ##
+
+#Subtopic From_Integers
+
+#Table
+#Legend
+# name # description ##
+#Legend ##
+# iset() # sets to int input (left, top, right, bottom) ##
+# isetWH # sets to int input (0, 0, width, height) ##
+#Table ##
+
+# ------------------------------------------------------------------------------
+
+#Method void iset(int left, int top, int right, int bottom)
+
+Sets Rect to (left, top, right, bottom).
+All parameters are promoted from integer to Scalar.
+left and right are not sorted; left is not necessarily less than right.
+top and bottom are not sorted; top is not necessarily less than bottom.
+
+#Param left promoted to SkScalar and stored in fLeft ##
+#Param top promoted to SkScalar and stored in fTop ##
+#Param right promoted to SkScalar and stored in fRight ##
+#Param bottom promoted to SkScalar and stored in fBottom ##
+
+#Example
+ SkRect rect1 = {3, 4, 1, 2};
+ SkDebugf("rect1: {%g, %g, %g, %g}\n", rect1.fLeft, rect1.fTop, rect1.fRight, rect1.fBottom);
+ SkRect rect2;
+ rect2.iset(3, 4, 1, 2);
+ SkDebugf("rect2: {%g, %g, %g, %g}\n", rect2.fLeft, rect2.fTop, rect2.fRight, rect2.fBottom);
+#StdOut
+rect1: {3, 4, 1, 2}
+rect2: {3, 4, 1, 2}
+##
+##
+
+#SeeAlso set setLTRB SkIRect::set SkIntToScalar
+
+##
+
+# ------------------------------------------------------------------------------
+
+#Method void isetWH(int width, int height)
+
+Sets Rect to (0, 0, width, height).
+width and height may be zero or negative. width and height are promoted from
+integer to SkScalar, large values may lose precision.
+
+#Param width promoted to SkScalar and stored in fRight ##
+#Param height promoted to SkScalar and stored in fBottom ##
+
+#Example
+ SkRect rect1 = {0, 0, 1, 2};
+ SkDebugf("rect1: {%g, %g, %g, %g}\n", rect1.fLeft, rect1.fTop, rect1.fRight, rect1.fBottom);
+ SkRect rect2;
+ rect2.isetWH(1, 2);
+ SkDebugf("rect2: {%g, %g, %g, %g}\n", rect2.fLeft, rect2.fTop, rect2.fRight, rect2.fBottom);
+#StdOut
+rect1: {0, 0, 1, 2}
+rect2: {0, 0, 1, 2}
+##
+##
+
+#SeeAlso MakeWH MakeXYWH iset() SkIRect:MakeWH
+
+##
+
+#Subtopic From_Integers ##
+
+#Subtopic Inset_Outset_Offset
+
+#Table
+#Legend
+# name # description ##
+#Legend ##
+# inset() # moves the sides symmetrically about the center ##
+# makeInset # constructs from sides moved symmetrically about the center ##
+# makeOffset # constructs from translated sides ##
+# makeOutset # constructs from sides moved symmetrically about the center ##
+# offset() # translates sides without changing width and height ##
+# # void offset(SkScalar dx, SkScalar dy) ##
+# # void offset(const SkPoint& delta) ##
+# offsetTo # translates to (x, y) without changing width and height ##
+# outset() # moves the sides symmetrically about the center ##
+#Table ##
+
# ------------------------------------------------------------------------------
#Method SkRect makeOffset(SkScalar dx, SkScalar dy) const
@@ -1447,7 +1558,9 @@ rect: 5, 1, 55, 86
##
-#Topic Intersection
+#Subtopic Inset_Outset_Offset ##
+
+#Subtopic Intersection
Rects intersect when they enclose a common area. To intersect, each of the pair
must describe area; fLeft is less than fRight, and fTop is less than fBottom;
@@ -1462,6 +1575,89 @@ empty() returns false. The intersection of Rect pair can be described by:
The intersection is only meaningful if the resulting Rect is not empty and
describes an area: fLeft is less than fRight, and fTop is less than fBottom.
+#Table
+#Legend
+# name # description ##
+#Legend ##
+# Intersects # returns true if areas overlap ##
+# contains() # returns true if points are equal or inside ##
+# # bool contains(const SkRect& r) const ##
+# # bool contains(const SkIRect& r) const ##
+# intersect() # sets to shared area; returns true if not empty ##
+# # bool intersect(SkScalar left, SkScalar top, SkScalar right, SkScalar bottom) ##
+# # bool intersect(const SkRect& r) ##
+# # bool intersect(const SkRect& a, const SkRect& b) ##
+# intersects() # returns true if areas overlap ##
+# # bool intersects(SkScalar left, SkScalar top, SkScalar right, SkScalar bottom) const ##
+# # bool intersects(const SkRect& r) const ##
+#Table ##
+
+# ------------------------------------------------------------------------------
+
+#Method bool contains(const SkRect& r) const
+
+Returns true if Rect contains r.
+Returns false if Rect is empty or r is empty.
+
+Rect contains r when Rect area completely includes r area.
+
+#Param r Rect contained ##
+
+#Return true if all sides of Rect are outside r ##
+
+#Example
+ SkRect rect = { 30, 50, 40, 60 };
+ SkRect tests[] = { { 30, 50, 31, 51}, { 39, 49, 40, 50}, { 29, 59, 30, 60} };
+ for (auto contained : tests) {
+ SkDebugf("rect: (%g, %g, %g, %g) %s (%g, %g, %g, %g)\n",
+ rect.left(), rect.top(), rect.right(), rect.bottom(),
+ rect.contains(contained) ? "contains" : "does not contain",
+ contained.left(), contained.top(), contained.right(), contained.bottom());
+ }
+#StdOut
+rect: (30, 50, 40, 60) contains (30, 50, 31, 51)
+rect: (30, 50, 40, 60) does not contain (39, 49, 40, 50)
+rect: (30, 50, 40, 60) does not contain (29, 59, 30, 60)
+##
+##
+
+#SeeAlso SkIRect::contains
+
+##
+
+# ------------------------------------------------------------------------------
+
+#Method bool contains(const SkIRect& r) const
+
+Returns true if Rect contains r.
+Returns false if Rect is empty or r is empty.
+
+Rect contains r when Rect area completely includes r area.
+
+#Param r IRect contained ##
+
+#Return true if all sides of Rect are outside r ##
+
+#Example
+ SkRect rect = { 30, 50, 40, 60 };
+ SkIRect tests[] = { { 30, 50, 31, 51}, { 39, 49, 40, 50}, { 29, 59, 30, 60} };
+ for (auto contained : tests) {
+ SkDebugf("rect: (%g, %g, %g, %g) %s (%d, %d, %d, %d)\n",
+ rect.left(), rect.top(), rect.right(), rect.bottom(),
+ rect.contains(contained) ? "contains" : "does not contain",
+ contained.left(), contained.top(), contained.right(), contained.bottom());
+ }
+#StdOut
+rect: (30, 50, 40, 60) contains (30, 50, 31, 51)
+rect: (30, 50, 40, 60) does not contain (39, 49, 40, 50)
+rect: (30, 50, 40, 60) does not contain (29, 59, 30, 60)
+##
+##
+
+#SeeAlso SkIRect::contains
+
+##
+
# ------------------------------------------------------------------------------
#Method bool intersect(const SkRect& r)
@@ -1636,8 +1832,20 @@ Returns false if either a or b is empty, or do not intersect.
##
-#Topic Intersection ##
+#Subtopic Intersection ##
+#Subtopic Join
+
+#Table
+#Legend
+# name # description ##
+#Legend ##
+# join() # sets to union of bounds ##
+# # void join(SkScalar left, SkScalar top, SkScalar right, SkScalar bottom) ##
+# # void join(const SkRect& r) ##
+# joinNonEmptyArg # sets to union of bounds, asserting that argument is not empty ##
+# joinPossiblyEmptyRect # sets to union of bounds. Skips empty check for both ##
+#Table ##
# ------------------------------------------------------------------------------
@@ -1758,75 +1966,23 @@ sorted: 10, 0, 55, 100
##
-# ------------------------------------------------------------------------------
-
-#Method bool contains(const SkRect& r) const
-
-Returns true if Rect contains r.
-Returns false if Rect is empty or r is empty.
-
-Rect contains r when Rect area completely includes r area.
-
-#Param r Rect contained ##
-
-#Return true if all sides of Rect are outside r ##
-
-#Example
- SkRect rect = { 30, 50, 40, 60 };
- SkRect tests[] = { { 30, 50, 31, 51}, { 39, 49, 40, 50}, { 29, 59, 30, 60} };
- for (auto contained : tests) {
- SkDebugf("rect: (%g, %g, %g, %g) %s (%g, %g, %g, %g)\n",
- rect.left(), rect.top(), rect.right(), rect.bottom(),
- rect.contains(contained) ? "contains" : "does not contain",
- contained.left(), contained.top(), contained.right(), contained.bottom());
- }
-#StdOut
-rect: (30, 50, 40, 60) contains (30, 50, 31, 51)
-rect: (30, 50, 40, 60) does not contain (39, 49, 40, 50)
-rect: (30, 50, 40, 60) does not contain (29, 59, 30, 60)
-##
-##
-
-#SeeAlso SkIRect::contains
-
-##
-
-# ------------------------------------------------------------------------------
-
-#Method bool contains(const SkIRect& r) const
-
-Returns true if Rect contains r.
-Returns false if Rect is empty or r is empty.
-
-Rect contains r when Rect area completely includes r area.
-
-#Param r IRect contained ##
-
-#Return true if all sides of Rect are outside r ##
-
-#Example
- SkRect rect = { 30, 50, 40, 60 };
- SkIRect tests[] = { { 30, 50, 31, 51}, { 39, 49, 40, 50}, { 29, 59, 30, 60} };
- for (auto contained : tests) {
- SkDebugf("rect: (%g, %g, %g, %g) %s (%d, %d, %d, %d)\n",
- rect.left(), rect.top(), rect.right(), rect.bottom(),
- rect.contains(contained) ? "contains" : "does not contain",
- contained.left(), contained.top(), contained.right(), contained.bottom());
- }
-#StdOut
-rect: (30, 50, 40, 60) contains (30, 50, 31, 51)
-rect: (30, 50, 40, 60) does not contain (39, 49, 40, 50)
-rect: (30, 50, 40, 60) does not contain (29, 59, 30, 60)
-##
-##
-
-#SeeAlso SkIRect::contains
-
-##
+#Subtopic Join ##
-#Topic Round
+#Subtopic Rounding
-# ------------------------------------------------------------------------------
+#Table
+#Legend
+# name # description ##
+#Legend ##
+# round() # sets members to nearest integer value ##
+# # void round(SkIRect* dst) const ##
+# # SkIRect round() const ##
+# roundIn # sets members to nearest integer value towards opposite ##
+# roundOut # sets members to nearest integer value away from opposite ##
+# # void roundOut(SkIRect* dst) const ##
+# # void roundOut(SkRect* dst) const ##
+# # SkIRect roundOut() const ##
+#Table ##
#Method void round(SkIRect* dst) const
@@ -1993,7 +2149,17 @@ round: 30, 50, 41, 61
##
-#Topic Round ##
+#Subtopic Rounding ##
+
+#Subtopic Sorting
+
+#Table
+#Legend
+# name # description ##
+#Legend ##
+# makeSorted # constructs, ordering sides from smaller to larger ##
+# sort() # orders sides from smaller to larger ##
+#Table ##
# ------------------------------------------------------------------------------
@@ -2014,7 +2180,7 @@ sorted: 20.5, 10.5, 30.5, 50.5
##
##
-#SeeAlso makeSorted SkIRect::sort
+#SeeAlso makeSorted SkIRect::sort isSorted
##
@@ -2039,10 +2205,12 @@ sorted: 20.5, 10.5, 30.5, 50.5
##
##
-#SeeAlso sort SkIRect::makeSorted
+#SeeAlso sort SkIRect::makeSorted isSorted
##
+#Subtopic Sorting ##
+
# ------------------------------------------------------------------------------
#Method const SkScalar* asScalars() const