diff options
author | danakj@chromium.org <danakj@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-11-22 22:04:53 +0000 |
---|---|---|
committer | danakj@chromium.org <danakj@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-11-22 22:04:53 +0000 |
commit | 4934d36c8bd79dea1addadacb9f154afe458a1a6 (patch) | |
tree | d8768cb0487eaad06403221fcbf527e67df5ac5f /content/public | |
parent | e39bf21627c91e39941f6e4749ea5b925730c806 (diff) | |
download | chromium_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.cc | 21 | ||||
-rw-r--r-- | content/public/common/common_param_traits.h | 8 |
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); |