| 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_SHELF_SHELF_LAYOUT_MANAGER_H_ | 5 #ifndef ASH_SHELF_SHELF_LAYOUT_MANAGER_H_ |
| 6 #define ASH_SHELF_SHELF_LAYOUT_MANAGER_H_ | 6 #define ASH_SHELF_SHELF_LAYOUT_MANAGER_H_ |
| 7 | 7 |
| 8 #include <vector> | 8 #include <vector> |
| 9 | 9 |
| 10 #include "ash/ash_export.h" | 10 #include "ash/ash_export.h" |
| 11 #include "ash/session_state_observer.h" |
| 11 #include "ash/shelf/background_animator.h" | 12 #include "ash/shelf/background_animator.h" |
| 12 #include "ash/shelf/shelf.h" | 13 #include "ash/shelf/shelf.h" |
| 13 #include "ash/shelf/shelf_types.h" | 14 #include "ash/shelf/shelf_types.h" |
| 14 #include "ash/shell_observer.h" | 15 #include "ash/shell_observer.h" |
| 15 #include "ash/system/status_area_widget.h" | 16 #include "ash/system/status_area_widget.h" |
| 16 #include "ash/wm/dock/docked_window_layout_manager_observer.h" | 17 #include "ash/wm/dock/docked_window_layout_manager_observer.h" |
| 17 #include "ash/wm/lock_state_observer.h" | 18 #include "ash/wm/lock_state_observer.h" |
| 18 #include "ash/wm/workspace/workspace_types.h" | 19 #include "ash/wm/workspace/workspace_types.h" |
| 19 #include "base/basictypes.h" | 20 #include "base/basictypes.h" |
| 20 #include "base/compiler_specific.h" | 21 #include "base/compiler_specific.h" |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 53 // width of the status area. This allows the shelf to draw the background and | 54 // width of the status area. This allows the shelf to draw the background and |
| 54 // layout to the status area. | 55 // layout to the status area. |
| 55 // To respond to bounds changes in the status area StatusAreaLayoutManager works | 56 // To respond to bounds changes in the status area StatusAreaLayoutManager works |
| 56 // closely with ShelfLayoutManager. | 57 // closely with ShelfLayoutManager. |
| 57 class ASH_EXPORT ShelfLayoutManager : | 58 class ASH_EXPORT ShelfLayoutManager : |
| 58 public aura::LayoutManager, | 59 public aura::LayoutManager, |
| 59 public ash::ShellObserver, | 60 public ash::ShellObserver, |
| 60 public aura::client::ActivationChangeObserver, | 61 public aura::client::ActivationChangeObserver, |
| 61 public DockedWindowLayoutManagerObserver, | 62 public DockedWindowLayoutManagerObserver, |
| 62 public keyboard::KeyboardControllerObserver, | 63 public keyboard::KeyboardControllerObserver, |
| 63 public LockStateObserver { | 64 public LockStateObserver, |
| 65 public SessionStateObserver { |
| 64 public: | 66 public: |
| 65 | 67 |
| 66 // We reserve a small area on the edge of the workspace area to ensure that | 68 // We reserve a small area on the edge of the workspace area to ensure that |
| 67 // the resize handle at the edge of the window can be hit. | 69 // the resize handle at the edge of the window can be hit. |
| 68 static const int kWorkspaceAreaVisibleInset; | 70 static const int kWorkspaceAreaVisibleInset; |
| 69 | 71 |
| 70 // When autohidden we extend the touch hit target onto the screen so that the | 72 // When autohidden we extend the touch hit target onto the screen so that the |
| 71 // user can drag the shelf out. | 73 // user can drag the shelf out. |
| 72 static const int kWorkspaceAreaAutoHideInset; | 74 static const int kWorkspaceAreaAutoHideInset; |
| 73 | 75 |
| (...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 184 virtual void OnMaximizeModeStarted() OVERRIDE; | 186 virtual void OnMaximizeModeStarted() OVERRIDE; |
| 185 virtual void OnMaximizeModeEnded() OVERRIDE; | 187 virtual void OnMaximizeModeEnded() OVERRIDE; |
| 186 | 188 |
| 187 // Overriden from aura::client::ActivationChangeObserver: | 189 // Overriden from aura::client::ActivationChangeObserver: |
| 188 virtual void OnWindowActivated(aura::Window* gained_active, | 190 virtual void OnWindowActivated(aura::Window* gained_active, |
| 189 aura::Window* lost_active) OVERRIDE; | 191 aura::Window* lost_active) OVERRIDE; |
| 190 | 192 |
| 191 // Overridden from ash::LockStateObserver: | 193 // Overridden from ash::LockStateObserver: |
| 192 virtual void OnLockStateEvent(LockStateObserver::EventType event) OVERRIDE; | 194 virtual void OnLockStateEvent(LockStateObserver::EventType event) OVERRIDE; |
| 193 | 195 |
| 196 // Overridden from ash::SessionStateChanged: |
| 197 virtual void SessionStateChanged( |
| 198 SessionStateDelegate::SessionState state) OVERRIDE; |
| 199 |
| 194 // TODO(harrym|oshima): These templates will be moved to | 200 // TODO(harrym|oshima): These templates will be moved to |
| 195 // new Shelf class. | 201 // new Shelf class. |
| 196 // A helper function that provides a shortcut for choosing | 202 // A helper function that provides a shortcut for choosing |
| 197 // values specific to a shelf alignment. | 203 // values specific to a shelf alignment. |
| 198 template<typename T> | 204 template<typename T> |
| 199 T SelectValueForShelfAlignment(T bottom, T left, T right, T top) const { | 205 T SelectValueForShelfAlignment(T bottom, T left, T right, T top) const { |
| 200 switch (GetAlignment()) { | 206 switch (GetAlignment()) { |
| 201 case SHELF_ALIGNMENT_BOTTOM: | 207 case SHELF_ALIGNMENT_BOTTOM: |
| 202 return bottom; | 208 return bottom; |
| 203 case SHELF_ALIGNMENT_LEFT: | 209 case SHELF_ALIGNMENT_LEFT: |
| (...skipping 205 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 409 | 415 |
| 410 // The show hide animation duration override or 0 for default. | 416 // The show hide animation duration override or 0 for default. |
| 411 int duration_override_in_ms_; | 417 int duration_override_in_ms_; |
| 412 | 418 |
| 413 DISALLOW_COPY_AND_ASSIGN(ShelfLayoutManager); | 419 DISALLOW_COPY_AND_ASSIGN(ShelfLayoutManager); |
| 414 }; | 420 }; |
| 415 | 421 |
| 416 } // namespace ash | 422 } // namespace ash |
| 417 | 423 |
| 418 #endif // ASH_SHELF_SHELF_LAYOUT_MANAGER_H_ | 424 #endif // ASH_SHELF_SHELF_LAYOUT_MANAGER_H_ |
| OLD | NEW |