starting next gaggle of docs

starting next gaggle of docs

Docs-Preview: https://skia.org/?cl=50264
Bug: skia:6898
Change-Id: I639795b55c0c96b2efccac13cb67592f055a75a2
Reviewed-on: https://skia-review.googlesource.com/50264
Commit-Queue: Cary Clark <caryclark@skia.org>
Reviewed-by: Cary Clark <caryclark@skia.org>
diff --git a/docs/SkIRect_Reference.bmh b/docs/SkIRect_Reference.bmh
new file mode 100644
index 0000000..06bcdf0
--- /dev/null
+++ b/docs/SkIRect_Reference.bmh
@@ -0,0 +1,1043 @@
+#Topic IRect
+#Alias IRect_Reference
+
+#Struct SkIRect
+
+SkIRect holds four 32 bit integer coordinates for a rectangle
+
+#Topic Overview
+
+#Subtopic Subtopics
+#ToDo manually add subtopics ##
+#Table
+#Legend
+# topics # description ##
+#Legend ##
+#Table ##
+##
+
+#Subtopic Operators
+#Table
+#Legend
+# description                                                # function ##
+#Legend ##
+# friend bool operator!=(const SkIRect& a, const SkIRect& b) # ##
+# friend bool operator==(const SkIRect& a, const SkIRect& b) # ##
+#Table ##
+#Subtopic ##
+
+#Subtopic Member_Functions
+#Table
+#Legend
+# description            # function ##
+#Legend ##
+# EmptyIRect             # ##
+# Intersects             # ##
+# IntersectsNoEmptyCheck # ##
+# MakeEmpty              # ##
+# MakeLTRB               # ##
+# MakeLargest            # ##
+# MakeSize               # ##
+# MakeWH                 # ##
+# MakeXYWH               # ##
+# bottom                 # ##
+# centerX                # ##
+# centerY                # ##
+# contains               # ##
+# containsNoEmptyCheck   # ##
+# height                 # ##
+# inset                  # ##
+# intersect              # ##
+# intersectNoEmptyCheck  # ##
+# is16Bit                # ##
+# isEmpty                # ##
+# isLargest              # ##
+# join                   # ##
+# left                   # ##
+# makeInset              # ##
+# makeOffset             # ##
+# makeOutset             # ##
+# makeSorted             # ##
+# offset                 # ##
+# offsetTo               # ##
+# outset                 # ##
+# quickReject            # ##
+# right                  # ##
+# set                    # ##
+# setEmpty               # ##
+# setLTRB                # ##
+# setLargest             # ##
+# setLargestInverted     # ##
+# setXYWH                # ##
+# size                   # ##
+# sort                   # ##
+# top                    # ##
+# width                  # ##
+# x                      # ##
+# y                      # ##
+#Table ##
+#Subtopic ##
+
+#Topic ##
+
+#Member int32_t  fLeft
+##
+
+#Member int32_t  fTop
+##
+
+#Member int32_t  fRight
+##
+
+#Member int32_t  fBottom
+##
+
+# ------------------------------------------------------------------------------
+
+#Method static SkIRect SK_WARN_UNUSED_RESULT MakeEmpty()
+
+#Return incomplete ##
+
+#Example
+// incomplete
+##
+
+#ToDo incomplete ##
+
+##
+
+# ------------------------------------------------------------------------------
+
+#Method static SkIRect SK_WARN_UNUSED_RESULT MakeLargest()
+
+#Return incomplete ##
+
+#Example
+// incomplete
+##
+
+#ToDo incomplete ##
+
+##
+
+# ------------------------------------------------------------------------------
+
+#Method static SkIRect SK_WARN_UNUSED_RESULT MakeWH(int32_t w, int32_t h)
+
+#Param w  incomplete ##
+#Param h  incomplete ##
+
+#Return incomplete ##
+
+#Example
+// incomplete
+##
+
+#ToDo incomplete ##
+
+##
+
+# ------------------------------------------------------------------------------
+
+#Method static SkIRect SK_WARN_UNUSED_RESULT MakeSize(const SkISize& size)
+
+#Param size  incomplete ##
+
+#Return incomplete ##
+
+#Example
+// incomplete
+##
+
+#ToDo incomplete ##
+
+##
+
+# ------------------------------------------------------------------------------
+
+#Method static SkIRect SK_WARN_UNUSED_RESULT MakeLTRB(int32_t l, int32_t t, int32_t r, int32_t b)
+
+#Param l  incomplete ##
+#Param t  incomplete ##
+#Param r  incomplete ##
+#Param b  incomplete ##
+
+#Return incomplete ##
+
+#Example
+// incomplete
+##
+
+#ToDo incomplete ##
+
+##
+
+# ------------------------------------------------------------------------------
+
+#Method static SkIRect SK_WARN_UNUSED_RESULT MakeXYWH(int32_t x, int32_t y, int32_t w, int32_t h)
+
+#Param x  incomplete ##
+#Param y  incomplete ##
+#Param w  incomplete ##
+#Param h  incomplete ##
+
+#Return incomplete ##
+
+#Example
+// incomplete
+##
+
+#ToDo incomplete ##
+
+##
+
+# ------------------------------------------------------------------------------
+
+#Method int left() const
+
+#Return incomplete ##
+
+#Example
+// incomplete
+##
+
+#ToDo incomplete ##
+
+##
+
+# ------------------------------------------------------------------------------
+
+#Method int top() const
+
+#Return incomplete ##
+
+#Example
+// incomplete
+##
+
+#ToDo incomplete ##
+
+##
+
+# ------------------------------------------------------------------------------
+
+#Method int right() const
+
+#Return incomplete ##
+
+#Example
+// incomplete
+##
+
+#ToDo incomplete ##
+
+##
+
+# ------------------------------------------------------------------------------
+
+#Method int bottom() const
+
+#Return incomplete ##
+
+#Example
+// incomplete
+##
+
+#ToDo incomplete ##
+
+##
+
+# ------------------------------------------------------------------------------
+
+#Method int x() const
+
+return the left edge of the rectangle
+
+#Return incomplete ##
+
+#Example
+// incomplete
+##
+
+#ToDo incomplete ##
+
+##
+
+# ------------------------------------------------------------------------------
+
+#Method int y() const
+
+return the top edge of the rectangle
+
+#Return incomplete ##
+
+#Example
+// incomplete
+##
+
+#ToDo incomplete ##
+
+##
+
+# ------------------------------------------------------------------------------
+
+#Method int width() const
+
+Returns the rectangle width. This does not check for a valid rectangle
+(i.e. left <= right) so the result may be negative.
+
+#Return incomplete ##
+
+#Example
+// incomplete
+##
+
+#ToDo incomplete ##
+
+##
+
+# ------------------------------------------------------------------------------
+
+#Method int height() const
+
+Returns the rectangle height. This does not check for a valid rectangle
+(i.e. top <= bottom) so the result may be negative.
+
+#Return incomplete ##
+
+#Example
+// incomplete
+##
+
+#ToDo incomplete ##
+
+##
+
+# ------------------------------------------------------------------------------
+
+#Method SkISize size() const
+
+#Return incomplete ##
+
+#Example
+// incomplete
+##
+
+#ToDo incomplete ##
+
+##
+
+# ------------------------------------------------------------------------------
+
+#Method int centerX() const
+
+Since the center of an integer rectangle may fall on a factional value, this
+method is defined to return (right + left) >> 1.
+This is a specific "truncation" of the average, which is different than
+(right + left) / 2 when the sum is negative.
+
+#Return incomplete ##
+
+#Example
+// incomplete
+##
+
+#ToDo incomplete ##
+
+##
+
+# ------------------------------------------------------------------------------
+
+#Method int centerY() const
+
+Since the center of an integer rectangle may fall on a factional value, this
+method is defined to return (bottom + top) >> 1.
+This is a specific "truncation" of the average, which is different than
+(bottom + top) / 2 when the sum is negative.
+
+#Return incomplete ##
+
+#Example
+// incomplete
+##
+
+#ToDo incomplete ##
+
+##
+
+# ------------------------------------------------------------------------------
+
+#Method bool isEmpty() const
+
+Return true if the rectangle width or height are <= 0
+
+#Return incomplete ##
+
+#Example
+// incomplete
+##
+
+#ToDo incomplete ##
+
+##
+
+# ------------------------------------------------------------------------------
+
+#Method bool isLargest() const
+
+#Return incomplete ##
+
+#Example
+// incomplete
+##
+
+#ToDo incomplete ##
+
+##
+
+# ------------------------------------------------------------------------------
+
+#Method friend bool operator==(const SkIRect& a, const SkIRect& b)
+
+#Param a  incomplete ##
+#Param b  incomplete ##
+
+#Return incomplete ##
+
+#Example
+// incomplete
+##
+
+#ToDo incomplete ##
+
+##
+
+# ------------------------------------------------------------------------------
+
+#Method friend bool operator!=(const SkIRect& a, const SkIRect& b)
+
+#Param a  incomplete ##
+#Param b  incomplete ##
+
+#Return incomplete ##
+
+#Example
+// incomplete
+##
+
+#ToDo incomplete ##
+
+##
+
+# ------------------------------------------------------------------------------
+
+#Method bool is16Bit() const
+
+#Return incomplete ##
+
+#Example
+// incomplete
+##
+
+#ToDo incomplete ##
+
+##
+
+# ------------------------------------------------------------------------------
+
+#Method void setEmpty()
+
+Set the rectangle to (0,0,0,0)
+
+#Example
+// incomplete
+##
+
+#ToDo incomplete ##
+
+##
+
+# ------------------------------------------------------------------------------
+
+#Method void set(int32_t left, int32_t top, int32_t right, int32_t bottom)
+
+#Param left  incomplete ##
+#Param top  incomplete ##
+#Param right  incomplete ##
+#Param bottom  incomplete ##
+
+#Example
+// incomplete
+##
+
+#ToDo incomplete ##
+
+##
+
+# ------------------------------------------------------------------------------
+
+#Method void setLTRB(int32_t left, int32_t top, int32_t right, int32_t bottom)
+
+alias for set(l, t, r, b)
+
+#Param left  incomplete ##
+#Param top  incomplete ##
+#Param right  incomplete ##
+#Param bottom  incomplete ##
+
+#Example
+// incomplete
+##
+
+#ToDo incomplete ##
+
+##
+
+# ------------------------------------------------------------------------------
+
+#Method void setXYWH(int32_t x, int32_t y, int32_t width, int32_t height)
+
+#Param x  incomplete ##
+#Param y  incomplete ##
+#Param width  incomplete ##
+#Param height  incomplete ##
+
+#Example
+// incomplete
+##
+
+#ToDo incomplete ##
+
+##
+
+# ------------------------------------------------------------------------------
+
+#Method void setLargest()
+
+Sets rectangle left and top to most negative value, and sets
+right and bottom to most positive value.
+
+#Example
+// incomplete
+##
+
+#ToDo incomplete ##
+
+##
+
+# ------------------------------------------------------------------------------
+
+#Method void setLargestInverted()
+
+Sets rectangle left and top to most positive value, and sets
+right and bottom to most negative value.
+
+#Example
+// incomplete
+##
+
+#ToDo incomplete ##
+
+##
+
+# ------------------------------------------------------------------------------
+
+#Method SkIRect makeOffset(int32_t dx, int32_t dy) const
+
+Return a new IRect, built as an offset of this rectangle.
+
+#Param dx  incomplete ##
+#Param dy  incomplete ##
+
+#Return incomplete ##
+
+#Example
+// incomplete
+##
+
+#ToDo incomplete ##
+
+##
+
+# ------------------------------------------------------------------------------
+
+#Method SkIRect makeInset(int32_t dx, int32_t dy) const
+
+Return a new IRect, built as an inset of this rectangle.
+
+#Param dx  incomplete ##
+#Param dy  incomplete ##
+
+#Return incomplete ##
+
+#Example
+// incomplete
+##
+
+#ToDo incomplete ##
+
+##
+
+# ------------------------------------------------------------------------------
+
+#Method SkIRect makeOutset(int32_t dx, int32_t dy) const
+
+Return a new Rect, built as an outset of this rectangle.
+
+#Param dx  incomplete ##
+#Param dy  incomplete ##
+
+#Return incomplete ##
+
+#Example
+// incomplete
+##
+
+#ToDo incomplete ##
+
+##
+
+# ------------------------------------------------------------------------------
+
+#Method void offset(int32_t dx, int32_t dy)
+
+Offset set the rectangle by adding dx to its left and right,
+and adding dy to its top and bottom.
+
+#Param dx  incomplete ##
+#Param dy  incomplete ##
+
+#Example
+// incomplete
+##
+
+#ToDo incomplete ##
+
+##
+
+# ------------------------------------------------------------------------------
+
+#Method void offset(const SkIPoint& delta)
+
+#Param delta  incomplete ##
+
+#Example
+// incomplete
+##
+
+#ToDo incomplete ##
+
+##
+
+# ------------------------------------------------------------------------------
+
+#Method void offsetTo(int32_t newX, int32_t newY)
+
+Offset this rectangle such its new x() and y() will equal newX and newY.
+
+#Param newX  incomplete ##
+#Param newY  incomplete ##
+
+#Example
+// incomplete
+##
+
+#ToDo incomplete ##
+
+##
+
+# ------------------------------------------------------------------------------
+
+#Method void inset(int32_t dx, int32_t dy)
+
+Inset the rectangle by (dx,dy). If dx is positive, then the sides are moved inwards,
+making the rectangle narrower. If dx is negative, then the sides are moved outwards,
+making the rectangle wider. The same holds true for dy and the top and bottom.
+
+#Param dx  incomplete ##
+#Param dy  incomplete ##
+
+#Example
+// incomplete
+##
+
+#ToDo incomplete ##
+
+##
+
+# ------------------------------------------------------------------------------
+
+#Method void outset(int32_t dx, int32_t dy)
+
+Outset the rectangle by (dx,dy). If dx is positive, then the sides are
+moved outwards, making the rectangle wider. If dx is negative, then the
+sides are moved inwards, making the rectangle narrower. The same holds
+true for dy and the top and bottom.
+
+#Param dx  incomplete ##
+#Param dy  incomplete ##
+
+#Example
+// incomplete
+##
+
+#ToDo incomplete ##
+
+##
+
+# ------------------------------------------------------------------------------
+
+#Method bool quickReject(int l, int t, int r, int b) const
+
+#Param l  incomplete ##
+#Param t  incomplete ##
+#Param r  incomplete ##
+#Param b  incomplete ##
+
+#Return incomplete ##
+
+#Example
+// incomplete
+##
+
+#ToDo incomplete ##
+
+##
+
+# ------------------------------------------------------------------------------
+
+#Method bool contains(int32_t x, int32_t y) const
+
+Returns true if (x,y) is inside the rectangle and the rectangle is not
+empty. The left and top are considered to be inside, while the right
+and bottom are not. Thus for the rectangle (0, 0, 5, 10), the
+points (0,0) and (0,9) are inside, while (-1,0) and (5,9) are not.
+
+#Param x  incomplete ##
+#Param y  incomplete ##
+
+#Return incomplete ##
+
+#Example
+// incomplete
+##
+
+#ToDo incomplete ##
+
+##
+
+# ------------------------------------------------------------------------------
+
+#Method bool contains(int32_t left, int32_t top, int32_t right, int32_t bottom) const
+
+Returns true if the 4 specified sides of a rectangle are inside or equal to this rectangle.
+If either rectangle is empty, contains() returns false.
+
+#Param left  incomplete ##
+#Param top  incomplete ##
+#Param right  incomplete ##
+#Param bottom  incomplete ##
+
+#Return incomplete ##
+
+#Example
+// incomplete
+##
+
+#ToDo incomplete ##
+
+##
+
+# ------------------------------------------------------------------------------
+
+#Method bool contains(const SkIRect& r) const
+
+Returns true if the specified rectangle r is inside or equal to this rectangle.
+
+#Param r  incomplete ##
+
+#Return incomplete ##
+
+#Example
+// incomplete
+##
+
+#ToDo incomplete ##
+
+##
+
+# ------------------------------------------------------------------------------
+
+#Method bool contains(const SkRect& r) const
+
+Returns true if the specified rectangle r is inside or equal to this rectangle.
+
+#Param r  incomplete ##
+
+#Return incomplete ##
+
+#Example
+// incomplete
+##
+
+#ToDo incomplete ##
+
+##
+
+# ------------------------------------------------------------------------------
+
+#Method bool containsNoEmptyCheck(int32_t left, int32_t top,
+                              int32_t right, int32_t bottom) const
+
+Return true if this rectangle contains the specified rectangle.
+For speed, this method does not check if either this or the specified
+rectangles are empty, and if either is, its return value is undefined.
+In the debugging build however, we assert that both this and the
+specified rectangles are non-empty.
+
+#Param left  incomplete ##
+#Param top  incomplete ##
+#Param right  incomplete ##
+#Param bottom  incomplete ##
+
+#Return incomplete ##
+
+#Example
+// incomplete
+##
+
+#ToDo incomplete ##
+
+##
+
+# ------------------------------------------------------------------------------
+
+#Method bool containsNoEmptyCheck(const SkIRect& r) const
+
+#Param r  incomplete ##
+
+#Return incomplete ##
+
+#Example
+// incomplete
+##
+
+#ToDo incomplete ##
+
+##
+
+# ------------------------------------------------------------------------------
+
+#Method bool intersect(const SkIRect& r)
+
+If r intersects this rectangle, return true and set this rectangle to that
+intersection, otherwise return false and do not change this rectangle.
+If either rectangle is empty, do nothing and return false.
+
+#Param r  incomplete ##
+
+#Return incomplete ##
+
+#Example
+// incomplete
+##
+
+#ToDo incomplete ##
+
+##
+
+# ------------------------------------------------------------------------------
+
+#Method bool SK_WARN_UNUSED_RESULT intersect(const SkIRect& a, const SkIRect& b)
+
+If rectangles a and b intersect, return true and set this rectangle to
+that intersection, otherwise return false and do not change this
+rectangle. If either rectangle is empty, do nothing and return false.
+
+#Param a  incomplete ##
+#Param b  incomplete ##
+
+#Return incomplete ##
+
+#Example
+// incomplete
+##
+
+#ToDo incomplete ##
+
+##
+
+# ------------------------------------------------------------------------------
+
+#Method bool SK_WARN_UNUSED_RESULT intersectNoEmptyCheck(const SkIRect& a, const SkIRect& b)
+
+If rectangles a and b intersect, return true and set this rectangle to
+that intersection, otherwise return false and do not change this
+rectangle. For speed, no check to see if a or b are empty is performed.
+If either is, then the return result is undefined. In the debug build,
+we assert that both rectangles are non-empty.
+
+#Param a  incomplete ##
+#Param b  incomplete ##
+
+#Return incomplete ##
+
+#Example
+// incomplete
+##
+
+#ToDo incomplete ##
+
+##
+
+# ------------------------------------------------------------------------------
+
+#Method bool intersect(int32_t left, int32_t top, int32_t right, int32_t bottom)
+
+If the rectangle specified by left,top,right,bottom intersects this rectangle,
+return true and set this rectangle to that intersection,
+otherwise return false and do not change this rectangle.
+If either rectangle is empty, do nothing and return false.
+
+#Param left  incomplete ##
+#Param top  incomplete ##
+#Param right  incomplete ##
+#Param bottom  incomplete ##
+
+#Return incomplete ##
+
+#Example
+// incomplete
+##
+
+#ToDo incomplete ##
+
+##
+
+# ------------------------------------------------------------------------------
+
+#Method static bool Intersects(const SkIRect& a, const SkIRect& b)
+
+Returns true if a and b are not empty, and they intersect
+
+#Param a  incomplete ##
+#Param b  incomplete ##
+
+#Return incomplete ##
+
+#Example
+// incomplete
+##
+
+#ToDo incomplete ##
+
+##
+
+# ------------------------------------------------------------------------------
+
+#Method static bool IntersectsNoEmptyCheck(const SkIRect& a, const SkIRect& b)
+
+Returns true if a and b intersect. debug-asserts that neither are empty.
+
+#Param a  incomplete ##
+#Param b  incomplete ##
+
+#Return incomplete ##
+
+#Example
+// incomplete
+##
+
+#ToDo incomplete ##
+
+##
+
+# ------------------------------------------------------------------------------
+
+#Method void join(int32_t left, int32_t top, int32_t right, int32_t bottom)
+
+Update this rectangle to enclose itself and the specified rectangle.
+If this rectangle is empty, just set it to the specified rectangle. If the specified
+rectangle is empty, do nothing.
+
+#Param left  incomplete ##
+#Param top  incomplete ##
+#Param right  incomplete ##
+#Param bottom  incomplete ##
+
+#Example
+// incomplete
+##
+
+#ToDo incomplete ##
+
+##
+
+# ------------------------------------------------------------------------------
+
+#Method void join(const SkIRect& r)
+
+Update this rectangle to enclose itself and the specified rectangle.
+If this rectangle is empty, just set it to the specified rectangle. If the specified
+rectangle is empty, do nothing.
+
+#Param r  incomplete ##
+
+#Example
+// incomplete
+##
+
+#ToDo incomplete ##
+
+##
+
+# ------------------------------------------------------------------------------
+
+#Method void sort()
+
+Swap top/bottom or left/right if there are flipped.
+This can be called if the edges are computed separately,
+and may have crossed over each other.
+When this returns, left <= right && top <= bottom
+
+#Example
+// incomplete
+##
+
+#ToDo incomplete ##
+
+##
+
+# ------------------------------------------------------------------------------
+
+#Method SkIRect makeSorted() const
+
+Return a new Rect that is the sorted version of this rectangle (left <= right, top <= bottom).
+
+#Return incomplete ##
+
+#Example
+// incomplete
+##
+
+#ToDo incomplete ##
+
+##
+
+# ------------------------------------------------------------------------------
+
+#Method static const SkIRect& SK_WARN_UNUSED_RESULT EmptyIRect()
+
+#Return incomplete ##
+
+#Example
+// incomplete
+##
+
+#ToDo incomplete ##
+
+##
+
+#Struct SkIRect ##
+
+#Topic IRect ##