Upstream version 7.36.149.0
[platform/framework/web/crosswalk.git] / src / ash / wm / window_properties.h
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
3 // found in the LICENSE file.
4
5 #ifndef ASH_WM_WINDOW_PROPERTIES_H_
6 #define ASH_WM_WINDOW_PROPERTIES_H_
7
8 #include "ash/ash_export.h"
9 #include "ui/base/ui_base_types.h"
10 #include "ui/gfx/rect.h"
11
12 namespace aura {
13 class Window;
14
15 template<typename T>
16 struct WindowProperty;
17 }
18
19 namespace ash {
20 namespace wm {
21 class WindowState;
22 }  // namespace wm
23
24 // Shell-specific window property keys.
25
26 // Alphabetical sort.
27
28 // A property key which stores the bounds to restore a window to. These take
29 // preference over the current bounds/state. This is used by e.g. the always
30 // maximized mode window manager.
31 ASH_EXPORT extern const aura::WindowProperty<gfx::Rect*>* const
32     kRestoreBoundsOverrideKey;
33
34 // A property key which stores the bounds to restore a window to. These take
35 // preference over the current bounds/state if |kRestoreBoundsOverrideKey| is
36 // set. This is used by e.g. the always maximized mode window manager.
37 ASH_EXPORT extern const aura::WindowProperty<ui::WindowShowState>* const
38     kRestoreShowStateOverrideKey;
39
40 // If this is set to true, the window stays in the same root window
41 // even if the bounds outside of its root window is set.
42 // This is exported as it's used in the tests.
43 ASH_EXPORT extern const aura::WindowProperty<bool>* const
44     kStayInSameRootWindowKey;
45
46 // Property to tell if the container uses the screen coordinates.
47 extern const aura::WindowProperty<bool>* const kUsesScreenCoordinatesKey;
48
49 // A property key to store WindowState in the window. The window state
50 // is owned by the window.
51 extern const aura::WindowProperty<wm::WindowState*>* const kWindowStateKey;
52
53 // Alphabetical sort.
54
55 }  // namespace ash
56
57 #endif  // ASH_WM_WINDOW_PROPERTIES_H_