| // Copyright 2021 The Chromium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef CHROMECAST_BROWSER_DISPLAY_CONFIGURATOR_OBSERVER_H_ |
| #define CHROMECAST_BROWSER_DISPLAY_CONFIGURATOR_OBSERVER_H_ |
| |
| #include "chromecast/browser/cast_display_configurator.h" |
| |
| namespace chromecast { |
| |
| class CastWindowManagerAura; |
| |
| // Observer class that can respond to Display Configurator state changes. |
| // Forces a repaint to ensure content is refreshed post display configuration |
| // change. |
| class DisplayConfiguratorObserver |
| : public shell::CastDisplayConfigurator::Observer { |
| public: |
| DisplayConfiguratorObserver( |
| shell::CastDisplayConfigurator* display_configurator, |
| CastWindowManagerAura* manager); |
| |
| ~DisplayConfiguratorObserver() override; |
| |
| DisplayConfiguratorObserver(const DisplayConfiguratorObserver&) = delete; |
| |
| DisplayConfiguratorObserver& operator=(const DisplayConfiguratorObserver&) = |
| delete; |
| |
| // CastDisplayConfigurator::Observer |
| void OnDisplayStateChanged() override; |
| |
| private: |
| shell::CastDisplayConfigurator* display_configurator_; |
| CastWindowManagerAura* window_manager_; |
| }; |
| |
| } // namespace chromecast |
| |
| #endif // CHROMECAST_BROWSER_DISPLAY_CONFIGURATOR_OBSERVER_H_ |