1116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// Copyright 2014 The Chromium Authors. All rights reserved.
2116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// Use of this source code is governed by a BSD-style license that can be
3116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// found in the LICENSE file.
4116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
5116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#include "ui/ozone/common/chromeos/display_util.h"
6116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
71320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#include "ui/display/types/display_mode.h"
81320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#include "ui/display/types/display_snapshot.h"
9116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
10116680a4aac90f2aa7413d9095a592090648e557Ben Murdochnamespace ui {
11116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
12116680a4aac90f2aa7413d9095a592090648e557Ben MurdochDisplayMode_Params GetDisplayModeParams(const DisplayMode& mode) {
13116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  DisplayMode_Params params;
14116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  params.size = mode.size();
15116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  params.is_interlaced = mode.is_interlaced();
16116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  params.refresh_rate = mode.refresh_rate();
17116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
18116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  return params;
19116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch}
20116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
21116680a4aac90f2aa7413d9095a592090648e557Ben MurdochDisplaySnapshot_Params GetDisplaySnapshotParams(
22116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch    const DisplaySnapshot& display) {
23116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  DisplaySnapshot_Params params;
24116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  params.display_id = display.display_id();
25116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  params.has_proper_display_id = display.has_proper_display_id();
26116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  params.origin = display.origin();
27116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  params.physical_size = display.physical_size();
28116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  params.type = display.type();
29116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  params.is_aspect_preserving_scaling = display.is_aspect_preserving_scaling();
30116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  params.has_overscan = display.has_overscan();
31116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  params.display_name = display.display_name();
32116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  for (size_t i = 0; i < display.modes().size(); ++i)
33116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch    params.modes.push_back(GetDisplayModeParams(*display.modes()[i]));
34116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
35116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  params.has_current_mode = display.current_mode() != NULL;
36116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  if (params.has_current_mode)
37116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch    params.current_mode = GetDisplayModeParams(*display.current_mode());
38116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
39116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  params.has_native_mode = display.native_mode() != NULL;
40116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  if (params.has_native_mode)
41116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch    params.native_mode = GetDisplayModeParams(*display.native_mode());
42116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
43116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  params.string_representation = display.ToString();
44116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
45116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  return params;
46116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch}
47116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
48116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch}  // namespace ui
49