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/geometry/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 // Containers with this property (true) are aligned with physical pixel
42 extern const aura::WindowProperty
<bool>* const kSnapChildrenToPixelBoundary
;
44 // If this is set to true, the window stays in the same root window
45 // even if the bounds outside of its root window is set.
46 // This is exported as it's used in the tests.
47 ASH_EXPORT
extern const aura::WindowProperty
<bool>* const
48 kStayInSameRootWindowKey
;
50 // Property to tell if the container uses the screen coordinates.
51 extern const aura::WindowProperty
<bool>* const kUsesScreenCoordinatesKey
;
53 // A property key to store WindowState in the window. The window state
54 // is owned by the window.
55 extern const aura::WindowProperty
<wm::WindowState
*>* const kWindowStateKey
;
61 #endif // ASH_WM_WINDOW_PROPERTIES_H_