OLD | NEW |
| (Empty) |
1 // Copyright (c) 2013 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 UI_AURA_ROOT_WINDOW_TRANSFORMER_H_ | |
6 #define UI_AURA_ROOT_WINDOW_TRANSFORMER_H_ | |
7 | |
8 #include "ui/aura/aura_export.h" | |
9 | |
10 namespace gfx { | |
11 class Insets; | |
12 class Rect; | |
13 class Size; | |
14 class Transform; | |
15 } | |
16 | |
17 namespace aura { | |
18 | |
19 // RootWindowTransformer controls how RootWindow should be placed and | |
20 // transformed inside the host window. | |
21 class AURA_EXPORT RootWindowTransformer { | |
22 public: | |
23 virtual ~RootWindowTransformer() {} | |
24 | |
25 // Returns the transform the root window in DIP. | |
26 virtual gfx::Transform GetTransform() const = 0; | |
27 | |
28 // Returns the inverse of the transform above. This method is to | |
29 // provie an accurate inverse of the transform because the result of | |
30 // |gfx::Transform::GetInverse| may contains computational error. | |
31 virtual gfx::Transform GetInverseTransform() const = 0; | |
32 | |
33 // Returns the root window's bounds for given host window size in DIP. | |
34 // This is necessary to handle the case where the root window's size | |
35 // is bigger than the host window. (Screen magnifier for example). | |
36 virtual gfx::Rect GetRootWindowBounds(const gfx::Size& host_size) const = 0; | |
37 | |
38 // Returns the insets that specifies the effective area of | |
39 // the host window. | |
40 virtual gfx::Insets GetHostInsets() const = 0; | |
41 }; | |
42 | |
43 } // namespace aura | |
44 | |
45 #endif // UI_AURA_ROOT_WINDOW_TRANSFORMER_H_ | |
OLD | NEW |