aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/SkWriteBuffer.cpp
diff options
context:
space:
mode:
authorGravatar Mike Reed <reed@google.com>2017-12-07 21:30:19 +0000
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-12-07 21:30:31 +0000
commit1a104bce20adc47a343fa910899ca6c4f261be40 (patch)
treedd210345afbae56f87d564284dfe8ce93680ed7b /src/core/SkWriteBuffer.cpp
parent990014d082e82e34ae53de05fabc012af3a24778 (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.cpp26
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) {