| OLD | NEW | 
|---|
| (Empty) |  | 
|  | 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 
|  | 2 // Use of this source code is governed by a BSD-style license that can be | 
|  | 3 // found in the LICENSE file. | 
|  | 4 | 
|  | 5 #include "cc/resources/drawing_display_item.h" | 
|  | 6 | 
|  | 7 #include "base/logging.h" | 
|  | 8 #include "third_party/skia/include/core/SkCanvas.h" | 
|  | 9 #include "third_party/skia/include/core/SkMatrix.h" | 
|  | 10 #include "third_party/skia/include/core/SkPicture.h" | 
|  | 11 #include "third_party/skia/include/utils/SkPictureUtils.h" | 
|  | 12 | 
|  | 13 namespace cc { | 
|  | 14 | 
|  | 15 DrawingDisplayItem::DrawingDisplayItem(skia::RefPtr<SkPicture> picture, | 
|  | 16                                        gfx::PointF location) | 
|  | 17     : picture_(picture), location_(location) { | 
|  | 18 } | 
|  | 19 | 
|  | 20 DrawingDisplayItem::~DrawingDisplayItem() { | 
|  | 21 } | 
|  | 22 | 
|  | 23 void DrawingDisplayItem::Raster(SkCanvas* canvas, | 
|  | 24                                 SkDrawPictureCallback* callback) const { | 
|  | 25   canvas->save(); | 
|  | 26   canvas->translate(location_.x(), location_.y()); | 
|  | 27   if (callback) | 
|  | 28     picture_->draw(canvas, callback); | 
|  | 29   else | 
|  | 30     canvas->drawPicture(picture_.get()); | 
|  | 31   canvas->restore(); | 
|  | 32 } | 
|  | 33 | 
|  | 34 bool DrawingDisplayItem::IsSuitableForGpuRasterization() const { | 
|  | 35   return picture_->suitableForGpuRasterization(NULL); | 
|  | 36 } | 
|  | 37 | 
|  | 38 int DrawingDisplayItem::ApproximateOpCount() const { | 
|  | 39   return picture_->approximateOpCount() + sizeof(gfx::PointF); | 
|  | 40 } | 
|  | 41 | 
|  | 42 size_t DrawingDisplayItem::PictureMemoryUsage() const { | 
|  | 43   DCHECK(picture_); | 
|  | 44   return SkPictureUtils::ApproximateBytesUsed(picture_.get()); | 
|  | 45 } | 
|  | 46 | 
|  | 47 }  // namespace cc | 
| OLD | NEW | 
|---|