- add sources.
[platform/framework/web/crosswalk.git] / src / ash / root_window_settings.h
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_ROOT_WINDOW_SETTINGS_H_
6 #define ASH_ROOT_WINDOW_SETTINGS_H_
7
8 #include "ash/ash_export.h"
9 #include "base/basictypes.h"
10
11 namespace aura {
12 class Window;
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 returns RootWindowSettings for |root|.
39 // It is owned by the |root|.
40 RootWindowSettings* InitRootWindowSettings(aura::Window* root);
41
42 // Returns the RootWindowSettings for |root|.
43 ASH_EXPORT RootWindowSettings* GetRootWindowSettings(aura::Window* root);
44
45 // const version of GetRootWindowSettings.
46 ASH_EXPORT const RootWindowSettings*
47 GetRootWindowSettings(const aura::Window* root);
48
49 }  // namespace internal
50 }  // namespace ash
51
52 #endif  // ASH_ROOT_WINDOW_SETTINGS_H_