OLD | NEW |
| (Empty) |
1 // Copyright 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 CC_PICTURE_LAYER_H_ | |
6 #define CC_PICTURE_LAYER_H_ | |
7 | |
8 #include "cc/contents_scaling_layer.h" | |
9 #include "cc/debug/devtools_instrumentation.h" | |
10 #include "cc/layer.h" | |
11 #include "cc/resources/picture_pile.h" | |
12 #include "cc/trees/occlusion_tracker.h" | |
13 | |
14 namespace cc { | |
15 | |
16 class ContentLayerClient; | |
17 class ResourceUpdateQueue; | |
18 struct RenderingStats; | |
19 | |
20 class CC_EXPORT PictureLayer : public ContentsScalingLayer { | |
21 public: | |
22 static scoped_refptr<PictureLayer> Create(ContentLayerClient* client); | |
23 | |
24 void ClearClient() { client_ = NULL; } | |
25 | |
26 // Implement Layer interface | |
27 virtual bool DrawsContent() const OVERRIDE; | |
28 virtual scoped_ptr<LayerImpl> CreateLayerImpl( | |
29 LayerTreeImpl* tree_impl) OVERRIDE; | |
30 virtual void SetLayerTreeHost(LayerTreeHost* host) OVERRIDE; | |
31 virtual void PushPropertiesTo(LayerImpl* layer) OVERRIDE; | |
32 virtual void SetNeedsDisplayRect(const gfx::RectF& layer_rect) OVERRIDE; | |
33 virtual void Update( | |
34 ResourceUpdateQueue* queue, | |
35 const OcclusionTracker* occlusion, | |
36 RenderingStats* stats) OVERRIDE; | |
37 virtual void SetIsMask(bool is_mask) OVERRIDE; | |
38 | |
39 protected: | |
40 explicit PictureLayer(ContentLayerClient* client); | |
41 virtual ~PictureLayer(); | |
42 | |
43 private: | |
44 ContentLayerClient* client_; | |
45 scoped_refptr<PicturePile> pile_; | |
46 devtools_instrumentation:: | |
47 ScopedLayerObjectTracker instrumentation_object_tracker_; | |
48 // Invalidation to use the next time update is called. | |
49 Region pending_invalidation_; | |
50 // Invalidation from the last time update was called. | |
51 Region pile_invalidation_; | |
52 bool is_mask_; | |
53 }; | |
54 | |
55 } // namespace cc | |
56 | |
57 #endif // CC_PICTURE_LAYER_H_ | |
OLD | NEW |