| OLD | NEW |
| 1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 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" |
| (...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 83 | 83 |
| 84 explicit ShelfLayoutManager(ShelfWidget* shelf); | 84 explicit ShelfLayoutManager(ShelfWidget* shelf); |
| 85 ~ShelfLayoutManager() override; | 85 ~ShelfLayoutManager() override; |
| 86 | 86 |
| 87 // Sets the ShelfAutoHideBehavior. See enum description for details. | 87 // Sets the ShelfAutoHideBehavior. See enum description for details. |
| 88 void SetAutoHideBehavior(ShelfAutoHideBehavior behavior); | 88 void SetAutoHideBehavior(ShelfAutoHideBehavior behavior); |
| 89 ShelfAutoHideBehavior auto_hide_behavior() const { | 89 ShelfAutoHideBehavior auto_hide_behavior() const { |
| 90 return auto_hide_behavior_; | 90 return auto_hide_behavior_; |
| 91 } | 91 } |
| 92 | 92 |
| 93 // Sets the alignment. Returns true if the alignment got changed. If nothing | 93 // Sets the alignment; changes are delayed if the screen is locked. |
| 94 // has visually be changed, false will be returned. This can happen if either | 94 void SetAlignment(ShelfAlignment alignment); |
| 95 // the alignment was already set, or the shelf is currently locked and cannot | |
| 96 // be changed at this time. In the latter case the change will be performed | |
| 97 // once the shelf gets unlocked. | |
| 98 bool SetAlignment(ShelfAlignment alignment); | |
| 99 | 95 |
| 100 // Returns the desired alignment for the current state, either the user's | 96 // Returns the desired alignment for the current state, either the user's |
| 101 // set alignment (alignment_) or SHELF_ALIGNMENT_BOTTOM when the screen | 97 // selected alignment or SHELF_ALIGNMENT_BOTTOM when the screen is locked. |
| 102 // is locked. | |
| 103 ShelfAlignment GetAlignment() const; | 98 ShelfAlignment GetAlignment() const; |
| 104 | 99 |
| 105 void set_workspace_controller(WorkspaceController* controller) { | 100 void set_workspace_controller(WorkspaceController* controller) { |
| 106 workspace_controller_ = controller; | 101 workspace_controller_ = controller; |
| 107 } | 102 } |
| 108 | 103 |
| 109 bool updating_bounds() const { return updating_bounds_; } | 104 bool updating_bounds() const { return updating_bounds_; } |
| 110 | 105 |
| 111 // Clears internal data for shutdown process. | 106 // Clears internal data for shutdown process. |
| 112 void PrepareForShutdown(); | 107 void PrepareForShutdown(); |
| 113 | 108 |
| 114 // Returns whether the shelf and its contents (shelf, status) are visible | 109 // Returns whether the shelf and its contents (shelf, status) are visible |
| 115 // on the screen. | 110 // on the screen. |
| 116 bool IsVisible() const; | 111 bool IsVisible() const; |
| 117 | 112 |
| 118 // Returns the ideal bounds of the shelf assuming it is visible. | 113 // Returns the ideal bounds of the shelf assuming it is visible. |
| 119 gfx::Rect GetIdealBounds(); | 114 gfx::Rect GetIdealBounds(); |
| 120 | 115 |
| 121 // Returns the docked area bounds. | 116 // Returns the docked area bounds. |
| 122 const gfx::Rect& dock_bounds() const { return dock_bounds_; } | 117 const gfx::Rect& dock_bounds() const { return dock_bounds_; } |
| 123 | 118 |
| 124 // Returns the bounds within the root window not occupied by the shelf nor the | 119 // Returns the bounds within the root window not occupied by the shelf nor the |
| 125 // virtual keyboard. | 120 // virtual keyboard. |
| 126 const gfx::Rect& user_work_area_bounds() const { | 121 const gfx::Rect& user_work_area_bounds() const { |
| 127 return user_work_area_bounds_; | 122 return user_work_area_bounds_; |
| 128 } | 123 } |
| 129 | 124 |
| 130 // Stops any animations and sets the bounds of the shelf and status | 125 // Stops any animations and sets the bounds of the shelf and status widgets. |
| 131 // widgets. | |
| 132 void LayoutShelf(); | 126 void LayoutShelf(); |
| 133 | 127 |
| 134 // Returns shelf visibility state based on current value of auto hide | 128 // Returns shelf visibility state based on current value of auto hide |
| 135 // behavior setting. | 129 // behavior setting. |
| 136 ShelfVisibilityState CalculateShelfVisibility(); | 130 ShelfVisibilityState CalculateShelfVisibility(); |
| 137 | 131 |
| 138 // Updates the visibility state. | 132 // Updates the visibility state. |
| 139 void UpdateVisibilityState(); | 133 void UpdateVisibilityState(); |
| 140 | 134 |
| 141 // Invoked by the shelf when the auto-hide state may have changed. | 135 // Invoked by the shelf when the auto-hide state may have changed. |
| (...skipping 269 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 411 | 405 |
| 412 // The show hide animation duration override or 0 for default. | 406 // The show hide animation duration override or 0 for default. |
| 413 int duration_override_in_ms_; | 407 int duration_override_in_ms_; |
| 414 | 408 |
| 415 DISALLOW_COPY_AND_ASSIGN(ShelfLayoutManager); | 409 DISALLOW_COPY_AND_ASSIGN(ShelfLayoutManager); |
| 416 }; | 410 }; |
| 417 | 411 |
| 418 } // namespace ash | 412 } // namespace ash |
| 419 | 413 |
| 420 #endif // ASH_SHELF_SHELF_LAYOUT_MANAGER_H_ | 414 #endif // ASH_SHELF_SHELF_LAYOUT_MANAGER_H_ |
| OLD | NEW |