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

Side by Side Diff: cc/CCDirectRenderer.h

Issue 10985088: cc: Switch it to use DISALLOW_COPY_AND_ASSIGN macro from base/ library. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: review Created 8 years, 2 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 | « cc/CCDebugRectHistory.h ('k') | cc/CCFontAtlas.h » ('j') | no next file with comments »
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 "base/basictypes.h"
8 #include "CCRenderer.h" 9 #include "CCRenderer.h"
9 #include "CCResourceProvider.h" 10 #include "CCResourceProvider.h"
10 #include "CCScopedTexture.h" 11 #include "CCScopedTexture.h"
11 12
12 namespace cc { 13 namespace cc {
13 14
14 class CCResourceProvider; 15 class CCResourceProvider;
15 16
16 // This is the base class for code shared between the GL and software 17 // 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 18 // renderer implementations. "Direct" refers to the fact that it does not
18 // delegate rendering to another compositor. 19 // delegate rendering to another compositor.
19 class CCDirectRenderer : public CCRenderer { 20 class CCDirectRenderer : public CCRenderer {
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:
(...skipping 10 matching lines...) Expand all
41 41
42 FloatRect rootDamageRect; 42 FloatRect rootDamageRect;
43 43
44 WebKit::WebTransformationMatrix projectionMatrix; 44 WebKit::WebTransformationMatrix projectionMatrix;
45 WebKit::WebTransformationMatrix windowMatrix; 45 WebKit::WebTransformationMatrix windowMatrix;
46 bool flippedY; 46 bool flippedY;
47 FloatRect scissorRectInRenderPassSpace; 47 FloatRect scissorRectInRenderPassSpace;
48 }; 48 };
49 49
50 class CachedTexture : public CCScopedTexture { 50 class CachedTexture : public CCScopedTexture {
51 WTF_MAKE_NONCOPYABLE(CachedTexture);
52 public: 51 public:
53 static scoped_ptr<CachedTexture> create(CCResourceProvider* resourceProv ider) { return scoped_ptr<CachedTexture>(new CachedTexture(resourceProvider)); } 52 static scoped_ptr<CachedTexture> create(CCResourceProvider* resourceProv ider) { return scoped_ptr<CachedTexture>(new CachedTexture(resourceProvider)); }
54 virtual ~CachedTexture() { } 53 virtual ~CachedTexture() { }
55 54
56 bool isComplete() const { return m_isComplete; } 55 bool isComplete() const { return m_isComplete; }
57 void setIsComplete(bool isComplete) { m_isComplete = isComplete; } 56 void setIsComplete(bool isComplete) { m_isComplete = isComplete; }
58 57
59 protected: 58 protected:
60 explicit CachedTexture(CCResourceProvider* resourceProvider) 59 explicit CachedTexture(CCResourceProvider* resourceProvider)
61 : CCScopedTexture(resourceProvider) 60 : CCScopedTexture(resourceProvider)
62 , m_isComplete(false) 61 , m_isComplete(false)
63 { 62 {
64 } 63 }
65 64
66 private: 65 private:
67 bool m_isComplete; 66 bool m_isComplete;
67
68 DISALLOW_COPY_AND_ASSIGN(CachedTexture);
68 }; 69 };
69 70
70 static FloatRect quadVertexRect(); 71 static FloatRect quadVertexRect();
71 static void quadRectTransform(WebKit::WebTransformationMatrix* quadRectTrans form, const WebKit::WebTransformationMatrix& quadTransform, const FloatRect& qua dRect); 72 static void quadRectTransform(WebKit::WebTransformationMatrix* quadRectTrans form, const WebKit::WebTransformationMatrix& quadTransform, const FloatRect& qua dRect);
72 static void initializeMatrices(DrawingFrame&, const IntRect& drawRect, bool flipY); 73 static void initializeMatrices(DrawingFrame&, const IntRect& drawRect, bool flipY);
73 static IntRect moveScissorToWindowSpace(const DrawingFrame&, FloatRect sciss orRect); 74 static IntRect moveScissorToWindowSpace(const DrawingFrame&, FloatRect sciss orRect);
74 75
75 bool haveCachedResources(CCRenderPass::Id) const; 76 bool haveCachedResources(CCRenderPass::Id) const;
76 static IntSize renderPassTextureSize(const CCRenderPass*); 77 static IntSize renderPassTextureSize(const CCRenderPass*);
77 static GC3Denum renderPassTextureFormat(const CCRenderPass*); 78 static GC3Denum renderPassTextureFormat(const CCRenderPass*);
78 79
79 void drawRenderPass(DrawingFrame&, const CCRenderPass*); 80 void drawRenderPass(DrawingFrame&, const CCRenderPass*);
80 bool useRenderPass(DrawingFrame&, const CCRenderPass*); 81 bool useRenderPass(DrawingFrame&, const CCRenderPass*);
81 82
82 virtual void bindFramebufferToOutputSurface(DrawingFrame&) = 0; 83 virtual void bindFramebufferToOutputSurface(DrawingFrame&) = 0;
83 virtual bool bindFramebufferToTexture(DrawingFrame&, const CCScopedTexture*, const IntRect& framebufferRect) = 0; 84 virtual bool bindFramebufferToTexture(DrawingFrame&, const CCScopedTexture*, const IntRect& framebufferRect) = 0;
84 virtual void setDrawViewportSize(const IntSize&) = 0; 85 virtual void setDrawViewportSize(const IntSize&) = 0;
85 virtual void enableScissorTestRect(const IntRect& scissorRect) = 0; 86 virtual void enableScissorTestRect(const IntRect& scissorRect) = 0;
86 virtual void disableScissorTest() = 0; 87 virtual void disableScissorTest() = 0;
87 virtual void clearFramebuffer(DrawingFrame&) = 0; 88 virtual void clearFramebuffer(DrawingFrame&) = 0;
88 virtual void drawQuad(DrawingFrame&, const CCDrawQuad*) = 0; 89 virtual void drawQuad(DrawingFrame&, const CCDrawQuad*) = 0;
89 virtual void beginDrawingFrame(DrawingFrame&) = 0; 90 virtual void beginDrawingFrame(DrawingFrame&) = 0;
90 virtual void finishDrawingFrame(DrawingFrame&) = 0; 91 virtual void finishDrawingFrame(DrawingFrame&) = 0;
91 virtual bool flippedFramebuffer() const = 0; 92 virtual bool flippedFramebuffer() const = 0;
92 93
93 ScopedPtrHashMap<CCRenderPass::Id, CachedTexture> m_renderPassTextures; 94 ScopedPtrHashMap<CCRenderPass::Id, CachedTexture> m_renderPassTextures;
94 CCResourceProvider* m_resourceProvider; 95 CCResourceProvider* m_resourceProvider;
96
97 private:
98 DISALLOW_COPY_AND_ASSIGN(CCDirectRenderer);
95 }; 99 };
96 100
97 } 101 }
98 102
99 #endif // CCDirectRenderer_h 103 #endif // CCDirectRenderer_h
OLDNEW
« no previous file with comments | « cc/CCDebugRectHistory.h ('k') | cc/CCFontAtlas.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698