summaryrefslogtreecommitdiffstats
path: root/content/public
diff options
context:
space:
mode:
authordanakj@chromium.org <danakj@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-11-22 22:04:53 +0000
committerdanakj@chromium.org <danakj@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-11-22 22:04:53 +0000
commit4934d36c8bd79dea1addadacb9f154afe458a1a6 (patch)
treed8768cb0487eaad06403221fcbf527e67df5ac5f /content/public
parente39bf21627c91e39941f6e4749ea5b925730c806 (diff)
downloadchromium_src-4934d36c8bd79dea1addadacb9f154afe458a1a6.zip
chromium_src-4934d36c8bd79dea1addadacb9f154afe458a1a6.tar.gz
chromium_src-4934d36c8bd79dea1addadacb9f154afe458a1a6.tar.bz2
cc: Create param traits for cc::RenderPass and its contained classes.
Tests: content_unittests:CCMessagesTest.AllQuads R=piman BUG=152337 Depends on: https://codereview.chromium.org/11413106/ Review URL: https://chromiumcodereview.appspot.com/11418111 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@169309 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/public')
-rw-r--r--content/public/common/common_param_traits.cc21
-rw-r--r--content/public/common/common_param_traits.h8
2 files changed, 29 insertions, 0 deletions
diff --git a/content/public/common/common_param_traits.cc b/content/public/common/common_param_traits.cc
index 7a0200a..2b37363 100644
--- a/content/public/common/common_param_traits.cc
+++ b/content/public/common/common_param_traits.cc
@@ -151,6 +151,27 @@ void ParamTraits<gfx::Size>::Log(const gfx::Size& p, std::string* l) {
l->append(base::StringPrintf("(%d, %d)", p.width(), p.height()));
}
+void ParamTraits<gfx::SizeF>::Write(Message* m, const gfx::SizeF& p) {
+ ParamTraits<float>::Write(m, p.width());
+ ParamTraits<float>::Write(m, p.height());
+}
+
+bool ParamTraits<gfx::SizeF>::Read(const Message* m,
+ PickleIterator* iter,
+ gfx::SizeF* p) {
+ float w, h;
+ if (!ParamTraits<float>::Read(m, iter, &w) ||
+ !ParamTraits<float>::Read(m, iter, &h))
+ return false;
+ p->set_width(w);
+ p->set_height(h);
+ return true;
+}
+
+void ParamTraits<gfx::SizeF>::Log(const gfx::SizeF& p, std::string* l) {
+ l->append(base::StringPrintf("(%f, %f)", p.width(), p.height()));
+}
+
void ParamTraits<gfx::Vector2d>::Write(Message* m, const gfx::Vector2d& v) {
m->WriteInt(v.x());
m->WriteInt(v.y());
diff --git a/content/public/common/common_param_traits.h b/content/public/common/common_param_traits.h
index ce5a668..208af3f 100644
--- a/content/public/common/common_param_traits.h
+++ b/content/public/common/common_param_traits.h
@@ -83,6 +83,14 @@ struct CONTENT_EXPORT ParamTraits<gfx::Size> {
};
template <>
+struct CONTENT_EXPORT ParamTraits<gfx::SizeF> {
+ typedef gfx::SizeF param_type;
+ static void Write(Message* m, const param_type& p);
+ static bool Read(const Message* m, PickleIterator* iter, param_type* r);
+ static void Log(const param_type& p, std::string* l);
+};
+
+template <>
struct CONTENT_EXPORT ParamTraits<gfx::Vector2d> {
typedef gfx::Vector2d param_type;
static void Write(Message* m, const param_type& p);