Lines Matching defs:buffer
272 void SkVerticesPriv::encode(SkWriteBuffer& buffer) const {
287 buffer.writeUInt(packed);
288 buffer.writeInt(fVertices->fVertexCount);
289 buffer.writeInt(fVertices->fIndexCount);
292 buffer.writeByteArray(fVertices->fPositions, sizes.fVSize);
293 buffer.writeByteArray(fVertices->fTexs, sizes.fTSize);
294 buffer.writeByteArray(fVertices->fColors, sizes.fCSize);
296 buffer.writeByteArray(fVertices->fIndices, sizes.fISize);
299 sk_sp<SkVertices> SkVerticesPriv::Decode(SkReadBuffer& buffer) {
300 auto decode = [](SkReadBuffer& buffer) -> sk_sp<SkVertices> {
302 bool hasCustomData = buffer.isVersionLT(SkPicturePriv::kVerticesRemoveCustomData_Version);
304 const uint32_t packed = buffer.readUInt();
305 const int vertexCount = safe.checkGE(buffer.readInt(), 0);
306 const int indexCount = safe.checkGE(buffer.readInt(), 0);
307 const int attrCount = hasCustomData ? safe.checkGE(buffer.readInt(), 0) : 0;
313 // Check that the header fields and buffer are valid. If this is data with the experimental
315 if (!safe || !buffer.isValid() || attrCount) {
330 buffer.readByteArray(builder.positions(), sizes.fVSize);
333 buffer.skipByteArray(&customDataSize);
338 buffer.readByteArray(builder.texCoords(), sizes.fTSize);
339 buffer.readByteArray(builder.colors(), sizes.fCSize);
342 buffer.readByteArray(builder.indices(), isize);
344 if (!buffer.isValid()) {
361 if (auto verts = decode(buffer)) {
364 buffer.validate(false);