Add a ScopedPPVarArray class for managing arrays of PP_Vars.
[chromium-blink-merge.git] / ash / wm / window_properties.h
blob96c5519829a04902d042da55880272cc2bf3993b
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"
12 namespace aura {
13 class Window;
15 template<typename T>
16 struct WindowProperty;
19 namespace ash {
20 namespace wm {
21 class WindowState;
22 } // namespace wm
24 // Shell-specific window property keys.
26 // Alphabetical sort.
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
41 // boundary.
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;
57 // Alphabetical sort.
59 } // namespace ash
61 #endif // ASH_WM_WINDOW_PROPERTIES_H_