Home | History | Annotate | Download | only in ash
      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_
     71