| OLD | NEW |
| 1 // Copyright 2017 The Chromium Authors. All rights reserved. | 1 // Copyright 2017 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 #include "cc/paint/paint_op_buffer.h" | 5 #include "cc/paint/paint_op_buffer.h" |
| 6 | 6 |
| 7 #include "cc/paint/display_item_list.h" | 7 #include "cc/paint/display_item_list.h" |
| 8 #include "cc/paint/paint_record.h" | 8 #include "cc/paint/paint_record.h" |
| 9 #include "third_party/skia/include/core/SkAnnotation.h" | 9 #include "third_party/skia/include/core/SkAnnotation.h" |
| 10 | 10 |
| (...skipping 484 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 495 AnnotateOp::~AnnotateOp() = default; | 495 AnnotateOp::~AnnotateOp() = default; |
| 496 | 496 |
| 497 DrawDisplayItemListOp::DrawDisplayItemListOp( | 497 DrawDisplayItemListOp::DrawDisplayItemListOp( |
| 498 scoped_refptr<DisplayItemList> list) | 498 scoped_refptr<DisplayItemList> list) |
| 499 : list(list) {} | 499 : list(list) {} |
| 500 | 500 |
| 501 size_t DrawDisplayItemListOp::AdditionalBytesUsed() const { | 501 size_t DrawDisplayItemListOp::AdditionalBytesUsed() const { |
| 502 return list->ApproximateMemoryUsage(); | 502 return list->ApproximateMemoryUsage(); |
| 503 } | 503 } |
| 504 | 504 |
| 505 bool DrawDisplayItemListOp::HasDiscardableImages() const { |
| 506 return list->has_discardable_images(); |
| 507 } |
| 508 |
| 505 DrawDisplayItemListOp::DrawDisplayItemListOp(const DrawDisplayItemListOp& op) = | 509 DrawDisplayItemListOp::DrawDisplayItemListOp(const DrawDisplayItemListOp& op) = |
| 506 default; | 510 default; |
| 507 | 511 |
| 508 DrawDisplayItemListOp& DrawDisplayItemListOp::operator=( | 512 DrawDisplayItemListOp& DrawDisplayItemListOp::operator=( |
| 509 const DrawDisplayItemListOp& op) = default; | 513 const DrawDisplayItemListOp& op) = default; |
| 510 | 514 |
| 511 DrawDisplayItemListOp::~DrawDisplayItemListOp() = default; | 515 DrawDisplayItemListOp::~DrawDisplayItemListOp() = default; |
| 512 | 516 |
| 513 DrawImageOp::DrawImageOp(const PaintImage& image, | 517 DrawImageOp::DrawImageOp(const PaintImage& image, |
| 514 SkScalar left, | 518 SkScalar left, |
| 515 SkScalar top, | 519 SkScalar top, |
| 516 const PaintFlags* flags) | 520 const PaintFlags* flags) |
| 517 : PaintOpWithFlags(flags ? *flags : PaintFlags()), | 521 : PaintOpWithFlags(flags ? *flags : PaintFlags()), |
| 518 image(image), | 522 image(image), |
| 519 left(left), | 523 left(left), |
| 520 top(top) {} | 524 top(top) {} |
| 521 | 525 |
| 526 bool DrawImageOp::HasDiscardableImages() const { |
| 527 // TODO(khushalsagar): Callers should not be able to change the lazy generated |
| 528 // state for a PaintImage. |
| 529 return image.sk_image()->isLazyGenerated(); |
| 530 } |
| 531 |
| 522 DrawImageOp::~DrawImageOp() = default; | 532 DrawImageOp::~DrawImageOp() = default; |
| 523 | 533 |
| 524 DrawImageRectOp::DrawImageRectOp(const PaintImage& image, | 534 DrawImageRectOp::DrawImageRectOp(const PaintImage& image, |
| 525 const SkRect& src, | 535 const SkRect& src, |
| 526 const SkRect& dst, | 536 const SkRect& dst, |
| 527 const PaintFlags* flags, | 537 const PaintFlags* flags, |
| 528 PaintCanvas::SrcRectConstraint constraint) | 538 PaintCanvas::SrcRectConstraint constraint) |
| 529 : PaintOpWithFlags(flags ? *flags : PaintFlags()), | 539 : PaintOpWithFlags(flags ? *flags : PaintFlags()), |
| 530 image(image), | 540 image(image), |
| 531 src(src), | 541 src(src), |
| 532 dst(dst), | 542 dst(dst), |
| 533 constraint(constraint) {} | 543 constraint(constraint) {} |
| 534 | 544 |
| 545 bool DrawImageRectOp::HasDiscardableImages() const { |
| 546 return image.sk_image()->isLazyGenerated(); |
| 547 } |
| 548 |
| 535 DrawImageRectOp::~DrawImageRectOp() = default; | 549 DrawImageRectOp::~DrawImageRectOp() = default; |
| 536 | 550 |
| 537 DrawPosTextOp::DrawPosTextOp(size_t bytes, | 551 DrawPosTextOp::DrawPosTextOp(size_t bytes, |
| 538 size_t count, | 552 size_t count, |
| 539 const PaintFlags& flags) | 553 const PaintFlags& flags) |
| 540 : PaintOpWithArray(flags, bytes, count) {} | 554 : PaintOpWithArray(flags, bytes, count) {} |
| 541 | 555 |
| 542 DrawPosTextOp::~DrawPosTextOp() = default; | 556 DrawPosTextOp::~DrawPosTextOp() = default; |
| 543 | 557 |
| 544 DrawRecordOp::DrawRecordOp(sk_sp<const PaintRecord> record) | 558 DrawRecordOp::DrawRecordOp(sk_sp<const PaintRecord> record) |
| 545 : record(std::move(record)) {} | 559 : record(std::move(record)) {} |
| 546 | 560 |
| 547 DrawRecordOp::~DrawRecordOp() = default; | 561 DrawRecordOp::~DrawRecordOp() = default; |
| 548 | 562 |
| 549 size_t DrawRecordOp::AdditionalBytesUsed() const { | 563 size_t DrawRecordOp::AdditionalBytesUsed() const { |
| 550 return record->approximateBytesUsed(); | 564 return record->approximateBytesUsed(); |
| 551 } | 565 } |
| 552 | 566 |
| 567 bool DrawRecordOp::HasDiscardableImages() const { |
| 568 return record->HasDiscardableImages(); |
| 569 } |
| 570 |
| 553 DrawTextBlobOp::DrawTextBlobOp(sk_sp<SkTextBlob> blob, | 571 DrawTextBlobOp::DrawTextBlobOp(sk_sp<SkTextBlob> blob, |
| 554 SkScalar x, | 572 SkScalar x, |
| 555 SkScalar y, | 573 SkScalar y, |
| 556 const PaintFlags& flags) | 574 const PaintFlags& flags) |
| 557 : PaintOpWithFlags(flags), blob(std::move(blob)), x(x), y(y) {} | 575 : PaintOpWithFlags(flags), blob(std::move(blob)), x(x), y(y) {} |
| 558 | 576 |
| 559 DrawTextBlobOp::~DrawTextBlobOp() = default; | 577 DrawTextBlobOp::~DrawTextBlobOp() = default; |
| 560 | 578 |
| 561 PaintOpBuffer::PaintOpBuffer() : cull_rect_(SkRect::MakeEmpty()) {} | 579 PaintOpBuffer::PaintOpBuffer() : cull_rect_(SkRect::MakeEmpty()) {} |
| 562 | 580 |
| (...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 689 return std::make_pair(op, skip); | 707 return std::make_pair(op, skip); |
| 690 } | 708 } |
| 691 | 709 |
| 692 void PaintOpBuffer::ShrinkToFit() { | 710 void PaintOpBuffer::ShrinkToFit() { |
| 693 if (!used_ || used_ == reserved_) | 711 if (!used_ || used_ == reserved_) |
| 694 return; | 712 return; |
| 695 ReallocBuffer(used_); | 713 ReallocBuffer(used_); |
| 696 } | 714 } |
| 697 | 715 |
| 698 } // namespace cc | 716 } // namespace cc |
| OLD | NEW |