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_SHELL_WINDOW_IDS_H_
6#define ASH_SHELL_WINDOW_IDS_H_
7
8// Declarations of ids of special shell windows.
9
10namespace ash {
11
12// A higher-level container that holds all of the containers stacked below
13// kShellWindowId_LockScreenContainer.  Only used by PowerButtonController for
14// animating lower-level containers.
15const int kShellWindowId_NonLockScreenContainersContainer = 0;
16
17// A higher-level container that holds containers that hold lock-screen
18// windows.  Only used by PowerButtonController for animating lower-level
19// containers.
20const int kShellWindowId_LockScreenContainersContainer = 1;
21
22// A higher-level container that holds containers that hold lock-screen-related
23// windows (which we want to display while the screen is locked; effectively
24// containers stacked above kShellWindowId_LockSystemModalContainer).  Only used
25// by PowerButtonController for animating lower-level containers.
26const int kShellWindowId_LockScreenRelatedContainersContainer = 2;
27
28// A container used for windows of WINDOW_TYPE_CONTROL that have no parent.
29// This container is not visible.
30const int kShellWindowId_UnparentedControlContainer = 3;
31
32// The desktop background window.
33const int kShellWindowId_DesktopBackgroundContainer = 4;
34
35// The virtual keyboard container.
36const int kShellWindowId_VirtualKeyboardContainer = 5;
37
38// TODO(sky): rename kShellWindowId_DefaultContainer.
39
40// The container for standard top-level windows.
41const int kShellWindowId_DefaultContainer = 6;
42
43// The container for top-level windows with the 'always-on-top' flag set.
44const int kShellWindowId_AlwaysOnTopContainer = 7;
45
46// The container for windows docked to either side of the desktop.
47const int kShellWindowId_DockedContainer = 8;
48
49// The container for the shelf.
50const int kShellWindowId_ShelfContainer = 9;
51
52// The container for bubbles which float over the shelf.
53const int kShellWindowId_ShelfBubbleContainer = 10;
54
55// The container for panel windows.
56const int kShellWindowId_PanelContainer = 11;
57
58// The container for the app list.
59const int kShellWindowId_AppListContainer = 12;
60
61// The container for user-specific modal windows.
62const int kShellWindowId_SystemModalContainer = 13;
63
64// The container for the lock screen background.
65const int kShellWindowId_LockScreenBackgroundContainer = 14;
66
67// The container for the lock screen.
68const int kShellWindowId_LockScreenContainer = 15;
69
70// The container for the lock screen modal windows.
71const int kShellWindowId_LockSystemModalContainer = 16;
72
73// The container for the status area.
74const int kShellWindowId_StatusContainer = 17;
75
76// A parent container that holds the virtual keyboard container. This is to
77// ensure that the virtual keyboard is stacked above most containers but below
78// the mouse cursor, context menus and the power off animation.
79const int kShellWindowId_VirtualKeyboardParentContainer = 18;
80
81// The container for menus.
82const int kShellWindowId_MenuContainer = 19;
83
84// The container for drag/drop images and tooltips.
85const int kShellWindowId_DragImageAndTooltipContainer = 20;
86
87// The container for bubbles briefly overlaid onscreen to show settings changes
88// (volume, brightness, input method bubbles, etc.).
89const int kShellWindowId_SettingBubbleContainer = 21;
90
91// The container for special components overlaid onscreen, such as the
92// region selector for partial screenshots.
93const int kShellWindowId_OverlayContainer = 22;
94
95// ID of the window created by PhantomWindowController or DragWindowController.
96const int kShellWindowId_PhantomWindow = 23;
97
98// The container for mouse cursor.
99const int kShellWindowId_MouseCursorContainer = 24;
100
101// The topmost container, used for power off animation.
102const int kShellWindowId_PowerButtonAnimationContainer = 25;
103
104}  // namespace ash
105
106
107#endif  // ASH_SHELL_WINDOW_IDS_H_
108