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