| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 "remoting/host/input_injector.h" | 5 #include "remoting/host/input_injector.h" |
| 6 | 6 |
| 7 #include <ApplicationServices/ApplicationServices.h> | 7 #include <ApplicationServices/ApplicationServices.h> |
| 8 #include <Carbon/Carbon.h> | 8 #include <Carbon/Carbon.h> |
| 9 #include <algorithm> | 9 #include <algorithm> |
| 10 | 10 |
| (...skipping 230 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 241 // Fetch the desktop configuration. | 241 // Fetch the desktop configuration. |
| 242 // TODO(wez): Optimize this out, or at least only enumerate displays in | 242 // TODO(wez): Optimize this out, or at least only enumerate displays in |
| 243 // response to display-changed events. VideoFrameCapturer's VideoFrames | 243 // response to display-changed events. VideoFrameCapturer's VideoFrames |
| 244 // could be augmented to include native cursor coordinates for use by | 244 // could be augmented to include native cursor coordinates for use by |
| 245 // MouseClampingFilter, removing the need for translation here. | 245 // MouseClampingFilter, removing the need for translation here. |
| 246 webrtc::MacDesktopConfiguration desktop_config = | 246 webrtc::MacDesktopConfiguration desktop_config = |
| 247 webrtc::MacDesktopConfiguration::GetCurrent( | 247 webrtc::MacDesktopConfiguration::GetCurrent( |
| 248 webrtc::MacDesktopConfiguration::TopLeftOrigin); | 248 webrtc::MacDesktopConfiguration::TopLeftOrigin); |
| 249 | 249 |
| 250 // Translate the mouse position into desktop coordinates. | 250 // Translate the mouse position into desktop coordinates. |
| 251 mouse_pos_.add(webrtc::DesktopVector(desktop_config.pixel_bounds.left(), | 251 mouse_pos_ = mouse_pos_.add( |
| 252 desktop_config.pixel_bounds.top())); | 252 webrtc::DesktopVector(desktop_config.pixel_bounds.left(), |
| 253 desktop_config.pixel_bounds.top())); |
| 253 | 254 |
| 254 // Constrain the mouse position to the desktop coordinates. | 255 // Constrain the mouse position to the desktop coordinates. |
| 255 mouse_pos_.set( | 256 mouse_pos_.set( |
| 256 std::max(desktop_config.pixel_bounds.left(), | 257 std::max(desktop_config.pixel_bounds.left(), |
| 257 std::min(desktop_config.pixel_bounds.right(), mouse_pos_.x())), | 258 std::min(desktop_config.pixel_bounds.right(), mouse_pos_.x())), |
| 258 std::max(desktop_config.pixel_bounds.top(), | 259 std::max(desktop_config.pixel_bounds.top(), |
| 259 std::min(desktop_config.pixel_bounds.bottom(), mouse_pos_.y()))); | 260 std::min(desktop_config.pixel_bounds.bottom(), mouse_pos_.y()))); |
| 260 | 261 |
| 261 // Convert from pixel to Density Independent Pixel coordinates. | 262 // Convert from pixel to Density Independent Pixel coordinates. |
| 262 mouse_pos_.set(mouse_pos_.x() / desktop_config.dip_to_pixel_scale, | 263 mouse_pos_.set(mouse_pos_.x() / desktop_config.dip_to_pixel_scale, |
| (...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 334 | 335 |
| 335 } // namespace | 336 } // namespace |
| 336 | 337 |
| 337 scoped_ptr<InputInjector> InputInjector::Create( | 338 scoped_ptr<InputInjector> InputInjector::Create( |
| 338 scoped_refptr<base::SingleThreadTaskRunner> main_task_runner, | 339 scoped_refptr<base::SingleThreadTaskRunner> main_task_runner, |
| 339 scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner) { | 340 scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner) { |
| 340 return scoped_ptr<InputInjector>(new InputInjectorMac(main_task_runner)); | 341 return scoped_ptr<InputInjector>(new InputInjectorMac(main_task_runner)); |
| 341 } | 342 } |
| 342 | 343 |
| 343 } // namespace remoting | 344 } // namespace remoting |
| OLD | NEW |