Index: include/gpu/GrDrawContext.h |
diff --git a/include/gpu/GrDrawContext.h b/include/gpu/GrDrawContext.h |
index 77a3443f9e514dc8abaf8955a9cae8d36b23cb5d..6e98404a44bd6751c2ef03281e96ccbf1ee0e498 100644 |
--- a/include/gpu/GrDrawContext.h |
+++ b/include/gpu/GrDrawContext.h |
@@ -35,7 +35,6 @@ |
class SkDrawFilter; |
struct SkIPoint; |
struct SkIRect; |
-class SkLatticeIter; |
class SkMatrix; |
class SkPaint; |
class SkPath; |
@@ -232,15 +231,26 @@ |
const GrStyle& style); |
/** |
- * Draw the image as a set of rects, specified by |iter|. |
- */ |
- void drawImageLattice(const GrClip&, |
- const GrPaint& paint, |
- const SkMatrix& viewMatrix, |
- int imageWidth, |
- int imageHeight, |
- std::unique_ptr<SkLatticeIter> iter, |
- const SkRect& dst); |
+ * Draw the image stretched differentially to fit into dst. |
+ * center is a rect within the image, and logically divides the image |
+ * into 9 sections (3x3). For example, if the middle pixel of a [5x5] |
+ * image is the "center", then the center-rect should be [2, 2, 3, 3]. |
+ * |
+ * If the dst is >= the image size, then... |
+ * - The 4 corners are not stretched at all. |
+ * - The sides are stretched in only one axis. |
+ * - The center is stretched in both axes. |
+ * Else, for each axis where dst < image, |
+ * - The corners shrink proportionally |
+ * - The sides (along the shrink axis) and center are not drawn |
+ */ |
+ void drawImageNine(const GrClip&, |
+ const GrPaint& paint, |
+ const SkMatrix& viewMatrix, |
+ int imageWidth, |
+ int imageHeight, |
+ const SkIRect& center, |
+ const SkRect& dst); |
/** |
* After this returns any pending surface IO will be issued to the backend 3D API and |