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 const RendererSettings* settings, |
33 OutputSurface* output_surface, | 33 OutputSurface* output_surface, |
34 ResourceProvider* resource_provider); | 34 ResourceProvider* resource_provider); |
35 | 35 |
36 ~SoftwareRenderer() override; | 36 ~SoftwareRenderer() override; |
37 const RendererCapabilitiesImpl& Capabilities() const override; | 37 const RendererCapabilitiesImpl& Capabilities() const override; |
38 void Finish() override; | 38 void Finish() override; |
39 void SwapBuffers(const CompositorFrameMetadata& metadata) override; | 39 void SwapBuffers(const CompositorFrameMetadata& metadata) override; |
40 void ReceiveSwapBuffersAck(const CompositorFrameAck& ack) override; | 40 void ReceiveSwapBuffersAck(const CompositorFrameAck& ack) override; |
41 void DiscardBackbuffer() override; | 41 void DiscardBackbuffer() override; |
42 void EnsureBackbuffer() override; | 42 void EnsureBackbuffer() override; |
(...skipping 13 matching lines...) Expand all Loading... |
56 void BeginDrawingFrame(DrawingFrame* frame) override; | 56 void BeginDrawingFrame(DrawingFrame* frame) override; |
57 void FinishDrawingFrame(DrawingFrame* frame) override; | 57 void FinishDrawingFrame(DrawingFrame* frame) override; |
58 bool FlippedFramebuffer(const DrawingFrame* frame) const override; | 58 bool FlippedFramebuffer(const DrawingFrame* frame) const override; |
59 void EnsureScissorTestEnabled() override; | 59 void EnsureScissorTestEnabled() override; |
60 void EnsureScissorTestDisabled() override; | 60 void EnsureScissorTestDisabled() override; |
61 void CopyCurrentRenderPassToBitmap( | 61 void CopyCurrentRenderPassToBitmap( |
62 DrawingFrame* frame, | 62 DrawingFrame* frame, |
63 scoped_ptr<CopyOutputRequest> request) override; | 63 scoped_ptr<CopyOutputRequest> request) override; |
64 | 64 |
65 SoftwareRenderer(RendererClient* client, | 65 SoftwareRenderer(RendererClient* client, |
66 const LayerTreeSettings* settings, | 66 const RendererSettings* settings, |
67 OutputSurface* output_surface, | 67 OutputSurface* output_surface, |
68 ResourceProvider* resource_provider); | 68 ResourceProvider* resource_provider); |
69 | 69 |
70 void DidChangeVisibility() override; | 70 void DidChangeVisibility() override; |
71 | 71 |
72 private: | 72 private: |
73 void ClearCanvas(SkColor color); | 73 void ClearCanvas(SkColor color); |
74 void SetClipRect(const gfx::Rect& rect); | 74 void SetClipRect(const gfx::Rect& rect); |
75 bool IsSoftwareResource(ResourceProvider::ResourceId resource_id) const; | 75 bool IsSoftwareResource(ResourceProvider::ResourceId resource_id) const; |
76 | 76 |
(...skipping 18 matching lines...) Expand all Loading... |
95 bool is_scissor_enabled_; | 95 bool is_scissor_enabled_; |
96 bool is_backbuffer_discarded_; | 96 bool is_backbuffer_discarded_; |
97 gfx::Rect scissor_rect_; | 97 gfx::Rect scissor_rect_; |
98 | 98 |
99 SoftwareOutputDevice* output_device_; | 99 SoftwareOutputDevice* output_device_; |
100 SkCanvas* root_canvas_; | 100 SkCanvas* root_canvas_; |
101 SkCanvas* current_canvas_; | 101 SkCanvas* current_canvas_; |
102 SkPaint current_paint_; | 102 SkPaint current_paint_; |
103 scoped_ptr<ResourceProvider::ScopedWriteLockSoftware> | 103 scoped_ptr<ResourceProvider::ScopedWriteLockSoftware> |
104 current_framebuffer_lock_; | 104 current_framebuffer_lock_; |
| 105 skia::RefPtr<SkCanvas> current_framebuffer_canvas_; |
105 scoped_ptr<SoftwareFrameData> current_frame_data_; | 106 scoped_ptr<SoftwareFrameData> current_frame_data_; |
106 | 107 |
107 DISALLOW_COPY_AND_ASSIGN(SoftwareRenderer); | 108 DISALLOW_COPY_AND_ASSIGN(SoftwareRenderer); |
108 }; | 109 }; |
109 | 110 |
110 } // namespace cc | 111 } // namespace cc |
111 | 112 |
112 #endif // CC_OUTPUT_SOFTWARE_RENDERER_H_ | 113 #endif // CC_OUTPUT_SOFTWARE_RENDERER_H_ |
OLD | NEW |