blob: 539e7c036b85dcc2dd232f0c0839ca9dfc2db703 [file] [log] [blame]
Torne (Richard Coles)58218062012-11-14 11:43:16 +00001// 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#ifndef ASH_WM_COORDINATE_CONVERSION_H_
6#define ASH_WM_COORDINATE_CONVERSION_H_
7
8#include "ash/ash_export.h"
9
10namespace aura {
Torne (Richard Coles)58218062012-11-14 11:43:16 +000011class Window;
12} // namespace gfx
13
14namespace gfx {
15class Point;
16class Rect;
17} // namespace gfx
18
19namespace ash {
20namespace wm {
21
22// Returns the RootWindow at |point| in the virtual screen coordinates.
23// Returns NULL if the root window does not exist at the given
24// point.
Torne (Richard Coles)1e9bf3e2013-10-31 11:16:26 +000025ASH_EXPORT aura::Window* GetRootWindowAt(const gfx::Point& point);
Torne (Richard Coles)58218062012-11-14 11:43:16 +000026
27// Returns the RootWindow that shares the most area with |rect| in
28// the virtual scren coordinates.
Torne (Richard Coles)1e9bf3e2013-10-31 11:16:26 +000029ASH_EXPORT aura::Window* GetRootWindowMatching(const gfx::Rect& rect);
Torne (Richard Coles)58218062012-11-14 11:43:16 +000030
31// Converts the |point| from a given |window|'s coordinates into the screen
32// coordinates.
Torne (Richard Coles)cedac222014-06-03 10:58:34 +010033ASH_EXPORT void ConvertPointToScreen(const aura::Window* window,
34 gfx::Point* point);
Torne (Richard Coles)58218062012-11-14 11:43:16 +000035
36// Converts the |point| from the screen coordinates to a given |window|'s
37// coordinates.
Torne (Richard Coles)cedac222014-06-03 10:58:34 +010038ASH_EXPORT void ConvertPointFromScreen(const aura::Window* window,
Torne (Richard Coles)58218062012-11-14 11:43:16 +000039 gfx::Point* point_in_screen);
40
41} // namespace wm
42} // namespace ash
43
44#endif // ASH_WM_COORDINATE_CONVERSION_H_