| // 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. |
| |
| #include "chromecast/browser/display_configurator_observer.h" |
| |
| #include "chromecast/graphics/cast_window_manager_aura.h" |
| #include "ui/aura/window.h" |
| #include "ui/aura/window_tree_host.h" |
| #include "ui/compositor/compositor.h" |
| |
| namespace chromecast { |
| |
| DisplayConfiguratorObserver::DisplayConfiguratorObserver( |
| chromecast::shell::CastDisplayConfigurator* display_configurator, |
| chromecast::CastWindowManagerAura* manager) |
| : display_configurator_(display_configurator), window_manager_(manager) { |
| display_configurator_->AddObserver(this); |
| } |
| |
| DisplayConfiguratorObserver::~DisplayConfiguratorObserver() { |
| display_configurator_->RemoveObserver(this); |
| } |
| |
| void DisplayConfiguratorObserver::OnDisplayStateChanged() { |
| window_manager_->GetRootWindow() |
| ->GetHost() |
| ->compositor() |
| ->ScheduleFullRedraw(); |
| } |
| |
| } // namespace chromecast |