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

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

Issue 115153002: wm: public window_types. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: ozone deps Created 7 years 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 | Annotate | Revision Log
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>
(...skipping 11 matching lines...) Expand all
22 #include "ash/wm/drag_window_resizer.h" 22 #include "ash/wm/drag_window_resizer.h"
23 #include "ash/wm/panels/panel_window_resizer.h" 23 #include "ash/wm/panels/panel_window_resizer.h"
24 #include "ash/wm/window_state.h" 24 #include "ash/wm/window_state.h"
25 #include "ash/wm/window_util.h" 25 #include "ash/wm/window_util.h"
26 #include "ash/wm/workspace/phantom_window_controller.h" 26 #include "ash/wm/workspace/phantom_window_controller.h"
27 #include "ash/wm/workspace/snap_sizer.h" 27 #include "ash/wm/workspace/snap_sizer.h"
28 #include "base/command_line.h" 28 #include "base/command_line.h"
29 #include "base/memory/weak_ptr.h" 29 #include "base/memory/weak_ptr.h"
30 #include "ui/aura/client/aura_constants.h" 30 #include "ui/aura/client/aura_constants.h"
31 #include "ui/aura/client/screen_position_client.h" 31 #include "ui/aura/client/screen_position_client.h"
32 #include "ui/aura/client/window_types.h"
33 #include "ui/aura/root_window.h" 32 #include "ui/aura/root_window.h"
34 #include "ui/aura/window.h" 33 #include "ui/aura/window.h"
35 #include "ui/aura/window_delegate.h" 34 #include "ui/aura/window_delegate.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/public/window_types.h"
40 40
41 namespace ash { 41 namespace ash {
42 42
43 scoped_ptr<WindowResizer> CreateWindowResizer( 43 scoped_ptr<WindowResizer> CreateWindowResizer(
44 aura::Window* window, 44 aura::Window* window,
45 const gfx::Point& point_in_parent, 45 const gfx::Point& point_in_parent,
46 int window_component, 46 int window_component,
47 aura::client::WindowMoveSource source) { 47 aura::client::WindowMoveSource source) {
48 DCHECK(window); 48 DCHECK(window);
49 wm::WindowState* window_state = wm::GetWindowState(window); 49 wm::WindowState* window_state = wm::GetWindowState(window);
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
84 source, 84 source,
85 std::vector<aura::Window*>()); 85 std::vector<aura::Window*>());
86 } else if (window_state->IsNormalShowState()) { 86 } else if (window_state->IsNormalShowState()) {
87 window_resizer = DefaultWindowResizer::Create( 87 window_resizer = DefaultWindowResizer::Create(
88 window, point_in_parent, window_component, source); 88 window, point_in_parent, window_component, source);
89 } 89 }
90 if (window_resizer) { 90 if (window_resizer) {
91 window_resizer = internal::DragWindowResizer::Create( 91 window_resizer = internal::DragWindowResizer::Create(
92 window_resizer, window, point_in_parent, window_component, source); 92 window_resizer, window, point_in_parent, window_component, source);
93 } 93 }
94 if (window_resizer && window->type() == aura::client::WINDOW_TYPE_PANEL) { 94 if (window_resizer && window->type() == ui::wm::WINDOW_TYPE_PANEL) {
95 window_resizer = PanelWindowResizer::Create( 95 window_resizer = PanelWindowResizer::Create(
96 window_resizer, window, point_in_parent, window_component, source); 96 window_resizer, window, point_in_parent, window_component, source);
97 } 97 }
98 if (switches::UseDockedWindows() && 98 if (switches::UseDockedWindows() &&
99 window_resizer && window->parent() && 99 window_resizer && window->parent() &&
100 !window->transient_parent() && 100 !window->transient_parent() &&
101 (window->parent()->id() == internal::kShellWindowId_DefaultContainer || 101 (window->parent()->id() == internal::kShellWindowId_DefaultContainer ||
102 window->parent()->id() == internal::kShellWindowId_DockedContainer || 102 window->parent()->id() == internal::kShellWindowId_DockedContainer ||
103 window->parent()->id() == internal::kShellWindowId_PanelContainer)) { 103 window->parent()->id() == internal::kShellWindowId_PanelContainer)) {
104 window_resizer = internal::DockedWindowResizer::Create( 104 window_resizer = internal::DockedWindowResizer::Create(
(...skipping 331 matching lines...) Expand 10 before | Expand all | Expand 10 after
436 if (!did_move_or_resize_ || details_.window_component != HTCAPTION) 436 if (!did_move_or_resize_ || details_.window_component != HTCAPTION)
437 return; 437 return;
438 438
439 bool snapped = false; 439 bool snapped = false;
440 // When the window is not in the normal show state, we do not snap the window. 440 // When the window is not in the normal show state, we do not snap the window.
441 // This happens when the user minimizes or maximizes the window by keyboard 441 // This happens when the user minimizes or maximizes the window by keyboard
442 // shortcut while dragging it. If the window is the result of dragging a tab 442 // shortcut while dragging it. If the window is the result of dragging a tab
443 // out of a maximized window, it's already in the normal show state when this 443 // out of a maximized window, it's already in the normal show state when this
444 // is called, so it does not matter. 444 // is called, so it does not matter.
445 if (window_state()->IsNormalShowState() && 445 if (window_state()->IsNormalShowState() &&
446 (window()->type() != aura::client::WINDOW_TYPE_PANEL || 446 (window()->type() != ui::wm::WINDOW_TYPE_PANEL ||
447 !window_state()->panel_attached() || 447 !window_state()->panel_attached() ||
448 dock_layout_->is_dragged_window_docked()) && 448 dock_layout_->is_dragged_window_docked()) &&
449 (snap_type_ == SNAP_LEFT || snap_type_ == SNAP_RIGHT)) { 449 (snap_type_ == SNAP_LEFT || snap_type_ == SNAP_RIGHT)) {
450 if (!window_state()->HasRestoreBounds()) { 450 if (!window_state()->HasRestoreBounds()) {
451 gfx::Rect initial_bounds = ScreenAsh::ConvertRectToScreen( 451 gfx::Rect initial_bounds = ScreenAsh::ConvertRectToScreen(
452 window()->parent(), details_.initial_bounds_in_parent); 452 window()->parent(), details_.initial_bounds_in_parent);
453 window_state()->SetRestoreBoundsInScreen( 453 window_state()->SetRestoreBoundsInScreen(
454 details_.restore_bounds.IsEmpty() ? 454 details_.restore_bounds.IsEmpty() ?
455 initial_bounds : 455 initial_bounds :
456 details_.restore_bounds); 456 details_.restore_bounds);
(...skipping 585 matching lines...) Expand 10 before | Expand all | Expand 10 after
1042 } else { 1042 } else {
1043 if (dock_layout_->is_dragged_window_docked()) { 1043 if (dock_layout_->is_dragged_window_docked()) {
1044 dock_layout_->UndockDraggedWindow(); 1044 dock_layout_->UndockDraggedWindow();
1045 window_state()->set_bounds_changed_by_user(true); 1045 window_state()->set_bounds_changed_by_user(true);
1046 } 1046 }
1047 } 1047 }
1048 } 1048 }
1049 1049
1050 } // namespace internal 1050 } // namespace internal
1051 } // namespace ash 1051 } // namespace ash
OLDNEW
« no previous file with comments | « ash/wm/workspace/workspace_layout_manager_unittest.cc ('k') | ash/wm/workspace/workspace_window_resizer_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698