blob: 0093af6aceb26a423ad06302f4f8a557abae0741 [file] [log] [blame]
// Copyright (c) 2011 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/gfx/screen.h"
#include "base/logging.h"
#include "ui/gfx/native_widget_types.h"
namespace gfx {
// gfx can't depend upon aura, otherwise we have circular dependencies. So,
// gfx::Screen is pluggable for aura and Desktop plugs in the real
// implementation.
// static
Screen* Screen::instance_ = NULL;
// static
void Screen::SetInstance(Screen* screen) {
delete instance_;
instance_ = screen;
}
// static
gfx::Point Screen::GetCursorScreenPoint() {
return instance_->GetCursorScreenPointImpl();
}
// static
gfx::Rect Screen::GetMonitorWorkAreaNearestWindow(gfx::NativeWindow window) {
return instance_->GetMonitorWorkAreaNearestWindowImpl(window);
}
// static
gfx::Rect Screen::GetMonitorAreaNearestWindow(gfx::NativeWindow window) {
return instance_->GetMonitorAreaNearestWindowImpl(window);
}
// static
gfx::Rect Screen::GetMonitorWorkAreaNearestPoint(const gfx::Point& point) {
return instance_->GetMonitorWorkAreaNearestPointImpl(point);
}
// static
gfx::Rect Screen::GetMonitorAreaNearestPoint(const gfx::Point& point) {
return instance_->GetMonitorAreaNearestPointImpl(point);
}
// static
gfx::NativeWindow Screen::GetWindowAtCursorScreenPoint() {
return instance_->GetWindowAtCursorScreenPointImpl();
}
// static
gfx::Size Screen::GetPrimaryMonitorSize() {
return instance_->GetPrimaryMonitorSizeImpl();
}
// static
int Screen::GetNumMonitors() {
return instance_->GetNumMonitorsImpl();
}
} // namespace gfx