coordinate_conversion.cc revision 5821806d5e7f356e8fa4b058a389a808ea183019
1// Copyright (c) 2012 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#include "ash/wm/coordinate_conversion.h" 6 7#include "ash/display/display_controller.h" 8#include "ash/shell.h" 9#include "ui/aura/client/screen_position_client.h" 10#include "ui/aura/root_window.h" 11#include "ui/gfx/display.h" 12#include "ui/gfx/point.h" 13#include "ui/gfx/rect.h" 14#include "ui/gfx/screen.h" 15 16namespace ash { 17namespace wm { 18 19aura::RootWindow* GetRootWindowAt(const gfx::Point& point) { 20 const gfx::Display& display = 21 Shell::GetScreen()->GetDisplayNearestPoint(point); 22 // TODO(yusukes): Move coordinate_conversion.cc and .h to ui/aura/ once 23 // GetRootWindowForDisplayId() is moved to aura::Env. 24 return Shell::GetInstance()->display_controller()-> 25 GetRootWindowForDisplayId(display.id()); 26} 27 28aura::RootWindow* GetRootWindowMatching(const gfx::Rect& rect) { 29 const gfx::Display& display = Shell::GetScreen()->GetDisplayMatching(rect); 30 return Shell::GetInstance()->display_controller()-> 31 GetRootWindowForDisplayId(display.id()); 32} 33 34void ConvertPointToScreen(aura::Window* window, gfx::Point* point) { 35 aura::client::GetScreenPositionClient(window->GetRootWindow())-> 36 ConvertPointToScreen(window, point); 37} 38 39void ConvertPointFromScreen(aura::Window* window, 40 gfx::Point* point_in_screen) { 41 aura::client::GetScreenPositionClient(window->GetRootWindow())-> 42 ConvertPointFromScreen(window, point_in_screen); 43} 44 45} // namespace wm 46} // namespace ash 47