aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/SkMatrix.cpp
diff options
context:
space:
mode:
authorGravatar reed@android.com <reed@android.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2009-06-29 16:02:20 +0000
committerGravatar reed@android.com <reed@android.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2009-06-29 16:02:20 +0000
commit0ad336f8c6f6f0325eee309c9cd501ea432cc33e (patch)
tree5ce71598d388b28a6ea3d6f03528dc8bb2df88cf /src/core/SkMatrix.cpp
parent0bfffc59a0d4967a18cc3c4f429af3f706c18511 (diff)
add shape flatten so they work properly in pictures
add flatten/unflatten to matrix git-svn-id: http://skia.googlecode.com/svn/trunk@242 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'src/core/SkMatrix.cpp')
-rw-r--r--src/core/SkMatrix.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/core/SkMatrix.cpp b/src/core/SkMatrix.cpp
index ac5ae926e0..48fa804d9b 100644
--- a/src/core/SkMatrix.cpp
+++ b/src/core/SkMatrix.cpp
@@ -1582,6 +1582,20 @@ bool SkMatrix::setPolyToPoly(const SkPoint src[], const SkPoint dst[],
///////////////////////////////////////////////////////////////////////////////
+uint32_t SkMatrix::flatten(void* buffer) const {
+ // TODO write less for simple matrices
+ if (buffer) {
+ memcpy(buffer, fMat, 9 * sizeof(SkScalar));
+ }
+ return 9 * sizeof(SkScalar);
+}
+
+uint32_t SkMatrix::unflatten(const void* buffer) {
+ memcpy(fMat, buffer, 9 * sizeof(SkScalar));
+ this->setTypeMask(kUnknown_Mask);
+ return 9 * sizeof(SkScalar);
+}
+
void SkMatrix::dump() const {
SkString str;
this->toDumpString(&str);