Home | History | Annotate | Download | only in core

Lines Matching refs:rec

47     Rec* rec = fRec;
48 while (rec) {
49 if (kPtr_Type == rec->fType) {
50 PtrPair* pair = (PtrPair*)rec->data();
55 Rec* next = rec->fNext;
56 Rec::Free(rec);
57 rec = next;
66 const Rec* rec = src.fRec;
67 while (rec)
69 this->set(rec->name(), rec->data(), rec->fDataLen, (Type)rec->fType, rec->fDataCount);
70 rec = rec->fNext;
121 Rec* rec = Rec::Alloc(sizeof(Rec) + dataSize * count + len + 1);
124 rec->fType = SkToU8(type);
126 rec->fType = type;
128 rec->fDataLen = SkToU8(dataSize);
129 rec->fDataCount = SkToU16(count);
131 memcpy(rec->data(), data, dataSize * count);
132 memcpy(rec->name(), name, len + 1);
135 PtrPair* pair = (PtrPair*)rec->data();
141 rec->fNext = fRec;
142 fRec = rec;
143 return rec->data();
148 const Rec* rec = this->find(name, kS32_Type);
149 if (rec)
151 SkASSERT(rec->fDataCount == 1);
153 *value = *(const int32_t*)rec->data();
161 const Rec* rec = this->find(name, kScalar_Type);
162 if (rec)
164 SkASSERT(rec->fDataCount == 1);
166 *value = *(const SkScalar*)rec->data();
174 const Rec* rec = this->find(name, kScalar_Type);
175 if (rec)
178 *count = rec->fDataCount;
180 memcpy(values, rec->data(), rec->fDataCount * rec->fDataLen);
181 return (const SkScalar*)rec->data();
187 const Rec* rec = this->find(name, kPtr_Type);
188 if (rec) {
189 SkASSERT(rec->fDataCount == 1);
190 const PtrPair* pair = (const PtrPair*)rec->data();
204 const Rec* rec = this->find(name, kString_Type);
205 SkASSERT(rec == nullptr || rec->fDataLen == sizeof(char));
206 return rec ? (const char*)rec->data() : nullptr;
211 const Rec* rec = this->find(name, kBool_Type);
212 if (rec)
214 SkASSERT(rec->fDataCount == 1);
216 *value = *(const bool*)rec->data();
223 const Rec* rec = this->find(name, kData_Type);
224 if (rec) {
225 SkASSERT(rec->fDataLen == sizeof(char));
227 *length = rec->fDataCount;
229 return rec->data();
234 const SkMetaData::Rec* SkMetaData::find(const char name[], Type type) const
236 const Rec* rec = fRec;
237 while (rec)
239 if (rec->fType == type && !strcmp(rec->name(), name))
240 return rec;
241 rec = rec->fNext;
247 Rec* rec = fRec;
248 Rec* prev = nullptr;
249 while (rec) {
250 Rec* next = rec->fNext;
251 if (rec->fType == type && !strcmp(rec->name(), name)) {
259 PtrPair* pair = (PtrPair*)rec->data();
264 Rec::Free(rec);
267 prev = rec;
268 rec = next;
331 SkMetaData::Rec* SkMetaData::Rec::Alloc(size_t size) {
332 return (Rec*)sk_malloc_throw(size);
335 void SkMetaData::Rec::Free(Rec* rec) {
336 sk_free(rec);