OLD | NEW |
1 // Copyright 2011 The Chromium Authors. All rights reserved. | 1 // Copyright 2011 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 CC_LAYERS_LAYER_IMPL_H_ | 5 #ifndef CC_LAYERS_LAYER_IMPL_H_ |
6 #define CC_LAYERS_LAYER_IMPL_H_ | 6 #define CC_LAYERS_LAYER_IMPL_H_ |
7 | 7 |
8 #include <set> | 8 #include <set> |
9 #include <string> | 9 #include <string> |
10 | 10 |
(...skipping 29 matching lines...) Expand all Loading... |
40 } | 40 } |
41 | 41 |
42 class DictionaryValue; | 42 class DictionaryValue; |
43 } | 43 } |
44 | 44 |
45 namespace cc { | 45 namespace cc { |
46 | 46 |
47 class LayerTreeHostImpl; | 47 class LayerTreeHostImpl; |
48 class LayerTreeImpl; | 48 class LayerTreeImpl; |
49 class MicroBenchmarkImpl; | 49 class MicroBenchmarkImpl; |
50 class QuadSink; | 50 template <typename LayerType> |
| 51 class OcclusionTracker; |
51 class Renderer; | 52 class Renderer; |
52 class ScrollbarAnimationController; | 53 class ScrollbarAnimationController; |
53 class ScrollbarLayerImplBase; | 54 class ScrollbarLayerImplBase; |
54 class Tile; | 55 class Tile; |
55 | 56 |
56 struct AppendQuadsData; | 57 struct AppendQuadsData; |
57 | 58 |
58 enum DrawMode { | 59 enum DrawMode { |
59 DRAW_MODE_NONE, | 60 DRAW_MODE_NONE, |
60 DRAW_MODE_HARDWARE, | 61 DRAW_MODE_HARDWARE, |
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
169 | 170 |
170 void PopulateSharedQuadState(SharedQuadState* state) const; | 171 void PopulateSharedQuadState(SharedQuadState* state) const; |
171 // WillDraw must be called before AppendQuads. If WillDraw returns false, | 172 // WillDraw must be called before AppendQuads. If WillDraw returns false, |
172 // AppendQuads and DidDraw will not be called. If WillDraw returns true, | 173 // AppendQuads and DidDraw will not be called. If WillDraw returns true, |
173 // DidDraw is guaranteed to be called before another WillDraw or before | 174 // DidDraw is guaranteed to be called before another WillDraw or before |
174 // the layer is destroyed. To enforce this, any class that overrides | 175 // the layer is destroyed. To enforce this, any class that overrides |
175 // WillDraw/DidDraw must call the base class version only if WillDraw | 176 // WillDraw/DidDraw must call the base class version only if WillDraw |
176 // returns true. | 177 // returns true. |
177 virtual bool WillDraw(DrawMode draw_mode, | 178 virtual bool WillDraw(DrawMode draw_mode, |
178 ResourceProvider* resource_provider); | 179 ResourceProvider* resource_provider); |
179 virtual void AppendQuads(QuadSink* quad_sink, | 180 virtual void AppendQuads(RenderPass* render_pass, |
| 181 const OcclusionTracker<LayerImpl>& occlusion_tracker, |
180 AppendQuadsData* append_quads_data) {} | 182 AppendQuadsData* append_quads_data) {} |
181 virtual void DidDraw(ResourceProvider* resource_provider); | 183 virtual void DidDraw(ResourceProvider* resource_provider); |
182 | 184 |
183 virtual ResourceProvider::ResourceId ContentsResourceId() const; | 185 virtual ResourceProvider::ResourceId ContentsResourceId() const; |
184 | 186 |
185 virtual bool HasDelegatedContent() const; | 187 virtual bool HasDelegatedContent() const; |
186 virtual bool HasContributingDelegatedRenderPasses() const; | 188 virtual bool HasContributingDelegatedRenderPasses() const; |
187 virtual RenderPass::Id FirstContributingRenderPassId() const; | 189 virtual RenderPass::Id FirstContributingRenderPassId() const; |
188 virtual RenderPass::Id NextContributingRenderPassId(RenderPass::Id id) const; | 190 virtual RenderPass::Id NextContributingRenderPassId(RenderPass::Id id) const; |
189 | 191 |
(...skipping 353 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
543 scoped_refptr<base::debug::ConvertableToTraceFormat> other); | 545 scoped_refptr<base::debug::ConvertableToTraceFormat> other); |
544 | 546 |
545 bool IsDrawnRenderSurfaceLayerListMember() const; | 547 bool IsDrawnRenderSurfaceLayerListMember() const; |
546 | 548 |
547 protected: | 549 protected: |
548 LayerImpl(LayerTreeImpl* layer_impl, int id); | 550 LayerImpl(LayerTreeImpl* layer_impl, int id); |
549 | 551 |
550 // Get the color and size of the layer's debug border. | 552 // Get the color and size of the layer's debug border. |
551 virtual void GetDebugBorderProperties(SkColor* color, float* width) const; | 553 virtual void GetDebugBorderProperties(SkColor* color, float* width) const; |
552 | 554 |
553 void AppendDebugBorderQuad(QuadSink* quad_sink, | 555 void AppendDebugBorderQuad(RenderPass* render_pass, |
554 const SharedQuadState* shared_quad_state, | 556 const SharedQuadState* shared_quad_state, |
555 AppendQuadsData* append_quads_data) const; | 557 AppendQuadsData* append_quads_data) const; |
556 void AppendDebugBorderQuad(QuadSink* quad_sink, | 558 void AppendDebugBorderQuad(RenderPass* render_pass, |
557 const SharedQuadState* shared_quad_state, | 559 const SharedQuadState* shared_quad_state, |
558 AppendQuadsData* append_quads_data, | 560 AppendQuadsData* append_quads_data, |
559 SkColor color, | 561 SkColor color, |
560 float width) const; | 562 float width) const; |
561 | 563 |
562 virtual void AsValueInto(base::DictionaryValue* dict) const; | 564 virtual void AsValueInto(base::DictionaryValue* dict) const; |
563 | 565 |
564 void NoteLayerPropertyChanged(); | 566 void NoteLayerPropertyChanged(); |
565 void NoteLayerPropertyChangedForSubtree(); | 567 void NoteLayerPropertyChangedForSubtree(); |
566 | 568 |
(...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
693 DrawProperties<LayerImpl> draw_properties_; | 695 DrawProperties<LayerImpl> draw_properties_; |
694 | 696 |
695 scoped_refptr<base::debug::ConvertableToTraceFormat> debug_info_; | 697 scoped_refptr<base::debug::ConvertableToTraceFormat> debug_info_; |
696 | 698 |
697 DISALLOW_COPY_AND_ASSIGN(LayerImpl); | 699 DISALLOW_COPY_AND_ASSIGN(LayerImpl); |
698 }; | 700 }; |
699 | 701 |
700 } // namespace cc | 702 } // namespace cc |
701 | 703 |
702 #endif // CC_LAYERS_LAYER_IMPL_H_ | 704 #endif // CC_LAYERS_LAYER_IMPL_H_ |
OLD | NEW |