// Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "ipc/ipc_message_utils.h" #include "base/gfx/rect.h" namespace IPC { void ParamTraits::Write(Message* m, const gfx::Point& p) { m->WriteInt(p.x()); m->WriteInt(p.y()); } bool ParamTraits::Read(const Message* m, void** iter, gfx::Point* r) { int x, y; if (!m->ReadInt(iter, &x) || !m->ReadInt(iter, &y)) return false; r->set_x(x); r->set_y(y); return true; } void ParamTraits::Log(const gfx::Point& p, std::wstring* l) { l->append(StringPrintf(L"(%d, %d)", p.x(), p.y())); } void ParamTraits::Write(Message* m, const gfx::Rect& p) { m->WriteInt(p.x()); m->WriteInt(p.y()); m->WriteInt(p.width()); m->WriteInt(p.height()); } bool ParamTraits::Read(const Message* m, void** iter, gfx::Rect* r) { int x, y, w, h; if (!m->ReadInt(iter, &x) || !m->ReadInt(iter, &y) || !m->ReadInt(iter, &w) || !m->ReadInt(iter, &h)) return false; r->set_x(x); r->set_y(y); r->set_width(w); r->set_height(h); return true; } void ParamTraits::Log(const gfx::Rect& p, std::wstring* l) { l->append(StringPrintf(L"(%d, %d, %d, %d)", p.x(), p.y(), p.width(), p.height())); } void ParamTraits::Write(Message* m, const gfx::Size& p) { m->WriteInt(p.width()); m->WriteInt(p.height()); } bool ParamTraits::Read(const Message* m, void** iter, gfx::Size* r) { int w, h; if (!m->ReadInt(iter, &w) || !m->ReadInt(iter, &h)) return false; r->set_width(w); r->set_height(h); return true; } void ParamTraits::Log(const gfx::Size& p, std::wstring* l) { l->append(StringPrintf(L"(%d, %d)", p.width(), p.height())); } } // namespace IPC