blob: b40d41f3d2efbaaef67a2285fa50b26ebb611858 [file] [log] [blame]
[email protected]55ad8c12014-01-17 18:24:331// Copyright 2014 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_SCREEN_UTIL_H_
6#define ASH_SCREEN_UTIL_H_
7
8#include "ash/ash_export.h"
avidb567a8a2015-12-20 17:07:249#include "base/macros.h"
[email protected]55ad8c12014-01-17 18:24:3310
11namespace aura {
12class Window;
13}
14
oshima06b39602016-05-11 02:40:1015namespace gfx {
16class Rect;
oshimaf84b0da722016-04-27 19:47:1917}
18
[email protected]55ad8c12014-01-17 18:24:3319namespace ash {
20
21class ASH_EXPORT ScreenUtil {
22 public:
[email protected]55ad8c12014-01-17 18:24:3323 // Returns the bounds for maximized windows in parent coordinates.
24 // Maximized windows trigger auto-hiding the shelf.
25 static gfx::Rect GetMaximizedWindowBoundsInParent(aura::Window* window);
26
27 // Returns the display bounds in parent coordinates.
28 static gfx::Rect GetDisplayBoundsInParent(aura::Window* window);
29
30 // Returns the display's work area bounds in parent coordinates.
31 static gfx::Rect GetDisplayWorkAreaBoundsInParent(aura::Window* window);
32
sky00f0b892017-05-05 17:06:2433 // Returns the bounds of the physical display containing the shelf for
34 // |window|. Physical displays can differ from logical displays in unified
35 // desktop mode.
36 // TODO(oshima): Consider using physical displays in window layout, instead of
37 // root windows, and only use logical display in display management code.
38 static gfx::Rect GetDisplayBoundsWithShelf(aura::Window* window);
[email protected]55ad8c12014-01-17 18:24:3339
sky00f0b892017-05-05 17:06:2440 private:
41 DISALLOW_IMPLICIT_CONSTRUCTORS(ScreenUtil);
[email protected]55ad8c12014-01-17 18:24:3342};
43
44} // namespace ash
45
46#endif // ASH_SCREEN_UTIL_H_