Index: include/core/SkCanvas.h |
diff --git a/include/core/SkCanvas.h b/include/core/SkCanvas.h |
index 7bf84c978fed4aa0d549c4c29ab94b3f19084aa6..03673b30db8d8036b686bb3aab0a130fba8e62de 100644 |
--- a/include/core/SkCanvas.h |
+++ b/include/core/SkCanvas.h |
@@ -956,6 +956,9 @@ public: |
/** |
* Specifies coordinates to divide a bitmap into (xCount*yCount) rects. |
+ * |
+ * If the lattice divs or bounds are invalid, the entire lattice |
+ * struct will be ignored on the draw call. |
*/ |
struct Lattice { |
enum Flags : uint8_t { |
@@ -964,29 +967,34 @@ public: |
}; |
// An array of x-coordinates that divide the bitmap vertically. |
- // These must be unique, increasing, and in the set [0, width). |
+ // These must be unique, increasing, and in the set [fBounds.fLeft, fBounds.fRight). |
// Does not have ownership. |
- const int* fXDivs; |
+ const int* fXDivs; |
// An array of y-coordinates that divide the bitmap horizontally. |
- // These must be unique, increasing, and in the set [0, height). |
+ // These must be unique, increasing, and in the set [fBounds.fTop, fBounds.fBottom). |
// Does not have ownership. |
- const int* fYDivs; |
+ const int* fYDivs; |
// If non-null, the length of this array must be equal to |
// (fXCount + 1) * (fYCount + 1). Note that we allow the first rect |
- // in each direction to empty (divs[0] = 0). In this case, the |
- // caller still must specify a flag (as a placeholder) for these |
- // empty rects. |
+ // in each direction to be empty (ex: fXDivs[0] = fBounds.fLeft). |
+ // In this case, the caller still must specify a flag (as a placeholder) |
+ // for these empty rects. |
// The flags correspond to the rects in the lattice, first moving |
// left to right and then top to bottom. |
- const Flags* fFlags; |
+ const Flags* fFlags; |
// The number of fXDivs. |
- int fXCount; |
+ int fXCount; |
// The number of fYDivs. |
- int fYCount; |
+ int fYCount; |
+ |
+ // The bound to draw from. Must be contained by the src that is being drawn, |
+ // non-empty, and non-inverted. |
+ // If nullptr, the bounds are the entire src. |
+ const SkIRect* fBounds; |
}; |
/** |