• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 // Containers with this property (true) are aligned with physical pixel
41 // boundary.
42 extern const aura::WindowProperty<bool>* const kSnapChildrenToPixelBoundary;
43 
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;
49 
50 // Property to tell if the container uses the screen coordinates.
51 extern const aura::WindowProperty<bool>* const kUsesScreenCoordinatesKey;
52 
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;
56 
57 // Alphabetical sort.
58 
59 }  // namespace ash
60 
61 #endif  // ASH_WM_WINDOW_PROPERTIES_H_
62