Upstream version 7.36.149.0
[platform/framework/web/crosswalk.git] / src / ash / shell_observer.h
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_OBSERVER_H_
6 #define ASH_SHELL_OBSERVER_H_
7
8 #include "ash/ash_export.h"
9 #include "ash/system/user/login_status.h"
10
11 namespace aura {
12 class Window;
13 }
14
15 namespace ash {
16
17 class ASH_EXPORT ShellObserver {
18  public:
19   // Invoked after the screen's work area insets changes.
20   virtual void OnDisplayWorkAreaInsetsChanged() {}
21
22   // Invoked when the user logs in.
23   virtual void OnLoginStateChanged(user::LoginStatus status) {}
24
25   // Invoked when the application is exiting.
26   virtual void OnAppTerminating() {}
27
28   // Invoked when the screen is locked (after the lock window is visible) or
29   // unlocked.
30   virtual void OnLockStateChanged(bool locked) {}
31
32   // Invoked after a non-primary root window is created.
33   virtual void OnRootWindowAdded(aura::Window* root_window) {}
34
35   // Invoked after the shelf has been created for |root_window|.
36   virtual void OnShelfCreatedForRootWindow(aura::Window* root_window) {}
37
38   // Invoked when the shelf alignment in |root_window| is changed.
39   virtual void OnShelfAlignmentChanged(aura::Window* root_window) {}
40
41   // Invoked when the projection touch HUD is toggled.
42   virtual void OnTouchHudProjectionToggled(bool enabled) {}
43
44   // Invoked when entering or exiting fullscreen mode in |root_window|.
45   virtual void OnFullscreenStateChanged(bool is_fullscreen,
46                                         aura::Window* root_window) {}
47
48   // Called when the overview mode is about to be started (before the windows
49   // get re-arranged).
50   virtual void OnOverviewModeStarting() {}
51
52   // Called before the overview mode is ending (before the windows get arranged
53   // to their final position).
54   virtual void OnOverviewModeEnding() {}
55
56   // Called when the always maximize mode has started. Windows might still
57   // animate though.
58   virtual void OnMaximizeModeStarted() {}
59
60   // Called when the always maximize mode has ended. Windows may still be
61   // animating but have been restored.
62   virtual void OnMaximizeModeEnded() {}
63
64  protected:
65   virtual ~ShellObserver() {}
66 };
67
68 }  // namespace ash
69
70 #endif  // ASH_SHELL_OBSERVER_H_