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/direct_renderer.h" | 10 #include "cc/output/direct_renderer.h" |
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
70 void DrawRenderPassQuad(const DrawingFrame* frame, | 70 void DrawRenderPassQuad(const DrawingFrame* frame, |
71 const RenderPassDrawQuad* quad); | 71 const RenderPassDrawQuad* quad); |
72 void DrawSolidColorQuad(const DrawingFrame* frame, | 72 void DrawSolidColorQuad(const DrawingFrame* frame, |
73 const SolidColorDrawQuad* quad); | 73 const SolidColorDrawQuad* quad); |
74 void DrawTextureQuad(const DrawingFrame* frame, | 74 void DrawTextureQuad(const DrawingFrame* frame, |
75 const TextureDrawQuad* quad); | 75 const TextureDrawQuad* quad); |
76 void DrawTileQuad(const DrawingFrame* frame, | 76 void DrawTileQuad(const DrawingFrame* frame, |
77 const TileDrawQuad* quad); | 77 const TileDrawQuad* quad); |
78 void DrawUnsupportedQuad(const DrawingFrame* frame, | 78 void DrawUnsupportedQuad(const DrawingFrame* frame, |
79 const DrawQuad* quad); | 79 const DrawQuad* quad); |
80 bool ShouldApplyBackgroundFilters(const RenderPassDrawQuad* quad) const; | 80 bool ShouldApplyBackgroundFilters( |
| 81 const RenderPassDrawQuad* quad, |
| 82 const FilterOperations* background_filters) const; |
81 sk_sp<SkImage> ApplyImageFilter(SkImageFilter* filter, | 83 sk_sp<SkImage> ApplyImageFilter(SkImageFilter* filter, |
82 const RenderPassDrawQuad* quad, | 84 const RenderPassDrawQuad* quad, |
83 const SkBitmap& to_filter, | 85 const SkBitmap& to_filter, |
84 SkIRect* auto_bounds) const; | 86 SkIRect* auto_bounds) const; |
85 gfx::Rect GetBackdropBoundingBoxForRenderPassQuad( | 87 gfx::Rect GetBackdropBoundingBoxForRenderPassQuad( |
86 const DrawingFrame* frame, | 88 const DrawingFrame* frame, |
87 const RenderPassDrawQuad* quad, | 89 const RenderPassDrawQuad* quad, |
88 const gfx::Transform& contents_device_transform, | 90 const gfx::Transform& contents_device_transform, |
| 91 const FilterOperations* background_filters, |
89 gfx::Rect* unclipped_rect) const; | 92 gfx::Rect* unclipped_rect) const; |
90 SkBitmap GetBackdropBitmap(const gfx::Rect& bounding_rect) const; | 93 SkBitmap GetBackdropBitmap(const gfx::Rect& bounding_rect) const; |
91 sk_sp<SkShader> GetBackgroundFilterShader( | 94 sk_sp<SkShader> GetBackgroundFilterShader( |
92 const DrawingFrame* frame, | 95 const DrawingFrame* frame, |
93 const RenderPassDrawQuad* quad, | 96 const RenderPassDrawQuad* quad, |
94 SkShader::TileMode content_tile_mode) const; | 97 SkShader::TileMode content_tile_mode) const; |
95 | 98 |
96 bool disable_picture_quad_image_filtering_ = false; | 99 bool disable_picture_quad_image_filtering_ = false; |
97 | 100 |
98 bool is_scissor_enabled_ = false; | 101 bool is_scissor_enabled_ = false; |
99 gfx::Rect scissor_rect_; | 102 gfx::Rect scissor_rect_; |
100 | 103 |
101 SoftwareOutputDevice* output_device_; | 104 SoftwareOutputDevice* output_device_; |
102 SkCanvas* root_canvas_ = nullptr; | 105 SkCanvas* root_canvas_ = nullptr; |
103 SkCanvas* current_canvas_ = nullptr; | 106 SkCanvas* current_canvas_ = nullptr; |
104 SkPaint current_paint_; | 107 SkPaint current_paint_; |
105 std::unique_ptr<ResourceProvider::ScopedWriteLockSoftware> | 108 std::unique_ptr<ResourceProvider::ScopedWriteLockSoftware> |
106 current_framebuffer_lock_; | 109 current_framebuffer_lock_; |
107 std::unique_ptr<SkCanvas> current_framebuffer_canvas_; | 110 std::unique_ptr<SkCanvas> current_framebuffer_canvas_; |
108 | 111 |
109 DISALLOW_COPY_AND_ASSIGN(SoftwareRenderer); | 112 DISALLOW_COPY_AND_ASSIGN(SoftwareRenderer); |
110 }; | 113 }; |
111 | 114 |
112 } // namespace cc | 115 } // namespace cc |
113 | 116 |
114 #endif // CC_OUTPUT_SOFTWARE_RENDERER_H_ | 117 #endif // CC_OUTPUT_SOFTWARE_RENDERER_H_ |
OLD | NEW |