OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef UI_DISPLAY_SCREEN_H_ | 5 #ifndef UI_DISPLAY_SCREEN_H_ |
6 #define UI_DISPLAY_SCREEN_H_ | 6 #define UI_DISPLAY_SCREEN_H_ |
7 | 7 |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "base/macros.h" | 10 #include "base/macros.h" |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
51 // Mirrored displays are excluded; this method is intended to return the | 51 // Mirrored displays are excluded; this method is intended to return the |
52 // number of distinct, usable displays. | 52 // number of distinct, usable displays. |
53 virtual int GetNumDisplays() const = 0; | 53 virtual int GetNumDisplays() const = 0; |
54 | 54 |
55 // Returns the list of displays that are currently available. | 55 // Returns the list of displays that are currently available. |
56 virtual const std::vector<Display>& GetAllDisplays() const = 0; | 56 virtual const std::vector<Display>& GetAllDisplays() const = 0; |
57 | 57 |
58 // Returns the display nearest the specified window. | 58 // Returns the display nearest the specified window. |
59 // If the window is NULL or the window is not rooted to a display this will | 59 // If the window is NULL or the window is not rooted to a display this will |
60 // return the primary display. | 60 // return the primary display. |
61 virtual Display GetDisplayNearestWindow(gfx::NativeView view) const = 0; | 61 virtual Display GetDisplayNearestWindow(gfx::NativeWindow window) const = 0; |
| 62 |
| 63 // Returns the display nearest the specified view. It may still use the window |
| 64 // that contains the view (i.e. if a window is spread over two displays, |
| 65 // the location of the view within that window won't influence the result). |
| 66 virtual Display GetDisplayNearestView(gfx::NativeView view) const; |
62 | 67 |
63 // Returns the display nearest the specified point. |point| should be in DIPs. | 68 // Returns the display nearest the specified point. |point| should be in DIPs. |
64 virtual Display GetDisplayNearestPoint(const gfx::Point& point) const = 0; | 69 virtual Display GetDisplayNearestPoint(const gfx::Point& point) const = 0; |
65 | 70 |
66 // Returns the display that most closely intersects the provided bounds. | 71 // Returns the display that most closely intersects the provided bounds. |
67 virtual Display GetDisplayMatching(const gfx::Rect& match_rect) const = 0; | 72 virtual Display GetDisplayMatching(const gfx::Rect& match_rect) const = 0; |
68 | 73 |
69 // Returns the primary display. | 74 // Returns the primary display. |
70 virtual Display GetPrimaryDisplay() const = 0; | 75 virtual Display GetPrimaryDisplay() const = 0; |
71 | 76 |
(...skipping 12 matching lines...) Expand all Loading... |
84 // If |view| is null, the primary display is used as the context. | 89 // If |view| is null, the primary display is used as the context. |
85 virtual gfx::Rect DIPToScreenRectInWindow(gfx::NativeView view, | 90 virtual gfx::Rect DIPToScreenRectInWindow(gfx::NativeView view, |
86 const gfx::Rect& dip_rect) const; | 91 const gfx::Rect& dip_rect) const; |
87 | 92 |
88 // Returns true if the display with |display_id| is found and returns that | 93 // Returns true if the display with |display_id| is found and returns that |
89 // display in |display|. Otherwise returns false and |display| remains | 94 // display in |display|. Otherwise returns false and |display| remains |
90 // untouched. | 95 // untouched. |
91 bool GetDisplayWithDisplayId(int64_t display_id, Display* display) const; | 96 bool GetDisplayWithDisplayId(int64_t display_id, Display* display) const; |
92 | 97 |
93 private: | 98 private: |
| 99 static gfx::NativeWindow GetWindowForView(gfx::NativeView view); |
| 100 |
94 DISALLOW_COPY_AND_ASSIGN(Screen); | 101 DISALLOW_COPY_AND_ASSIGN(Screen); |
95 }; | 102 }; |
96 | 103 |
97 Screen* CreateNativeScreen(); | 104 Screen* CreateNativeScreen(); |
98 | 105 |
99 } // namespace display | 106 } // namespace display |
100 | 107 |
101 #endif // UI_DISPLAY_SCREEN_H_ | 108 #endif // UI_DISPLAY_SCREEN_H_ |
OLD | NEW |