1// Copyright 2014 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#include "ui/ozone/platform/dri/dri_window_delegate_impl.h"
6
7#include "base/debug/trace_event.h"
8#include "ui/ozone/platform/dri/screen_manager.h"
9
10namespace ui {
11
12DriWindowDelegateImpl::DriWindowDelegateImpl(gfx::AcceleratedWidget widget,
13                                             ScreenManager* screen_manager)
14    : widget_(widget), screen_manager_(screen_manager) {
15}
16
17DriWindowDelegateImpl::~DriWindowDelegateImpl() {
18}
19
20void DriWindowDelegateImpl::Initialize() {
21  TRACE_EVENT1("dri", "DriWindowDelegateImpl::Initialize", "widget", widget_);
22}
23
24void DriWindowDelegateImpl::Shutdown() {
25  TRACE_EVENT1("dri", "DriWindowDelegateImpl::Shutdown", "widget", widget_);
26}
27
28gfx::AcceleratedWidget DriWindowDelegateImpl::GetAcceleratedWidget() {
29  return widget_;
30}
31
32HardwareDisplayController* DriWindowDelegateImpl::GetController() {
33  return controller_.get();
34}
35
36void DriWindowDelegateImpl::OnBoundsChanged(const gfx::Rect& bounds) {
37  TRACE_EVENT2("dri",
38               "DriWindowDelegateImpl::OnBoundsChanged",
39               "widget",
40               widget_,
41               "bounds",
42               bounds.ToString());
43  controller_ = screen_manager_->GetDisplayController(bounds);
44}
45
46}  // namespace ui
47