OLD | NEW |
1 // Copyright 2012 The Chromium Authors. All rights reserved. | 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 | 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 CCDelegatedRendererLayerImpl_h | 5 // Temporary forwarding header |
6 #define CCDelegatedRendererLayerImpl_h | 6 #include "cc/delegated_renderer_layer_impl.h" |
7 | |
8 #include "CCLayerImpl.h" | |
9 #include "cc/scoped_ptr_vector.h" | |
10 | |
11 namespace cc { | |
12 | |
13 class CCDelegatedRendererLayerImpl : public CCLayerImpl { | |
14 public: | |
15 static scoped_ptr<CCDelegatedRendererLayerImpl> create(int id) { return make
_scoped_ptr(new CCDelegatedRendererLayerImpl(id)); } | |
16 virtual ~CCDelegatedRendererLayerImpl(); | |
17 | |
18 virtual bool descendantDrawsContent() OVERRIDE; | |
19 virtual bool hasContributingDelegatedRenderPasses() const OVERRIDE; | |
20 | |
21 // This gives ownership of the RenderPasses to the layer. | |
22 void setRenderPasses(ScopedPtrVector<CCRenderPass>&); | |
23 void clearRenderPasses(); | |
24 | |
25 virtual void didLoseContext() OVERRIDE; | |
26 | |
27 virtual CCRenderPass::Id firstContributingRenderPassId() const OVERRIDE; | |
28 virtual CCRenderPass::Id nextContributingRenderPassId(CCRenderPass::Id) cons
t OVERRIDE; | |
29 | |
30 void appendContributingRenderPasses(CCRenderPassSink&); | |
31 virtual void appendQuads(CCQuadSink&, CCAppendQuadsData&) OVERRIDE; | |
32 | |
33 private: | |
34 explicit CCDelegatedRendererLayerImpl(int); | |
35 | |
36 CCRenderPass::Id convertDelegatedRenderPassId(CCRenderPass::Id delegatedRend
erPassId) const; | |
37 | |
38 void appendRenderPassQuads(CCQuadSink&, CCAppendQuadsData&, CCRenderPass* fr
omDelegatedRenderPass) const; | |
39 | |
40 PassOwnPtr<CCDrawQuad> createCopyOfQuad(const CCDrawQuad*); | |
41 | |
42 virtual const char* layerTypeAsString() const OVERRIDE; | |
43 | |
44 ScopedPtrVector<CCRenderPass> m_renderPassesInDrawOrder; | |
45 base::hash_map<CCRenderPass::Id, int> m_renderPassesIndexById; | |
46 }; | |
47 | |
48 } | |
49 | |
50 #endif // CCDelegatedRendererLayerImpl_h | |
OLD | NEW |