// Copyright 2014 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_GFX_DISPLAY_CHANGE_NOTIFIER_H_ #define UI_GFX_DISPLAY_CHANGE_NOTIFIER_H_ #include #include "base/observer_list.h" #include "ui/gfx/gfx_export.h" namespace gfx { class Display; class DisplayObserver; // DisplayChangeNotifier is a class implementing the handling of DisplayObserver // notification for Screen. class GFX_EXPORT DisplayChangeNotifier { public: DisplayChangeNotifier(); ~DisplayChangeNotifier(); void AddObserver(DisplayObserver* observer); void RemoveObserver(DisplayObserver* observer); void NotifyDisplaysChanged(const std::vector& old_displays, const std::vector& new_displays); private: // The observers that need to be notified when a display is modified, added // or removed. ObserverList observer_list_; DISALLOW_COPY_AND_ASSIGN(DisplayChangeNotifier); }; } // namespace gfx #endif // UI_GFX_DISPLAY_CHANGE_NOTIFIER_H_