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 #ifndef REMOTING_CLIENT_PLUGIN_PEPPER_INPUT_HANDLER_H_ | 5 #ifndef REMOTING_CLIENT_PLUGIN_PEPPER_INPUT_HANDLER_H_ |
6 #define REMOTING_CLIENT_PLUGIN_PEPPER_INPUT_HANDLER_H_ | 6 #define REMOTING_CLIENT_PLUGIN_PEPPER_INPUT_HANDLER_H_ |
7 | 7 |
8 #include "base/compiler_specific.h" | 8 #include "base/compiler_specific.h" |
9 #include "remoting/protocol/input_stub.h" | 9 #include "remoting/protocol/input_stub.h" |
10 | 10 |
11 namespace pp { | 11 namespace pp { |
12 class InputEvent; | 12 class InputEvent; |
13 } // namespace pp | 13 } // namespace pp |
14 | 14 |
15 namespace remoting { | 15 namespace remoting { |
16 | 16 |
17 namespace protocol { | 17 namespace protocol { |
18 class InputStub; | 18 class InputStub; |
19 } // namespace protocol | 19 } // namespace protocol |
20 | 20 |
21 class PepperInputHandler { | 21 class PepperInputHandler { |
22 public: | 22 public: |
23 explicit PepperInputHandler(protocol::InputStub* input_stub); | 23 explicit PepperInputHandler(protocol::InputStub* input_stub); |
24 virtual ~PepperInputHandler(); | 24 virtual ~PepperInputHandler(); |
25 | 25 |
26 // Called by ChromotingInstance::DidChangeFocus when the instance | |
27 // goes in or out of focus. Sets or clears the has_focus_ flag | |
28 // which controls whether the client passes mouse and wheel | |
29 // events to the remoting server. | |
30 void OnFocusChanged(bool has_focus); | |
31 | |
32 bool HandleInputEvent(const pp::InputEvent& event); | 26 bool HandleInputEvent(const pp::InputEvent& event); |
33 | 27 |
34 private: | 28 private: |
35 protocol::InputStub* input_stub_; | 29 protocol::InputStub* input_stub_; |
36 | 30 |
37 // Flag indicating whether the calling plugin has focus. | |
38 bool has_focus_; | |
39 | |
40 // Accumulated sub-pixel deltas from wheel events. | 31 // Accumulated sub-pixel deltas from wheel events. |
41 float wheel_delta_x_; | 32 float wheel_delta_x_; |
42 float wheel_delta_y_; | 33 float wheel_delta_y_; |
43 | 34 |
44 DISALLOW_COPY_AND_ASSIGN(PepperInputHandler); | 35 DISALLOW_COPY_AND_ASSIGN(PepperInputHandler); |
45 }; | 36 }; |
46 | 37 |
47 } // namespace remoting | 38 } // namespace remoting |
48 | 39 |
49 #endif // REMOTING_CLIENT_PLUGIN_PEPPER_INPUT_HANDLER_H_ | 40 #endif // REMOTING_CLIENT_PLUGIN_PEPPER_INPUT_HANDLER_H_ |
OLD | NEW |