OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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/event_executor.h" | 5 #include "remoting/host/event_executor.h" |
6 | 6 |
7 #include <windows.h> | 7 #include <windows.h> |
8 | 8 |
9 #include "base/bind.h" | 9 #include "base/bind.h" |
10 #include "base/compiler_specific.h" | 10 #include "base/compiler_specific.h" |
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
102 void EventExecutorWin::HandleMouse(const MouseEvent& event) { | 102 void EventExecutorWin::HandleMouse(const MouseEvent& event) { |
103 // TODO(garykac) Collapse mouse (x,y) and button events into a single | 103 // TODO(garykac) Collapse mouse (x,y) and button events into a single |
104 // input event when possible. | 104 // input event when possible. |
105 if (event.has_x() && event.has_y()) { | 105 if (event.has_x() && event.has_y()) { |
106 int x = event.x(); | 106 int x = event.x(); |
107 int y = event.y(); | 107 int y = event.y(); |
108 | 108 |
109 INPUT input; | 109 INPUT input; |
110 input.type = INPUT_MOUSE; | 110 input.type = INPUT_MOUSE; |
111 input.mi.time = 0; | 111 input.mi.time = 0; |
112 gfx::Size screen_size = capturer_->size_most_recent(); | 112 SkISize screen_size = capturer_->size_most_recent(); |
113 if ((screen_size.width() > 0) && (screen_size.height() > 0)) { | 113 if ((screen_size.width() > 0) && (screen_size.height() > 0)) { |
114 input.mi.dx = static_cast<int>((x * 65535) / screen_size.width()); | 114 input.mi.dx = static_cast<int>((x * 65535) / screen_size.width()); |
115 input.mi.dy = static_cast<int>((y * 65535) / screen_size.height()); | 115 input.mi.dy = static_cast<int>((y * 65535) / screen_size.height()); |
116 input.mi.dwFlags = MOUSEEVENTF_MOVE | MOUSEEVENTF_ABSOLUTE; | 116 input.mi.dwFlags = MOUSEEVENTF_MOVE | MOUSEEVENTF_ABSOLUTE; |
117 SendInput(1, &input, sizeof(INPUT)); | 117 SendInput(1, &input, sizeof(INPUT)); |
118 } | 118 } |
119 } | 119 } |
120 | 120 |
121 if (event.has_wheel_offset_x() && event.has_wheel_offset_y()) { | 121 if (event.has_wheel_offset_x() && event.has_wheel_offset_y()) { |
122 INPUT wheel; | 122 INPUT wheel; |
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
166 } | 166 } |
167 | 167 |
168 } // namespace | 168 } // namespace |
169 | 169 |
170 EventExecutor* EventExecutor::Create(MessageLoop* message_loop, | 170 EventExecutor* EventExecutor::Create(MessageLoop* message_loop, |
171 Capturer* capturer) { | 171 Capturer* capturer) { |
172 return new EventExecutorWin(message_loop, capturer); | 172 return new EventExecutorWin(message_loop, capturer); |
173 } | 173 } |
174 | 174 |
175 } // namespace remoting | 175 } // namespace remoting |
OLD | NEW |