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 "base/memory/scoped_ptr.h" | 9 #include "base/memory/scoped_ptr.h" |
10 #include "ppapi/cpp/mouse_lock.h" | 10 #include "ppapi/cpp/mouse_lock.h" |
(...skipping 26 matching lines...) Expand all Loading... | |
37 void AllowMouseLock(); | 37 void AllowMouseLock(); |
38 | 38 |
39 // Called when the plugin receives or loses focus. | 39 // Called when the plugin receives or loses focus. |
40 void DidChangeFocus(bool has_focus); | 40 void DidChangeFocus(bool has_focus); |
41 | 41 |
42 // Sets the mouse cursor image. Passing NULL image will lock the mouse if | 42 // Sets the mouse cursor image. Passing NULL image will lock the mouse if |
43 // mouse lock is enabled. | 43 // mouse lock is enabled. |
44 void SetMouseCursor(scoped_ptr<pp::ImageData> image, | 44 void SetMouseCursor(scoped_ptr<pp::ImageData> image, |
45 const pp::Point& hotspot); | 45 const pp::Point& hotspot); |
46 | 46 |
47 // Enables sending input when the plugin does not have input focus. | |
Wez
2014/05/22 01:14:23
nit: mouse input
Jamie
2014/05/22 01:32:09
Done.
| |
48 void SendMouseInputWhenUnfocused(); | |
49 | |
47 private: | 50 private: |
48 enum MouseLockState { | 51 enum MouseLockState { |
49 MouseLockDisallowed, | 52 MouseLockDisallowed, |
50 MouseLockOff, | 53 MouseLockOff, |
51 MouseLockRequestPending, | 54 MouseLockRequestPending, |
52 MouseLockOn, | 55 MouseLockOn, |
53 MouseLockCancelling | 56 MouseLockCancelling |
54 }; | 57 }; |
55 | 58 |
56 // pp::MouseLock interface. | 59 // pp::MouseLock interface. |
(...skipping 22 matching lines...) Expand all Loading... | |
79 // the cursor image is completely transparent. This can be interpreted as | 82 // the cursor image is completely transparent. This can be interpreted as |
80 // a mouse lock request if enabled by the webapp. | 83 // a mouse lock request if enabled by the webapp. |
81 scoped_ptr<pp::ImageData> cursor_image_; | 84 scoped_ptr<pp::ImageData> cursor_image_; |
82 | 85 |
83 // Hot spot for |cursor_image_|. | 86 // Hot spot for |cursor_image_|. |
84 pp::Point cursor_hotspot_; | 87 pp::Point cursor_hotspot_; |
85 | 88 |
86 // True if the plugin has focus. | 89 // True if the plugin has focus. |
87 bool has_focus_; | 90 bool has_focus_; |
88 | 91 |
92 // True if the plugin should respond to mouse input even if it does not have | |
93 // keyboard focus. | |
94 bool send_mouse_input_when_unfocused_; | |
95 | |
89 MouseLockState mouse_lock_state_; | 96 MouseLockState mouse_lock_state_; |
90 | 97 |
91 // Accumulated sub-pixel and sub-tick deltas from wheel events. | 98 // Accumulated sub-pixel and sub-tick deltas from wheel events. |
92 float wheel_delta_x_; | 99 float wheel_delta_x_; |
93 float wheel_delta_y_; | 100 float wheel_delta_y_; |
94 float wheel_ticks_x_; | 101 float wheel_ticks_x_; |
95 float wheel_ticks_y_; | 102 float wheel_ticks_y_; |
96 | 103 |
97 DISALLOW_COPY_AND_ASSIGN(PepperInputHandler); | 104 DISALLOW_COPY_AND_ASSIGN(PepperInputHandler); |
98 }; | 105 }; |
99 | 106 |
100 } // namespace remoting | 107 } // namespace remoting |
101 | 108 |
102 #endif // REMOTING_CLIENT_PLUGIN_PEPPER_INPUT_HANDLER_H_ | 109 #endif // REMOTING_CLIENT_PLUGIN_PEPPER_INPUT_HANDLER_H_ |
OLD | NEW |