docs with more pop

Replace a hunk of documentation in docs/*.bmh
with #Populate, which instructs bookmaker to
retrieve the documentation from include/core.

Check spelling for all documentation retrieved
from include/core against Skia declarations
and a list of words in spelling.txt.

TBR=caryclark@google.com
Docs-Preview: https://skia.org/?cl=163491
Bug: skia:
Change-Id: If057c3a1336e312ad59c084a3a130f0276802496
Reviewed-on: https://skia-review.googlesource.com/c/163491
Commit-Queue: Cary Clark <caryclark@skia.org>
Reviewed-by: Cary Clark <caryclark@skia.org>
Auto-Submit: Cary Clark <caryclark@skia.org>
diff --git a/docs/SkRect_Reference.bmh b/docs/SkRect_Reference.bmh
index 7571937..4e78168 100644
--- a/docs/SkRect_Reference.bmh
+++ b/docs/SkRect_Reference.bmh
@@ -48,12 +48,7 @@
 
 #In Constructors
 #Line # constructs from bounds of (0, 0, 0, 0) ##
-Returns constructed Rect set to (0, 0, 0, 0).
-Many other rectangles are empty; if left is equal to or greater than right,
-or if top is equal to or greater than bottom. Setting all members to zero
-is a convenience, but does not designate a special empty rectangle.
-
-#Return bounds (0, 0, 0, 0) ##
+#Populate
 
 #Example
     SkRect rect = SkRect::MakeEmpty();
@@ -82,16 +77,7 @@
 
 #In Constructors
 #Line # constructs from SkScalar input returning (0, 0, width, height) ##
-Returns constructed Rect set to SkScalar values (0, 0, w, h). Does not
-validate input; w or h may be negative.
-
-Passing integer values may generate a compiler warning since Rect cannot
-represent 32-bit integers exactly. Use SkIRect for an exact integer rectangle.
-
-#Param w  SkScalar width of constructed Rect  ##
-#Param h  SkScalar height of constructed Rect ##
-
-#Return bounds (0, 0, w, h) ##
+#Populate
 
 #Example
     SkRect rect1 = SkRect::MakeWH(25, 35);
@@ -115,16 +101,7 @@
 
 #In Constructors
 #Line # constructs from int input returning (0, 0, width, height) ##
-Returns constructed Rect set to integer values (0, 0, w, h). Does not validate
-input; w or h may be negative.
-
-Use to avoid a compiler warning that input may lose precision when stored.
-Use SkIRect for an exact integer rectangle.
-
-#Param w  integer width of constructed Rect  ##
-#Param h  integer height of constructed Rect ##
-
-#Return bounds (0, 0, w, h) ##
+#Populate
 
 #Example
     SkIRect i_rect = SkIRect::MakeWH(25, 35);
@@ -149,12 +126,7 @@
 
 #In Constructors
 #Line # constructs from Size returning (0, 0, width, height) ##
-Returns constructed Rect set to (0, 0, size.width(), size.height()). Does not
-validate input; size.width() or size.height() may be negative.
-
-#Param size  SkScalar values for Rect width and height ##
-
-#Return bounds (0, 0, size.width(), size.height()) ##
+#Populate
 
 #Example
     SkSize size = {25.5f, 35.5f};
@@ -179,16 +151,7 @@
                                                            SkScalar b)
 #In Constructors
 #Line # constructs from SkScalar left, top, right, bottom ##
-
-Returns constructed Rect set to (l, t, r, b). Does not sort input; Rect may
-result in fLeft greater than fRight, or fTop greater than fBottom.
-
-#Param l  SkScalar stored in fLeft ##
-#Param t  SkScalar stored in fTop ##
-#Param r  SkScalar stored in fRight ##
-#Param b  SkScalar stored in fBottom ##
-
-#Return bounds (l, t, r, b) ##
+#Populate
 
 #Example
     SkRect rect = SkRect::MakeLTRB(5, 35, 15, 25);
@@ -266,13 +229,7 @@
 #Method static SkRect Make(const SkIRect& irect)
 
 #In Constructors
-Returns constructed IRect set to irect, promoting integers to Scalar.
-Does not validate input; fLeft may be greater than fRight, fTop may be greater
-than fBottom.
-
-#Param irect  integer unsorted bounds ##
-
-#Return irect members converted to SkScalar ##
+#Populate
 
 #Example
     SkIRect i_rect1 = {2, 35, 22, 53};
@@ -296,11 +253,7 @@
 
 #In Property
 #Line # returns true if width or height are zero or negative ##
-Returns true if fLeft is equal to or greater than fRight, or if fTop is equal
-to or greater than fBottom. Call sort() to reverse rectangles with negative
-width() or height().
-
-#Return true if width() or height() are not positive and valid ##
+#Populate
 
 #Example
     SkRect tests[] = {{20, 40, 10, 50}, {20, 40, 20, 50}};
@@ -329,11 +282,7 @@
 
 #In Property
 #Line # returns true if width or height are zero or positive ##
-Returns true if fLeft is equal to or less than fRight, or if fTop is equal
-to or less than fBottom. Call sort() to reverse rectangles with negative
-width() or height().
-
-#Return true if width() or height() are zero or positive ##
+#Populate
 
 #Example
     SkRect tests[] = {{20, 40, 10, 50}, {20, 40, 20, 50}};
@@ -362,10 +311,7 @@
 
 #In Property
 #Line # returns true if no member is infinite or NaN ##
-Returns true if all values in the rectangle are finite: SK_ScalarMin or larger,
-and SK_ScalarMax or smaller.
-
-#Return true if no member is infinite or NaN ##
+#Populate
 
 #Example
 SkRect largest = { SK_ScalarMin, SK_ScalarMin, SK_ScalarMax, SK_ScalarMax };
@@ -390,10 +336,7 @@
 
 #In Property
 #Line # returns bounds left ##
-Returns left edge of Rect, if sorted. Call isSorted to see if Rect is valid.
-Call sort() to reverse fLeft and fRight if needed.
-
-#Return fLeft ##
+#Populate
 
 #Example
     SkRect unsorted = { 15, 5, 10, 25 };
@@ -416,10 +359,7 @@
 
 #In Property
 #Line # returns bounds top ##
-Returns top edge of Rect, if sorted. Call isEmpty to see if Rect may be invalid,
-and sort() to reverse fTop and fBottom if needed.
-
-#Return fTop ##
+#Populate
 
 #Example
     SkRect unsorted = { 15, 25, 10, 5 };
@@ -442,10 +382,7 @@
 
 #In Property
 #Line # returns smaller bounds in x, if sorted ##
-Returns left edge of Rect, if sorted. Call isSorted to see if Rect is valid.
-Call sort() to reverse fLeft and fRight if needed.
-
-#Return fLeft ##
+#Populate
 
 #Example
     SkRect unsorted = { 15, 5, 10, 25 };
@@ -468,10 +405,7 @@
 
 #In Property
 #Line # returns smaller bounds in y, if sorted ##
-Returns top edge of Rect, if sorted. Call isEmpty to see if Rect may be invalid,
-and sort() to reverse fTop and fBottom if needed.
-
-#Return fTop ##
+#Populate
 
 #Example
     SkRect unsorted = { 15, 25, 10, 5 };
@@ -494,10 +428,7 @@
 
 #In Property
 #Line # returns larger bounds in x, if sorted ##
-Returns right edge of Rect, if sorted. Call isSorted to see if Rect is valid.
-Call sort() to reverse fLeft and fRight if needed.
-
-#Return fRight ##
+#Populate
 
 #Example
     SkRect unsorted = { 15, 25, 10, 5 };
@@ -520,10 +451,7 @@
 
 #In Property
 #Line # returns larger bounds in y, if sorted ##
-Returns bottom edge of Rect, if sorted. Call isEmpty to see if Rect may be invalid,
-and sort() to reverse fTop and fBottom if needed.
-
-#Return fBottom ##
+#Populate
 
 #Example
     SkRect unsorted = { 15, 25, 10, 5 };
@@ -546,10 +474,7 @@
 
 #In Property
 #Line # returns span in x ##
-Returns span on the x-axis. This does not check if Rect is sorted, or if
-result fits in 32-bit float; result may be negative or infinity.
-
-#Return fRight minus fLeft ##
+#Populate
 
 #Example
 #Description
@@ -575,10 +500,7 @@
 
 #In Property
 #Line # returns span in y ##
-Returns span on the y-axis. This does not check if Rect is sorted, or if
-result fits in 32-bit float; result may be negative or infinity.
-
-#Return fBottom minus fTop ##
+#Populate
 
 #Example
 #Description
@@ -604,10 +526,7 @@
 
 #In Property
 #Line # returns midpoint in x ##
-Returns average of left edge and right edge. Result does not change if Rect
-is sorted. Result may overflow to infinity if Rect is far from the origin.
-
-#Return midpoint in x ##
+#Populate
 
 #Example
     SkRect tests[] = {{20, 30, 41, 51}, {-20, -30, -41, -51}};
@@ -634,10 +553,7 @@
 
 #In Property
 #Line # returns midpoint in y ##
-Returns average of top edge and bottom edge. Result does not change if Rect
-is sorted.
-
-#Return midpoint in y ##
+#Populate
 
 #Example
    SkRect rect = { 2e+38, 2e+38, 3e+38, 3e+38 };
@@ -662,16 +578,7 @@
 
 #In Operators
 #Line # returns true if members are equal ##
-Returns true if all members in a: fLeft, fTop, fRight, and fBottom; are
-equal to the corresponding members in b.
-
-a and b are not equal if either contain NaN. a and b are equal if members
-contain zeroes width different signs.
-
-#Param a  Rect to compare ##
-#Param b  Rect to compare ##
-
-#Return true if members are equal ##
+#Populate
 
 #Example
     auto debugster = [](const SkRect& test) -> void {
@@ -707,16 +614,7 @@
 
 #In Operators
 #Line # returns true if members are unequal ##
-Returns true if any in a: fLeft, fTop, fRight, and fBottom; does not
-equal the corresponding members in b.
-
-a and b are not equal if either contain NaN. a and b are equal if members
-contain zeroes width different signs.
-
-#Param a  Rect to compare ##
-#Param b  Rect to compare ##
-
-#Return true if members are not equal ##
+#Populate
 
 #Example
     SkRect test = {0, 0, 2, SK_ScalarNaN};
@@ -776,14 +674,7 @@
 
 #In As_Points
 #Line # sets to upper and lower limits of Point array ##
-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 ##
+#Populate
 
 #Example
    SkPoint points[] = {{3, 4}, {1, 2}, {5, 6}, {SK_ScalarNaN, 8}};
@@ -817,17 +708,7 @@
 
 #In As_Points
 #Line # sets to upper and lower limits of Point array ##
-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 ##
+#Populate
 
 #Example
    SkPoint points[] = {{3, 4}, {1, 2}, {5, 6}, {SK_ScalarNaN, 8}};
@@ -865,11 +746,7 @@
 #Method void setBoundsNoCheck(const SkPoint pts[], int count)
 #In Set
 #Line # sets to upper and lower limits of Point array ##
-Sets to bounds of Point pts array with count entries. If any Point in pts
-contains infinity or NaN, all Rect dimensions are set to NaN.
-
-#Param pts  Point array ##
-#Param count  entries in array ##
+#Populate
 
 #Example
    SkPoint points[] = {{3, 4}, {1, 2}, {SK_ScalarInfinity, 6}, {SK_ScalarNaN, 8}};
@@ -895,11 +772,7 @@
 
 #In Set
 #Line # sets to (0, 0, 0, 0) ##
-Sets Rect to (0, 0, 0, 0).
-
-Many other rectangles are empty; if left is equal to or greater than right,
-or if top is equal to or greater than bottom. Setting all members to zero
-is a convenience, but does not designate a special empty rectangle.
+#Populate
 
 #Example
     SkRect rect = {3, 4, 1, 2};
@@ -924,10 +797,7 @@
 
 #In Set
 #Line # sets to SkScalar input (left, top, right, bottom) and others ##
-Sets Rect to src, promoting src members from integer to Scalar.
-Very large values in src may lose precision.
-
-#Param src  integer Rect ##
+#Populate
 
 #Example
     SkIRect i_rect = {3, 4, 1, 2};
@@ -950,14 +820,7 @@
 #Method void set(SkScalar left, SkScalar top, SkScalar right, SkScalar bottom)
 
 #In Set
-Sets Rect to (left, top, right, bottom).
-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  stored in fLeft ##
-#Param top  stored in fTop ##
-#Param right  stored in fRight ##
-#Param bottom  stored in fBottom ##
+#Populate
 
 #Example
     SkRect rect1 = {3, 4, 1, 2};
@@ -981,14 +844,7 @@
 
 #In Set
 #Line # sets to SkScalar input (left, top, right, bottom) ##
-Sets Rect to (left, top, right, bottom).
-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  stored in fLeft ##
-#Param top  stored in fTop ##
-#Param right  stored in fRight ##
-#Param bottom  stored in fBottom ##
+#Populate
 
 #Example
     SkRect rect1 = {3, 4, 1, 2};
@@ -1011,14 +867,7 @@
 #Method void set(const SkPoint pts[], int count)
 
 #In Set
-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 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 ##
+#Populate
 
 #Example
    SkPoint points[] = {{3, 4}, {1, 2}, {5, 6}, {SK_ScalarNaN, 8}};
@@ -1051,11 +900,7 @@
 #Method void set(const SkPoint& p0, const SkPoint& p1)
 
 #In Set
-Sets bounds to the smallest Rect enclosing Points p0 and p1. The result is
-sorted and may be empty. Does not check to see if values are finite.
-
-#Param p0  corner to include ##
-#Param p1  corner to include ##
+#Populate
 
 #Example
 #Description
@@ -1112,11 +957,7 @@
 
 #In Set
 #Line # sets to SkScalar input (0, 0, width, height) ##
-Sets Rect to (0, 0, width, height). Does not validate input;
-width or height may be negative.
-
-#Param width  stored in fRight ##
-#Param height  stored in fBottom ##
+#Populate
 
 #Example
     SkRect rect;
@@ -1147,15 +988,7 @@
 
 #In From_Integers
 #Line # sets to int input (left, top, right, 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 ##
+#Populate
 
 #Example
     SkRect rect1 = {3, 4, 1, 2};
@@ -1179,12 +1012,7 @@
 
 #In From_Integers
 #Line # sets to int input (0, 0, width, 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 ##
+#Populate
 
 #Example
     SkRect rect1 = {0, 0, 1, 2};
@@ -1213,17 +1041,7 @@
 
 #In Inset_Outset_Offset
 #Line # constructs from translated sides ##
-Returns Rect offset by (dx, dy).
-
-If dx is negative, Rect returned is moved to the left.
-If dx is positive, Rect returned is moved to the right.
-If dy is negative, Rect returned is moved upward.
-If dy is positive, Rect returned is moved downward.
-
-#Param dx  added to fLeft and fRight ##
-#Param dy  added to fTop and fBottom ##
-
-#Return Rect offset on axes, with original width and height ##
+#Populate
 
 #Example
     SkRect rect = { 10, 50, 20, 60 };
@@ -1248,17 +1066,7 @@
 
 #In Inset_Outset_Offset
 #Line # constructs from sides moved symmetrically about the center ##
-Returns Rect, inset by (dx, dy).
-
-If dx is negative, Rect returned is wider.
-If dx is positive, Rect returned is narrower.
-If dy is negative, Rect returned is taller.
-If dy is positive, Rect returned is shorter.
-
-#Param dx  added to fLeft and subtracted from fRight ##
-#Param dy  added to fTop and subtracted from fBottom ##
-
-#Return Rect inset symmetrically left and right, top and bottom ##
+#Populate
 
 #Example
     SkRect rect = { 10, 50, 20, 60 };
@@ -1283,17 +1091,7 @@
 
 #In Inset_Outset_Offset
 #Line # constructs from sides moved symmetrically about the center ##
-Returns Rect, outset by (dx, dy).
-
-If dx is negative, Rect returned is narrower.
-If dx is positive, Rect returned is wider.
-If dy is negative, Rect returned is shorter.
-If dy is positive, Rect returned is taller.
-
-#Param dx  subtracted to fLeft and added from fRight ##
-#Param dy  subtracted to fTop and added from fBottom ##
-
-#Return Rect outset symmetrically left and right, top and bottom ##
+#Populate
 
 #Example
     SkRect rect = { 10, 50, 20, 60 };
@@ -1318,15 +1116,7 @@
 
 #In Inset_Outset_Offset
 #Line # translates sides without changing width and height ##
-Offsets Rect by adding dx to fLeft, fRight; and by adding dy to fTop, fBottom.
-
-If dx is negative, moves Rect to the left.
-If dx is positive, moves Rect to the right.
-If dy is negative, moves Rect upward.
-If dy is positive, moves Rect downward.
-
-#Param dx  offset added to fLeft and fRight ##
-#Param dy  offset added to fTop and fBottom ##
+#Populate
 
 #Example
     SkRect rect = { 10, 14, 50, 73 };
@@ -1346,15 +1136,7 @@
 #Method void offset(const SkPoint& delta)
 
 #In Inset_Outset_Offset
-Offsets Rect by adding delta.fX to fLeft, fRight; and by adding delta.fY to
-fTop, fBottom.
-
-If delta.fX is negative, moves Rect to the left.
-If delta.fX is positive, moves Rect to the right.
-If delta.fY is negative, moves Rect upward.
-If delta.fY is positive, moves Rect downward.
-
-#Param delta  added to Rect ##
+#Populate
 
 #Example
     SkRect rect = { 10, 14, 50, 73 };
@@ -1375,11 +1157,7 @@
 
 #In Inset_Outset_Offset
 #Line # translates to (x, y) without changing width and height ##
-Offsets Rect so that fLeft equals newX, and fTop equals newY. width and height
-are unchanged.
-
-#Param newX  stored in fLeft, preserving width() ##
-#Param newY  stored in fTop, preserving height() ##
+#Populate
 
 #Example
     SkRect rect = { 10, 14, 50, 73 };
@@ -1400,15 +1178,7 @@
 
 #In Inset_Outset_Offset
 #Line # moves the sides symmetrically about the center ##
-Insets Rect by (dx, dy).
-
-If dx is positive, makes Rect narrower.
-If dx is negative, makes Rect wider.
-If dy is positive, makes Rect shorter.
-If dy is negative, makes Rect taller.
-
-#Param dx  added to fLeft and subtracted from fRight ##
-#Param dy  added to fTop and subtracted from fBottom ##
+#Populate
 
 #Example
     SkRect rect = { 10, 14, 50, 73 };
@@ -1429,15 +1199,7 @@
 
 #In Inset_Outset_Offset
 #Line # moves the sides symmetrically about the center ##
-Outsets Rect by (dx, dy).
-
-If dx is positive, makes Rect wider.
-If dx is negative, makes Rect narrower.
-If dy is positive, makes Rect taller.
-If dy is negative, makes Rect shorter.
-
-#Param dx  subtracted to fLeft and added from fRight ##
-#Param dy  subtracted to fTop and added from fBottom ##
+#Populate
 
 #Example
     SkRect rect = { 10, 14, 50, 73 };
@@ -1472,13 +1234,7 @@
 
 #In Intersection
 #Line # returns true if points are equal or inside ##
-Returns true if: fLeft <= x < fRight && fTop <= y < fBottom.
-Returns false if SkRect is empty.
-
-#Param x  test Point x-coordinate ##
-#Param y  test Point y-coordinate ##
-
-#Return true if (x, y) is inside Rect ##
+#Populate
 
 #Example
     SkRect rect = { 30, 50, 40, 60 };
@@ -1505,14 +1261,7 @@
 #Method    bool contains(const SkRect& r) const
 
 #In Intersection
-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 ##
+#Populate
 
 #Example
     SkRect rect = { 30, 50, 40, 60 };
@@ -1539,14 +1288,7 @@
 #Method    bool contains(const SkIRect& r) const
 
 #In Intersection
-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 ##
+#Populate
 
 #Example
     SkRect rect = { 30, 50, 40, 60 };
@@ -1574,14 +1316,7 @@
 
 #In Intersection
 #Line # sets to shared area; returns true if not empty ##
-Returns true if Rect intersects r, and sets Rect to intersection.
-Returns false if Rect does not intersect r, and leaves Rect unchanged.
-
-Returns false if either r or Rect is empty, leaving Rect unchanged.
-
-#Param r  limit of result ##
-
-#Return true if r and Rect have area in common ##
+#Populate
 
 #Example
 #Description
@@ -1608,20 +1343,7 @@
 #Method bool intersect(SkScalar left, SkScalar top, SkScalar right, SkScalar bottom)
 
 #In Intersection
-Constructs Rect to intersect from (left, top, right, bottom). Does not sort
-construction.
-
-Returns true if Rect intersects construction, and sets Rect to intersection.
-Returns false if Rect does not intersect construction, and leaves Rect unchanged.
-
-Returns false if either construction or Rect is empty, leaving Rect unchanged.
-
-#Param left  x-axis minimum of constructed Rect ##
-#Param top  y-axis minimum of constructed Rect ##
-#Param right  x-axis maximum of constructed Rect ##
-#Param bottom  y-axis maximum of constructed Rect ##
-
-#Return true if construction and Rect have area in common ##
+#Populate
 
 #Example
 #Description
@@ -1647,15 +1369,7 @@
 #Method bool intersect(const SkRect& a, const SkRect& b)
 
 #In Intersection
-Returns true if a intersects b, and sets Rect to intersection.
-Returns false if a does not intersect b, and leaves Rect unchanged.
-
-Returns false if either a or b is empty, leaving Rect unchanged.
-
-#Param a  Rect to intersect ##
-#Param b  Rect to intersect ##
-
-#Return true if a and b have area in common ##
+#Populate
 
 #Example
     SkRect result;
@@ -1677,18 +1391,7 @@
 
 #In Intersection
 #Line # returns true if areas overlap ##
-Constructs Rect to intersect from (left, top, right, bottom). Does not sort
-construction.
-
-Returns true if Rect intersects construction.
-Returns false if either construction or Rect is empty, or do not intersect.
-
-#Param left  x-axis minimum of constructed Rect ##
-#Param top  y-axis minimum of constructed Rect ##
-#Param right  x-axis maximum of constructed Rect ##
-#Param bottom  y-axis maximum of constructed Rect ##
-
-#Return true if construction and Rect have area in common ##
+#Populate
 
 #Example
     SkRect rect = { 10, 40, 50, 80 };
@@ -1707,12 +1410,7 @@
 #Method    bool intersects(const SkRect& r) const
 
 #In Intersection
-Returns true if Rect intersects r.
-Returns false if either r or Rect is empty, or do not intersect.
-
-#Param r  Rect to intersect ##
-
-#Return true if r and Rect have area in common ##
+#Populate
 
 #Example
     SkRect rect = { 10, 40, 50, 80 };
@@ -1732,13 +1430,7 @@
 
 #In Intersection
 #Line # returns true if areas overlap ##
-Returns true if a intersects b.
-Returns false if either a or b is empty, or do not intersect.
-
-#Param a  Rect to intersect ##
-#Param b  Rect to intersect ##
-
-#Return true if a and b have area in common ##
+#Populate
 
 #Example
     SkDebugf("%s intersection", SkRect::Intersects({10, 40, 50, 80}, {30, 60, 70, 90}) ? "" : "no ");
@@ -1762,18 +1454,7 @@
 
 #In Join
 #Line # sets to union of bounds ##
-Constructs Rect to intersect from (left, top, right, bottom). Does not sort
-construction.
-
-Sets Rect to the union of itself and the construction.
-
-Has no effect if construction is empty. Otherwise, if Rect is empty, sets
-Rect to construction.
-
-#Param left  x-axis minimum of constructed Rect ##
-#Param top  y-axis minimum of constructed Rect ##
-#Param right  x-axis maximum of constructed Rect ##
-#Param bottom  y-axis maximum of constructed Rect ##
+#Populate
 
 #Example
     SkRect rect = { 10, 20, 15, 25};
@@ -1793,12 +1474,7 @@
 #Method    void join(const SkRect& r)
 
 #In Join
-Sets Rect to the union of itself and r.
-
-Has no effect if r is empty. Otherwise, if Rect is empty, sets
-Rect to r.
-
-#Param r  expansion Rect ##
+#Populate
 
 #Example
     SkRect rect = { 10, 20, 15, 25};
@@ -1819,14 +1495,7 @@
 
 #In Join
 #Line # sets to union of bounds, asserting that argument is not empty ##
-Sets Rect to the union of itself and r.
-
-Asserts if r is empty and SK_DEBUG is defined.
-If Rect is empty, sets Rect to r.
-
-May produce incorrect results if r is empty.
-
-#Param r  expansion Rect ##
+#Populate
 
 #Example
 #Description
@@ -1855,11 +1524,7 @@
 
 #In Join
 #Line # sets to union of bounds; skips empty check for both ##
-Sets Rect to the union of itself and the construction.
-
-May produce incorrect results if Rect or r is empty.
-
-#Param r  expansion Rect ##
+#Populate
 
 #Example
 #Description
@@ -2051,9 +1716,7 @@
 
 #In Sorting
 #Line # orders sides from smaller to larger ##
-Swaps fLeft and fRight if fLeft is greater than fRight; and swaps
-fTop and fBottom if fTop is greater than fBottom. Result may be empty;
-and width() and height() will be zero or positive.
+#Populate
 
 #Example
     SkRect rect = { 30.5f, 50.5f, 20.5f, 10.5f };
@@ -2077,11 +1740,7 @@
 #In Sorting
 #In Constructors
 #Line # constructs Rect, ordering sides from smaller to larger ##
-Returns Rect with fLeft and fRight swapped if fLeft is greater than fRight; and
-with fTop and fBottom swapped if fTop is greater than fBottom. Result may be empty;
-and width() and height() will be zero or positive.
-
-#Return  sorted Rect ##
+#Populate
 
 #Example
     SkRect rect = { 30.5f, 50.5f, 20.5f, 10.5f };
@@ -2105,10 +1764,7 @@
 #Method    const SkScalar* asScalars() const
 #In Property
 #Line # returns pointer to members as array ##
-Returns pointer to first Scalar in Rect, to treat it as an array with four
-entries.
-
-#Return  pointer to fLeft ##
+#Populate
 
 #Example
    SkRect rect = {7, 11, 13, 17};
@@ -2127,10 +1783,7 @@
 #Method    void dump(bool asHex) const
 #In Property
 #Line # sends text representation to standard output using floats ##
-Writes text representation of Rect to standard output. Set asHex to true to
-generate exact binary representations of floating point numbers.
-
-#Param asHex  true if SkScalar values are written as hexadecimal ##
+#Populate
 
 #Example
    SkRect rect = {20, 30, 40, 50};
@@ -2155,11 +1808,7 @@
 # ------------------------------------------------------------------------------
 
 #Method    void dump() const
-
-Writes text representation of Rect to standard output. The representation may be
-directly compiled as C++ code. Floating point values are written
-with limited precision; it may not be possible to reconstruct original Rect
-from output.
+#Populate
 
 #Example
 SkRect rect = {6.f / 7, 2.f / 3, 26.f / 10, 42.f / 6};