diff options
author | 2017-12-07 21:30:19 +0000 | |
---|---|---|
committer | 2017-12-07 21:30:31 +0000 | |
commit | 1a104bce20adc47a343fa910899ca6c4f261be40 (patch) | |
tree | dd210345afbae56f87d564284dfe8ce93680ed7b /src/core/SkWriteBuffer.cpp | |
parent | 990014d082e82e34ae53de05fabc012af3a24778 (diff) |
Revert "use serialprocs for typefaces"
This reverts commit b681972e79993e37adb9de9666cc9064b528db8b.
Reason for revert: need to handle null typeface in new procs
Original change's description:
> use serialprocs for typefaces
>
> Bug: skia:
> Change-Id: Ibf59a0fdcf68e8555bd4241e9473e733f6a30993
> Reviewed-on: https://skia-review.googlesource.com/81840
> Reviewed-by: Florin Malita <fmalita@chromium.org>
> Reviewed-by: Mike Klein <mtklein@chromium.org>
> Commit-Queue: Mike Reed <reed@google.com>
TBR=mtklein@chromium.org,mtklein@google.com,fmalita@chromium.org,reed@google.com
Change-Id: Id69500fbc291ecee753e7ee6b80abc2a7cd60d18
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/82341
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Diffstat (limited to 'src/core/SkWriteBuffer.cpp')
-rw-r--r-- | src/core/SkWriteBuffer.cpp | 26 |
1 files changed, 3 insertions, 23 deletions
diff --git a/src/core/SkWriteBuffer.cpp b/src/core/SkWriteBuffer.cpp index 5da0aa4d93..49cccd6783 100644 --- a/src/core/SkWriteBuffer.cpp +++ b/src/core/SkWriteBuffer.cpp @@ -175,31 +175,11 @@ void SkBinaryWriteBuffer::writeTypeface(SkTypeface* obj) { return; } - // Write 32 bits (signed) - // 0 -- failure - // >0 -- index - // <0 -- custom (serial procs) - - if (obj == nullptr) { + if (nullptr == obj || nullptr == fTFSet) { fWriter.write32(0); - } else if (fProcs.fTypefaceProc) { - SkDynamicMemoryWStream stream; - if (fProcs.fTypefaceProc(obj, &stream, fProcs.fTypefaceCtx)) { - auto data = stream.detachAsData(); - size_t size = data->size(); - if (!sk_64_isS32(size)) { - size = 0; - } - int32_t ssize = SkToS32(size); - fWriter.write32(-ssize); // negative to signal custom - if (size) { - this->writePad32(data->data(), size); - } - return; - } - // if the proc returned false, we fall through for std behavior + } else { + fWriter.write32(fTFSet->add(obj)); } - fWriter.write32(fTFSet ? fTFSet->add(obj) : 0); } void SkBinaryWriteBuffer::writePaint(const SkPaint& paint) { |