OLD | NEW |
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 #ifndef ASH_WM_WORKSPACE_WORKSPACE_WINDOW_RESIZER_H_ | 5 #ifndef ASH_WM_WORKSPACE_WORKSPACE_WINDOW_RESIZER_H_ |
6 #define ASH_WM_WORKSPACE_WORKSPACE_WINDOW_RESIZER_H_ | 6 #define ASH_WM_WORKSPACE_WORKSPACE_WINDOW_RESIZER_H_ |
7 | 7 |
| 8 #include <stdint.h> |
| 9 |
8 #include <vector> | 10 #include <vector> |
9 | 11 |
10 #include "ash/wm/window_resizer.h" | 12 #include "ash/wm/window_resizer.h" |
11 #include "ash/wm/workspace/magnetism_matcher.h" | 13 #include "ash/wm/workspace/magnetism_matcher.h" |
12 #include "base/compiler_specific.h" | 14 #include "base/compiler_specific.h" |
| 15 #include "base/macros.h" |
13 #include "base/memory/scoped_ptr.h" | 16 #include "base/memory/scoped_ptr.h" |
14 #include "base/memory/weak_ptr.h" | 17 #include "base/memory/weak_ptr.h" |
15 #include "ui/aura/window_tracker.h" | 18 #include "ui/aura/window_tracker.h" |
16 | 19 |
17 namespace ash { | 20 namespace ash { |
18 class DockedWindowLayoutManager; | 21 class DockedWindowLayoutManager; |
19 class PhantomWindowController; | 22 class PhantomWindowController; |
20 class TwoStepEdgeCycler; | 23 class TwoStepEdgeCycler; |
21 class WindowSize; | 24 class WindowSize; |
22 | 25 |
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
105 void MagneticallySnapToOtherWindows(gfx::Rect* bounds); | 108 void MagneticallySnapToOtherWindows(gfx::Rect* bounds); |
106 | 109 |
107 // If possible snaps the resize to a neary window. Updates |bounds| if there | 110 // If possible snaps the resize to a neary window. Updates |bounds| if there |
108 // was a close enough window. | 111 // was a close enough window. |
109 void MagneticallySnapResizeToOtherWindows(gfx::Rect* bounds); | 112 void MagneticallySnapResizeToOtherWindows(gfx::Rect* bounds); |
110 | 113 |
111 // Finds the neareset window to magentically snap to. Updates | 114 // Finds the neareset window to magentically snap to. Updates |
112 // |magnetism_window_| and |magnetism_edge_| appropriately. |edges| is a | 115 // |magnetism_window_| and |magnetism_edge_| appropriately. |edges| is a |
113 // bitmask of the MagnetismEdges to match again. Returns true if a match is | 116 // bitmask of the MagnetismEdges to match again. Returns true if a match is |
114 // found. | 117 // found. |
115 bool UpdateMagnetismWindow(const gfx::Rect& bounds, uint32 edges); | 118 bool UpdateMagnetismWindow(const gfx::Rect& bounds, uint32_t edges); |
116 | 119 |
117 // Adjusts the bounds of the window: magnetically snapping, ensuring the | 120 // Adjusts the bounds of the window: magnetically snapping, ensuring the |
118 // window has enough on screen... |snap_size| is the distance from an edge of | 121 // window has enough on screen... |snap_size| is the distance from an edge of |
119 // the work area before the window is snapped. A value of 0 results in no | 122 // the work area before the window is snapped. A value of 0 results in no |
120 // snapping. | 123 // snapping. |
121 void AdjustBoundsForMainWindow(int snap_size, gfx::Rect* bounds); | 124 void AdjustBoundsForMainWindow(int snap_size, gfx::Rect* bounds); |
122 | 125 |
123 // Stick the window bounds to the work area during a move. | 126 // Stick the window bounds to the work area during a move. |
124 bool StickToWorkAreaOnMove(const gfx::Rect& work_area, | 127 bool StickToWorkAreaOnMove(const gfx::Rect& work_area, |
125 int sticky_size, | 128 int sticky_size, |
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
216 // Used to determine if this has been deleted during a drag such as when a tab | 219 // Used to determine if this has been deleted during a drag such as when a tab |
217 // gets dragged into another browser window. | 220 // gets dragged into another browser window. |
218 base::WeakPtrFactory<WorkspaceWindowResizer> weak_ptr_factory_; | 221 base::WeakPtrFactory<WorkspaceWindowResizer> weak_ptr_factory_; |
219 | 222 |
220 DISALLOW_COPY_AND_ASSIGN(WorkspaceWindowResizer); | 223 DISALLOW_COPY_AND_ASSIGN(WorkspaceWindowResizer); |
221 }; | 224 }; |
222 | 225 |
223 } // namespace ash | 226 } // namespace ash |
224 | 227 |
225 #endif // ASH_WM_WORKSPACE_WORKSPACE_WINDOW_RESIZER_H_ | 228 #endif // ASH_WM_WORKSPACE_WORKSPACE_WINDOW_RESIZER_H_ |
OLD | NEW |