OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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_WINDOW_STATE_H_ | 5 #ifndef ASH_WM_WINDOW_STATE_H_ |
6 #define ASH_WM_WINDOW_STATE_H_ | 6 #define ASH_WM_WINDOW_STATE_H_ |
7 | 7 |
8 #include "ash/ash_export.h" | 8 #include "ash/ash_export.h" |
9 #include "ash/wm/drag_details.h" | 9 #include "ash/wm/drag_details.h" |
10 #include "ash/wm/wm_types.h" | 10 #include "ash/wm/wm_types.h" |
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
70 | 70 |
71 // Gets called before the state objects gets deactivated / detached from the | 71 // Gets called before the state objects gets deactivated / detached from the |
72 // window, so that it can save the various states it is interested in. | 72 // window, so that it can save the various states it is interested in. |
73 // Note: This only gets called when the state object gets changed. | 73 // Note: This only gets called when the state object gets changed. |
74 virtual void DetachState(WindowState* window_state) = 0; | 74 virtual void DetachState(WindowState* window_state) = 0; |
75 | 75 |
76 private: | 76 private: |
77 DISALLOW_COPY_AND_ASSIGN(State); | 77 DISALLOW_COPY_AND_ASSIGN(State); |
78 }; | 78 }; |
79 | 79 |
80 explicit WindowState(aura::Window* window); | 80 // Call GetWindowState() to instantiate this class. |
81 virtual ~WindowState(); | 81 virtual ~WindowState(); |
82 | 82 |
83 aura::Window* window() { return window_; } | 83 aura::Window* window() { return window_; } |
84 const aura::Window* window() const { return window_; } | 84 const aura::Window* window() const { return window_; } |
85 | 85 |
86 bool HasDelegate() const; | 86 bool HasDelegate() const; |
87 void SetDelegate(scoped_ptr<WindowStateDelegate> delegate); | 87 void SetDelegate(scoped_ptr<WindowStateDelegate> delegate); |
88 | 88 |
89 // Returns the window's current ash state type. | 89 // Returns the window's current ash state type. |
90 // Refer to WindowStateType definition in wm_types.h as for why Ash | 90 // Refer to WindowStateType definition in wm_types.h as for why Ash |
(...skipping 206 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
297 DragDetails* drag_details() { return drag_details_.get(); } | 297 DragDetails* drag_details() { return drag_details_.get(); } |
298 | 298 |
299 // aura::WindowObserver overrides: | 299 // aura::WindowObserver overrides: |
300 virtual void OnWindowPropertyChanged(aura::Window* window, | 300 virtual void OnWindowPropertyChanged(aura::Window* window, |
301 const void* key, | 301 const void* key, |
302 intptr_t old) OVERRIDE; | 302 intptr_t old) OVERRIDE; |
303 | 303 |
304 private: | 304 private: |
305 friend class DefaultState; | 305 friend class DefaultState; |
306 friend class ash::MaximizeModeWindowState; | 306 friend class ash::MaximizeModeWindowState; |
| 307 friend ASH_EXPORT WindowState* GetWindowState(aura::Window*); |
307 FRIEND_TEST_ALL_PREFIXES(WindowAnimationsTest, CrossFadeToBounds); | 308 FRIEND_TEST_ALL_PREFIXES(WindowAnimationsTest, CrossFadeToBounds); |
308 | 309 |
| 310 explicit WindowState(aura::Window* window); |
| 311 |
309 WindowStateDelegate* delegate() { return delegate_.get(); } | 312 WindowStateDelegate* delegate() { return delegate_.get(); } |
310 | 313 |
311 // Returns the window's current show state. | 314 // Returns the window's current show state. |
312 ui::WindowShowState GetShowState() const; | 315 ui::WindowShowState GetShowState() const; |
313 | 316 |
314 // Sets the window's bounds in screen coordinates. | 317 // Sets the window's bounds in screen coordinates. |
315 void SetBoundsInScreen(const gfx::Rect& bounds_in_screen); | 318 void SetBoundsInScreen(const gfx::Rect& bounds_in_screen); |
316 | 319 |
317 // Adjusts the |bounds| so that they are flush with the edge of the | 320 // Adjusts the |bounds| so that they are flush with the edge of the |
318 // workspace if the window represented by |window_state| is side snapped. | 321 // workspace if the window represented by |window_state| is side snapped. |
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
383 ASH_EXPORT WindowState* GetWindowState(aura::Window* window); | 386 ASH_EXPORT WindowState* GetWindowState(aura::Window* window); |
384 | 387 |
385 // const version of GetWindowState. | 388 // const version of GetWindowState. |
386 ASH_EXPORT const WindowState* | 389 ASH_EXPORT const WindowState* |
387 GetWindowState(const aura::Window* window); | 390 GetWindowState(const aura::Window* window); |
388 | 391 |
389 } // namespace wm | 392 } // namespace wm |
390 } // namespace ash | 393 } // namespace ash |
391 | 394 |
392 #endif // ASH_WM_WINDOW_STATE_H_ | 395 #endif // ASH_WM_WINDOW_STATE_H_ |
OLD | NEW |