24 size_t drawablesSize = 0;
26 for (
auto&& drawable : *fDrawableList) {
27 drawablesSize += drawable->approximateBytesUsed();
30 return sizeof(*this) +
38 int drawableCount = 0;
40 drawables = fDrawableList->begin();
41 drawableCount = fDrawableList->count();
43 SkRecordDraw(*fRecord, canvas,
nullptr, drawables, drawableCount, fBBH.
get(),
nullptr);
49 std::unique_ptr<SkBigPicture::SnapshotArray> pictList{
50 fDrawableList ? fDrawableList->newDrawableSnapshot() :
nullptr
53 size_t subPictureBytes = 0;
54 for (
int i = 0; pictList && i < pictList->count(); i++) {
55 subPictureBytes += pictList->begin()[i]->approximateBytesUsed();
57 return sk_make_sp<SkBigPicture>(
fBounds, fRecord, std::move(pictList), fBBH, subPictureBytes);
77 SkDrawable*
const* drawables = fDrawableList ? fDrawableList->begin() :
nullptr;
78 int drawableCount = fDrawableList ? fDrawableList->count() : 0;
80 SkRecordDraw(*fRecord, &pictureRecord,
nullptr, drawables, drawableCount, bbh,
nullptr);
96 info.fCullRect = bounds;
static void info(const char *fmt,...) SK_PRINTF_LIKE(1
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 getLocalClipBounds() const
static SkPictureData * CreateFromBuffer(SkReadBuffer &, const SkPictInfo &)
void flatten(SkWriteBuffer &) const
SkCanvas * beginRecording(const SkRect &bounds, sk_sp< SkBBoxHierarchy > bbh)
sk_sp< SkDrawable > finishRecordingAsDrawable()
sk_sp< SkPicture > onMakePictureSnapshot() override
void onDraw(SkCanvas *canvas) override
size_t onApproximateBytesUsed() override
void flatten(SkWriteBuffer &buffer) const override
static const uint8_t buffer[]
static constexpr SkISize Make(int32_t w, int32_t h)
void setVersion(uint32_t version)
bool contains(SkScalar x, SkScalar y) const
constexpr float height() const
constexpr float width() const