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

Side by Side Diff: ash/wm/workspace/workspace_window_resizer.cc

Issue 425363002: Moving coordinate conversion methods from ash/wm to ui/wm. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: More fixes Created 6 years, 4 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 #include "ash/wm/workspace/workspace_window_resizer.h" 5 #include "ash/wm/workspace/workspace_window_resizer.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <cmath> 8 #include <cmath>
9 #include <utility> 9 #include <utility>
10 #include <vector> 10 #include <vector>
11 11
12 #include "ash/display/display_controller.h" 12 #include "ash/display/display_controller.h"
13 #include "ash/metrics/user_metrics_recorder.h" 13 #include "ash/metrics/user_metrics_recorder.h"
14 #include "ash/root_window_controller.h" 14 #include "ash/root_window_controller.h"
15 #include "ash/screen_util.h" 15 #include "ash/screen_util.h"
16 #include "ash/shell.h" 16 #include "ash/shell.h"
17 #include "ash/shell_window_ids.h" 17 #include "ash/shell_window_ids.h"
18 #include "ash/wm/coordinate_conversion.h"
19 #include "ash/wm/default_window_resizer.h" 18 #include "ash/wm/default_window_resizer.h"
20 #include "ash/wm/dock/docked_window_layout_manager.h" 19 #include "ash/wm/dock/docked_window_layout_manager.h"
21 #include "ash/wm/dock/docked_window_resizer.h" 20 #include "ash/wm/dock/docked_window_resizer.h"
22 #include "ash/wm/drag_window_resizer.h" 21 #include "ash/wm/drag_window_resizer.h"
23 #include "ash/wm/panels/panel_window_resizer.h" 22 #include "ash/wm/panels/panel_window_resizer.h"
24 #include "ash/wm/window_state.h" 23 #include "ash/wm/window_state.h"
25 #include "ash/wm/window_util.h" 24 #include "ash/wm/window_util.h"
26 #include "ash/wm/wm_event.h" 25 #include "ash/wm/wm_event.h"
27 #include "ash/wm/workspace/phantom_window_controller.h" 26 #include "ash/wm/workspace/phantom_window_controller.h"
28 #include "ash/wm/workspace/two_step_edge_cycler.h" 27 #include "ash/wm/workspace/two_step_edge_cycler.h"
29 #include "base/command_line.h" 28 #include "base/command_line.h"
30 #include "base/memory/weak_ptr.h" 29 #include "base/memory/weak_ptr.h"
31 #include "ui/aura/client/aura_constants.h" 30 #include "ui/aura/client/aura_constants.h"
32 #include "ui/aura/client/screen_position_client.h" 31 #include "ui/aura/client/screen_position_client.h"
33 #include "ui/aura/window.h" 32 #include "ui/aura/window.h"
34 #include "ui/aura/window_delegate.h" 33 #include "ui/aura/window_delegate.h"
35 #include "ui/aura/window_event_dispatcher.h" 34 #include "ui/aura/window_event_dispatcher.h"
36 #include "ui/base/hit_test.h" 35 #include "ui/base/hit_test.h"
37 #include "ui/compositor/layer.h" 36 #include "ui/compositor/layer.h"
38 #include "ui/gfx/screen.h" 37 #include "ui/gfx/screen.h"
39 #include "ui/gfx/transform.h" 38 #include "ui/gfx/transform.h"
39 #include "ui/wm/core/coordinate_conversion.h"
40 #include "ui/wm/core/window_util.h" 40 #include "ui/wm/core/window_util.h"
41 #include "ui/wm/public/window_types.h" 41 #include "ui/wm/public/window_types.h"
42 42
43 namespace ash { 43 namespace ash {
44 44
45 scoped_ptr<WindowResizer> CreateWindowResizer( 45 scoped_ptr<WindowResizer> CreateWindowResizer(
46 aura::Window* window, 46 aura::Window* window,
47 const gfx::Point& point_in_parent, 47 const gfx::Point& point_in_parent,
48 int window_component, 48 int window_component,
49 aura::client::WindowMoveSource source) { 49 aura::client::WindowMoveSource source) {
(...skipping 314 matching lines...) Expand 10 before | Expand all | Expand 10 after
364 if (bounds != GetTarget()->bounds()) { 364 if (bounds != GetTarget()->bounds()) {
365 if (!did_move_or_resize_) { 365 if (!did_move_or_resize_) {
366 if (!details().restore_bounds.IsEmpty()) 366 if (!details().restore_bounds.IsEmpty())
367 window_state()->ClearRestoreBounds(); 367 window_state()->ClearRestoreBounds();
368 RestackWindows(); 368 RestackWindows();
369 } 369 }
370 did_move_or_resize_ = true; 370 did_move_or_resize_ = true;
371 } 371 }
372 372
373 gfx::Point location_in_screen = location_in_parent; 373 gfx::Point location_in_screen = location_in_parent;
374 wm::ConvertPointToScreen(GetTarget()->parent(), &location_in_screen); 374 ::wm::ConvertPointToScreen(GetTarget()->parent(), &location_in_screen);
375 375
376 aura::Window* root = NULL; 376 aura::Window* root = NULL;
377 gfx::Display display = 377 gfx::Display display =
378 ScreenUtil::FindDisplayContainingPoint(location_in_screen); 378 ScreenUtil::FindDisplayContainingPoint(location_in_screen);
379 // Track the last screen that the pointer was on to keep the snap phantom 379 // Track the last screen that the pointer was on to keep the snap phantom
380 // window there. 380 // window there.
381 if (display.is_valid()) { 381 if (display.is_valid()) {
382 root = Shell::GetInstance()->display_controller()-> 382 root = Shell::GetInstance()->display_controller()->
383 GetRootWindowForDisplayId(display.id()); 383 GetRootWindowForDisplayId(display.id());
384 } 384 }
(...skipping 379 matching lines...) Expand 10 before | Expand all | Expand 10 after
764 } 764 }
765 } 765 }
766 } 766 }
767 return false; 767 return false;
768 } 768 }
769 769
770 void WorkspaceWindowResizer::AdjustBoundsForMainWindow( 770 void WorkspaceWindowResizer::AdjustBoundsForMainWindow(
771 int sticky_size, 771 int sticky_size,
772 gfx::Rect* bounds) { 772 gfx::Rect* bounds) {
773 gfx::Point last_mouse_location_in_screen = last_mouse_location_; 773 gfx::Point last_mouse_location_in_screen = last_mouse_location_;
774 wm::ConvertPointToScreen(GetTarget()->parent(), 774 ::wm::ConvertPointToScreen(GetTarget()->parent(),
775 &last_mouse_location_in_screen); 775 &last_mouse_location_in_screen);
776 gfx::Display display = Shell::GetScreen()->GetDisplayNearestPoint( 776 gfx::Display display = Shell::GetScreen()->GetDisplayNearestPoint(
777 last_mouse_location_in_screen); 777 last_mouse_location_in_screen);
778 gfx::Rect work_area = 778 gfx::Rect work_area =
779 ScreenUtil::ConvertRectFromScreen(GetTarget()->parent(), 779 ScreenUtil::ConvertRectFromScreen(GetTarget()->parent(),
780 display.work_area()); 780 display.work_area());
781 if (details().window_component == HTCAPTION) { 781 if (details().window_component == HTCAPTION) {
782 // Adjust the bounds to the work area where the mouse cursor is located. 782 // Adjust the bounds to the work area where the mouse cursor is located.
783 // Always keep kMinOnscreenHeight or the window height (whichever is less) 783 // Always keep kMinOnscreenHeight or the window height (whichever is less)
784 // on the bottom. 784 // on the bottom.
785 int max_y = work_area.bottom() - std::min(kMinOnscreenHeight, 785 int max_y = work_area.bottom() - std::min(kMinOnscreenHeight,
(...skipping 252 matching lines...) Expand 10 before | Expand all | Expand 10 after
1038 snapped_type == wm::WINDOW_STATE_TYPE_RIGHT_SNAPPED); 1038 snapped_type == wm::WINDOW_STATE_TYPE_RIGHT_SNAPPED);
1039 gfx::Rect snapped_bounds = ScreenUtil::GetDisplayWorkAreaBoundsInParent( 1039 gfx::Rect snapped_bounds = ScreenUtil::GetDisplayWorkAreaBoundsInParent(
1040 GetTarget()); 1040 GetTarget());
1041 if (snapped_type == wm::WINDOW_STATE_TYPE_RIGHT_SNAPPED) 1041 if (snapped_type == wm::WINDOW_STATE_TYPE_RIGHT_SNAPPED)
1042 snapped_bounds.set_x(snapped_bounds.right() - bounds_in_parent.width()); 1042 snapped_bounds.set_x(snapped_bounds.right() - bounds_in_parent.width());
1043 snapped_bounds.set_width(bounds_in_parent.width()); 1043 snapped_bounds.set_width(bounds_in_parent.width());
1044 return bounds_in_parent == snapped_bounds; 1044 return bounds_in_parent == snapped_bounds;
1045 } 1045 }
1046 1046
1047 } // namespace ash 1047 } // namespace ash
OLDNEW
« no previous file with comments | « ash/wm/workspace/multi_window_resize_controller.cc ('k') | chrome/browser/ui/views/tabs/tab_drag_controller.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698