Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(5)

Unified Diff: include/core/SkPatch.h

Issue 429343004: Stopped skipping tests in dm of SkPatch (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Moved DRAW_PATCH DrawType to the last position Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « include/core/SkCanvas.h ('k') | include/core/SkReadBuffer.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: include/core/SkPatch.h
diff --git a/include/core/SkPatch.h b/include/core/SkPatch.h
index 3e06c3fc91f9ce5bf5df56d2da680f8cefc36068..698b1cbf306e14dcddb0ce48aad2e886c63f3077 100644
--- a/include/core/SkPatch.h
+++ b/include/core/SkPatch.h
@@ -77,6 +77,12 @@ public:
kBottomLeft_CornerColors
};
+ enum {
+ kNumCtrlPts = 12,
+ kNumColors = 4,
+ kNumPtsCubic = 4
+ };
+
/**
* Points are in the following order:
* (top curve)
@@ -86,7 +92,8 @@ public:
* 9 8 7 6
* (bottom curve)
*/
- SkPatch(SkPoint points[12], SkColor colors[4]);
+ SkPatch() { }
+ SkPatch(const SkPoint points[12], const SkColor colors[4]);
/**
* Function that evaluates the coons patch interpolation.
@@ -138,9 +145,38 @@ public:
return fCornerColors;
}
+ void setPoints(const SkPoint points[12]) {
+ memcpy(fCtrlPoints, points, kNumCtrlPts * sizeof(SkPoint));
+ }
+
+ void setColors(const SkColor colors[4]) {
+ memcpy(fCornerColors, colors, kNumColors * sizeof(SkColor));
+ }
+
+ void reset(const SkPoint points[12], const SkColor colors[4]) {
+ this->setPoints(points);
+ this->setColors(colors);
+ }
+
+ /**
+ * Write the patch to the buffer, and return the number of bytes written.
+ * If buffer is NULL, it still returns the number of bytes.
+ */
+ size_t writeToMemory(void* buffer) const;
+
+ /**
+ * Initializes the patch from the buffer
+ *
+ * buffer Memory to read from
+ * length Amount of memory available in the buffer
+ * returns the number of bytes read (must be a multiple of 4) or
+ * 0 if there was not enough memory available
+ */
+ size_t readFromMemory(const void* buffer, size_t length);
+
private:
- SkPoint fCtrlPoints[12];
- SkColor fCornerColors[4];
+ SkPoint fCtrlPoints[kNumCtrlPts];
+ SkColor fCornerColors[kNumColors];
};
#endif
« no previous file with comments | « include/core/SkCanvas.h ('k') | include/core/SkReadBuffer.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698