1b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)// Copyright 2013 The Chromium Authors. All rights reserved.
2b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
3b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)// found in the LICENSE file.
4b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
5b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#ifndef ASH_SHELF_SHELF_LAYOUT_MANAGER_OBSERVER_H_
6b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#define ASH_SHELF_SHELF_LAYOUT_MANAGER_OBSERVER_H_
7b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
8b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#include "ash/ash_export.h"
9a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)#include "ash/shelf/background_animator.h"
10b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#include "ash/shelf/shelf_types.h"
11b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
127dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochnamespace aura {
131e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)class Window;
147dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch}
157dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch
16b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)namespace ash {
17b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
18b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)class ASH_EXPORT ShelfLayoutManagerObserver {
19b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) public:
20b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  virtual ~ShelfLayoutManagerObserver() {}
21b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
22b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  // Called when the target ShelfLayoutManager will be deleted.
23b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  virtual void WillDeleteShelf() {}
24b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
25b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  // Called when the visibility change is scheduled.
26b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  virtual void WillChangeVisibilityState(ShelfVisibilityState new_state) {}
27b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
28b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  // Called when the auto hide state is changed.
29b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  virtual void OnAutoHideStateChanged(ShelfAutoHideState new_state) {}
30b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
31b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  // Called when the auto hide behavior is changed.
321e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)  virtual void OnAutoHideBehaviorChanged(aura::Window* root_window,
337dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch                                         ShelfAutoHideBehavior new_behavior) {}
34a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)
35a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)  // Called when shelf background animation is started.
36a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)  virtual void OnBackgroundUpdated(
37a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)      ShelfBackgroundType background_type,
38a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)      BackgroundAnimatorChangeType change_type) {}
39b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)};
40b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
41b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)}  // namespace ash
42b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
43b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#endif  // ASH_SHELF_SHELF_LAYOUT_MANAGER_OBSERVER_H_
44