| Index: content/common/cc_messages.cc
|
| diff --git a/content/common/cc_messages.cc b/content/common/cc_messages.cc
|
| index dc389a65f629789cba010d8cb3c4265568493684..d27446af9594bdfd1b6cca81e3ed0338f2b542e4 100644
|
| --- a/content/common/cc_messages.cc
|
| +++ b/content/common/cc_messages.cc
|
| @@ -242,106 +242,41 @@ void ParamTraits<skia::RefPtr<SkImageFilter> >::Log(
|
|
|
| void ParamTraits<gfx::Transform>::Write(
|
| Message* m, const param_type& p) {
|
| - WriteParam(m, p.matrix().get(0, 0));
|
| - WriteParam(m, p.matrix().get(1, 0));
|
| - WriteParam(m, p.matrix().get(2, 0));
|
| - WriteParam(m, p.matrix().get(3, 0));
|
| - WriteParam(m, p.matrix().get(0, 1));
|
| - WriteParam(m, p.matrix().get(1, 1));
|
| - WriteParam(m, p.matrix().get(2, 1));
|
| - WriteParam(m, p.matrix().get(3, 1));
|
| - WriteParam(m, p.matrix().get(0, 2));
|
| - WriteParam(m, p.matrix().get(1, 2));
|
| - WriteParam(m, p.matrix().get(2, 2));
|
| - WriteParam(m, p.matrix().get(3, 2));
|
| - WriteParam(m, p.matrix().get(0, 3));
|
| - WriteParam(m, p.matrix().get(1, 3));
|
| - WriteParam(m, p.matrix().get(2, 3));
|
| - WriteParam(m, p.matrix().get(3, 3));
|
| +#ifdef SK_MSCALAR_IS_FLOAT
|
| + float column_major_data[16];
|
| + p.matrix().asColMajorf(column_major_data);
|
| +#else
|
| + double column_major_data[16];
|
| + p.matrix().asColMajord(column_major_data);
|
| +#endif
|
| + m->WriteBytes(&column_major_data, sizeof(SkMScalar) * 16);
|
| }
|
|
|
| bool ParamTraits<gfx::Transform>::Read(
|
| const Message* m, PickleIterator* iter, param_type* r) {
|
| - // Note: In this function, "m12" means 1st row, 2nd column of the matrix.
|
| - // This is consistent with Skia's row-column notation, but backwards from
|
| - // WebCore's column-row notation.
|
| - SkMScalar m11, m12, m13, m14, m21, m22, m23, m24, m31, m32, m33, m34, m41,
|
| - m42, m43, m44;
|
| -
|
| - bool success =
|
| - ReadParam(m, iter, &m11) &&
|
| - ReadParam(m, iter, &m21) &&
|
| - ReadParam(m, iter, &m31) &&
|
| - ReadParam(m, iter, &m41) &&
|
| - ReadParam(m, iter, &m12) &&
|
| - ReadParam(m, iter, &m22) &&
|
| - ReadParam(m, iter, &m32) &&
|
| - ReadParam(m, iter, &m42) &&
|
| - ReadParam(m, iter, &m13) &&
|
| - ReadParam(m, iter, &m23) &&
|
| - ReadParam(m, iter, &m33) &&
|
| - ReadParam(m, iter, &m43) &&
|
| - ReadParam(m, iter, &m14) &&
|
| - ReadParam(m, iter, &m24) &&
|
| - ReadParam(m, iter, &m34) &&
|
| - ReadParam(m, iter, &m44);
|
| -
|
| - if (success) {
|
| - r->matrix().set(0, 0, m11);
|
| - r->matrix().set(1, 0, m21);
|
| - r->matrix().set(2, 0, m31);
|
| - r->matrix().set(3, 0, m41);
|
| - r->matrix().set(0, 1, m12);
|
| - r->matrix().set(1, 1, m22);
|
| - r->matrix().set(2, 1, m32);
|
| - r->matrix().set(3, 1, m42);
|
| - r->matrix().set(0, 2, m13);
|
| - r->matrix().set(1, 2, m23);
|
| - r->matrix().set(2, 2, m33);
|
| - r->matrix().set(3, 2, m43);
|
| - r->matrix().set(0, 3, m14);
|
| - r->matrix().set(1, 3, m24);
|
| - r->matrix().set(2, 3, m34);
|
| - r->matrix().set(3, 3, m44);
|
| - }
|
| -
|
| - return success;
|
| + const char* column_major_data;
|
| + if (!m->ReadBytes(iter, &column_major_data, sizeof(SkMScalar) * 16))
|
| + return false;
|
| + r->matrix().setColMajor(
|
| + reinterpret_cast<const SkMScalar*>(column_major_data));
|
| + return true;
|
| }
|
|
|
| void ParamTraits<gfx::Transform>::Log(
|
| const param_type& p, std::string* l) {
|
| +#ifdef SK_MSCALAR_IS_FLOAT
|
| + float row_major_data[16];
|
| + p.matrix().asRowMajorf(row_major_data);
|
| +#else
|
| + double row_major_data[16];
|
| + p.matrix().asRowMajord(row_major_data);
|
| +#endif
|
| l->append("(");
|
| - LogParam(p.matrix().get(0, 0), l);
|
| - l->append(", ");
|
| - LogParam(p.matrix().get(1, 0), l);
|
| - l->append(", ");
|
| - LogParam(p.matrix().get(2, 0), l);
|
| - l->append(", ");
|
| - LogParam(p.matrix().get(3, 0), l);
|
| - l->append(", ");
|
| - LogParam(p.matrix().get(0, 1), l);
|
| - l->append(", ");
|
| - LogParam(p.matrix().get(1, 1), l);
|
| - l->append(", ");
|
| - LogParam(p.matrix().get(2, 1), l);
|
| - l->append(", ");
|
| - LogParam(p.matrix().get(3, 1), l);
|
| - l->append(", ");
|
| - LogParam(p.matrix().get(0, 2), l);
|
| - l->append(", ");
|
| - LogParam(p.matrix().get(1, 2), l);
|
| - l->append(", ");
|
| - LogParam(p.matrix().get(2, 2), l);
|
| - l->append(", ");
|
| - LogParam(p.matrix().get(3, 2), l);
|
| - l->append(", ");
|
| - LogParam(p.matrix().get(0, 3), l);
|
| - l->append(", ");
|
| - LogParam(p.matrix().get(1, 3), l);
|
| - l->append(", ");
|
| - LogParam(p.matrix().get(2, 3), l);
|
| - l->append(", ");
|
| - LogParam(p.matrix().get(3, 3), l);
|
| + for (int i = 0; i < 16; ++i) {
|
| + if (i > 0)
|
| + l->append(", ");
|
| + LogParam(row_major_data[i], l);
|
| + }
|
| l->append(") ");
|
| }
|
|
|
|
|