static SkBufferBlock* Alloc(size_t length) { size_t capacity = LengthToCapacity(length); SkBufferBlock* block = (SkBufferBlock*)sk_malloc_throw(sizeof(SkBufferBlock) + capacity); block->fNext = NULL; block->fUsed = 0; block->fCapacity = capacity; return block; }
static SkBufferHead* Alloc(size_t length) { size_t capacity = LengthToCapacity(length); size_t size = sizeof(SkBufferHead) + capacity; SkBufferHead* head = (SkBufferHead*)sk_malloc_throw(size); head->fRefCnt = 1; head->fBlock.fNext = NULL; head->fBlock.fUsed = 0; head->fBlock.fCapacity = capacity; return head; }
static SkBufferHead* Alloc(size_t length) { size_t capacity = LengthToCapacity(length); size_t size = sizeof(SkBufferHead) + capacity; void* buffer = sk_malloc_throw(size); return new (buffer) SkBufferHead(capacity); }
static SkBufferBlock* Alloc(size_t length) { size_t capacity = LengthToCapacity(length); void* buffer = sk_malloc_throw(sizeof(SkBufferBlock) + capacity); return new (buffer) SkBufferBlock(capacity); }