Lines Matching refs:rec

15     Rec* rec = fRec;
16 while (rec) {
17 Rec* next = rec->fNext;
18 Rec::Free(rec);
19 rec = next;
59 Rec* rec;
60 bool reuseRec = result.rec &&
61 result.rec->fDataLen == dataSize &&
62 result.rec->fDataCount == count;
64 rec = result.rec;
67 rec = Rec::Alloc(sizeof(Rec) + dataSize * count + len + 1);
68 rec->fType = SkToU8(type);
69 rec->fDataLen = SkToU8(dataSize);
70 rec->fDataCount = SkToU16(count);
72 memcpy(rec->name(), name, len + 1);
75 memcpy(rec->data(), data, dataSize * count);
80 } else if (result.rec) {
82 // Delayed removal since name or data may have been in the result.rec.
85 rec->fNext = result.prev->fNext;
86 result.prev->fNext = rec;
90 rec->fNext = fRec;
91 fRec = rec;
93 return rec->data();
98 const Rec* rec = this->find(name, kS32_Type);
99 if (rec)
101 SkASSERT(rec->fDataCount == 1);
103 *value = *(const int32_t*)rec->data();
111 const Rec* rec = this->find(name, kScalar_Type);
112 if (rec)
114 SkASSERT(rec->fDataCount == 1);
116 *value = *(const SkScalar*)rec->data();
124 const Rec* rec = this->find(name, kScalar_Type);
125 if (rec)
128 *count = rec->fDataCount;
130 memcpy(values, rec->data(), rec->fDataCount * rec->fDataLen);
131 return (const SkScalar*)rec->data();
137 const Rec* rec = this->find(name, kPtr_Type);
138 if (rec) {
139 SkASSERT(rec->fDataCount == 1);
140 void** found = (void**)rec->data();
151 const Rec* rec = this->find(name, kBool_Type);
152 if (rec)
154 SkASSERT(rec->fDataCount == 1);
156 *value = *(const bool*)rec->data();
164 while (current.rec) {
165 if (current.rec->fType == type && !strcmp(current.rec->name(), name))
167 current.prev = current.rec;
168 current.rec = current.rec->fNext;
175 return this->findWithPrev(name, type).rec;
179 SkASSERT(result.rec);
181 result.prev->fNext = result.rec->fNext;
183 fRec = result.rec->fNext;
185 Rec::Free(result.rec);
190 if (!result.rec) {
250 void SkMetaData::Rec::Free(Rec* rec) {
251 sk_free(rec);