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_OUTPUT_SOFTWARE_RENDERER_H_ | 5 #ifndef CC_OUTPUT_SOFTWARE_RENDERER_H_ |
6 #define CC_OUTPUT_SOFTWARE_RENDERER_H_ | 6 #define CC_OUTPUT_SOFTWARE_RENDERER_H_ |
7 | 7 |
8 #include "base/basictypes.h" | 8 #include "base/basictypes.h" |
9 #include "cc/base/cc_export.h" | 9 #include "cc/base/cc_export.h" |
10 #include "cc/output/compositor_frame.h" | 10 #include "cc/output/compositor_frame.h" |
11 #include "cc/output/direct_renderer.h" | 11 #include "cc/output/direct_renderer.h" |
12 | 12 |
13 namespace cc { | 13 namespace cc { |
14 | 14 |
15 class OutputSurface; | 15 class OutputSurface; |
16 class RendererClient; | 16 class RendererClient; |
17 class ResourceProvider; | 17 class ResourceProvider; |
18 class SoftwareOutputDevice; | 18 class SoftwareOutputDevice; |
19 | 19 |
20 class CheckerboardDrawQuad; | 20 class CheckerboardDrawQuad; |
21 class DebugBorderDrawQuad; | 21 class DebugBorderDrawQuad; |
| 22 class FilterDrawQuad; |
22 class PictureDrawQuad; | 23 class PictureDrawQuad; |
23 class RenderPassDrawQuad; | 24 class RenderPassDrawQuad; |
24 class SolidColorDrawQuad; | 25 class SolidColorDrawQuad; |
25 class TextureDrawQuad; | 26 class TextureDrawQuad; |
26 class TileDrawQuad; | 27 class TileDrawQuad; |
27 | 28 |
28 class CC_EXPORT SoftwareRenderer : public DirectRenderer { | 29 class CC_EXPORT SoftwareRenderer : public DirectRenderer { |
29 public: | 30 public: |
30 static scoped_ptr<SoftwareRenderer> Create( | 31 static scoped_ptr<SoftwareRenderer> Create( |
31 RendererClient* client, | 32 RendererClient* client, |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
85 void DrawRenderPassQuad(const DrawingFrame* frame, | 86 void DrawRenderPassQuad(const DrawingFrame* frame, |
86 const RenderPassDrawQuad* quad); | 87 const RenderPassDrawQuad* quad); |
87 void DrawSolidColorQuad(const DrawingFrame* frame, | 88 void DrawSolidColorQuad(const DrawingFrame* frame, |
88 const SolidColorDrawQuad* quad); | 89 const SolidColorDrawQuad* quad); |
89 void DrawTextureQuad(const DrawingFrame* frame, | 90 void DrawTextureQuad(const DrawingFrame* frame, |
90 const TextureDrawQuad* quad); | 91 const TextureDrawQuad* quad); |
91 void DrawTileQuad(const DrawingFrame* frame, | 92 void DrawTileQuad(const DrawingFrame* frame, |
92 const TileDrawQuad* quad); | 93 const TileDrawQuad* quad); |
93 void DrawUnsupportedQuad(const DrawingFrame* frame, | 94 void DrawUnsupportedQuad(const DrawingFrame* frame, |
94 const DrawQuad* quad); | 95 const DrawQuad* quad); |
| 96 void DrawFilterQuad(const DrawingFrame* frame, const FilterDrawQuad* quad); |
95 | 97 |
96 RendererCapabilitiesImpl capabilities_; | 98 RendererCapabilitiesImpl capabilities_; |
97 bool is_scissor_enabled_; | 99 bool is_scissor_enabled_; |
98 bool is_backbuffer_discarded_; | 100 bool is_backbuffer_discarded_; |
99 gfx::Rect scissor_rect_; | 101 gfx::Rect scissor_rect_; |
100 | 102 |
101 SoftwareOutputDevice* output_device_; | 103 SoftwareOutputDevice* output_device_; |
102 SkCanvas* root_canvas_; | 104 SkCanvas* root_canvas_; |
103 SkCanvas* current_canvas_; | 105 SkCanvas* current_canvas_; |
104 SkPaint current_paint_; | 106 SkPaint current_paint_; |
105 scoped_ptr<ResourceProvider::ScopedWriteLockSoftware> | 107 scoped_ptr<ResourceProvider::ScopedWriteLockSoftware> |
106 current_framebuffer_lock_; | 108 current_framebuffer_lock_; |
107 scoped_ptr<SoftwareFrameData> current_frame_data_; | 109 scoped_ptr<SoftwareFrameData> current_frame_data_; |
108 | 110 |
109 DISALLOW_COPY_AND_ASSIGN(SoftwareRenderer); | 111 DISALLOW_COPY_AND_ASSIGN(SoftwareRenderer); |
110 }; | 112 }; |
111 | 113 |
112 } // namespace cc | 114 } // namespace cc |
113 | 115 |
114 #endif // CC_OUTPUT_SOFTWARE_RENDERER_H_ | 116 #endif // CC_OUTPUT_SOFTWARE_RENDERER_H_ |
OLD | NEW |