Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(28)

Side by Side Diff: ash/screen_ash.h

Issue 138003007: [Cleanup] Screen cleanup (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: make sure screen_for_shutdown is reset everytime Created 6 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « ash/extended_desktop_unittest.cc ('k') | ash/screen_ash.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
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_SCREEN_ASH_H_
6 #define ASH_SCREEN_ASH_H_
7
8 #include "ash/ash_export.h"
9 #include "base/compiler_specific.h"
10 #include "base/observer_list.h"
11 #include "ui/gfx/screen.h"
12
13 namespace gfx {
14 class Rect;
15 }
16
17 namespace ash {
18
19 // Aura implementation of gfx::Screen. Implemented here to avoid circular
20 // dependencies.
21 class ASH_EXPORT ScreenAsh : public gfx::Screen {
22 public:
23 ScreenAsh();
24 virtual ~ScreenAsh();
25
26 // Finds the display that contains |point| in screeen coordinates.
27 // Returns invalid display if there is no display that can satisfy
28 // the condition.
29 static gfx::Display FindDisplayContainingPoint(const gfx::Point& point);
30
31 // Returns the bounds for maximized windows in parent coordinates.
32 // Maximized windows trigger auto-hiding the shelf.
33 static gfx::Rect GetMaximizedWindowBoundsInParent(aura::Window* window);
34
35 // Returns the display bounds in parent coordinates.
36 static gfx::Rect GetDisplayBoundsInParent(aura::Window* window);
37
38 // Returns the display's work area bounds in parent coordinates.
39 static gfx::Rect GetDisplayWorkAreaBoundsInParent(aura::Window* window);
40
41 // Converts |rect| from |window|'s coordinates to the virtual screen
42 // coordinates.
43 static gfx::Rect ConvertRectToScreen(aura::Window* window,
44 const gfx::Rect& rect);
45
46 // Converts |rect| from virtual screen coordinates to the |window|'s
47 // coordinates.
48 static gfx::Rect ConvertRectFromScreen(aura::Window* window,
49 const gfx::Rect& rect);
50
51 // Returns a gfx::Display object for secondary display. Returns
52 // invalid display if there is no secondary display connected.
53 static const gfx::Display& GetSecondaryDisplay();
54
55 // Returns a gfx::Display object for the specified id. Returns
56 // invalid display if no such display is connected.
57 static const gfx::Display& GetDisplayForId(int64 display_id);
58
59 // Notifies observers of display configuration changes.
60 void NotifyBoundsChanged(const gfx::Display& display);
61 void NotifyDisplayAdded(const gfx::Display& display);
62 void NotifyDisplayRemoved(const gfx::Display& display);
63
64 protected:
65 // gfx::Screen overrides:
66 virtual bool IsDIPEnabled() OVERRIDE;
67 virtual gfx::Point GetCursorScreenPoint() OVERRIDE;
68 virtual gfx::NativeWindow GetWindowUnderCursor() OVERRIDE;
69 virtual gfx::NativeWindow GetWindowAtScreenPoint(const gfx::Point& point)
70 OVERRIDE;
71 virtual int GetNumDisplays() const OVERRIDE;
72 virtual std::vector<gfx::Display> GetAllDisplays() const OVERRIDE;
73 virtual gfx::Display GetDisplayNearestWindow(
74 gfx::NativeView view) const OVERRIDE;
75 virtual gfx::Display GetDisplayNearestPoint(
76 const gfx::Point& point) const OVERRIDE;
77 virtual gfx::Display GetDisplayMatching(
78 const gfx::Rect& match_rect) const OVERRIDE;
79 virtual gfx::Display GetPrimaryDisplay() const OVERRIDE;
80 virtual void AddObserver(gfx::DisplayObserver* observer) OVERRIDE;
81 virtual void RemoveObserver(gfx::DisplayObserver* observer) OVERRIDE;
82
83 private:
84 ObserverList<gfx::DisplayObserver> observers_;
85
86 DISALLOW_COPY_AND_ASSIGN(ScreenAsh);
87 };
88
89 } // namespace ash
90
91 #endif // ASH_SCREEN_ASH_H_
OLDNEW
« no previous file with comments | « ash/extended_desktop_unittest.cc ('k') | ash/screen_ash.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698