27 size_t size()
const {
return fSize; }
29 bool isEmpty()
const {
return 0 == fSize; }
34 const void*
data()
const {
return fPtr; }
41 return reinterpret_cast<const uint8_t*
>(fPtr);
52 SkASSERT(this->unique());
63 size_t copyRange(
size_t offset,
size_t length,
void* buffer)
const;
69 bool equals(
const SkData* other)
const;
75 typedef void (*ReleaseProc)(
const void* ptr,
void* context);
80 static sk_sp<SkData> MakeWithCopy(
const void* data,
size_t length);
101 static sk_sp<SkData> MakeWithProc(
const void* ptr,
size_t length, ReleaseProc proc,
void* ctx);
108 return MakeWithProc(data, length, DummyReleaseProc,
nullptr);
115 static sk_sp<SkData> MakeFromMalloc(
const void* data,
size_t length);
162 ReleaseProc fReleaseProc;
163 void* fReleaseProcContext;
167 SkData(
const void* ptr,
size_t size, ReleaseProc,
void* context);
168 explicit SkData(
size_t size);
172 void operator delete(
void* p) { ::operator
delete(p); }
175 friend SkData* sk_new_empty_data();
178 static sk_sp<SkData> PrivateNewWithCopy(
const void* srcOrNull,
size_t length);
180 static void DummyReleaseProc(
const void*,
void*);
const uint8_t * bytes() const
Like data(), returns a read-only ptr into the data, but in this case it is cast to uint8_t*...
Definition: SkData.h:40
size_t size() const
Returns the number of bytes stored.
Definition: SkData.h:27
Definition: SkRefCnt.h:125
void * writable_data()
USE WITH CAUTION.
Definition: SkData.h:49
SkData holds an immutable data buffer.
Definition: SkData.h:22
SkStream – abstraction for a source of bytes.
Definition: SkStream.h:40
const void * data() const
Returns the ptr to the data.
Definition: SkData.h:34
Definition: SkRefCnt.h:209
static sk_sp< SkData > MakeWithoutCopy(const void *data, size_t length)
Call this when the data parameter is already const and will outlive the lifetime of the SkData...
Definition: SkData.h:107