summaryrefslogtreecommitdiff
path: root/chromium/ui/events/devices/mojo/touch_device_transform_struct_traits.h
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/ui/events/devices/mojo/touch_device_transform_struct_traits.h')
-rw-r--r--chromium/ui/events/devices/mojo/touch_device_transform_struct_traits.h46
1 files changed, 46 insertions, 0 deletions
diff --git a/chromium/ui/events/devices/mojo/touch_device_transform_struct_traits.h b/chromium/ui/events/devices/mojo/touch_device_transform_struct_traits.h
new file mode 100644
index 00000000000..b9dd4506cbf
--- /dev/null
+++ b/chromium/ui/events/devices/mojo/touch_device_transform_struct_traits.h
@@ -0,0 +1,46 @@
+// Copyright 2017 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_MANAGER_CHROMEOS_MOJO_TOUCH_DEVICE_TRANSFORM_STRUCT_TRAITS_H_
+#define UI_DISPLAY_MANAGER_CHROMEOS_MOJO_TOUCH_DEVICE_TRANSFORM_STRUCT_TRAITS_H_
+
+#include <stdint.h>
+
+#include "ui/events/devices/mojo/touch_device_transform.mojom.h"
+#include "ui/events/devices/touch_device_transform.h"
+#include "ui/gfx/mojo/transform_struct_traits.h"
+
+namespace mojo {
+
+template <>
+struct StructTraits<ui::mojom::TouchDeviceTransformDataView,
+ ui::TouchDeviceTransform> {
+ public:
+ static int64_t display_id(const ui::TouchDeviceTransform& r) {
+ return r.display_id;
+ }
+ static int32_t device_id(const ui::TouchDeviceTransform& r) {
+ return r.device_id;
+ }
+ static const gfx::Transform& transform(const ui::TouchDeviceTransform& r) {
+ return r.transform;
+ }
+ static double radius_scale(const ui::TouchDeviceTransform& r) {
+ return r.radius_scale;
+ }
+
+ static bool Read(ui::mojom::TouchDeviceTransformDataView data,
+ ui::TouchDeviceTransform* out) {
+ out->display_id = data.display_id();
+ out->device_id = data.device_id();
+ if (!data.ReadTransform(&(out->transform)))
+ return false;
+ out->radius_scale = data.radius_scale();
+ return true;
+ }
+};
+
+} // namespace mojo
+
+#endif // UI_DISPLAY_MANAGER_CHROMEOS_MOJO_TOUCH_DEVICE_TRANSFORM_STRUCT_TRAITS_H_