screen_mojo.cc revision 010d83a9304c5a91596085d917d248abff47903a
1d2d19ea51fa3575a8d014a69a9b835c335728817Christoph Bumiller// Copyright (c) 2014 The Chromium Authors. All rights reserved. 2d2d19ea51fa3575a8d014a69a9b835c335728817Christoph Bumiller// Use of this source code is governed by a BSD-style license that can be 3d2d19ea51fa3575a8d014a69a9b835c335728817Christoph Bumiller// found in the LICENSE file. 4d2d19ea51fa3575a8d014a69a9b835c335728817Christoph Bumiller 5d2d19ea51fa3575a8d014a69a9b835c335728817Christoph Bumiller#include "mojo/aura/screen_mojo.h" 6d2d19ea51fa3575a8d014a69a9b835c335728817Christoph Bumiller 7d2d19ea51fa3575a8d014a69a9b835c335728817Christoph Bumiller#include "ui/gfx/native_widget_types.h" 8d2d19ea51fa3575a8d014a69a9b835c335728817Christoph Bumiller#include "ui/gfx/rect_conversions.h" 9d2d19ea51fa3575a8d014a69a9b835c335728817Christoph Bumiller 10d2d19ea51fa3575a8d014a69a9b835c335728817Christoph Bumillernamespace mojo { 11d2d19ea51fa3575a8d014a69a9b835c335728817Christoph Bumiller 12d2d19ea51fa3575a8d014a69a9b835c335728817Christoph Bumiller// static 13d2d19ea51fa3575a8d014a69a9b835c335728817Christoph BumillerScreenMojo* ScreenMojo::Create() { 14d2d19ea51fa3575a8d014a69a9b835c335728817Christoph Bumiller return new ScreenMojo(gfx::Rect(0, 0, 800, 600)); 15d2d19ea51fa3575a8d014a69a9b835c335728817Christoph Bumiller} 16d2d19ea51fa3575a8d014a69a9b835c335728817Christoph Bumiller 17d2d19ea51fa3575a8d014a69a9b835c335728817Christoph BumillerScreenMojo::~ScreenMojo() { 18d2d19ea51fa3575a8d014a69a9b835c335728817Christoph Bumiller} 19d2d19ea51fa3575a8d014a69a9b835c335728817Christoph Bumiller 20d2d19ea51fa3575a8d014a69a9b835c335728817Christoph Bumillerbool ScreenMojo::IsDIPEnabled() { 21d2d19ea51fa3575a8d014a69a9b835c335728817Christoph Bumiller NOTIMPLEMENTED(); 2257594065c30feec9376be9b2132659f7d87362eeChristoph Bumiller return true; 2357594065c30feec9376be9b2132659f7d87362eeChristoph Bumiller} 2457594065c30feec9376be9b2132659f7d87362eeChristoph Bumiller 2557594065c30feec9376be9b2132659f7d87362eeChristoph Bumillergfx::Point ScreenMojo::GetCursorScreenPoint() { 2657594065c30feec9376be9b2132659f7d87362eeChristoph Bumiller NOTIMPLEMENTED(); 2757594065c30feec9376be9b2132659f7d87362eeChristoph Bumiller return gfx::Point(); 2857594065c30feec9376be9b2132659f7d87362eeChristoph Bumiller} 2957594065c30feec9376be9b2132659f7d87362eeChristoph Bumiller 3057594065c30feec9376be9b2132659f7d87362eeChristoph Bumillergfx::NativeWindow ScreenMojo::GetWindowUnderCursor() { 3157594065c30feec9376be9b2132659f7d87362eeChristoph Bumiller return GetWindowAtScreenPoint(GetCursorScreenPoint()); 3256d40aa51b34b77791cc3a49d7e86473a7459b72Francisco Jerez} 3357594065c30feec9376be9b2132659f7d87362eeChristoph Bumiller 3457594065c30feec9376be9b2132659f7d87362eeChristoph Bumillergfx::NativeWindow ScreenMojo::GetWindowAtScreenPoint(const gfx::Point& point) { 3557594065c30feec9376be9b2132659f7d87362eeChristoph Bumiller NOTIMPLEMENTED(); 3657594065c30feec9376be9b2132659f7d87362eeChristoph Bumiller return NULL; 3757594065c30feec9376be9b2132659f7d87362eeChristoph Bumiller} 3857594065c30feec9376be9b2132659f7d87362eeChristoph Bumiller 3957594065c30feec9376be9b2132659f7d87362eeChristoph Bumillerint ScreenMojo::GetNumDisplays() const { 4057594065c30feec9376be9b2132659f7d87362eeChristoph Bumiller return 1; 4157594065c30feec9376be9b2132659f7d87362eeChristoph Bumiller} 4257594065c30feec9376be9b2132659f7d87362eeChristoph Bumiller 4357594065c30feec9376be9b2132659f7d87362eeChristoph Bumillerstd::vector<gfx::Display> ScreenMojo::GetAllDisplays() const { 4457594065c30feec9376be9b2132659f7d87362eeChristoph Bumiller return std::vector<gfx::Display>(1, display_); 4557594065c30feec9376be9b2132659f7d87362eeChristoph Bumiller} 4657594065c30feec9376be9b2132659f7d87362eeChristoph Bumiller 4757594065c30feec9376be9b2132659f7d87362eeChristoph Bumillergfx::Display ScreenMojo::GetDisplayNearestWindow( 4856cf2da02226aee6b7476675c0e05ac7c218756eChristoph Bumiller gfx::NativeWindow window) const { 49322bc7ed68ed92233c97168c036d0aa50c11a20eChristoph Bumiller return display_; 50322bc7ed68ed92233c97168c036d0aa50c11a20eChristoph Bumiller} 5157594065c30feec9376be9b2132659f7d87362eeChristoph Bumiller 5257594065c30feec9376be9b2132659f7d87362eeChristoph Bumillergfx::Display ScreenMojo::GetDisplayNearestPoint(const gfx::Point& point) const { 5357594065c30feec9376be9b2132659f7d87362eeChristoph Bumiller return display_; 5457594065c30feec9376be9b2132659f7d87362eeChristoph Bumiller} 5557594065c30feec9376be9b2132659f7d87362eeChristoph Bumiller 5657594065c30feec9376be9b2132659f7d87362eeChristoph Bumillergfx::Display ScreenMojo::GetDisplayMatching(const gfx::Rect& match_rect) const { 5757594065c30feec9376be9b2132659f7d87362eeChristoph Bumiller return display_; 5857594065c30feec9376be9b2132659f7d87362eeChristoph Bumiller} 5957594065c30feec9376be9b2132659f7d87362eeChristoph Bumiller 6057594065c30feec9376be9b2132659f7d87362eeChristoph Bumillergfx::Display ScreenMojo::GetPrimaryDisplay() const { 6157594065c30feec9376be9b2132659f7d87362eeChristoph Bumiller return display_; 6257594065c30feec9376be9b2132659f7d87362eeChristoph Bumiller} 6357594065c30feec9376be9b2132659f7d87362eeChristoph Bumiller 6457594065c30feec9376be9b2132659f7d87362eeChristoph Bumillervoid ScreenMojo::AddObserver(gfx::DisplayObserver* observer) { 6557594065c30feec9376be9b2132659f7d87362eeChristoph Bumiller} 6657594065c30feec9376be9b2132659f7d87362eeChristoph Bumiller 6757594065c30feec9376be9b2132659f7d87362eeChristoph Bumillervoid ScreenMojo::RemoveObserver(gfx::DisplayObserver* observer) { 6852c8c52b222e1fdb4c1f4ca3dedde9cd7b9c321fChristoph Bumiller} 6957594065c30feec9376be9b2132659f7d87362eeChristoph Bumiller 7057594065c30feec9376be9b2132659f7d87362eeChristoph BumillerScreenMojo::ScreenMojo(const gfx::Rect& screen_bounds) { 7157594065c30feec9376be9b2132659f7d87362eeChristoph Bumiller static int64 synthesized_display_id = 2000; 7257594065c30feec9376be9b2132659f7d87362eeChristoph Bumiller display_.set_id(synthesized_display_id++); 73bb0482a55bbebfdd4b06954fbfacf5a57a04b1f3Christoph Bumiller display_.SetScaleAndBounds(1.0f, screen_bounds); 74bb0482a55bbebfdd4b06954fbfacf5a57a04b1f3Christoph Bumiller} 75bb0482a55bbebfdd4b06954fbfacf5a57a04b1f3Christoph Bumiller 7657594065c30feec9376be9b2132659f7d87362eeChristoph Bumiller} // namespace mojo 7757594065c30feec9376be9b2132659f7d87362eeChristoph Bumiller