OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "ui/ozone/platform/egltest/ozone_platform_egltest.h" | 5 #include "ui/ozone/platform/egltest/ozone_platform_egltest.h" |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/command_line.h" | 8 #include "base/command_line.h" |
9 #include "base/environment.h" | 9 #include "base/environment.h" |
10 #include "base/files/file_path.h" | 10 #include "base/files/file_path.h" |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
52 return library; | 52 return library; |
53 return kEglplatformShimDefault; | 53 return kEglplatformShimDefault; |
54 } | 54 } |
55 | 55 |
56 // Touch events are reported in device coordinates. This scales the event to the | 56 // Touch events are reported in device coordinates. This scales the event to the |
57 // window's coordinate space. | 57 // window's coordinate space. |
58 void ScaleTouchEvent(TouchEvent* event, const gfx::SizeF& size) { | 58 void ScaleTouchEvent(TouchEvent* event, const gfx::SizeF& size) { |
59 for (const auto& device : | 59 for (const auto& device : |
60 DeviceDataManager::GetInstance()->touchscreen_devices()) { | 60 DeviceDataManager::GetInstance()->touchscreen_devices()) { |
61 if (device.id == event->source_device_id()) { | 61 if (device.id == event->source_device_id()) { |
62 gfx::SizeF touchscreen_size = device.size; | 62 gfx::SizeF touchscreen_size = gfx::SizeF(device.size); |
63 gfx::PointF location = event->location_f(); | 63 gfx::PointF location = event->location_f(); |
64 | 64 |
65 location.Scale(size.width() / touchscreen_size.width(), | 65 location.Scale(size.width() / touchscreen_size.width(), |
66 size.height() / touchscreen_size.height()); | 66 size.height() / touchscreen_size.height()); |
67 double ratio = std::sqrt(size.GetArea() / touchscreen_size.GetArea()); | 67 double ratio = std::sqrt(size.GetArea() / touchscreen_size.GetArea()); |
68 | 68 |
69 event->set_location(location); | 69 event->set_location(location); |
70 event->set_radius_x(event->pointer_details().radius_x() * ratio); | 70 event->set_radius_x(event->pointer_details().radius_x() * ratio); |
71 event->set_radius_y(event->pointer_details().radius_y() * ratio); | 71 event->set_radius_y(event->pointer_details().radius_y() * ratio); |
72 return; | 72 return; |
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
187 return nullptr; | 187 return nullptr; |
188 } | 188 } |
189 | 189 |
190 bool EgltestWindow::CanDispatchEvent(const ui::PlatformEvent& ne) { | 190 bool EgltestWindow::CanDispatchEvent(const ui::PlatformEvent& ne) { |
191 return true; | 191 return true; |
192 } | 192 } |
193 | 193 |
194 uint32_t EgltestWindow::DispatchEvent(const ui::PlatformEvent& native_event) { | 194 uint32_t EgltestWindow::DispatchEvent(const ui::PlatformEvent& native_event) { |
195 DCHECK(native_event); | 195 DCHECK(native_event); |
196 Event* event = static_cast<Event*>(native_event); | 196 Event* event = static_cast<Event*>(native_event); |
197 if (event->IsTouchEvent()) | 197 if (event->IsTouchEvent()) { |
198 ScaleTouchEvent(static_cast<TouchEvent*>(event), bounds_.size()); | 198 ScaleTouchEvent(static_cast<TouchEvent*>(event), |
| 199 gfx::SizeF(bounds_.size())); |
| 200 } |
199 | 201 |
200 DispatchEventFromNativeUiEvent( | 202 DispatchEventFromNativeUiEvent( |
201 native_event, base::Bind(&PlatformWindowDelegate::DispatchEvent, | 203 native_event, base::Bind(&PlatformWindowDelegate::DispatchEvent, |
202 base::Unretained(delegate_))); | 204 base::Unretained(delegate_))); |
203 | 205 |
204 return ui::POST_DISPATCH_STOP_PROPAGATION; | 206 return ui::POST_DISPATCH_STOP_PROPAGATION; |
205 } | 207 } |
206 | 208 |
207 // EGL surface wrapper for libeglplatform_shim. | 209 // EGL surface wrapper for libeglplatform_shim. |
208 // | 210 // |
(...skipping 206 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
415 | 417 |
416 } // namespace | 418 } // namespace |
417 | 419 |
418 OzonePlatform* CreateOzonePlatformEgltest() { | 420 OzonePlatform* CreateOzonePlatformEgltest() { |
419 OzonePlatformEgltest* platform = new OzonePlatformEgltest; | 421 OzonePlatformEgltest* platform = new OzonePlatformEgltest; |
420 platform->Initialize(); | 422 platform->Initialize(); |
421 return platform; | 423 return platform; |
422 } | 424 } |
423 | 425 |
424 } // namespace ui | 426 } // namespace ui |
OLD | NEW |