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

Unified Diff: src/core/SkReadBuffer.cpp

Issue 2334123003: Add SkColor4f serialization (Closed)
Patch Set: Fix stack overflow in test Created 4 years, 3 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
Index: src/core/SkReadBuffer.cpp
diff --git a/src/core/SkReadBuffer.cpp b/src/core/SkReadBuffer.cpp
index 4b9d5987a173607c8d530d44400f7398165f2897..7465e308185b3d40c51909759ba6cab1db5dacf1 100644
--- a/src/core/SkReadBuffer.cpp
+++ b/src/core/SkReadBuffer.cpp
@@ -142,6 +142,14 @@ void SkReadBuffer::readString(SkString* string) {
string->set(strContents, len);
}
+static_assert(SK_SCALAR_IS_FLOAT, "Color4f serialization needs updating");
+void SkReadBuffer::readColor4f(SkColor4f* color) {
reed1 2016/09/13 23:17:03 Is this any simpler/more-efficient? memcpy(color,
+ color->fR = fReader.readScalar();
+ color->fG = fReader.readScalar();
+ color->fB = fReader.readScalar();
+ color->fA = fReader.readScalar();
+}
+
void SkReadBuffer::readPoint(SkPoint* point) {
point->fX = fReader.readScalar();
point->fY = fReader.readScalar();
@@ -192,6 +200,10 @@ bool SkReadBuffer::readColorArray(SkColor* colors, size_t size) {
return readArray(colors, size, sizeof(SkColor));
}
+bool SkReadBuffer::readColor4fArray(SkColor4f* colors, size_t size) {
+ return readArray(colors, size, sizeof(SkColor4f));
+}
+
bool SkReadBuffer::readIntArray(int32_t* values, size_t size) {
return readArray(values, size, sizeof(int32_t));
}

Powered by Google App Engine
This is Rietveld 408576698