1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "mojo/services/public/cpp/geometry/geometry_type_converters.h"
10 PointPtr TypeConverter<PointPtr, gfx::Point>::ConvertFrom(
11 const gfx::Point& input) {
12 PointPtr point(Point::New());
19 gfx::Point TypeConverter<PointPtr, gfx::Point>::ConvertTo(
20 const PointPtr& input) {
23 return gfx::Point(input->x, input->y);
27 PointFPtr TypeConverter<PointFPtr, gfx::PointF>::ConvertFrom(
28 const gfx::PointF& input) {
29 PointFPtr point(PointF::New());
36 gfx::PointF TypeConverter<PointFPtr, gfx::PointF>::ConvertTo(
37 const PointFPtr& input) {
40 return gfx::PointF(input->x, input->y);
44 SizePtr TypeConverter<SizePtr, gfx::Size>::ConvertFrom(const gfx::Size& input) {
45 SizePtr size(Size::New());
46 size->width = input.width();
47 size->height = input.height();
52 gfx::Size TypeConverter<SizePtr, gfx::Size>::ConvertTo(const SizePtr& input) {
55 return gfx::Size(input->width, input->height);
59 RectPtr TypeConverter<RectPtr, gfx::Rect>::ConvertFrom(const gfx::Rect& input) {
60 RectPtr rect(Rect::New());
63 rect->width = input.width();
64 rect->height = input.height();
69 gfx::Rect TypeConverter<RectPtr, gfx::Rect>::ConvertTo(const RectPtr& input) {
72 return gfx::Rect(input->x, input->y, input->width, input->height);
76 TransformPtr TypeConverter<TransformPtr, gfx::Transform>::ConvertFrom(
77 const gfx::Transform& input) {
78 std::vector<float> storage(16);
79 input.matrix().asRowMajorf(&storage[0]);
80 mojo::Array<float> matrix;
81 matrix.Swap(&storage);
82 TransformPtr transform(Transform::New());
83 transform->matrix = matrix.Pass();
84 return transform.Pass();
88 gfx::Transform TypeConverter<TransformPtr, gfx::Transform>::ConvertTo(
89 const TransformPtr& input) {
91 return gfx::Transform();
92 gfx::Transform transform(gfx::Transform::kSkipInitialization);
93 transform.matrix().setRowMajorf(&input->matrix.storage()[0]);