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 CC_SOFTWARE_RENDERER_H_ | 5 #ifndef CC_SOFTWARE_RENDERER_H_ |
6 #define CC_SOFTWARE_RENDERER_H_ | 6 #define CC_SOFTWARE_RENDERER_H_ |
7 | 7 |
8 #include "base/basictypes.h" | 8 #include "base/basictypes.h" |
9 #include "cc/cc_export.h" | 9 #include "cc/cc_export.h" |
10 #include "cc/direct_renderer.h" | 10 #include "cc/direct_renderer.h" |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
48 virtual void drawQuad(DrawingFrame&, const DrawQuad*) OVERRIDE; | 48 virtual void drawQuad(DrawingFrame&, const DrawQuad*) OVERRIDE; |
49 virtual void beginDrawingFrame(DrawingFrame&) OVERRIDE; | 49 virtual void beginDrawingFrame(DrawingFrame&) OVERRIDE; |
50 virtual void finishDrawingFrame(DrawingFrame&) OVERRIDE; | 50 virtual void finishDrawingFrame(DrawingFrame&) OVERRIDE; |
51 virtual bool flippedFramebuffer() const OVERRIDE; | 51 virtual bool flippedFramebuffer() const OVERRIDE; |
52 virtual void ensureScissorTestEnabled() OVERRIDE; | 52 virtual void ensureScissorTestEnabled() OVERRIDE; |
53 virtual void ensureScissorTestDisabled() OVERRIDE; | 53 virtual void ensureScissorTestDisabled() OVERRIDE; |
54 | 54 |
55 private: | 55 private: |
56 SoftwareRenderer(RendererClient*, ResourceProvider*, SoftwareOutputDevice*); | 56 SoftwareRenderer(RendererClient*, ResourceProvider*, SoftwareOutputDevice*); |
57 | 57 |
| 58 void clearCanvas(SkColor color); |
| 59 void setClipRect(const gfx::Rect& rect); |
58 bool isSoftwareResource(ResourceProvider::ResourceId) const; | 60 bool isSoftwareResource(ResourceProvider::ResourceId) const; |
59 | 61 |
60 void drawDebugBorderQuad(const DrawingFrame&, const DebugBorderDrawQuad*); | 62 void drawDebugBorderQuad(const DrawingFrame&, const DebugBorderDrawQuad*); |
61 void drawSolidColorQuad(const DrawingFrame&, const SolidColorDrawQuad*); | 63 void drawSolidColorQuad(const DrawingFrame&, const SolidColorDrawQuad*); |
62 void drawTextureQuad(const DrawingFrame&, const TextureDrawQuad*); | 64 void drawTextureQuad(const DrawingFrame&, const TextureDrawQuad*); |
63 void drawTileQuad(const DrawingFrame&, const TileDrawQuad*); | 65 void drawTileQuad(const DrawingFrame&, const TileDrawQuad*); |
64 void drawRenderPassQuad(const DrawingFrame& frame, const RenderPassDrawQuad*
); | 66 void drawRenderPassQuad(const DrawingFrame& frame, const RenderPassDrawQuad*
); |
65 void drawUnsupportedQuad(const DrawingFrame&, const DrawQuad*); | 67 void drawUnsupportedQuad(const DrawingFrame&, const DrawQuad*); |
66 | 68 |
67 RendererCapabilities m_capabilities; | 69 RendererCapabilities m_capabilities; |
68 bool m_visible; | 70 bool m_visible; |
| 71 bool m_isScissorEnabled; |
| 72 gfx::Rect m_scissorRect; |
69 | 73 |
70 SoftwareOutputDevice* m_outputDevice; | 74 SoftwareOutputDevice* m_outputDevice; |
71 scoped_ptr<SkCanvas> m_skRootCanvas; | 75 scoped_ptr<SkCanvas> m_skRootCanvas; |
72 SkCanvas* m_skCurrentCanvas; | 76 SkCanvas* m_skCurrentCanvas; |
73 SkPaint m_skCurrentPaint; | 77 SkPaint m_skCurrentPaint; |
74 scoped_ptr<ResourceProvider::ScopedWriteLockSoftware> m_currentFramebufferLo
ck; | 78 scoped_ptr<ResourceProvider::ScopedWriteLockSoftware> m_currentFramebufferLo
ck; |
75 | 79 |
76 DISALLOW_COPY_AND_ASSIGN(SoftwareRenderer); | 80 DISALLOW_COPY_AND_ASSIGN(SoftwareRenderer); |
77 }; | 81 }; |
78 | 82 |
79 } | 83 } |
80 | 84 |
81 #endif // CC_SOFTWARE_RENDERER_H_ | 85 #endif // CC_SOFTWARE_RENDERER_H_ |
OLD | NEW |