[email protected] | f8e6aad | 2013-08-30 21:49:11 | [diff] [blame^] | 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 |
| 3 | // found in the LICENSE file. |
| 4 | |
| 5 | #ifndef ASH_WM_ROOT_WINDOW_SETTINGS_H_ |
| 6 | #define ASH_WM_ROOT_WINDOW_SETTINGS_H_ |
| 7 | |
| 8 | #include "ash/ash_export.h" |
| 9 | #include "base/basictypes.h" |
| 10 | |
| 11 | namespace aura { |
| 12 | class RootWindow; |
| 13 | } |
| 14 | |
| 15 | namespace ash { |
| 16 | namespace internal { |
| 17 | |
| 18 | class RootWindowController; |
| 19 | |
| 20 | // Per root window information should be stored here |
| 21 | // instead of using plain aura root window property because |
| 22 | // it can prevent mis-using on non root window. |
| 23 | struct RootWindowSettings { |
| 24 | RootWindowSettings(); |
| 25 | |
| 26 | // Indicate if the window in the active workspace should |
| 27 | // use the transparent "solo-window" header style. |
| 28 | bool solo_window_header; |
| 29 | |
| 30 | // ID of the display associated with the root window. |
| 31 | int64 display_id; |
| 32 | |
| 33 | // RootWindowController for the root window. This may be NULL |
| 34 | // for the root window used for mirroring. |
| 35 | RootWindowController* controller; |
| 36 | }; |
| 37 | |
| 38 | // Initializes and creates RootWindowSettings for |root|, and returns |
| 39 | // the property. |
| 40 | RootWindowSettings* InitRootWindowSettings(aura::RootWindow* root); |
| 41 | |
| 42 | // Returns the RootWindowSettings for |root|. |
| 43 | ASH_EXPORT RootWindowSettings* GetRootWindowSettings(aura::RootWindow* root); |
| 44 | |
| 45 | // const version of GetRootWindowSettings. |
| 46 | ASH_EXPORT const RootWindowSettings* |
| 47 | GetRootWindowSettings(const aura::RootWindow* root); |
| 48 | |
| 49 | } // namespace internal |
| 50 | } // namespace ash |
| 51 | |
| 52 | #endif // ASH_WM_ROOT_WINDOW_SETTINGS_H_ |