123730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved.
223730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
323730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)// found in the LICENSE file.
423730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)
523730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)#include "ui/display/chromeos/x11/display_snapshot_x11.h"
623730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)
723730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)#include "base/strings/stringprintf.h"
823730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)#include "ui/display/chromeos/x11/display_mode_x11.h"
923730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)
1023730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)namespace ui {
1123730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)
1223730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)DisplaySnapshotX11::DisplaySnapshotX11(
1323730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)    int64_t display_id,
1423730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)    bool has_proper_display_id,
1523730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)    const gfx::Point& origin,
1623730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)    const gfx::Size& physical_size,
17c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch    DisplayConnectionType type,
1823730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)    bool is_aspect_preserving_scaling,
19c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch    bool has_overscan,
20c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch    std::string display_name,
2123730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)    const std::vector<const DisplayMode*>& modes,
2223730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)    const DisplayMode* current_mode,
2323730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)    const DisplayMode* native_mode,
2423730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)    RROutput output,
2523730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)    RRCrtc crtc,
2623730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)    int index)
2723730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)    : DisplaySnapshot(display_id,
2823730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)                      has_proper_display_id,
2923730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)                      origin,
3023730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)                      physical_size,
3123730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)                      type,
3223730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)                      is_aspect_preserving_scaling,
33c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch                      has_overscan,
34c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch                      display_name,
3523730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)                      modes,
3623730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)                      current_mode,
3723730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)                      native_mode),
3823730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)      output_(output),
3923730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)      crtc_(crtc),
4023730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)      index_(index) {}
4123730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)
4223730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)DisplaySnapshotX11::~DisplaySnapshotX11() {}
4323730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)
4423730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)std::string DisplaySnapshotX11::ToString() const {
4523730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)  return base::StringPrintf(
4623730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)      "[type=%d, output=%ld, crtc=%ld, mode=%ld, dim=%dx%d]",
4723730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)      type_,
4823730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)      output_,
4923730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)      crtc_,
5023730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)      current_mode_
5123730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)          ? static_cast<const DisplayModeX11*>(current_mode_)->mode_id()
5223730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)          : 0,
5323730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)      physical_size_.width(),
5423730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)      physical_size_.height());
5523730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)}
5623730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)
5723730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)}  // namespace ui
58