Chromium Code Reviews| Index: ash/wm/default_window_resizer.cc |
| diff --git a/ash/wm/default_window_resizer.cc b/ash/wm/default_window_resizer.cc |
| index 4368c73b88ba14b3230441fe40d1b8a83ebc0d22..8aa50a5dc4466a172d2783152f11e5cd5b03ea19 100644 |
| --- a/ash/wm/default_window_resizer.cc |
| +++ b/ash/wm/default_window_resizer.cc |
| @@ -5,8 +5,10 @@ |
| #include "ash/wm/default_window_resizer.h" |
| #include "ash/shell.h" |
| +#include "ash/wm/coordinate_conversion.h" |
| #include "ash/wm/cursor_manager.h" |
| #include "ui/aura/client/aura_constants.h" |
| +#include "ui/aura/client/screen_position_client.h" |
| #include "ui/aura/env.h" |
| #include "ui/aura/root_window.h" |
| #include "ui/aura/window.h" |
| @@ -33,9 +35,26 @@ DefaultWindowResizer::Create(aura::Window* window, |
| } |
| void DefaultWindowResizer::Drag(const gfx::Point& location, int event_flags) { |
| + std::pair<aura::RootWindow*, gfx::Point> actual_location = |
| + wm::GetRootWindowRelativeToWindow(details_.window->parent(), location); |
| + |
| + aura::RootWindow* current_root = actual_location.first; |
| + gfx::Point location_in_root = actual_location.second; |
| + gfx::Point location_in_screen = actual_location.second; |
| + aura::client::GetScreenPositionClient(current_root)-> |
| + ConvertPointToScreen(current_root, &location_in_screen); |
|
sky
2012/08/03 17:07:18
This is too much code for something that seems lik
Yusuke Sato
2012/08/03 23:18:45
Done.
|
| + |
| + // TODO(mazda|yusukes): Implement dragging an item from one display to another |
| + if (current_root != details_.window->GetRootWindow()) |
| + return; |
| + |
| + aura::client::GetScreenPositionClient(current_root)-> |
| + ConvertPointFromScreen(current_root, &location_in_root); |
| + |
| int grid_size = event_flags & ui::EF_CONTROL_DOWN ? |
| 0 : ash::Shell::GetInstance()->GetGridSize(); |
| - gfx::Rect bounds(CalculateBoundsForDrag(details_, location, grid_size)); |
| + gfx::Rect bounds( |
| + CalculateBoundsForDrag(details_, location_in_root, grid_size)); |
|
sky
2012/08/03 17:07:18
Why does this need to change?
Yusuke Sato
2012/08/03 23:18:45
Reverted.
|
| if (bounds != details_.window->bounds()) { |
| did_move_or_resize_ = true; |
| details_.window->SetBounds(bounds); |