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.
5 #ifndef ASH_WM_WINDOW_PROPERTIES_H_
6 #define ASH_WM_WINDOW_PROPERTIES_H_
8 #include "ash/ash_export.h"
9 #include "ui/base/ui_base_types.h"
10 #include "ui/gfx/rect.h"
16 struct WindowProperty;
24 // Shell-specific window property keys.
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;
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;
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;
46 // Property to tell if the container uses the screen coordinates.
47 extern const aura::WindowProperty<bool>* const kUsesScreenCoordinatesKey;
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;
57 #endif // ASH_WM_WINDOW_PROPERTIES_H_