magnifier_->UpdateLocation(magnifier_point);
magnifier_->Move(magnifier_point);
-
magnifier_->Show();
ShowHandleAndContextMenuIfRequired();
}
void SelectionControllerEfl::OnMouseMove(const gfx::Point& touch_point,
- SelectionHandleEfl::HandleType handle) {
+ SelectionHandleEfl* handle) {
show_only_large_handle_ = false;
// FIXME : Check the text Direction later
Evas_Coord x, y;
evas_object_geometry_get(parent_view_, &x, &y, 0, 0);
expecting_update_ = true;
+
gfx::Point magnifier_point;
- gfx::Point start_point, end_point;
- WebContentsImpl* wci = static_cast<WebContentsImpl*>(&web_contents_);
- RenderWidgetHostViewEfl* rwhv =
- static_cast<RenderWidgetHostViewEfl*>(web_contents_.GetRenderWidgetHostView());
- float device_scale_factor =
- gfx::Screen::GetNativeScreen()->GetPrimaryDisplay().device_scale_factor();
-
- switch (handle) {
- case SelectionHandleEfl::HANDLE_TYPE_INPUT:
- magnifier_point.set_x(input_handle_->GetBasePosition().x() + x);
- magnifier_point.set_y(input_handle_->GetBasePosition().y() + y);
- magnifier_->UpdateLocation(magnifier_point);
- magnifier_->Move(magnifier_point);
+ magnifier_point.set_x(handle->GetBasePosition().x() + x);
+ magnifier_point.set_y(handle->GetBasePosition().y() + y);
+ magnifier_->UpdateLocation(magnifier_point);
+ magnifier_->Move(magnifier_point);
+
+ switch (handle->Type()) {
+ case SelectionHandleEfl::HANDLE_TYPE_INPUT: {
+ RenderWidgetHostViewEfl* rwhv =
+ static_cast<RenderWidgetHostViewEfl*>(web_contents_.GetRenderWidgetHostView());
if (rwhv)
- rwhv->MoveCaret(input_handle_->GetBasePosition());
+ rwhv->MoveCaret(handle->GetBasePosition());
return;
+ }
case SelectionHandleEfl::HANDLE_TYPE_LEFT:
- magnifier_point.set_x(start_handle_->GetBasePosition().x() + x);
- magnifier_point.set_y(start_handle_->GetBasePosition().y() + y);
- magnifier_->UpdateLocation(magnifier_point);
- magnifier_->Move(magnifier_point);
-
- start_point.set_x(start_handle_->GetBasePosition().x() / device_scale_factor);
- start_point.set_y(start_handle_->GetBasePosition().y() / device_scale_factor);
- end_point.set_x(end_handle_->GetBasePosition().x() / device_scale_factor);
- end_point.set_y(end_handle_->GetBasePosition().y() / device_scale_factor);
- wci->SelectRange(start_point, end_point);
- return;
- case SelectionHandleEfl::HANDLE_TYPE_RIGHT:
- magnifier_point.set_x(end_handle_->GetBasePosition().x() + x);
- magnifier_point.set_y(end_handle_->GetBasePosition().y() + y);
- magnifier_->UpdateLocation(magnifier_point);
- magnifier_->Move(magnifier_point);
-
+ case SelectionHandleEfl::HANDLE_TYPE_RIGHT: {
+ gfx::Point start_point, end_point;
+ float device_scale_factor =
+ gfx::Screen::GetNativeScreen()->GetPrimaryDisplay().device_scale_factor();
start_point.set_x(start_handle_->GetBasePosition().x() / device_scale_factor);
start_point.set_y(start_handle_->GetBasePosition().y() / device_scale_factor);
end_point.set_x(end_handle_->GetBasePosition().x() / device_scale_factor);
end_point.set_y(end_handle_->GetBasePosition().y() / device_scale_factor);
+ WebContentsImpl* wci = static_cast<WebContentsImpl*>(&web_contents_);
wci->SelectRange(start_point, end_point);
return;
+ }
}
}