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_VIEWS_WIDGET_DESKTOP_AURA_DESKTOP_SCREEN_POSITION_CLIENT_H_ | 5 #ifndef UI_VIEWS_WIDGET_DESKTOP_AURA_DESKTOP_SCREEN_POSITION_CLIENT_H_ |
6 #define UI_VIEWS_WIDGET_DESKTOP_AURA_DESKTOP_SCREEN_POSITION_CLIENT_H_ | 6 #define UI_VIEWS_WIDGET_DESKTOP_AURA_DESKTOP_SCREEN_POSITION_CLIENT_H_ |
7 | 7 |
8 #include "ui/aura/client/screen_position_client.h" | |
9 #include "ui/views/views_export.h" | 8 #include "ui/views/views_export.h" |
| 9 #include "ui/wm/core/default_screen_position_client.h" |
10 | 10 |
11 namespace views { | 11 namespace views { |
12 | 12 |
13 // Client that always offsets by the toplevel RootWindow of the passed | 13 // Client that always offsets by the toplevel RootWindow of the passed |
14 // in child NativeWidgetAura. | 14 // in child NativeWidgetAura. |
15 class VIEWS_EXPORT DesktopScreenPositionClient | 15 class VIEWS_EXPORT DesktopScreenPositionClient |
16 : public aura::client::ScreenPositionClient { | 16 : public wm::DefaultScreenPositionClient { |
17 public: | 17 public: |
18 explicit DesktopScreenPositionClient(aura::Window* root_window); | 18 explicit DesktopScreenPositionClient(aura::Window* root_window); |
19 ~DesktopScreenPositionClient() override; | 19 ~DesktopScreenPositionClient() override; |
20 | 20 |
21 // aura::client::ScreenPositionClient overrides: | 21 // aura::client::DefaultScreenPositionClient: |
22 void ConvertPointToScreen(const aura::Window* window, | |
23 gfx::Point* point) override; | |
24 void ConvertPointFromScreen(const aura::Window* window, | |
25 gfx::Point* point) override; | |
26 void ConvertHostPointToScreen(aura::Window* window, | |
27 gfx::Point* point) override; | |
28 void SetBounds(aura::Window* window, | 22 void SetBounds(aura::Window* window, |
29 const gfx::Rect& bounds, | 23 const gfx::Rect& bounds, |
30 const gfx::Display& display) override; | 24 const gfx::Display& display) override; |
31 | 25 |
| 26 protected: |
| 27 bool PositionWindowInScreenCoordinates(aura::Window* window) override; |
| 28 |
32 private: | 29 private: |
33 aura::Window* root_window_; | 30 aura::Window* root_window_; |
34 | 31 |
35 DISALLOW_COPY_AND_ASSIGN(DesktopScreenPositionClient); | 32 DISALLOW_COPY_AND_ASSIGN(DesktopScreenPositionClient); |
36 }; | 33 }; |
37 | 34 |
38 } // namespace views | 35 } // namespace views |
39 | 36 |
40 #endif // UI_VIEWS_WIDGET_DESKTOP_AURA_DESKTOP_SCREEN_POSITION_CLIENT_H_ | 37 #endif // UI_VIEWS_WIDGET_DESKTOP_AURA_DESKTOP_SCREEN_POSITION_CLIENT_H_ |
OLD | NEW |