Upstream version 11.40.271.0
[platform/framework/web/crosswalk.git] / src / mojo / converters / geometry / geometry_type_converters.h
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.
4
5 #ifndef MOJO_CONVERTERS_GEOMETRY_GEOMETRY_TYPE_CONVERTERS_H_
6 #define MOJO_CONVERTERS_GEOMETRY_GEOMETRY_TYPE_CONVERTERS_H_
7
8 #include "mojo/converters/geometry/mojo_geometry_export.h"
9 #include "mojo/services/public/interfaces/geometry/geometry.mojom.h"
10 #include "ui/gfx/geometry/point.h"
11 #include "ui/gfx/geometry/point_f.h"
12 #include "ui/gfx/geometry/rect.h"
13 #include "ui/gfx/geometry/size.h"
14 #include "ui/gfx/transform.h"
15
16 namespace mojo {
17
18 template <>
19 struct MOJO_GEOMETRY_EXPORT TypeConverter<PointPtr, gfx::Point> {
20   static PointPtr Convert(const gfx::Point& input);
21 };
22 template <>
23 struct MOJO_GEOMETRY_EXPORT TypeConverter<gfx::Point, PointPtr> {
24   static gfx::Point Convert(const PointPtr& input);
25 };
26
27 template <>
28 struct MOJO_GEOMETRY_EXPORT TypeConverter<PointFPtr, gfx::PointF> {
29   static PointFPtr Convert(const gfx::PointF& input);
30 };
31 template <>
32 struct MOJO_GEOMETRY_EXPORT TypeConverter<gfx::PointF, PointFPtr> {
33   static gfx::PointF Convert(const PointFPtr& input);
34 };
35
36 template <>
37 struct MOJO_GEOMETRY_EXPORT TypeConverter<SizePtr, gfx::Size> {
38   static SizePtr Convert(const gfx::Size& input);
39 };
40 template <>
41 struct MOJO_GEOMETRY_EXPORT TypeConverter<gfx::Size, SizePtr> {
42   static gfx::Size Convert(const SizePtr& input);
43 };
44
45 template <>
46 struct MOJO_GEOMETRY_EXPORT TypeConverter<RectPtr, gfx::Rect> {
47   static RectPtr Convert(const gfx::Rect& input);
48 };
49 template <>
50 struct MOJO_GEOMETRY_EXPORT TypeConverter<gfx::Rect, RectPtr> {
51   static gfx::Rect Convert(const RectPtr& input);
52 };
53
54 template <>
55 struct MOJO_GEOMETRY_EXPORT TypeConverter<RectFPtr, gfx::RectF> {
56   static RectFPtr Convert(const gfx::RectF& input);
57 };
58 template <>
59 struct MOJO_GEOMETRY_EXPORT TypeConverter<gfx::RectF, RectFPtr> {
60   static gfx::RectF Convert(const RectFPtr& input);
61 };
62
63 template <>
64 struct MOJO_GEOMETRY_EXPORT TypeConverter<TransformPtr, gfx::Transform> {
65   static TransformPtr Convert(const gfx::Transform& input);
66 };
67 template <>
68 struct MOJO_GEOMETRY_EXPORT TypeConverter<gfx::Transform, TransformPtr> {
69   static gfx::Transform Convert(const TransformPtr& input);
70 };
71
72 }  // namespace mojo
73
74 #endif  // MOJO_CONVERTERS_GEOMETRY_GEOMETRY_TYPE_CONVERTERS_H_