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 197 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
208 } | 208 } |
209 | 209 |
210 template<typename T> | 210 template<typename T> |
211 T PrimaryAxisValue(T horizontal, T vertical) const { | 211 T PrimaryAxisValue(T horizontal, T vertical) const { |
212 return IsHorizontalAlignment() ? horizontal : vertical; | 212 return IsHorizontalAlignment() ? horizontal : vertical; |
213 } | 213 } |
214 | 214 |
215 // Is the shelf's alignment horizontal? | 215 // Is the shelf's alignment horizontal? |
216 bool IsHorizontalAlignment() const; | 216 bool IsHorizontalAlignment() const; |
217 | 217 |
218 // Get the work area insets due to the shelf and virtual keyboard. | |
219 gfx::Insets GetWorkAreaInsets() const; | |
220 | |
218 // Returns a ShelfLayoutManager on the display which has a shelf for | 221 // Returns a ShelfLayoutManager on the display which has a shelf for |
219 // given |window|. See RootWindowController::ForShelf for more info. | 222 // given |window|. See RootWindowController::ForShelf for more info. |
220 static ShelfLayoutManager* ForShelf(aura::Window* window); | 223 static ShelfLayoutManager* ForShelf(aura::Window* window); |
221 | 224 |
222 private: | 225 private: |
223 class AutoHideEventFilter; | 226 class AutoHideEventFilter; |
224 class UpdateShelfObserver; | 227 class UpdateShelfObserver; |
225 friend class AshPopupAlignmentDelegateTest; | 228 friend class AshPopupAlignmentDelegateTest; |
226 friend class ash::ScreenAsh; | 229 friend class ash::ScreenAsh; |
227 friend class PanelLayoutManagerTest; | 230 friend class PanelLayoutManagerTest; |
(...skipping 177 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
405 // The bounds of the keyboard. | 408 // The bounds of the keyboard. |
406 gfx::Rect keyboard_bounds_; | 409 gfx::Rect keyboard_bounds_; |
407 | 410 |
408 // The bounds of the dock. | 411 // The bounds of the dock. |
409 gfx::Rect dock_bounds_; | 412 gfx::Rect dock_bounds_; |
410 | 413 |
411 // The bounds within the root window not occupied by the shelf nor the virtual | 414 // The bounds within the root window not occupied by the shelf nor the virtual |
412 // keyboard. | 415 // keyboard. |
413 gfx::Rect user_work_area_bounds_; | 416 gfx::Rect user_work_area_bounds_; |
414 | 417 |
418 // The insets from the sides of the screen taken up by the shelf or virtual | |
419 // keyboard. | |
420 gfx::Insets work_area_insets_; | |
oshima
2015/11/05 23:58:50
Insets is managed in gfx::Display, and you can obt
dmazzoni
2015/11/06 17:28:14
Currently ShelfLayoutManager updates the insets by
oshima
2015/11/06 18:21:15
Is there a reason to store this? Looks like you ca
dmazzoni
2015/11/09 23:02:06
What if the ChromeVox Panel closes and wants to up
oshima
2015/11/10 01:47:31
There is already another factor (dock window) that
| |
421 | |
415 // The show hide animation duration override or 0 for default. | 422 // The show hide animation duration override or 0 for default. |
416 int duration_override_in_ms_; | 423 int duration_override_in_ms_; |
417 | 424 |
418 DISALLOW_COPY_AND_ASSIGN(ShelfLayoutManager); | 425 DISALLOW_COPY_AND_ASSIGN(ShelfLayoutManager); |
419 }; | 426 }; |
420 | 427 |
421 } // namespace ash | 428 } // namespace ash |
422 | 429 |
423 #endif // ASH_SHELF_SHELF_LAYOUT_MANAGER_H_ | 430 #endif // ASH_SHELF_SHELF_LAYOUT_MANAGER_H_ |
OLD | NEW |