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

Side by Side Diff: ui/aura/root_window.cc

Issue 11145005: Migrate ui::Transform to gfx::Transform (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Hopefully should work this time Created 8 years, 2 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
« no previous file with comments | « ui/aura/root_window.h ('k') | ui/aura/window.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 #include "ui/aura/root_window.h" 5 #include "ui/aura/root_window.h"
6 6
7 #include <vector> 7 #include <vector>
8 8
9 #include "base/auto_reset.h" 9 #include "base/auto_reset.h"
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 451 matching lines...) Expand 10 before | Expand all | Expand 10 after
462 // RootWindow, Window overrides: 462 // RootWindow, Window overrides:
463 463
464 RootWindow* RootWindow::GetRootWindow() { 464 RootWindow* RootWindow::GetRootWindow() {
465 return this; 465 return this;
466 } 466 }
467 467
468 const RootWindow* RootWindow::GetRootWindow() const { 468 const RootWindow* RootWindow::GetRootWindow() const {
469 return this; 469 return this;
470 } 470 }
471 471
472 void RootWindow::SetTransform(const ui::Transform& transform) { 472 void RootWindow::SetTransform(const gfx::Transform& transform) {
473 Window::SetTransform(transform); 473 Window::SetTransform(transform);
474 474
475 // If the layer is not animating, then we need to update the host size 475 // If the layer is not animating, then we need to update the host size
476 // immediately. 476 // immediately.
477 if (!layer()->GetAnimator()->is_animating()) 477 if (!layer()->GetAnimator()->is_animating())
478 OnHostResized(host_->GetBounds().size()); 478 OnHostResized(host_->GetBounds().size());
479 } 479 }
480 480
481 //////////////////////////////////////////////////////////////////////////////// 481 ////////////////////////////////////////////////////////////////////////////////
482 // RootWindow, ui::EventTarget implementation: 482 // RootWindow, ui::EventTarget implementation:
(...skipping 345 matching lines...) Expand 10 before | Expand all | Expand 10 after
828 held_mouse_move_.reset(); 828 held_mouse_move_.reset();
829 } 829 }
830 } 830 }
831 DispatchHeldMouseMove(); 831 DispatchHeldMouseMove();
832 return DispatchMouseEventImpl(event); 832 return DispatchMouseEventImpl(event);
833 } 833 }
834 834
835 bool RootWindow::OnHostScrollEvent(ui::ScrollEvent* event) { 835 bool RootWindow::OnHostScrollEvent(ui::ScrollEvent* event) {
836 DispatchHeldMouseMove(); 836 DispatchHeldMouseMove();
837 float scale = ui::GetDeviceScaleFactor(layer()); 837 float scale = ui::GetDeviceScaleFactor(layer());
838 ui::Transform transform = layer()->transform(); 838 gfx::Transform transform = layer()->transform();
839 transform.ConcatScale(scale, scale); 839 transform.ConcatScale(scale, scale);
840 event->UpdateForRootTransform(transform); 840 event->UpdateForRootTransform(transform);
841 841
842 SetLastMouseLocation(this, event->location()); 842 SetLastMouseLocation(this, event->location());
843 synthesize_mouse_move_ = false; 843 synthesize_mouse_move_ = false;
844 844
845 Window* target = mouse_pressed_handler_ ? 845 Window* target = mouse_pressed_handler_ ?
846 mouse_pressed_handler_ : client::GetCaptureWindow(this); 846 mouse_pressed_handler_ : client::GetCaptureWindow(this);
847 if (!target) 847 if (!target)
848 target = GetEventHandlerForPoint(event->location()); 848 target = GetEventHandlerForPoint(event->location());
(...skipping 23 matching lines...) Expand all
872 case ui::ET_TOUCH_RELEASED: 872 case ui::ET_TOUCH_RELEASED:
873 touch_ids_down_ = (touch_ids_down_ | (1 << event->touch_id())) ^ 873 touch_ids_down_ = (touch_ids_down_ | (1 << event->touch_id())) ^
874 (1 << event->touch_id()); 874 (1 << event->touch_id());
875 Env::GetInstance()->set_touch_down(touch_ids_down_ != 0); 875 Env::GetInstance()->set_touch_down(touch_ids_down_ != 0);
876 break; 876 break;
877 877
878 default: 878 default:
879 break; 879 break;
880 } 880 }
881 float scale = ui::GetDeviceScaleFactor(layer()); 881 float scale = ui::GetDeviceScaleFactor(layer());
882 ui::Transform transform = layer()->transform(); 882 gfx::Transform transform = layer()->transform();
883 transform.ConcatScale(scale, scale); 883 transform.ConcatScale(scale, scale);
884 event->UpdateForRootTransform(transform); 884 event->UpdateForRootTransform(transform);
885 bool handled = false; 885 bool handled = false;
886 ui::EventResult result = ui::ER_UNHANDLED; 886 ui::EventResult result = ui::ER_UNHANDLED;
887 Window* target = client::GetCaptureWindow(this); 887 Window* target = client::GetCaptureWindow(this);
888 if (!target) { 888 if (!target) {
889 target = ConsumerToWindow( 889 target = ConsumerToWindow(
890 gesture_recognizer_->GetTouchLockedTarget(event)); 890 gesture_recognizer_->GetTouchLockedTarget(event));
891 if (!target) { 891 if (!target) {
892 target = ConsumerToWindow( 892 target = ConsumerToWindow(
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
963 963
964 RootWindow* RootWindow::AsRootWindow() { 964 RootWindow* RootWindow::AsRootWindow() {
965 return this; 965 return this;
966 } 966 }
967 967
968 //////////////////////////////////////////////////////////////////////////////// 968 ////////////////////////////////////////////////////////////////////////////////
969 // RootWindow, private: 969 // RootWindow, private:
970 970
971 bool RootWindow::DispatchMouseEventImpl(ui::MouseEvent* event) { 971 bool RootWindow::DispatchMouseEventImpl(ui::MouseEvent* event) {
972 float scale = ui::GetDeviceScaleFactor(layer()); 972 float scale = ui::GetDeviceScaleFactor(layer());
973 ui::Transform transform = layer()->transform(); 973 gfx::Transform transform = layer()->transform();
974 transform.ConcatScale(scale, scale); 974 transform.ConcatScale(scale, scale);
975 event->UpdateForRootTransform(transform); 975 event->UpdateForRootTransform(transform);
976 Window* target = mouse_pressed_handler_ ? 976 Window* target = mouse_pressed_handler_ ?
977 mouse_pressed_handler_ : client::GetCaptureWindow(this); 977 mouse_pressed_handler_ : client::GetCaptureWindow(this);
978 if (!target) 978 if (!target)
979 target = GetEventHandlerForPoint(event->location()); 979 target = GetEventHandlerForPoint(event->location());
980 return DispatchMouseEventToTarget(event, target); 980 return DispatchMouseEventToTarget(event, target);
981 } 981 }
982 982
983 bool RootWindow::DispatchMouseEventToTarget(ui::MouseEvent* event, 983 bool RootWindow::DispatchMouseEventToTarget(ui::MouseEvent* event,
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
1040 event_factory_.GetWeakPtr())); 1040 event_factory_.GetWeakPtr()));
1041 } 1041 }
1042 1042
1043 void RootWindow::SynthesizeMouseMoveEvent() { 1043 void RootWindow::SynthesizeMouseMoveEvent() {
1044 if (!synthesize_mouse_move_) 1044 if (!synthesize_mouse_move_)
1045 return; 1045 return;
1046 synthesize_mouse_move_ = false; 1046 synthesize_mouse_move_ = false;
1047 #if !defined(OS_WIN) 1047 #if !defined(OS_WIN)
1048 // Temporarily disabled for windows. See crbug.com/112222. 1048 // Temporarily disabled for windows. See crbug.com/112222.
1049 gfx::Point3f point(GetLastMouseLocationInRoot()); 1049 gfx::Point3f point(GetLastMouseLocationInRoot());
1050 ui::Transform transform = layer()->transform(); 1050 gfx::Transform transform = layer()->transform();
1051 float scale = ui::GetDeviceScaleFactor(layer()); 1051 float scale = ui::GetDeviceScaleFactor(layer());
1052 transform.ConcatScale(scale, scale); 1052 transform.ConcatScale(scale, scale);
1053 transform.TransformPoint(point); 1053 transform.TransformPoint(point);
1054 gfx::Point orig_mouse_location = point.AsPoint(); 1054 gfx::Point orig_mouse_location = point.AsPoint();
1055 1055
1056 // TODO(derat|oshima): Don't use mouse_button_flags_ as it's 1056 // TODO(derat|oshima): Don't use mouse_button_flags_ as it's
1057 // currently broken. See/ crbug.com/107931. 1057 // currently broken. See/ crbug.com/107931.
1058 ui::MouseEvent event(ui::ET_MOUSE_MOVED, 1058 ui::MouseEvent event(ui::ET_MOUSE_MOVED,
1059 orig_mouse_location, 1059 orig_mouse_location,
1060 orig_mouse_location, 1060 orig_mouse_location,
1061 ui::EF_IS_SYNTHESIZED); 1061 ui::EF_IS_SYNTHESIZED);
1062 event.set_system_location(Env::GetInstance()->last_mouse_location()); 1062 event.set_system_location(Env::GetInstance()->last_mouse_location());
1063 OnHostMouseEvent(&event); 1063 OnHostMouseEvent(&event);
1064 #endif 1064 #endif
1065 } 1065 }
1066 1066
1067 void RootWindow::UnlockCompositor() { 1067 void RootWindow::UnlockCompositor() {
1068 DCHECK(compositor_lock_); 1068 DCHECK(compositor_lock_);
1069 compositor_lock_ = NULL; 1069 compositor_lock_ = NULL;
1070 if (draw_on_compositor_unlock_) { 1070 if (draw_on_compositor_unlock_) {
1071 draw_on_compositor_unlock_ = false; 1071 draw_on_compositor_unlock_ = false;
1072 ScheduleDraw(); 1072 ScheduleDraw();
1073 } 1073 }
1074 } 1074 }
1075 1075
1076 } // namespace aura 1076 } // namespace aura
OLDNEW
« no previous file with comments | « ui/aura/root_window.h ('k') | ui/aura/window.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698