• 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_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.
OnDisplayWorkAreaInsetsChanged()20   virtual void OnDisplayWorkAreaInsetsChanged() {}
21 
22   // Invoked when the user logs in.
OnLoginStateChanged(user::LoginStatus status)23   virtual void OnLoginStateChanged(user::LoginStatus status) {}
24 
25   // Invoked when the application is exiting.
OnAppTerminating()26   virtual void OnAppTerminating() {}
27 
28   // Invoked when the screen is locked (after the lock window is visible) or
29   // unlocked.
OnLockStateChanged(bool locked)30   virtual void OnLockStateChanged(bool locked) {}
31 
32   // Invoked when the shelf alignment in |root_window| is changed.
OnShelfAlignmentChanged(aura::Window * root_window)33   virtual void OnShelfAlignmentChanged(aura::Window* root_window) {}
34 
35   // Invoked when the projection touch HUD is toggled.
OnTouchHudProjectionToggled(bool enabled)36   virtual void OnTouchHudProjectionToggled(bool enabled) {}
37 
38   // Invoked when entering or exiting fullscreen mode in |root_window|.
OnFullscreenStateChanged(bool is_fullscreen,aura::Window * root_window)39   virtual void OnFullscreenStateChanged(bool is_fullscreen,
40                                         aura::Window* root_window) {}
41 
42  protected:
~ShellObserver()43   virtual ~ShellObserver() {}
44 };
45 
46 }  // namespace ash
47 
48 #endif  // ASH_SHELL_OBSERVER_H_
49