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_SERVICES_PUBLIC_CPP_GEOMETRY_GEOMETRY_TYPE_CONVERTERS_H_ 6 #define MOJO_SERVICES_PUBLIC_CPP_GEOMETRY_GEOMETRY_TYPE_CONVERTERS_H_ 7 8 #include "mojo/services/public/cpp/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_SERVICES_PUBLIC_CPP_GEOMETRY_GEOMETRY_TYPE_CONVERTERS_H_ 75