// Copyright (c) 2012 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 "ash/wm/coordinate_conversion.h" #include "ash/display/display_controller.h" #include "ash/shell.h" #include "ui/aura/client/screen_position_client.h" #include "ui/aura/root_window.h" #include "ui/gfx/display.h" #include "ui/gfx/point.h" #include "ui/gfx/rect.h" #include "ui/gfx/screen.h" namespace ash { namespace wm { aura::RootWindow* GetRootWindowAt(const gfx::Point& point) { const gfx::Display& display = Shell::GetScreen()->GetDisplayNearestPoint(point); DCHECK(display.is_valid()); // TODO(yusukes): Move coordinate_conversion.cc and .h to ui/aura/ once // GetRootWindowForDisplayId() is moved to aura::Env. return Shell::GetInstance()->display_controller()-> GetRootWindowForDisplayId(display.id()); } aura::RootWindow* GetRootWindowMatching(const gfx::Rect& rect) { const gfx::Display& display = Shell::GetScreen()->GetDisplayMatching(rect); return Shell::GetInstance()->display_controller()-> GetRootWindowForDisplayId(display.id()); } void ConvertPointToScreen(aura::Window* window, gfx::Point* point) { aura::client::GetScreenPositionClient(window->GetRootWindow())-> ConvertPointToScreen(window, point); } void ConvertPointFromScreen(aura::Window* window, gfx::Point* point_in_screen) { aura::client::GetScreenPositionClient(window->GetRootWindow())-> ConvertPointFromScreen(window, point_in_screen); } } // namespace wm } // namespace ash