Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(137)

Side by Side Diff: cc/CCDirectRenderer.h

Issue 10942040: Fix CC*Renderer and CC*LayerImpl to compile with Clang (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | cc/CCDirectRenderer.cpp » ('j') | cc/CCTiledLayerImpl.cpp » ('J')
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 CCDirectRenderer_h 5 #ifndef CCDirectRenderer_h
6 #define CCDirectRenderer_h 6 #define CCDirectRenderer_h
7 7
8 #include "CCRenderer.h" 8 #include "CCRenderer.h"
9 #include "CCResourceProvider.h" 9 #include "CCResourceProvider.h"
10 #include "CCScopedTexture.h" 10 #include "CCScopedTexture.h"
11 11
12 namespace cc { 12 namespace cc {
13 13
14 class CCResourceProvider; 14 class CCResourceProvider;
15 15
16 // This is the base class for code shared between the GL and software 16 // This is the base class for code shared between the GL and software
17 // renderer implementations. "Direct" refers to the fact that it does not 17 // renderer implementations. "Direct" refers to the fact that it does not
18 // delegate rendering to another compositor. 18 // delegate rendering to another compositor.
19 class CCDirectRenderer : public CCRenderer { 19 class CCDirectRenderer : public CCRenderer {
20 WTF_MAKE_NONCOPYABLE(CCDirectRenderer); 20 WTF_MAKE_NONCOPYABLE(CCDirectRenderer);
21 public: 21 public:
22 virtual ~CCDirectRenderer() { } 22 virtual ~CCDirectRenderer();
23 23
24 CCResourceProvider* resourceProvider() const { return m_resourceProvider; } 24 CCResourceProvider* resourceProvider() const { return m_resourceProvider; }
25 25
26 virtual void decideRenderPassAllocationsForFrame(const CCRenderPassList& ren derPassesInDrawOrder) OVERRIDE; 26 virtual void decideRenderPassAllocationsForFrame(const CCRenderPassList& ren derPassesInDrawOrder) OVERRIDE;
27 virtual bool haveCachedResourcesForRenderPassId(CCRenderPass::Id) const OVER RIDE; 27 virtual bool haveCachedResourcesForRenderPassId(CCRenderPass::Id) const OVER RIDE;
28 virtual void drawFrame(const CCRenderPassList& renderPassesInDrawOrder, cons t CCRenderPassIdHashMap& renderPassesById) OVERRIDE; 28 virtual void drawFrame(const CCRenderPassList& renderPassesInDrawOrder, cons t CCRenderPassIdHashMap& renderPassesById) OVERRIDE;
29 29
30 protected: 30 protected:
31 CCDirectRenderer(CCRendererClient* client, CCResourceProvider* resourceProvi der) 31 CCDirectRenderer(CCRendererClient* client, CCResourceProvider* resourceProvi der);
32 : CCRenderer(client)
33 , m_resourceProvider(resourceProvider)
34 {
35 }
36 32
37 struct DrawingFrame { 33 struct DrawingFrame {
34 DrawingFrame();
35 ~DrawingFrame();
36
38 const CCRenderPassIdHashMap* renderPassesById; 37 const CCRenderPassIdHashMap* renderPassesById;
39 const CCRenderPass* rootRenderPass; 38 const CCRenderPass* rootRenderPass;
40 const CCRenderPass* currentRenderPass; 39 const CCRenderPass* currentRenderPass;
41 const CCScopedTexture* currentTexture; 40 const CCScopedTexture* currentTexture;
42 41
43 FloatRect rootDamageRect; 42 FloatRect rootDamageRect;
44 43
45 WebKit::WebTransformationMatrix projectionMatrix; 44 WebKit::WebTransformationMatrix projectionMatrix;
46 WebKit::WebTransformationMatrix windowMatrix; 45 WebKit::WebTransformationMatrix windowMatrix;
47 bool flippedY; 46 bool flippedY;
48 FloatRect scissorRectInRenderPassSpace; 47 FloatRect scissorRectInRenderPassSpace;
49
50 DrawingFrame()
51 : rootRenderPass(0)
52 , currentRenderPass(0)
53 , currentTexture(0)
54 , flippedY(false)
55 { }
56 }; 48 };
57 49
58 class CachedTexture : public CCScopedTexture { 50 class CachedTexture : public CCScopedTexture {
59 WTF_MAKE_NONCOPYABLE(CachedTexture); 51 WTF_MAKE_NONCOPYABLE(CachedTexture);
60 public: 52 public:
61 static PassOwnPtr<CachedTexture> create(CCResourceProvider* resourceProv ider) { return adoptPtr(new CachedTexture(resourceProvider)); } 53 static PassOwnPtr<CachedTexture> create(CCResourceProvider* resourceProv ider) { return adoptPtr(new CachedTexture(resourceProvider)); }
62 virtual ~CachedTexture() { } 54 virtual ~CachedTexture() { }
63 55
64 bool isComplete() const { return m_isComplete; } 56 bool isComplete() const { return m_isComplete; }
65 void setIsComplete(bool isComplete) { m_isComplete = isComplete; } 57 void setIsComplete(bool isComplete) { m_isComplete = isComplete; }
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
97 virtual void beginDrawingFrame(DrawingFrame&) = 0; 89 virtual void beginDrawingFrame(DrawingFrame&) = 0;
98 virtual void finishDrawingFrame(DrawingFrame&) = 0; 90 virtual void finishDrawingFrame(DrawingFrame&) = 0;
99 91
100 HashMap<CCRenderPass::Id, OwnPtr<CachedTexture> > m_renderPassTextures; 92 HashMap<CCRenderPass::Id, OwnPtr<CachedTexture> > m_renderPassTextures;
101 CCResourceProvider* m_resourceProvider; 93 CCResourceProvider* m_resourceProvider;
102 }; 94 };
103 95
104 } 96 }
105 97
106 #endif // CCDirectRenderer_h 98 #endif // CCDirectRenderer_h
OLDNEW
« no previous file with comments | « no previous file | cc/CCDirectRenderer.cpp » ('j') | cc/CCTiledLayerImpl.cpp » ('J')

Powered by Google App Engine
This is Rietveld 408576698