| Index: cc/picture.h
|
| diff --git a/cc/picture.h b/cc/picture.h
|
| index 118bcb39a5c4fc32a241335e8fde1290cb6190ff..4ee1e0c1bd6840551480f609e03feb48ddf6ebfc 100644
|
| --- a/cc/picture.h
|
| +++ b/cc/picture.h
|
| @@ -16,6 +16,10 @@
|
| #include "third_party/skia/include/core/SkPixelRef.h"
|
| #include "ui/gfx/rect.h"
|
|
|
| +namespace skia {
|
| + class AnalysisCanvas;
|
| +} // namespace skia
|
| +
|
| namespace cc {
|
|
|
| class ContentLayerClient;
|
| @@ -42,10 +46,19 @@ class CC_EXPORT Picture
|
| // Apply this contents scale and raster the content rect into the canvas.
|
| void Raster(SkCanvas* canvas, gfx::Rect content_rect, float contents_scale);
|
|
|
| - // Estimate the cost of rasterizing. To predict the cost of a particular
|
| - // call to Raster(), pass this the bounds of the canvas that will
|
| - // be rastered into.
|
| - bool IsCheapInRect(const gfx::Rect& layer_rect) const;
|
| + struct Analysis {
|
| + Analysis();
|
| +
|
| + bool is_solid_color;
|
| + bool is_transparent;
|
| + bool is_cheap_to_raster;
|
| + SkColor solid_color;
|
| + };
|
| +
|
| + void AnalyzeInRect(skia::AnalysisCanvas* canvas,
|
| + const gfx::Rect& content_rect,
|
| + float contents_scale,
|
| + Analysis* analysis);
|
|
|
| void GatherPixelRefs(
|
| const gfx::Rect& layer_rect,
|
|
|