aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/SkRecord.cpp
blob: e2d919b777448f7f1a12839b3a514b482f7762a0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include "SkRecord.h"

SkRecord::~SkRecord() {
    Destroyer destroyer;
    for (unsigned i = 0; i < this->count(); i++) {
        this->mutate<void>(i, destroyer);
    }
}

void SkRecord::grow() {
    SkASSERT(fCount == fReserved);
    fReserved = SkTMax<unsigned>(kFirstReserveCount, fReserved*2);
    fRecords.realloc(fReserved);
    fTypes.realloc(fReserved);
}

size_t SkRecord::bytesUsed() const {
    return fAlloc.approxBytesAllocated() +
           fReserved * (sizeof(Record) + sizeof(Type8)) +
           sizeof(SkRecord);
}