blob: 88d44c473f1bc39d45871d60fc5a89be569a79eb [file] [log] [blame]
// Copyright 2014 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "ui/display/chromeos/display_snapshot_virtual.h"
#include <inttypes.h>
#include "base/strings/stringprintf.h"
#include "ui/display/types/display_mode.h"
namespace ui {
namespace {
// For a non hi-DPI display (96 dpi) use a pitch of 265┬Ám.
static const float kVirtualDisplayPitchMM = 0.265;
} // namespace
DisplaySnapshotVirtual::DisplaySnapshotVirtual(int64_t display_id,
const gfx::Size& display_size)
: DisplaySnapshot(display_id,
gfx::Point(0, 0),
// Calculate physical size assuming 96dpi display.
gfx::Size(display_size.width() * kVirtualDisplayPitchMM,
display_size.height() * kVirtualDisplayPitchMM),
DISPLAY_CONNECTION_TYPE_VIRTUAL,
false,
false,
false,
"Virtual display",
base::FilePath(),
std::vector<std::unique_ptr<const DisplayMode>>(),
std::vector<uint8_t>(), // Virtual displays have no EDID.
nullptr,
nullptr) {
mode_.reset(new DisplayMode(display_size, false, 30));
modes_.push_back(mode_->Clone());
native_mode_ = modes_.front().get();
}
DisplaySnapshotVirtual::~DisplaySnapshotVirtual() {}
std::string DisplaySnapshotVirtual::ToString() const {
return base::StringPrintf(
"Virtual id=%" PRId64 " current_mode=%s physical_size=%s", display_id_,
current_mode_ ? current_mode_->ToString().c_str() : "nullptr",
physical_size_.ToString().c_str());
}
} // namespace ui