Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(115)

Side by Side Diff: remoting/client/plugin/pepper_input_handler.h

Issue 296943003: Allow mouse-input to be enabled even if the plugin does not have keyboard focus. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 30 matching lines...) Expand all
41 void AllowMouseLock(); 41 void AllowMouseLock();
42 42
43 // Called when the plugin receives or loses focus. 43 // Called when the plugin receives or loses focus.
44 void DidChangeFocus(bool has_focus); 44 void DidChangeFocus(bool has_focus);
45 45
46 // Sets the mouse cursor image. Passing NULL image will lock the mouse if 46 // Sets the mouse cursor image. Passing NULL image will lock the mouse if
47 // mouse lock is enabled. 47 // mouse lock is enabled.
48 void SetMouseCursor(scoped_ptr<pp::ImageData> image, 48 void SetMouseCursor(scoped_ptr<pp::ImageData> image,
49 const pp::Point& hotspot); 49 const pp::Point& hotspot);
50 50
51 // Enable or disable sending mouse input when the plugin does not have input
52 // focus.
53 void set_send_mouse_input_when_unfocused(bool send) {
54 send_mouse_input_when_unfocused_ = send;
55 }
56
51 private: 57 private:
52 enum MouseLockState { 58 enum MouseLockState {
53 MouseLockDisallowed, 59 MouseLockDisallowed,
54 MouseLockOff, 60 MouseLockOff,
55 MouseLockRequestPending, 61 MouseLockRequestPending,
56 MouseLockOn, 62 MouseLockOn,
57 MouseLockCancelling 63 MouseLockCancelling
58 }; 64 };
59 65
60 // pp::MouseLock interface. 66 // pp::MouseLock interface.
(...skipping 22 matching lines...) Expand all
83 // the cursor image is completely transparent. This can be interpreted as 89 // the cursor image is completely transparent. This can be interpreted as
84 // a mouse lock request if enabled by the webapp. 90 // a mouse lock request if enabled by the webapp.
85 scoped_ptr<pp::ImageData> cursor_image_; 91 scoped_ptr<pp::ImageData> cursor_image_;
86 92
87 // Hot spot for |cursor_image_|. 93 // Hot spot for |cursor_image_|.
88 pp::Point cursor_hotspot_; 94 pp::Point cursor_hotspot_;
89 95
90 // True if the plugin has focus. 96 // True if the plugin has focus.
91 bool has_focus_; 97 bool has_focus_;
92 98
99 // True if the plugin should respond to mouse input even if it does not have
100 // keyboard focus.
101 bool send_mouse_input_when_unfocused_;
102
93 MouseLockState mouse_lock_state_; 103 MouseLockState mouse_lock_state_;
94 104
95 // Accumulated sub-pixel and sub-tick deltas from wheel events. 105 // Accumulated sub-pixel and sub-tick deltas from wheel events.
96 float wheel_delta_x_; 106 float wheel_delta_x_;
97 float wheel_delta_y_; 107 float wheel_delta_y_;
98 float wheel_ticks_x_; 108 float wheel_ticks_x_;
99 float wheel_ticks_y_; 109 float wheel_ticks_y_;
100 110
101 DISALLOW_COPY_AND_ASSIGN(PepperInputHandler); 111 DISALLOW_COPY_AND_ASSIGN(PepperInputHandler);
102 }; 112 };
103 113
104 } // namespace remoting 114 } // namespace remoting
105 115
106 #endif // REMOTING_CLIENT_PLUGIN_PEPPER_INPUT_HANDLER_H_ 116 #endif // REMOTING_CLIENT_PLUGIN_PEPPER_INPUT_HANDLER_H_
OLDNEW
« no previous file with comments | « remoting/client/plugin/chromoting_instance.cc ('k') | remoting/client/plugin/pepper_input_handler.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698