// Copyright 2013 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef UI_DOCK_DOCKED_WINDOW_LAYOUT_MANAGER_OBSERVER_H_ #define UI_DOCK_DOCKED_WINDOW_LAYOUT_MANAGER_OBSERVER_H_ #include "ash/ash_export.h" namespace gfx { class Rect; } namespace ash { // Observers to the DockedWindowLayoutManager are notified of significant // events that occur with the docked windows, such as the bounds change. class ASH_EXPORT DockedWindowLayoutManagerObserver { public: // Reason for notification. Allows selectively ignoring notifications to // prevent a notification loop. enum Reason { CHILD_CHANGED, DISPLAY_RESIZED, DISPLAY_INSETS_CHANGED, SHELF_ALIGNMENT_CHANGED, KEYBOARD_BOUNDS_CHANGING }; // Called after the dock bounds are changed. virtual void OnDockBoundsChanging(const gfx::Rect& new_bounds, Reason reason) = 0; protected: virtual ~DockedWindowLayoutManagerObserver() {} }; } // namespace ash #endif // UI_DOCK_DOCKED_WINDOW_LAYOUT_MANAGER_OBSERVER_H_