summaryrefslogtreecommitdiff
path: root/chromium/ui/display/mojom
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/ui/display/mojom')
-rw-r--r--chromium/ui/display/mojom/BUILD.gn13
-rw-r--r--chromium/ui/display/mojom/display_configuration_params.mojom15
-rw-r--r--chromium/ui/display/mojom/display_configuration_params_mojom_traits.cc29
-rw-r--r--chromium/ui/display/mojom/display_configuration_params_mojom_traits.h39
4 files changed, 96 insertions, 0 deletions
diff --git a/chromium/ui/display/mojom/BUILD.gn b/chromium/ui/display/mojom/BUILD.gn
index af12f462fb1..db1ab150193 100644
--- a/chromium/ui/display/mojom/BUILD.gn
+++ b/chromium/ui/display/mojom/BUILD.gn
@@ -9,6 +9,7 @@ mojom("mojom") {
sources = [
"display.mojom",
+ "display_configuration_params.mojom",
"display_constants.mojom",
"display_layout.mojom",
"display_mode.mojom",
@@ -134,6 +135,18 @@ mojom("mojom") {
traits_headers = [ "gamma_ramp_rgb_entry_mojom_traits.h" ]
traits_public_deps = [ "//ui/display" ]
},
+ {
+ types = [
+ {
+ mojom = "display.mojom.DisplayConfigurationParams"
+ cpp = "::display::DisplayConfigurationParams"
+ },
+ ]
+ traits_sources = [ "display_configuration_params_mojom_traits.cc" ]
+ traits_headers = [ "display_configuration_params_mojom_traits.h" ]
+ traits_public_deps = [ "//ui/display" ]
+ traits_deps = [ "//ui/gfx/geometry" ]
+ },
]
cpp_typemaps += shared_cpp_typemaps
diff --git a/chromium/ui/display/mojom/display_configuration_params.mojom b/chromium/ui/display/mojom/display_configuration_params.mojom
new file mode 100644
index 00000000000..9817e7f4897
--- /dev/null
+++ b/chromium/ui/display/mojom/display_configuration_params.mojom
@@ -0,0 +1,15 @@
+// Copyright 2020 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.
+
+module display.mojom;
+
+import "ui/display/mojom/display_mode.mojom";
+import "ui/gfx/geometry/mojom/geometry.mojom";
+
+// Corresponds to display::DisplayConfigurationParams.
+struct DisplayConfigurationParams {
+ int64 id;
+ gfx.mojom.Point origin;
+ display.mojom.DisplayMode? mode;
+};
diff --git a/chromium/ui/display/mojom/display_configuration_params_mojom_traits.cc b/chromium/ui/display/mojom/display_configuration_params_mojom_traits.cc
new file mode 100644
index 00000000000..8f0cf48b631
--- /dev/null
+++ b/chromium/ui/display/mojom/display_configuration_params_mojom_traits.cc
@@ -0,0 +1,29 @@
+// Copyright 2020 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 "ui/display/mojom/display_configuration_params_mojom_traits.h"
+
+namespace mojo {
+
+// static
+bool StructTraits<display::mojom::DisplayConfigurationParamsDataView,
+ display::DisplayConfigurationParams>::
+ Read(display::mojom::DisplayConfigurationParamsDataView data,
+ display::DisplayConfigurationParams* out) {
+ gfx::Point origin;
+ if (!data.ReadOrigin(&origin))
+ return false;
+
+ base::Optional<std::unique_ptr<display::DisplayMode>> mode;
+ if (!data.ReadMode(&mode))
+ return false;
+
+ out->id = data.id();
+ out->origin = origin;
+ out->mode = std::move(mode);
+
+ return true;
+}
+
+} // namespace mojo
diff --git a/chromium/ui/display/mojom/display_configuration_params_mojom_traits.h b/chromium/ui/display/mojom/display_configuration_params_mojom_traits.h
new file mode 100644
index 00000000000..736c9e7e002
--- /dev/null
+++ b/chromium/ui/display/mojom/display_configuration_params_mojom_traits.h
@@ -0,0 +1,39 @@
+// Copyright 2020 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.
+
+#ifndef UI_DISPLAY_MOJOM_DISPLAY_CONFIGURATION_PARAMS_MOJOM_TRAITS_H_
+#define UI_DISPLAY_MOJOM_DISPLAY_CONFIGURATION_PARAMS_MOJOM_TRAITS_H_
+
+#include "ui/display/mojom/display_configuration_params.mojom.h"
+#include "ui/display/types/display_configuration_params.h"
+#include "ui/gfx/geometry/mojom/geometry_mojom_traits.h"
+#include "ui/gfx/ipc/color/gfx_param_traits.h"
+
+namespace mojo {
+
+template <>
+struct StructTraits<display::mojom::DisplayConfigurationParamsDataView,
+ display::DisplayConfigurationParams> {
+ static int64_t id(
+ const display::DisplayConfigurationParams& display_configuration_params) {
+ return display_configuration_params.id;
+ }
+
+ static gfx::Point origin(
+ const display::DisplayConfigurationParams& display_configuration_params) {
+ return display_configuration_params.origin;
+ }
+
+ static const base::Optional<std::unique_ptr<display::DisplayMode>>& mode(
+ const display::DisplayConfigurationParams& display_configuration_params) {
+ return display_configuration_params.mode;
+ }
+
+ static bool Read(display::mojom::DisplayConfigurationParamsDataView data,
+ display::DisplayConfigurationParams* out);
+};
+
+} // namespace mojo
+
+#endif // UI_DISPLAY_MOJOM_DISPLAY_CONFIGURATION_PARAMS_MOJOM_TRAITS_H_