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 26 matching lines...) Expand all Loading... |
37 virtual void GetFramebufferPixels(void* pixels, gfx::Rect rect) OVERRIDE; | 37 virtual void GetFramebufferPixels(void* pixels, gfx::Rect rect) OVERRIDE; |
38 virtual void SetVisible(bool visible) OVERRIDE; | 38 virtual void SetVisible(bool visible) OVERRIDE; |
39 virtual void SendManagedMemoryStats( | 39 virtual void SendManagedMemoryStats( |
40 size_t bytes_visible, | 40 size_t bytes_visible, |
41 size_t bytes_visible_and_nearby, | 41 size_t bytes_visible_and_nearby, |
42 size_t bytes_allocated) OVERRIDE {} | 42 size_t bytes_allocated) OVERRIDE {} |
43 virtual void ReceiveCompositorFrameAck( | 43 virtual void ReceiveCompositorFrameAck( |
44 const CompositorFrameAck& ack) OVERRIDE; | 44 const CompositorFrameAck& ack) OVERRIDE; |
45 | 45 |
46 protected: | 46 protected: |
47 virtual void BindFramebufferToOutputSurface(DrawingFrame& frame) OVERRIDE; | 47 virtual void BindFramebufferToOutputSurface(DrawingFrame* frame) OVERRIDE; |
48 virtual bool BindFramebufferToTexture( | 48 virtual bool BindFramebufferToTexture( |
49 DrawingFrame& frame, | 49 DrawingFrame* frame, |
50 const ScopedResource* texture, | 50 const ScopedResource* texture, |
51 gfx::Rect framebuffer_rect) OVERRIDE; | 51 gfx::Rect framebuffer_rect) OVERRIDE; |
52 virtual void SetDrawViewportSize(gfx::Size viewport_size) OVERRIDE; | 52 virtual void SetDrawViewportSize(gfx::Size viewport_size) OVERRIDE; |
53 virtual void SetScissorTestRect(gfx::Rect scissor_rect) OVERRIDE; | 53 virtual void SetScissorTestRect(gfx::Rect scissor_rect) OVERRIDE; |
54 virtual void ClearFramebuffer(DrawingFrame& frame) OVERRIDE; | 54 virtual void ClearFramebuffer(DrawingFrame* frame) OVERRIDE; |
55 virtual void DoDrawQuad(DrawingFrame& frame, const DrawQuad* quad) OVERRIDE; | 55 virtual void DoDrawQuad(DrawingFrame* frame, const DrawQuad* quad) OVERRIDE; |
56 virtual void BeginDrawingFrame(DrawingFrame& frame) OVERRIDE; | 56 virtual void BeginDrawingFrame(DrawingFrame* frame) OVERRIDE; |
57 virtual void FinishDrawingFrame(DrawingFrame& frame) OVERRIDE; | 57 virtual void FinishDrawingFrame(DrawingFrame* frame) OVERRIDE; |
58 virtual bool FlippedFramebuffer() const OVERRIDE; | 58 virtual bool FlippedFramebuffer() const OVERRIDE; |
59 virtual void EnsureScissorTestEnabled() OVERRIDE; | 59 virtual void EnsureScissorTestEnabled() OVERRIDE; |
60 virtual void EnsureScissorTestDisabled() OVERRIDE; | 60 virtual void EnsureScissorTestDisabled() OVERRIDE; |
61 | 61 |
62 private: | 62 private: |
63 SoftwareRenderer( | 63 SoftwareRenderer( |
64 RendererClient* client, | 64 RendererClient* client, |
65 OutputSurface* output_surface, | 65 OutputSurface* output_surface, |
66 ResourceProvider* resource_provider); | 66 ResourceProvider* resource_provider); |
67 | 67 |
68 void ClearCanvas(SkColor color); | 68 void ClearCanvas(SkColor color); |
69 void SetClipRect(gfx::Rect rect); | 69 void SetClipRect(gfx::Rect rect); |
70 bool IsSoftwareResource(ResourceProvider::ResourceId resource_id) const; | 70 bool IsSoftwareResource(ResourceProvider::ResourceId resource_id) const; |
71 | 71 |
72 void DrawDebugBorderQuad(const DrawingFrame& frame, | 72 void DrawDebugBorderQuad(const DrawingFrame* frame, |
73 const DebugBorderDrawQuad* quad); | 73 const DebugBorderDrawQuad* quad); |
74 void DrawSolidColorQuad(const DrawingFrame& frame, | 74 void DrawSolidColorQuad(const DrawingFrame* frame, |
75 const SolidColorDrawQuad* quad); | 75 const SolidColorDrawQuad* quad); |
76 void DrawTextureQuad(const DrawingFrame& frame, | 76 void DrawTextureQuad(const DrawingFrame* frame, |
77 const TextureDrawQuad* quad); | 77 const TextureDrawQuad* quad); |
78 void DrawTileQuad(const DrawingFrame& frame, | 78 void DrawTileQuad(const DrawingFrame* frame, |
79 const TileDrawQuad* quad); | 79 const TileDrawQuad* quad); |
80 void DrawRenderPassQuad(const DrawingFrame& frame, | 80 void DrawRenderPassQuad(const DrawingFrame* frame, |
81 const RenderPassDrawQuad* quad); | 81 const RenderPassDrawQuad* quad); |
82 void DrawUnsupportedQuad(const DrawingFrame& frame, | 82 void DrawUnsupportedQuad(const DrawingFrame* frame, |
83 const DrawQuad* quad); | 83 const DrawQuad* quad); |
84 | 84 |
85 RendererCapabilities capabilities_; | 85 RendererCapabilities capabilities_; |
86 bool visible_; | 86 bool visible_; |
87 bool is_scissor_enabled_; | 87 bool is_scissor_enabled_; |
88 gfx::Rect scissor_rect_; | 88 gfx::Rect scissor_rect_; |
89 | 89 |
90 OutputSurface* output_surface_; | 90 OutputSurface* output_surface_; |
91 SoftwareOutputDevice* output_device_; | 91 SoftwareOutputDevice* output_device_; |
92 SkCanvas* root_canvas_; | 92 SkCanvas* root_canvas_; |
93 SkCanvas* current_canvas_; | 93 SkCanvas* current_canvas_; |
94 SkPaint current_paint_; | 94 SkPaint current_paint_; |
95 scoped_ptr<ResourceProvider::ScopedWriteLockSoftware> | 95 scoped_ptr<ResourceProvider::ScopedWriteLockSoftware> |
96 current_framebuffer_lock_; | 96 current_framebuffer_lock_; |
97 CompositorFrame compositor_frame_; | 97 CompositorFrame compositor_frame_; |
98 | 98 |
99 DISALLOW_COPY_AND_ASSIGN(SoftwareRenderer); | 99 DISALLOW_COPY_AND_ASSIGN(SoftwareRenderer); |
100 }; | 100 }; |
101 | 101 |
102 } | 102 } |
103 | 103 |
104 #endif // CC_OUTPUT_SOFTWARE_RENDERER_H_ | 104 #endif // CC_OUTPUT_SOFTWARE_RENDERER_H_ |
OLD | NEW |