Home | History | Annotate | Download | only in wm
      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 "ash/wm/property_util.h"
     10 #include "ui/aura/window.h"
     11 #include "ui/base/ui_base_types.h"
     12 
     13 namespace gfx {
     14 class Rect;
     15 }
     16 
     17 namespace ash {
     18 class FramePainter;
     19 namespace internal {
     20 class RootWindowController;
     21 
     22 // Shell-specific window property keys.
     23 
     24 // Alphabetical sort.
     25 
     26 // A property key to indicate that an in progress drag should be continued
     27 // after the window is reparented to another container.
     28 extern const aura::WindowProperty<bool>* const kContinueDragAfterReparent;
     29 
     30 // A property key to store display_id an aura::RootWindow is mapped to.
     31 extern const aura::WindowProperty<int64>* const kDisplayIdKey;
     32 
     33 // A property key to indicate whether there is any chrome at all that cannot be
     34 // hidden when the window is fullscreen. This is unrelated to whether the full
     35 // chrome can be revealed by hovering the mouse at the top of the screen.
     36 ASH_EXPORT extern const aura::WindowProperty<bool>* const
     37     kFullscreenUsesMinimalChromeKey;
     38 
     39 // A property key to disable the frame painter policy for solo windows.
     40 // It is only available for root windows.
     41 ASH_EXPORT extern const aura::WindowProperty<bool>* const
     42     kIgnoreSoloWindowFramePainterPolicy;
     43 
     44 // True if the window is ignored by the shelf layout manager for purposes of
     45 // darkening the shelf.
     46 extern const aura::WindowProperty<bool>* const
     47     kIgnoredByShelfKey;
     48 
     49 // True if this window is an attached panel.
     50 ASH_EXPORT extern const aura::WindowProperty<bool>* const kPanelAttachedKey;
     51 
     52 extern const aura::WindowProperty<RootWindowController*>* const
     53     kRootWindowControllerKey;
     54 
     55 // RootWindow property to indicate if the window in the active workspace should
     56 // use the transparent "solo-window" header style.
     57 ASH_EXPORT extern const aura::WindowProperty<bool>* const
     58     kSoloWindowHeaderKey;
     59 
     60 // If this is set to true, the window stays in the same root window
     61 // even if the bounds outside of its root window is set.
     62 // This is exported as it's used in the tests.
     63 ASH_EXPORT extern const aura::WindowProperty<bool>* const
     64     kStayInSameRootWindowKey;
     65 
     66 // A property key to remember if a windows position or size was changed by a
     67 // user.
     68 ASH_EXPORT extern const aura::WindowProperty<bool>* const
     69     kUserChangedWindowPositionOrSizeKey;
     70 
     71 // A property to remember the window position which was set before the
     72 // auto window position manager changed the window bounds, so that it can get
     73 // restored when only this one window gets shown.
     74 ASH_EXPORT extern const aura::WindowProperty<gfx::Rect*>* const
     75     kPreAutoManagedWindowBoundsKey;
     76 
     77 // Property to tell if the container uses the screen coordinates.
     78 extern const aura::WindowProperty<bool>* const kUsesScreenCoordinatesKey;
     79 
     80 // A property key to remember if a windows position can be managed by the
     81 // workspace manager or not.
     82 ASH_EXPORT extern const aura::WindowProperty<bool>* const
     83     kWindowPositionManagedKey;
     84 
     85 // A property key to tell the workspace layout manager to always restore the
     86 // window to the restore-bounds (false by default).
     87 extern const aura::WindowProperty<bool>* const kWindowRestoresToRestoreBounds;
     88 
     89 // True if the window is controlled by the workspace manager.
     90 extern const aura::WindowProperty<bool>* const
     91     kWindowTrackedByWorkspaceKey;
     92 
     93 // Alphabetical sort.
     94 
     95 }  // namespace internal
     96 }  // namespace ash
     97 
     98 #endif  // ASH_WM_WINDOW_PROPERTIES_H_
     99