1 // Copyright 2013 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_SHELF_SHELF_LAYOUT_MANAGER_OBSERVER_H_ 6 #define ASH_SHELF_SHELF_LAYOUT_MANAGER_OBSERVER_H_ 7 8 #include "ash/ash_export.h" 9 #include "ash/shelf/background_animator.h" 10 #include "ash/shelf/shelf_types.h" 11 12 namespace aura { 13 class Window; 14 } 15 16 namespace ash { 17 18 class ASH_EXPORT ShelfLayoutManagerObserver { 19 public: 20 virtual ~ShelfLayoutManagerObserver() {} 21 22 // Called when the target ShelfLayoutManager will be deleted. 23 virtual void WillDeleteShelf() {} 24 25 // Called when the visibility change is scheduled. 26 virtual void WillChangeVisibilityState(ShelfVisibilityState new_state) {} 27 28 // Called when the auto hide state is changed. 29 virtual void OnAutoHideStateChanged(ShelfAutoHideState new_state) {} 30 31 // Called when the auto hide behavior is changed. 32 virtual void OnAutoHideBehaviorChanged(aura::Window* root_window, 33 ShelfAutoHideBehavior new_behavior) {} 34 35 // Called when shelf background animation is started. 36 virtual void OnBackgroundUpdated( 37 ShelfBackgroundType background_type, 38 BackgroundAnimatorChangeType change_type) {} 39 }; 40 41 } // namespace ash 42 43 #endif // ASH_SHELF_SHELF_LAYOUT_MANAGER_OBSERVER_H_ 44