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/macros.h" | 8 #include "base/macros.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 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
81 const RenderPassDrawQuad* quad); | 81 const RenderPassDrawQuad* quad); |
82 void DrawSolidColorQuad(const DrawingFrame* frame, | 82 void DrawSolidColorQuad(const DrawingFrame* frame, |
83 const SolidColorDrawQuad* quad); | 83 const SolidColorDrawQuad* quad); |
84 void DrawTextureQuad(const DrawingFrame* frame, | 84 void DrawTextureQuad(const DrawingFrame* frame, |
85 const TextureDrawQuad* quad); | 85 const TextureDrawQuad* quad); |
86 void DrawTileQuad(const DrawingFrame* frame, | 86 void DrawTileQuad(const DrawingFrame* frame, |
87 const TileDrawQuad* quad); | 87 const TileDrawQuad* quad); |
88 void DrawUnsupportedQuad(const DrawingFrame* frame, | 88 void DrawUnsupportedQuad(const DrawingFrame* frame, |
89 const DrawQuad* quad); | 89 const DrawQuad* quad); |
90 bool ShouldApplyBackgroundFilters(const RenderPassDrawQuad* quad) const; | 90 bool ShouldApplyBackgroundFilters(const RenderPassDrawQuad* quad) const; |
91 skia::RefPtr<SkImage> ApplyImageFilter(SkImageFilter* filter, | 91 sk_sp<SkImage> ApplyImageFilter(SkImageFilter* filter, |
92 const RenderPassDrawQuad* quad, | 92 const RenderPassDrawQuad* quad, |
93 const SkBitmap* to_filter) const; | 93 const SkBitmap* to_filter) const; |
94 gfx::Rect GetBackdropBoundingBoxForRenderPassQuad( | 94 gfx::Rect GetBackdropBoundingBoxForRenderPassQuad( |
95 const DrawingFrame* frame, | 95 const DrawingFrame* frame, |
96 const RenderPassDrawQuad* quad, | 96 const RenderPassDrawQuad* quad, |
97 const gfx::Transform& contents_device_transform) const; | 97 const gfx::Transform& contents_device_transform) const; |
98 SkBitmap GetBackdropBitmap(const gfx::Rect& bounding_rect) const; | 98 SkBitmap GetBackdropBitmap(const gfx::Rect& bounding_rect) const; |
99 sk_sp<SkShader> GetBackgroundFilterShader( | 99 sk_sp<SkShader> GetBackgroundFilterShader( |
100 const DrawingFrame* frame, | 100 const DrawingFrame* frame, |
101 const RenderPassDrawQuad* quad, | 101 const RenderPassDrawQuad* quad, |
102 SkShader::TileMode content_tile_mode) const; | 102 SkShader::TileMode content_tile_mode) const; |
103 | 103 |
104 RendererCapabilitiesImpl capabilities_; | 104 RendererCapabilitiesImpl capabilities_; |
105 bool is_scissor_enabled_; | 105 bool is_scissor_enabled_; |
106 bool is_backbuffer_discarded_; | 106 bool is_backbuffer_discarded_; |
107 gfx::Rect scissor_rect_; | 107 gfx::Rect scissor_rect_; |
108 | 108 |
109 SoftwareOutputDevice* output_device_; | 109 SoftwareOutputDevice* output_device_; |
110 SkCanvas* root_canvas_; | 110 SkCanvas* root_canvas_; |
111 SkCanvas* current_canvas_; | 111 SkCanvas* current_canvas_; |
112 SkPaint current_paint_; | 112 SkPaint current_paint_; |
113 std::unique_ptr<ResourceProvider::ScopedWriteLockSoftware> | 113 std::unique_ptr<ResourceProvider::ScopedWriteLockSoftware> |
114 current_framebuffer_lock_; | 114 current_framebuffer_lock_; |
115 skia::RefPtr<SkCanvas> current_framebuffer_canvas_; | 115 sk_sp<SkCanvas> current_framebuffer_canvas_; |
116 | 116 |
117 DISALLOW_COPY_AND_ASSIGN(SoftwareRenderer); | 117 DISALLOW_COPY_AND_ASSIGN(SoftwareRenderer); |
118 }; | 118 }; |
119 | 119 |
120 } // namespace cc | 120 } // namespace cc |
121 | 121 |
122 #endif // CC_OUTPUT_SOFTWARE_RENDERER_H_ | 122 #endif // CC_OUTPUT_SOFTWARE_RENDERER_H_ |
OLD | NEW |