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_SYSTEM_MODAL_CONTAINER_LAYOUT_MANAGER_H_ | 5 #ifndef ASH_WM_SYSTEM_MODAL_CONTAINER_LAYOUT_MANAGER_H_ |
6 #define ASH_WM_SYSTEM_MODAL_CONTAINER_LAYOUT_MANAGER_H_ | 6 #define ASH_WM_SYSTEM_MODAL_CONTAINER_LAYOUT_MANAGER_H_ |
7 #pragma once | 7 #pragma once |
8 | 8 |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
(...skipping 17 matching lines...) Expand all Loading... |
28 class Widget; | 28 class Widget; |
29 } | 29 } |
30 | 30 |
31 namespace ash { | 31 namespace ash { |
32 namespace internal { | 32 namespace internal { |
33 | 33 |
34 // LayoutManager for the modal window container. | 34 // LayoutManager for the modal window container. |
35 class ASH_EXPORT SystemModalContainerLayoutManager | 35 class ASH_EXPORT SystemModalContainerLayoutManager |
36 : public aura::LayoutManager, | 36 : public aura::LayoutManager, |
37 public aura::WindowObserver, | 37 public aura::WindowObserver, |
38 public ui::LayerAnimationObserver, | 38 public ui::ImplicitAnimationObserver, |
39 public SystemModalContainerEventFilterDelegate { | 39 public SystemModalContainerEventFilterDelegate { |
40 public: | 40 public: |
41 explicit SystemModalContainerLayoutManager(aura::Window* container); | 41 explicit SystemModalContainerLayoutManager(aura::Window* container); |
42 virtual ~SystemModalContainerLayoutManager(); | 42 virtual ~SystemModalContainerLayoutManager(); |
43 | 43 |
44 // Overridden from aura::LayoutManager: | 44 // Overridden from aura::LayoutManager: |
45 virtual void OnWindowResized() OVERRIDE; | 45 virtual void OnWindowResized() OVERRIDE; |
46 virtual void OnWindowAddedToLayout(aura::Window* child) OVERRIDE; | 46 virtual void OnWindowAddedToLayout(aura::Window* child) OVERRIDE; |
47 virtual void OnWillRemoveWindowFromLayout(aura::Window* child) OVERRIDE; | 47 virtual void OnWillRemoveWindowFromLayout(aura::Window* child) OVERRIDE; |
48 virtual void OnChildWindowVisibilityChanged(aura::Window* child, | 48 virtual void OnChildWindowVisibilityChanged(aura::Window* child, |
49 bool visibile) OVERRIDE; | 49 bool visibile) OVERRIDE; |
50 virtual void SetChildBounds(aura::Window* child, | 50 virtual void SetChildBounds(aura::Window* child, |
51 const gfx::Rect& requested_bounds) OVERRIDE; | 51 const gfx::Rect& requested_bounds) OVERRIDE; |
52 | 52 |
53 // Overridden from aura::WindowObserver: | 53 // Overridden from aura::WindowObserver: |
54 virtual void OnWindowPropertyChanged(aura::Window* window, | 54 virtual void OnWindowPropertyChanged(aura::Window* window, |
55 const char* key, | 55 const char* key, |
56 void* old) OVERRIDE; | 56 void* old) OVERRIDE; |
57 | 57 |
58 // Overridden from ui::LayerAnimationObserver: | 58 // Overridden from ui::ImplicitAnimationObserver: |
59 virtual void OnLayerAnimationEnded( | 59 virtual void OnImplicitAnimationsCompleted() OVERRIDE; |
60 const ui::LayerAnimationSequence* sequence) OVERRIDE; | |
61 virtual void OnLayerAnimationAborted( | |
62 const ui::LayerAnimationSequence* sequence) OVERRIDE; | |
63 virtual void OnLayerAnimationScheduled( | |
64 const ui::LayerAnimationSequence* sequence) OVERRIDE; | |
65 | 60 |
66 // Overridden from SystemModalContainerEventFilterDelegate: | 61 // Overridden from SystemModalContainerEventFilterDelegate: |
67 virtual bool CanWindowReceiveEvents(aura::Window* window) OVERRIDE; | 62 virtual bool CanWindowReceiveEvents(aura::Window* window) OVERRIDE; |
68 | 63 |
69 private: | 64 private: |
70 void AddModalWindow(aura::Window* window); | 65 void AddModalWindow(aura::Window* window); |
71 void RemoveModalWindow(aura::Window* window); | 66 void RemoveModalWindow(aura::Window* window); |
72 | 67 |
73 void CreateModalScreen(); | 68 void CreateModalScreen(); |
74 void DestroyModalScreen(); | 69 void DestroyModalScreen(); |
(...skipping 18 matching lines...) Expand all Loading... |
93 // added, and removed when the last is closed. | 88 // added, and removed when the last is closed. |
94 scoped_ptr<aura::EventFilter> modality_filter_; | 89 scoped_ptr<aura::EventFilter> modality_filter_; |
95 | 90 |
96 DISALLOW_COPY_AND_ASSIGN(SystemModalContainerLayoutManager); | 91 DISALLOW_COPY_AND_ASSIGN(SystemModalContainerLayoutManager); |
97 }; | 92 }; |
98 | 93 |
99 } // namespace internal | 94 } // namespace internal |
100 } // namespace ash | 95 } // namespace ash |
101 | 96 |
102 #endif // ASH_WM_SYSTEM_MODAL_CONTAINER_LAYOUT_MANAGER_H_ | 97 #endif // ASH_WM_SYSTEM_MODAL_CONTAINER_LAYOUT_MANAGER_H_ |
OLD | NEW |