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

Side by Side Diff: remoting/client/plugin/chromoting_instance.cc

Issue 3175028: Add mouse event support to Chromoting client (Pepper and X11). (Closed)
Patch Set: Remove win float/int conversion Created 10 years, 3 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) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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/client/plugin/chromoting_instance.h" 5 #include "remoting/client/plugin/chromoting_instance.h"
6 6
7 #include <string> 7 #include <string>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/message_loop.h" 10 #include "base/message_loop.h"
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after
108 view_->Paint(); 108 view_->Paint();
109 } 109 }
110 110
111 bool ChromotingInstance::CurrentlyOnPluginThread() const { 111 bool ChromotingInstance::CurrentlyOnPluginThread() const {
112 return pepper_main_loop_dont_post_to_me_ == MessageLoop::current(); 112 return pepper_main_loop_dont_post_to_me_ == MessageLoop::current();
113 } 113 }
114 114
115 bool ChromotingInstance::HandleEvent(const PP_Event& event) { 115 bool ChromotingInstance::HandleEvent(const PP_Event& event) {
116 DCHECK(CurrentlyOnPluginThread()); 116 DCHECK(CurrentlyOnPluginThread());
117 117
118 PepperInputHandler* pih
119 = static_cast<PepperInputHandler*>(input_handler_.get());
120
118 switch (event.type) { 121 switch (event.type) {
119 case PP_EVENT_TYPE_MOUSEDOWN: 122 case PP_EVENT_TYPE_MOUSEDOWN:
123 pih->HandleMouseButtonEvent(true, event.u.mouse);
124 break;
120 case PP_EVENT_TYPE_MOUSEUP: 125 case PP_EVENT_TYPE_MOUSEUP:
126 pih->HandleMouseButtonEvent(false, event.u.mouse);
127 break;
121 case PP_EVENT_TYPE_MOUSEMOVE: 128 case PP_EVENT_TYPE_MOUSEMOVE:
122 case PP_EVENT_TYPE_MOUSEENTER: 129 case PP_EVENT_TYPE_MOUSEENTER:
123 case PP_EVENT_TYPE_MOUSELEAVE: 130 case PP_EVENT_TYPE_MOUSELEAVE:
124 // client_->handle_mouse_event(npevent); 131 pih->HandleMouseMoveEvent(event.u.mouse);
125 break; 132 break;
126 133
134 case PP_EVENT_TYPE_KEYDOWN:
127 case PP_EVENT_TYPE_CHAR: 135 case PP_EVENT_TYPE_CHAR:
128 // client_->handle_char_event(npevent); 136 // client_->handle_char_event(npevent);
129 break; 137 break;
130 138
131 default: 139 default:
132 break; 140 break;
133 } 141 }
134 142
135 return false; 143 return false;
136 } 144 }
137 145
138 pp::Var ChromotingInstance::GetInstanceObject() { 146 pp::Var ChromotingInstance::GetInstanceObject() {
139 LOG(ERROR) << "Getting instance object."; 147 LOG(ERROR) << "Getting instance object.";
140 if (instance_object_.is_void()) { 148 if (instance_object_.is_void()) {
141 ChromotingScriptableObject* object = new ChromotingScriptableObject(this); 149 ChromotingScriptableObject* object = new ChromotingScriptableObject(this);
142 object->Init(); 150 object->Init();
143 151
144 LOG(ERROR) << "Object initted."; 152 LOG(ERROR) << "Object initted.";
145 // The pp::Var takes ownership of object here. 153 // The pp::Var takes ownership of object here.
146 instance_object_ = pp::Var(object); 154 instance_object_ = pp::Var(object);
147 } 155 }
148 156
149 return instance_object_; 157 return instance_object_;
150 } 158 }
151 159
152 } // namespace remoting 160 } // namespace remoting
OLDNEW
« no previous file with comments | « remoting/client/jingle_host_connection.cc ('k') | remoting/client/plugin/pepper_input_handler.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698