OLD | NEW |
| (Empty) |
1 // Copyright (c) 2011 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_GFX_COMPOSITOR_LAYER_PROPERTY_SETTER_H_ | |
6 #define UI_GFX_COMPOSITOR_LAYER_PROPERTY_SETTER_H_ | |
7 #pragma once | |
8 | |
9 #include "views/views_export.h" | |
10 | |
11 namespace gfx { | |
12 class Rect; | |
13 } | |
14 | |
15 namespace ui { | |
16 class Layer; | |
17 class Transform; | |
18 } | |
19 | |
20 namespace views { | |
21 | |
22 // When a property of layer needs to be changed it is set by way of | |
23 // LayerPropertySetter. This enables LayerPropertySetter to animate property | |
24 // changes. | |
25 class VIEWS_EXPORT LayerPropertySetter { | |
26 public: | |
27 // Creates a LayerPropertySetter that immediately sets the values on the | |
28 // layer. Ownership returns to caller. | |
29 static LayerPropertySetter* CreateDefaultSetter(); | |
30 | |
31 virtual ~LayerPropertySetter() {} | |
32 | |
33 // Invoked when the LayerPropertySetter is to be used for a particular Layer. | |
34 // This is invoked whenever a new Layer is created. A LayerPropertySetter is | |
35 // only associated with one Layer at a time. | |
36 virtual void Installed(ui::Layer* layer) = 0; | |
37 | |
38 // Invoked when the Layer is destroyed. | |
39 virtual void Uninstalled(ui::Layer* layer) = 0; | |
40 | |
41 // Sets the transform on the Layer. | |
42 virtual void SetTransform(ui::Layer* layer, | |
43 const ui::Transform& transform) = 0; | |
44 | |
45 // Sets the bounds of the layer. | |
46 virtual void SetBounds(ui::Layer* layer, const gfx::Rect& bounds) = 0; | |
47 }; | |
48 | |
49 } // namespace views | |
50 | |
51 #endif // UI_GFX_COMPOSITOR_LAYER_PROPERTY_SETTER_H_ | |
OLD | NEW |