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 CCDirectRenderer_h | 5 #ifndef CCDirectRenderer_h |
6 #define CCDirectRenderer_h | 6 #define CCDirectRenderer_h |
7 | 7 |
8 #include "base/basictypes.h" | 8 #include "base/basictypes.h" |
9 #include "CCRenderer.h" | 9 #include "CCRenderer.h" |
10 #include "CCResourceProvider.h" | 10 #include "CCResourceProvider.h" |
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
70 DISALLOW_COPY_AND_ASSIGN(CachedTexture); | 70 DISALLOW_COPY_AND_ASSIGN(CachedTexture); |
71 }; | 71 }; |
72 | 72 |
73 static FloatRect quadVertexRect(); | 73 static FloatRect quadVertexRect(); |
74 static void quadRectTransform(WebKit::WebTransformationMatrix* quadRectTrans
form, const WebKit::WebTransformationMatrix& quadTransform, const FloatRect& qua
dRect); | 74 static void quadRectTransform(WebKit::WebTransformationMatrix* quadRectTrans
form, const WebKit::WebTransformationMatrix& quadTransform, const FloatRect& qua
dRect); |
75 static void initializeMatrices(DrawingFrame&, const IntRect& drawRect, bool
flipY); | 75 static void initializeMatrices(DrawingFrame&, const IntRect& drawRect, bool
flipY); |
76 static IntRect moveScissorToWindowSpace(const DrawingFrame&, FloatRect sciss
orRect); | 76 static IntRect moveScissorToWindowSpace(const DrawingFrame&, FloatRect sciss
orRect); |
77 | 77 |
78 bool haveCachedResources(CCRenderPass::Id) const; | 78 bool haveCachedResources(CCRenderPass::Id) const; |
79 static IntSize renderPassTextureSize(const CCRenderPass*); | 79 static IntSize renderPassTextureSize(const CCRenderPass*); |
80 static GC3Denum renderPassTextureFormat(const CCRenderPass*); | 80 static GLenum renderPassTextureFormat(const CCRenderPass*); |
81 | 81 |
82 void drawRenderPass(DrawingFrame&, const CCRenderPass*); | 82 void drawRenderPass(DrawingFrame&, const CCRenderPass*); |
83 bool useRenderPass(DrawingFrame&, const CCRenderPass*); | 83 bool useRenderPass(DrawingFrame&, const CCRenderPass*); |
84 | 84 |
85 virtual void bindFramebufferToOutputSurface(DrawingFrame&) = 0; | 85 virtual void bindFramebufferToOutputSurface(DrawingFrame&) = 0; |
86 virtual bool bindFramebufferToTexture(DrawingFrame&, const CCScopedTexture*,
const IntRect& framebufferRect) = 0; | 86 virtual bool bindFramebufferToTexture(DrawingFrame&, const CCScopedTexture*,
const IntRect& framebufferRect) = 0; |
87 virtual void setDrawViewportSize(const IntSize&) = 0; | 87 virtual void setDrawViewportSize(const IntSize&) = 0; |
88 virtual void enableScissorTestRect(const IntRect& scissorRect) = 0; | 88 virtual void enableScissorTestRect(const IntRect& scissorRect) = 0; |
89 virtual void disableScissorTest() = 0; | 89 virtual void disableScissorTest() = 0; |
90 virtual void clearFramebuffer(DrawingFrame&) = 0; | 90 virtual void clearFramebuffer(DrawingFrame&) = 0; |
91 virtual void drawQuad(DrawingFrame&, const CCDrawQuad*) = 0; | 91 virtual void drawQuad(DrawingFrame&, const CCDrawQuad*) = 0; |
92 virtual void beginDrawingFrame(DrawingFrame&) = 0; | 92 virtual void beginDrawingFrame(DrawingFrame&) = 0; |
93 virtual void finishDrawingFrame(DrawingFrame&) = 0; | 93 virtual void finishDrawingFrame(DrawingFrame&) = 0; |
94 virtual bool flippedFramebuffer() const = 0; | 94 virtual bool flippedFramebuffer() const = 0; |
95 | 95 |
96 ScopedPtrHashMap<CCRenderPass::Id, CachedTexture> m_renderPassTextures; | 96 ScopedPtrHashMap<CCRenderPass::Id, CachedTexture> m_renderPassTextures; |
97 CCResourceProvider* m_resourceProvider; | 97 CCResourceProvider* m_resourceProvider; |
98 | 98 |
99 private: | 99 private: |
100 DISALLOW_COPY_AND_ASSIGN(CCDirectRenderer); | 100 DISALLOW_COPY_AND_ASSIGN(CCDirectRenderer); |
101 }; | 101 }; |
102 | 102 |
103 } // namespace cc | 103 } // namespace cc |
104 | 104 |
105 #endif // CCDirectRenderer_h | 105 #endif // CCDirectRenderer_h |
OLD | NEW |