diff options
author | Max Rebuschatis <lincolnfrog@chromium.org> | 2018-08-15 05:16:30 +0900 |
---|---|---|
committer | Qijiang Fan <fqj@google.com> | 2020-06-05 10:15:50 +0900 |
commit | 58aefbc6af449c8dc482aad1bdcd4bf644cce32b (patch) | |
tree | 9d1110c395e5f42b5e139d5fab793f7917baf817 | |
parent | 60b5d2ab933a6dcf851a745a46db299013634fe5 (diff) | |
download | libchrome-58aefbc6af449c8dc482aad1bdcd4bf644cce32b.tar.gz |
Use mojo classes from ui/gfx/geometry in XRRay mojo type
Bug: 845293
Change-Id: Ic41d3ac4a1925d6e6c175d00b8ded71f85a6fedc
Reviewed-on: https://chromium-review.googlesource.com/1089646
Commit-Queue: Max Rebuschatis <lincolnfrog@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Bill Orr <billorr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#583008}
CrOS-Libchrome-Original-Commit: 61067e7ce39e17ea25c0faf314bc57979f7e066b
-rw-r--r-- | ui/gfx/geometry/mojo/geometry.mojom | 12 | ||||
-rw-r--r-- | ui/gfx/geometry/mojo/geometry.typemap | 4 | ||||
-rw-r--r-- | ui/gfx/geometry/mojo/geometry_struct_traits.h | 26 |
3 files changed, 42 insertions, 0 deletions
diff --git a/ui/gfx/geometry/mojo/geometry.mojom b/ui/gfx/geometry/mojo/geometry.mojom index 9b8342f7cc..4eec21dccd 100644 --- a/ui/gfx/geometry/mojo/geometry.mojom +++ b/ui/gfx/geometry/mojo/geometry.mojom @@ -21,6 +21,12 @@ struct PointF { float y; }; +struct Point3F { + float x; + float y; + float z; +}; + struct Size { int32 width; int32 height; @@ -69,6 +75,12 @@ struct Vector2dF { float y; }; +struct Vector3dF { + float x; + float y; + float z; +}; + struct ScrollOffset { float x; float y; diff --git a/ui/gfx/geometry/mojo/geometry.typemap b/ui/gfx/geometry/mojo/geometry.typemap index 52775304c6..f7939a8b11 100644 --- a/ui/gfx/geometry/mojo/geometry.typemap +++ b/ui/gfx/geometry/mojo/geometry.typemap @@ -6,6 +6,7 @@ mojom = "//ui/gfx/geometry/mojo/geometry.mojom" public_headers = [ "//ui/gfx/geometry/point.h", "//ui/gfx/geometry/point_f.h", + "//ui/gfx/geometry/point3_f.h", "//ui/gfx/geometry/size.h", "//ui/gfx/geometry/rect.h", "//ui/gfx/geometry/rect_f.h", @@ -14,6 +15,7 @@ public_headers = [ "//ui/gfx/geometry/insets.h", "//ui/gfx/geometry/vector2d.h", "//ui/gfx/geometry/vector2d_f.h", + "//ui/gfx/geometry/vector3d_f.h", ] traits_headers = [ "//ui/gfx/geometry/mojo/geometry_struct_traits.h" ] deps = [ @@ -22,6 +24,7 @@ deps = [ type_mappings = [ "gfx.mojom.Point=gfx::Point", "gfx.mojom.PointF=gfx::PointF", + "gfx.mojom.Point3F=gfx::Point3F", "gfx.mojom.Size=gfx::Size", "gfx.mojom.SizeF=gfx::SizeF", "gfx.mojom.Rect=gfx::Rect", @@ -30,5 +33,6 @@ type_mappings = [ "gfx.mojom.InsetsF=gfx::InsetsF", "gfx.mojom.Vector2d=gfx::Vector2d", "gfx.mojom.Vector2dF=gfx::Vector2dF", + "gfx.mojom.Vector3dF=gfx::Vector3dF", "gfx.mojom.ScrollOffset=gfx::ScrollOffset", ] diff --git a/ui/gfx/geometry/mojo/geometry_struct_traits.h b/ui/gfx/geometry/mojo/geometry_struct_traits.h index 2fcd37cce7..2fdacbe5e9 100644 --- a/ui/gfx/geometry/mojo/geometry_struct_traits.h +++ b/ui/gfx/geometry/mojo/geometry_struct_traits.h @@ -9,6 +9,7 @@ #include "ui/gfx/geometry/insets_f.h" #include "ui/gfx/geometry/mojo/geometry.mojom-shared.h" #include "ui/gfx/geometry/point.h" +#include "ui/gfx/geometry/point3_f.h" #include "ui/gfx/geometry/point_f.h" #include "ui/gfx/geometry/rect.h" #include "ui/gfx/geometry/rect_f.h" @@ -17,6 +18,7 @@ #include "ui/gfx/geometry/size_f.h" #include "ui/gfx/geometry/vector2d.h" #include "ui/gfx/geometry/vector2d_f.h" +#include "ui/gfx/geometry/vector3d_f.h" namespace mojo { @@ -65,6 +67,17 @@ struct StructTraits<gfx::mojom::PointFDataView, gfx::PointF> { }; template <> +struct StructTraits<gfx::mojom::Point3FDataView, gfx::Point3F> { + static float x(const gfx::Point3F& p) { return p.x(); } + static float y(const gfx::Point3F& p) { return p.y(); } + static float z(const gfx::Point3F& p) { return p.z(); } + static bool Read(gfx::mojom::Point3FDataView data, gfx::Point3F* out) { + out->SetPoint(data.x(), data.y(), data.z()); + return true; + } +}; + +template <> struct StructTraits<gfx::mojom::RectDataView, gfx::Rect> { static int x(const gfx::Rect& p) { return p.x(); } static int y(const gfx::Rect& p) { return p.y(); } @@ -143,6 +156,19 @@ struct StructTraits<gfx::mojom::Vector2dFDataView, gfx::Vector2dF> { }; template <> +struct StructTraits<gfx::mojom::Vector3dFDataView, gfx::Vector3dF> { + static float x(const gfx::Vector3dF& v) { return v.x(); } + static float y(const gfx::Vector3dF& v) { return v.y(); } + static float z(const gfx::Vector3dF& v) { return v.z(); } + static bool Read(gfx::mojom::Vector3dFDataView data, gfx::Vector3dF* out) { + out->set_x(data.x()); + out->set_y(data.y()); + out->set_y(data.z()); + return true; + } +}; + +template <> struct StructTraits<gfx::mojom::ScrollOffsetDataView, gfx::ScrollOffset> { static float x(const gfx::ScrollOffset& v) { return v.x(); } static float y(const gfx::ScrollOffset& v) { return v.y(); } |