aboutsummaryrefslogtreecommitdiffhomepage
path: root/include/core/SkTextBlob.h
Commit message (Collapse)AuthorAge
* Rename MakeAsTextDraw to MakeFromTextGravatar Herb Derby2018-07-27
| | | | | | | | | Change-Id: I3fbb4d27b728e5fc5ecec9fc9d9e215dd5a83359 Reviewed-on: https://skia-review.googlesource.com/144123 Commit-Queue: Herb Derby <herb@google.com> Commit-Queue: Cary Clark <caryclark@google.com> Auto-Submit: Herb Derby <herb@google.com> Reviewed-by: Cary Clark <caryclark@google.com>
* Hide SkTextBlob::GlyphPositioning from public APIGravatar Florin Malita2018-07-27
| | | | | | | | | | | | | Make private, add corresponding SkTextBlobRunIterator enum. Also move SkTextBlobRunIterator to SkTextBlobPriv.h. Change-Id: If3e0beabb0e8484b1ac73c6fc0827e920ca1f93b Reviewed-on: https://skia-review.googlesource.com/142501 Commit-Queue: Florin Malita <fmalita@chromium.org> Reviewed-by: Mike Reed <reed@google.com> Reviewed-by: Herb Derby <herb@google.com> Reviewed-by: Cary Clark <caryclark@google.com>
* remove unused serialization in textblobGravatar Cary Clark2018-07-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The SKTextBlob serialization code that is tested by Skia is unused by Chrome. The serialization code that is used by Chrome is untested by Skia. Remove the unused code; test the used code. The code path introduced nearly a year ago, likely for slimming paint, attempts to make text blobs smarter by allowing the reuse of typefaces. Maybe there needs to be a Chrome bug / feature request to use this? If if turns out there is no interest to do so, This CL aligns used interfaces with tests. R=reed@google.com,fmalita@google.com,bungeman@google.com Bug: skia:6818 Change-Id: I9b3ec0c326495322986ba26f20f901bcb208be73 Reviewed-on: https://skia-review.googlesource.com/141542 Reviewed-by: Cary Clark <caryclark@skia.org> Reviewed-by: Florin Malita <fmalita@chromium.org> Reviewed-by: Ben Wagner <bungeman@google.com> Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Cary Clark <caryclark@skia.org> Auto-Submit: Cary Clark <caryclark@skia.org>
* MakeAsDrawText for SkTextBlobGravatar Herb Derby2018-07-17
| | | | | | | | | Change-Id: I04ebca6b318e0654cc1e598aa323cfb9a21e5a5e Reviewed-on: https://skia-review.googlesource.com/141960 Reviewed-by: Mike Reed <reed@google.com> Reviewed-by: Cary Clark <caryclark@google.com> Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Herb Derby <herb@google.com>
* remove unused untested parts of text blobGravatar Cary Clark2018-07-17
| | | | | | | | | | | | | | | | | SkTextBlob has a number of untested entry points to serialize and deserialize. Privitize ones only used by Skia, and remove ones suspected to be unused and untested. R=fmalita@chromium.org TBR=reed@google.com,bsalomon@google.com Bug: skia:6818 Change-Id: I6a9982a26a883982af3592f3302029a1bcdf5aa3 Reviewed-on: https://skia-review.googlesource.com/141820 Reviewed-by: Florin Malita <fmalita@chromium.org> Reviewed-by: Cary Clark <caryclark@skia.org> Commit-Queue: Cary Clark <caryclark@skia.org>
* Introduce text blob processing but don't wire it upGravatar Herb Derby2018-07-13
| | | | | | | | | | | Have all the old code paths start using lists in preparation for introducing text blobs. Change-Id: I65cc02ee3da63bc3c9492db78a08b0eee3b1f931 Reviewed-on: https://skia-review.googlesource.com/141081 Commit-Queue: Herb Derby <herb@google.com> Reviewed-by: Herb Derby <herb@google.com> Reviewed-by: Mike Klein <mtklein@google.com>
* More workarounds on Windows Debug DLL crash.Gravatar Yong-Hwan Baek2018-07-09
| | | | | | | | | | | | | SkData and SkTextBlob overwrites delete operator in header file. Which causes crash on Windows Debug DLL Builds. Sample Solution can be found in https://github.com/DevHwan/SkiaDLLTest Bug: skia: Change-Id: I36bc9445f5cd17afdf852009a0695036ee18ecf0 Reviewed-on: https://skia-review.googlesource.com/139680 Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Mike Klein <mtklein@google.com>
* Revert "Remove drawTextBlob from device use drawGlyphRunList"Gravatar Robert Phillips2018-06-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit e2e52e46ca63540d429656baeee48fd3a402be26. Reason for revert: See if this is blocking the Chrome roll Original change's description: > Remove drawTextBlob from device use drawGlyphRunList > > Convert all backends to use GlyphRunList instead of > text blobs. If the device did not originally implement > drawTextBlob it will be simulated by drawPosText on the > device. > > Other changes: > Change to using an origin from absolulte positioning. The GPU > code uses origin change to update blobs under translation. > > Change cluster to use const uint32_t instead of just > uint32_t. > > Add SkPaint to runs. > > The draw filter is hosted up to the canavas level and applied there. > > Change-Id: Ib105b6bd26b67db55f1c954e37c79fbdcaa9d4a2 > Reviewed-on: https://skia-review.googlesource.com/137224 > Reviewed-by: Herb Derby <herb@google.com> > Reviewed-by: Khusal Sagar <khushalsagar@chromium.org> > Reviewed-by: Hal Canary <halcanary@google.com> > Reviewed-by: Jim Van Verth <jvanverth@google.com> > Commit-Queue: Herb Derby <herb@google.com> TBR=jvanverth@google.com,halcanary@google.com,bungeman@google.com,herb@google.com,reed@google.com,khushalsagar@chromium.org,khushalsagar@google.com Change-Id: I4d93a534990c89deee7d3aaa00ec40d47e0d2ece No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/138120 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Remove drawTextBlob from device use drawGlyphRunListGravatar Herb Derby2018-06-28
| | | | | | | | | | | | | | | | | | | | | | | | | | Convert all backends to use GlyphRunList instead of text blobs. If the device did not originally implement drawTextBlob it will be simulated by drawPosText on the device. Other changes: Change to using an origin from absolulte positioning. The GPU code uses origin change to update blobs under translation. Change cluster to use const uint32_t instead of just uint32_t. Add SkPaint to runs. The draw filter is hosted up to the canavas level and applied there. Change-Id: Ib105b6bd26b67db55f1c954e37c79fbdcaa9d4a2 Reviewed-on: https://skia-review.googlesource.com/137224 Reviewed-by: Herb Derby <herb@google.com> Reviewed-by: Khusal Sagar <khushalsagar@chromium.org> Reviewed-by: Hal Canary <halcanary@google.com> Reviewed-by: Jim Van Verth <jvanverth@google.com> Commit-Queue: Herb Derby <herb@google.com>
* Add API for SkTextBlob serialization into caller's memory.Gravatar Khushal2018-04-04
| | | | | | | | | | R=reed@google.com Change-Id: Iaeb67504aabf0dc036e81fa23c1a3c949b72b2b9 Reviewed-on: https://skia-review.googlesource.com/114262 Commit-Queue: Khusal Sagar <khushalsagar@chromium.org> Reviewed-by: Mike Klein <mtklein@google.com> Reviewed-by: Mike Reed <reed@google.com>
* simple version of serialization for SkTextBlobGravatar Mike Reed2017-12-19
| | | | | | | | Bug: skia: Change-Id: I5c7d6a74ecf6079440fe5fc758e444a16764c7aa Reviewed-on: https://skia-review.googlesource.com/87460 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Send TextBlobCache purge messages only to owning cache.Gravatar Jim Van Verth2017-12-14
| | | | | | | | Bug: 703297 Change-Id: I95cdaa5bdebadd5ce88ae3ee468c59baa08353c6 Reviewed-on: https://skia-review.googlesource.com/85046 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Jim Van Verth <jvanverth@google.com>
* Revert "Revert "use serialprocs for typefaces""Gravatar Mike Reed2017-12-08
| | | | | | | | | | | | | | This reverts commit 1a104bce20adc47a343fa910899ca6c4f261be40. Change (from first version) is - only signal error in readbuffer for corrupt stream, not default fonts - change test to ensure a non-null typeface (i.e. MakeDefault()) Bug: skia: Change-Id: I325445b56b0a402e1b89a2439df06e92314c793f Reviewed-on: https://skia-review.googlesource.com/82687 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Revert "use serialprocs for typefaces"Gravatar Mike Reed2017-12-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* use serialprocs for typefacesGravatar Mike Reed2017-12-07
| | | | | | | | | 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>
* Use SkSafeMath for text blob storage calculationsGravatar Florin Malita2017-11-22
| | | | | | | Change-Id: I028895dee81d99b1fa2a9acfa3db3f4bcb0f8f64 Reviewed-on: https://skia-review.googlesource.com/73823 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Florin Malita <fmalita@chromium.org>
* remove legacy Create from SkTextBlobGravatar Mike Reed2017-11-16
| | | | | | | | Bug: skia: Change-Id: I8814ac9fb6bf75b5113bd78e140adadde57d3898 Reviewed-on: https://skia-review.googlesource.com/72121 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Mike Reed <reed@google.com>
* Convert NULL and 0 to nullptr.Gravatar Ben Wagner2017-08-28
| | | | | | | | | | | | | | This was created by looking at warnings produced by clang's -Wzero-as-null-pointer-constant. This updates most issues in Skia code. However, there are places where GL and Vulkan want pointer values which are explicitly 0, external headers which use NULL directly, and possibly more uses in un-compiled sources (for other platforms). Change-Id: Id22fbac04d5c53497a53d734f0896b4f06fe8345 Reviewed-on: https://skia-review.googlesource.com/39521 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Ben Wagner <bungeman@google.com>
* Replace SkFAIL with SK_ABORT.Gravatar Ben Wagner2017-08-16
| | | | | | | | | | | | SkFAIL is a legacy macro which is just SK_ABORT. This CL mechanically changes uses of SkFAIL to SK_ABORT in preparation for its removal. The related sk_throw macro will be changed independently, due to needing to actually clean up its users. Change-Id: Id70b5c111a02d2458dc60c8933f444df27d9cebb Reviewed-on: https://skia-review.googlesource.com/35284 Reviewed-by: Derek Sollenberger <djsollen@google.com> Commit-Queue: Ben Wagner <bungeman@google.com>
* remove dead code around SK_SUPPORT_LEGACY_TEXTBLOB_SERIAL_APIGravatar Mike Reed2017-07-22
| | | | | | | | Bug: skia: Change-Id: Ifcf6054871d907efeb2fcf2815bc4c25671525b6 Reviewed-on: https://skia-review.googlesource.com/25944 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* switch away from std::function in public apiGravatar Mike Reed2017-07-21
| | | | | | | | Bug: skia: Change-Id: I181382dc1f9d8671b814134c1a787185745b90a8 Reviewed-on: https://skia-review.googlesource.com/25643 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Add serialize + catalog api to SkTextBlobGravatar Mike Reed2017-07-11
| | | | | | | | Bug: skia:6836 Change-Id: I858cf936b015c14f12a41a4912e19bb15de8abaa Reviewed-on: https://skia-review.googlesource.com/21730 Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Florin Malita <fmalita@chromium.org>
* Purge GrTextBlobCache entries on SkTextBlob deletionGravatar Florin Malita2017-03-14
| | | | | | | | | Similar to the SkImage purge mechanism. Change-Id: I0b7fb1bad507a3c7f30a4f7514bedd894d1748ac Reviewed-on: https://skia-review.googlesource.com/9631 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Florin Malita <fmalita@chromium.org>
* Remove run count field from SkTextBlob.Gravatar Florin Malita2017-03-13
| | | | | | | | | | | | | We can flag the last run record instead. Run iteration is always sequential, so no penalty. As a side effect, we can no longer allow instantiation of zero-run text blobs - but that seems like a good idea anyway. Change-Id: I7ca80c4780623d5a188f92dfe6d6fe152f20f666 Reviewed-on: https://skia-review.googlesource.com/9149 Commit-Queue: Florin Malita <fmalita@chromium.org> Reviewed-by: Mike Reed <reed@google.com>
* Remove SK_SUPPORT_LEGACY_TEXTBLOB_BUILDER.Gravatar Ben Wagner2016-10-13
| | | | | | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2988 Change-Id: Ib39913a67cdd05662e7a91b4f05fbe5429eb0c42 Reviewed-on: https://skia-review.googlesource.com/2988 Reviewed-by: Florin Malita <fmalita@chromium.org> Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Ben Wagner <benjaminwagner@google.com>
* Use sk_sp text blob APIsGravatar fmalita2016-09-13
| | | | | | | | | | | SkTextBlobBuilder::build() -> make() SkAutoTUnref<const SkTextBlob> -> sk_sp<SkTextBlob> drawTextBlob(const SkTextBlob*) -> drawTextBlob(const sk_sp<SkTextBlob>&) BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2335493005 Review-Url: https://codereview.chromium.org/2335493005
* SkTextBlob: Begin implementing Extended TextBlob APIGravatar halcanary2016-08-30
| | | | | | | BUG=skia:5434 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2084533004 Review-Url: https://codereview.chromium.org/2084533004
* update textblob api to use sk_spGravatar reed2016-08-10
| | | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2236013002 NOTREECHECKS=True Review-Url: https://codereview.chromium.org/2236013002
* Use SkNVRefCnt for a couple common types.Gravatar mtklein2016-08-09
| | | | | | | | | | | | | These types are ref-counted, but don't otherwise need a vtable. This makes them good candidates for SkNVRefCnt. Destruction can be a little more direct, and if nothing else, sizeof(T) will get a little smaller by dropping the vptr. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2232433002 Review-Url: https://codereview.chromium.org/2232433002
* typedef uint16_t SkGlyphIDGravatar halcanary2016-07-25
| | | | | | | This goes well with our existing `typedef int32_t SkUnichar`. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2095263003 Review-Url: https://codereview.chromium.org/2095263003
* Move SkTArray to include/private.Gravatar bungeman2016-02-17
| | | | | | | TBR=reed Agreed moving to private is good. Review URL: https://codereview.chromium.org/1702073002
* Make SkTextBlob::RunIterator public.Gravatar halcanary2015-10-27
| | | | | | | | | Motivation: This will be easier than adding a friend every time I want to create a one-off SkCanvas subclass or SkRemote::Encoder subclass. See also: SkPath::Iter. Review URL: https://codereview.chromium.org/1411723005
* Implement cached nvpr text blobsGravatar cdalton2015-10-05
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1381073002
* Start canonicalizing color for all A8 textblobsGravatar joshualitt2015-04-14
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1076593002
* Adding a cache + memory pool for GPU TextBlobsGravatar joshualitt2015-04-08
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1055843002
* Rename GrBitmapTextContextB to GrAtlasTextContextGravatar joshualitt2015-04-02
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1050173002
* BitmapTextBatch and BitmapTextBlobGravatar joshualitt2015-03-31
| | | | | | | | BUG=skia: Committed: https://skia.googlesource.com/skia/+/eed1dae04932483579b02c10f0706127d3f5d984 Review URL: https://codereview.chromium.org/1011403004
* Revert of BitmapTextBatch and BitmapTextBlob (patchset #18 id:360001 of ↵Gravatar joshualitt2015-03-31
| | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1011403004/) Reason for revert: Breaks a unit test on mac Original issue's description: > BitmapTextBatch and BitmapTextBlob > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/eed1dae04932483579b02c10f0706127d3f5d984 TBR=fmalita@chromium.org,reed@google.com,jvanverth@google.com,robertphillips@google.com,bsalomon@google.com,jvanverth@chromium.org,joshualitt@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/1050633002
* BitmapTextBatch and BitmapTextBlobGravatar joshualitt2015-03-31
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1011403004
* simple patch to always init SkTextBlob uniqueIDGravatar joshualitt2015-03-25
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1036613002
* Initial change to move text blob to GrTextContextGravatar joshualitt2015-03-23
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1019633002
* Conservative SkTextBlob bounds.Gravatar fmalita2015-01-28
| | | | | | | | | | Compute cheaper/more conservative text blob bounds based on the typeface maximum glyph bbox. BUG=chromium:451401 R=reed@google.com,bungeman@google.com Review URL: https://codereview.chromium.org/886473002
* Stop overloading internal_dispose in SkTextBlob and SkDataGravatar bsalomon2014-11-20
| | | | Review URL: https://codereview.chromium.org/737093002
* Souped-up SkTextBlob.Gravatar fmalita2014-09-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Refactored text blob backend for improved performance: instead of using separate buffers for runs/positions/glyphs, everything is now packed in a consolidated slab (including the SkTextBlob object itself!). Benefits: * number of allocations per blob construction reduced from ~4 to 1 (also minimizes internal fragmentation) * run record size reduced by 8 bytes This takes the blob construction overhead down to negligible levels (for the current Blink uncached textblob implementation). Unfortunately, the code is much more finicky (run merging in particular) -- hence the assert spree. Multi-run blobs are vulnerable to realloc storms but this is not a problem at the moment because Blink is using one-run blobs 99% of the time. Will be addressed in the future. R=mtklein@google.com, reed@google.com, robertphillips@google.com Committed: https://skia.googlesource.com/skia/+/13645ea0ea87038ebd71be3bd6d53b313069a9e4 Author: fmalita@chromium.org Review URL: https://codereview.chromium.org/581173003
* Revert of Souped-up SkTextBlob. (patchset #3 id:40001 of ↵Gravatar fmalita2014-09-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/581173003/) Reason for revert: Broke the new blobshader gm. Original issue's description: > Souped-up SkTextBlob. > > Refactored text blob backend for improved performance: instead of using > separate buffers for runs/positions/glyphs, everything is now packed in > a consolidated slab (including the SkTextBlob object itself!). > > Benefits: > > * number of allocations per blob construction reduced from ~4 to 1 > (also minimizes internal fragmentation) > * run record size reduced by 8 bytes > > This takes the blob construction overhead down to negligible levels > (for the current Blink uncached textblob implementation). > > Unfortunately, the code is much more finicky (run merging in > particular) -- hence the assert spree. > > Multi-run blobs are vulnerable to realloc storms but this is not a > problem at the moment because Blink is using one-run blobs 99% of the > time. Will be addressed in the future. > > > R=reed@google.com,mtklein@google.com,robertphillips@google.com > > Committed: https://skia.googlesource.com/skia/+/13645ea0ea87038ebd71be3bd6d53b313069a9e4 R=mtklein@google.com, reed@google.com, robertphillips@google.com TBR=mtklein@google.com, reed@google.com, robertphillips@google.com NOTREECHECKS=true NOTRY=true Author: fmalita@chromium.org Review URL: https://codereview.chromium.org/588853002
* Souped-up SkTextBlob.Gravatar fmalita2014-09-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Refactored text blob backend for improved performance: instead of using separate buffers for runs/positions/glyphs, everything is now packed in a consolidated slab (including the SkTextBlob object itself!). Benefits: * number of allocations per blob construction reduced from ~4 to 1 (also minimizes internal fragmentation) * run record size reduced by 8 bytes This takes the blob construction overhead down to negligible levels (for the current Blink uncached textblob implementation). Unfortunately, the code is much more finicky (run merging in particular) -- hence the assert spree. Multi-run blobs are vulnerable to realloc storms but this is not a problem at the moment because Blink is using one-run blobs 99% of the time. Will be addressed in the future. R=mtklein@google.com, reed@google.com, robertphillips@google.com Author: fmalita@chromium.org Review URL: https://codereview.chromium.org/581173003
* Expose drawTextBlob to devices.Gravatar fmalita2014-08-28
| | | | | | | | | | | | | Instead of unrolling blobs in SkCanvas, perform the equivalent ops in SkBaseDevice. This depends on https://codereview.chromium.org/511783005/. R=jvanverth@google.com, reed@google.com, robertphillips@google.com, bsalomon@google.com Author: fmalita@chromium.org Review URL: https://codereview.chromium.org/517663003
* SkTextBlob GPipe serialization.Gravatar fmalita2014-08-28
| | | | | | | | | | | | | Instead of relying on unrolling blobs in SkCanvas, serialize when passing through a GPipe. This is a prerequisite for pushing the blob draw op to the device. R=mtklein@google.com, reed@google.com, robertphillips@google.com Author: fmalita@chromium.org Review URL: https://codereview.chromium.org/511783005
* SkTextBlob plumbingGravatar fmalita2014-08-26
| | | | | | | | | | | Add SkTextBlob serialization + drawTextBlob() overrides. R=mtklein@google.com, reed@google.com, robertphillips@google.com BUG=269080 Author: fmalita@chromium.org Review URL: https://codereview.chromium.org/499413002
* Add SK_API to SkTextBlob and SkTextBlobBuilder.Gravatar jbroman2014-08-25
| | | | | | | | | BUG=skia:2868 R=fmalita@chromium.org, reed@google.com Author: jbroman@chromium.org Review URL: https://codereview.chromium.org/497993002