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" |
(...skipping 11 matching lines...) Expand all Loading... |
22 class PictureDrawQuad; | 22 class PictureDrawQuad; |
23 class RenderPassDrawQuad; | 23 class RenderPassDrawQuad; |
24 class SolidColorDrawQuad; | 24 class SolidColorDrawQuad; |
25 class TextureDrawQuad; | 25 class TextureDrawQuad; |
26 class TileDrawQuad; | 26 class TileDrawQuad; |
27 | 27 |
28 class CC_EXPORT SoftwareRenderer : public DirectRenderer { | 28 class CC_EXPORT SoftwareRenderer : public DirectRenderer { |
29 public: | 29 public: |
30 static scoped_ptr<SoftwareRenderer> Create( | 30 static scoped_ptr<SoftwareRenderer> Create( |
31 RendererClient* client, | 31 RendererClient* client, |
| 32 const LayerTreeSettings* settings, |
32 OutputSurface* output_surface, | 33 OutputSurface* output_surface, |
33 ResourceProvider* resource_provider); | 34 ResourceProvider* resource_provider); |
34 | 35 |
35 virtual ~SoftwareRenderer(); | 36 virtual ~SoftwareRenderer(); |
36 virtual const RendererCapabilities& Capabilities() const OVERRIDE; | 37 virtual const RendererCapabilities& Capabilities() const OVERRIDE; |
37 virtual void Finish() OVERRIDE; | 38 virtual void Finish() OVERRIDE; |
38 virtual void SwapBuffers() OVERRIDE; | 39 virtual void SwapBuffers() OVERRIDE; |
39 virtual void GetFramebufferPixels(void* pixels, gfx::Rect rect) OVERRIDE; | 40 virtual void GetFramebufferPixels(void* pixels, gfx::Rect rect) OVERRIDE; |
40 virtual void SetVisible(bool visible) OVERRIDE; | 41 virtual void SetVisible(bool visible) OVERRIDE; |
41 virtual void SendManagedMemoryStats( | 42 virtual void SendManagedMemoryStats( |
(...skipping 18 matching lines...) Expand all Loading... |
60 virtual void DoDrawQuad(DrawingFrame* frame, const DrawQuad* quad) OVERRIDE; | 61 virtual void DoDrawQuad(DrawingFrame* frame, const DrawQuad* quad) OVERRIDE; |
61 virtual void BeginDrawingFrame(DrawingFrame* frame) OVERRIDE; | 62 virtual void BeginDrawingFrame(DrawingFrame* frame) OVERRIDE; |
62 virtual void FinishDrawingFrame(DrawingFrame* frame) OVERRIDE; | 63 virtual void FinishDrawingFrame(DrawingFrame* frame) OVERRIDE; |
63 virtual bool FlippedFramebuffer() const OVERRIDE; | 64 virtual bool FlippedFramebuffer() const OVERRIDE; |
64 virtual void EnsureScissorTestEnabled() OVERRIDE; | 65 virtual void EnsureScissorTestEnabled() OVERRIDE; |
65 virtual void EnsureScissorTestDisabled() OVERRIDE; | 66 virtual void EnsureScissorTestDisabled() OVERRIDE; |
66 virtual void CopyCurrentRenderPassToBitmap( | 67 virtual void CopyCurrentRenderPassToBitmap( |
67 DrawingFrame* frame, | 68 DrawingFrame* frame, |
68 scoped_ptr<CopyOutputRequest> request) OVERRIDE; | 69 scoped_ptr<CopyOutputRequest> request) OVERRIDE; |
69 | 70 |
70 SoftwareRenderer( | 71 SoftwareRenderer(RendererClient* client, |
71 RendererClient* client, | 72 const LayerTreeSettings* settings, |
72 OutputSurface* output_surface, | 73 OutputSurface* output_surface, |
73 ResourceProvider* resource_provider); | 74 ResourceProvider* resource_provider); |
74 | 75 |
75 private: | 76 private: |
76 void ClearCanvas(SkColor color); | 77 void ClearCanvas(SkColor color); |
77 void SetClipRect(gfx::Rect rect); | 78 void SetClipRect(gfx::Rect rect); |
78 bool IsSoftwareResource(ResourceProvider::ResourceId resource_id) const; | 79 bool IsSoftwareResource(ResourceProvider::ResourceId resource_id) const; |
79 | 80 |
80 void DrawCheckerboardQuad(const DrawingFrame* frame, | 81 void DrawCheckerboardQuad(const DrawingFrame* frame, |
81 const CheckerboardDrawQuad* quad); | 82 const CheckerboardDrawQuad* quad); |
82 void DrawDebugBorderQuad(const DrawingFrame* frame, | 83 void DrawDebugBorderQuad(const DrawingFrame* frame, |
83 const DebugBorderDrawQuad* quad); | 84 const DebugBorderDrawQuad* quad); |
(...skipping 23 matching lines...) Expand all Loading... |
107 scoped_ptr<ResourceProvider::ScopedWriteLockSoftware> | 108 scoped_ptr<ResourceProvider::ScopedWriteLockSoftware> |
108 current_framebuffer_lock_; | 109 current_framebuffer_lock_; |
109 scoped_ptr<SoftwareFrameData> current_frame_data_; | 110 scoped_ptr<SoftwareFrameData> current_frame_data_; |
110 | 111 |
111 DISALLOW_COPY_AND_ASSIGN(SoftwareRenderer); | 112 DISALLOW_COPY_AND_ASSIGN(SoftwareRenderer); |
112 }; | 113 }; |
113 | 114 |
114 } // namespace cc | 115 } // namespace cc |
115 | 116 |
116 #endif // CC_OUTPUT_SOFTWARE_RENDERER_H_ | 117 #endif // CC_OUTPUT_SOFTWARE_RENDERER_H_ |
OLD | NEW |