Home | History | Annotate | Download | only in wm
      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 #ifndef ASH_WM_COORDINATE_CONVERSION_H_
      6 #define ASH_WM_COORDINATE_CONVERSION_H_
      7 
      8 #include "ash/ash_export.h"
      9 
     10 namespace aura {
     11 class Window;
     12 }  // namespace gfx
     13 
     14 namespace gfx {
     15 class Point;
     16 class Rect;
     17 }  // namespace gfx
     18 
     19 namespace ash {
     20 namespace 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.
     25 ASH_EXPORT aura::Window* GetRootWindowAt(const gfx::Point& point);
     26 
     27 // Returns the RootWindow that shares the most area with |rect| in
     28 // the virtual scren coordinates.
     29 ASH_EXPORT aura::Window* GetRootWindowMatching(const gfx::Rect& rect);
     30 
     31 // Converts the |point| from a given |window|'s coordinates into the screen
     32 // coordinates.
     33 ASH_EXPORT void ConvertPointToScreen(const aura::Window* window,
     34                                      gfx::Point* point);
     35 
     36 // Converts the |point| from the screen coordinates to a given |window|'s
     37 // coordinates.
     38 ASH_EXPORT void ConvertPointFromScreen(const aura::Window* window,
     39                                        gfx::Point* point_in_screen);
     40 
     41 }  // namespace wm
     42 }  // namespace ash
     43 
     44 #endif  // ASH_WM_COORDINATE_CONVERSION_H_
     45