21 std::unique_ptr<SnapshotArray> drawablePicts,
23 size_t approxBytesUsedBySubPictures)
25 , fApproxBytesUsedBySubPictures(approxBytesUsedBySubPictures)
26 , fRecord(
std::move(record))
27 , fDrawablePicts(
std::move(drawablePicts))
28 , fBBH(
std::move(bbh))
39 this->drawablePicts(),
41 this->drawableCount(),
42 useBBH ? fBBH.
get() :
nullptr,
53 fCount += op.picture->approximateOpCount(
true);
61 for (
int i = 0;
i < fRecord->
count();
i++) {
62 fRecord->
visit(
i, visitor);
66 return fRecord->
count();
70 size_t bytes =
sizeof(*this) + fRecord->
bytesUsed() + fApproxBytesUsedBySubPictures;
75int SkBigPicture::drawableCount()
const {
76 return fDrawablePicts ? fDrawablePicts->count() : 0;
79SkPicture const*
const* SkBigPicture::drawablePicts()
const {
80 return fDrawablePicts ? fDrawablePicts->begin() :
nullptr;
void SkRecordDraw(const SkRecord &record, SkCanvas *canvas, SkPicture const *const drawablePicts[], SkDrawable *const drawables[], int drawableCount, const SkBBoxHierarchy *bbh, SkPicture::AbortCallback *callback)
virtual size_t bytesUsed() const =0
SkRect cullRect() const override
void playback(SkCanvas *, AbortCallback *) const override
size_t approximateBytesUsed() const override
int approximateOpCount(bool nested) const override
SkRect getLocalClipBounds() const
friend class SkBigPicture
auto visit(int i, F &&f) const -> decltype(f(SkRecords::NoOp()))
FlKeyEvent uint64_t FlKeyResponderAsyncCallback callback
void operator()(const SkRecords::DrawPicture &op)
void operator()(const T &op)
bool contains(SkScalar x, SkScalar y) const