OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2014 Google Inc. | 2 * Copyright 2014 Google Inc. |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license that can be | 4 * Use of this source code is governed by a BSD-style license that can be |
5 * found in the LICENSE file. | 5 * found in the LICENSE file. |
6 */ | 6 */ |
7 | 7 |
8 #include "SkTextBlobRunIterator.h" | 8 #include "SkTextBlobRunIterator.h" |
9 | 9 |
10 #include "SkReadBuffer.h" | 10 #include "SkReadBuffer.h" |
(...skipping 203 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
214 const RunRecord* nextRun = RunRecord::Next(run); | 214 const RunRecord* nextRun = RunRecord::Next(run); |
215 SkDEBUGCODE(run->validate((uint8_t*)this + fStorageSize);) | 215 SkDEBUGCODE(run->validate((uint8_t*)this + fStorageSize);) |
216 run->~RunRecord(); | 216 run->~RunRecord(); |
217 run = nextRun; | 217 run = nextRun; |
218 } | 218 } |
219 } | 219 } |
220 | 220 |
221 void SkTextBlob::flatten(SkWriteBuffer& buffer) const { | 221 void SkTextBlob::flatten(SkWriteBuffer& buffer) const { |
222 int runCount = fRunCount; | 222 int runCount = fRunCount; |
223 | 223 |
224 buffer.write32(runCount); | 224 buffer.write32("runCount", runCount); |
225 buffer.writeRect(fBounds); | 225 buffer.writeRect("fBounds", fBounds); |
226 | 226 |
227 SkPaint runPaint; | 227 SkPaint runPaint; |
228 SkTextBlobRunIterator it(this); | 228 SkTextBlobRunIterator it(this); |
229 while (!it.done()) { | 229 while (!it.done()) { |
230 SkASSERT(it.glyphCount() > 0); | 230 SkASSERT(it.glyphCount() > 0); |
231 | 231 |
232 buffer.write32(it.glyphCount()); | 232 buffer.write32("glyphCount", it.glyphCount()); |
233 buffer.write32(it.positioning()); | 233 buffer.write32("positioning", it.positioning()); |
234 buffer.writePoint(it.offset()); | 234 buffer.writePoint("offset", it.offset()); |
235 // This should go away when switching to SkFont | 235 // This should go away when switching to SkFont |
236 it.applyFontToPaint(&runPaint); | 236 it.applyFontToPaint(&runPaint); |
237 buffer.writePaint(runPaint); | 237 buffer.writePaint("runPaint", runPaint); |
238 | 238 |
239 buffer.writeByteArray(it.glyphs(), it.glyphCount() * sizeof(uint16_t)); | 239 buffer.writeByteArray("glyphs", it.glyphs(), it.glyphCount() * sizeof(ui
nt16_t)); |
240 buffer.writeByteArray(it.pos(), | 240 buffer.writeByteArray("positions", it.pos(), |
241 it.glyphCount() * sizeof(SkScalar) * ScalarsPerGlyph(it.positioning(
))); | 241 it.glyphCount() * sizeof(SkScalar) * ScalarsPerGlyph(it.positioning(
))); |
242 | 242 |
243 it.next(); | 243 it.next(); |
244 SkDEBUGCODE(runCount--); | 244 SkDEBUGCODE(runCount--); |
245 } | 245 } |
246 SkASSERT(0 == runCount); | 246 SkASSERT(0 == runCount); |
247 } | 247 } |
248 | 248 |
249 const SkTextBlob* SkTextBlob::CreateFromBuffer(SkReadBuffer& reader) { | 249 const SkTextBlob* SkTextBlob::CreateFromBuffer(SkReadBuffer& reader) { |
250 int runCount = reader.read32(); | 250 int runCount = reader.read32(); |
(...skipping 388 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
639 ) | 639 ) |
640 | 640 |
641 fStorageUsed = 0; | 641 fStorageUsed = 0; |
642 fStorageSize = 0; | 642 fStorageSize = 0; |
643 fRunCount = 0; | 643 fRunCount = 0; |
644 fLastRun = 0; | 644 fLastRun = 0; |
645 fBounds.setEmpty(); | 645 fBounds.setEmpty(); |
646 | 646 |
647 return blob; | 647 return blob; |
648 } | 648 } |
OLD | NEW |