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/shelf_types.h" 10 11 namespace aura { 12 class RootWindow; 13 } 14 15 namespace ash { 16 17 class ASH_EXPORT ShelfLayoutManagerObserver { 18 public: 19 virtual ~ShelfLayoutManagerObserver() {} 20 21 // Called when the target ShelfLayoutManager will be deleted. 22 virtual void WillDeleteShelf() {} 23 24 // Called when the visibility change is scheduled. 25 virtual void WillChangeVisibilityState(ShelfVisibilityState new_state) {} 26 27 // Called when the auto hide state is changed. 28 virtual void OnAutoHideStateChanged(ShelfAutoHideState new_state) {} 29 30 // Called when the auto hide behavior is changed. 31 virtual void OnAutoHideBehaviorChanged(aura::RootWindow* root_window, 32 ShelfAutoHideBehavior new_behavior) {} 33 }; 34 35 } // namespace ash 36 37 #endif // ASH_SHELF_SHELF_LAYOUT_MANAGER_OBSERVER_H_ 38