diff options
author | 2018-06-28 12:00:35 +0000 | |
---|---|---|
committer | 2018-06-28 12:00:47 +0000 | |
commit | 385804514edf602f978975c825b78692a044c6b9 (patch) | |
tree | 891790d5b77fa447c75ec9a25487ecd8ae22c332 /src/gpu/text/GrTextContext.h | |
parent | e97bb26893a1c24deeb38b818a1f4c1638a9983d (diff) |
Revert "Remove drawTextBlob from device use drawGlyphRunList"
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>
Diffstat (limited to 'src/gpu/text/GrTextContext.h')
-rw-r--r-- | src/gpu/text/GrTextContext.h | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/src/gpu/text/GrTextContext.h b/src/gpu/text/GrTextContext.h index 25aeea0c7a..dd82b3ce7d 100644 --- a/src/gpu/text/GrTextContext.h +++ b/src/gpu/text/GrTextContext.h @@ -48,9 +48,9 @@ public: const SkMatrix& viewMatrix, const SkSurfaceProps&, const char text[], size_t byteLength, const SkScalar pos[], int scalarsPerPosition, const SkPoint& offset, const SkIRect& regionClipBounds); - void drawGlyphRunList(GrContext*, GrTextUtils::Target*, const GrClip&, - const SkMatrix& viewMatrix, const SkSurfaceProps&, SkGlyphRunList*, - const SkIRect& clipBounds); + void drawTextBlob(GrContext*, GrTextUtils::Target*, const GrClip&, const SkPaint&, + const SkMatrix& viewMatrix, const SkSurfaceProps&, const SkTextBlob*, + SkScalar x, SkScalar y, SkDrawFilter*, const SkIRect& clipBounds); std::unique_ptr<GrDrawOp> createOp_TestingOnly(GrContext*, GrTextContext*, @@ -115,15 +115,17 @@ private: static SkColor ComputeCanonicalColor(const SkPaint&, bool lcd); // Determines if we need to use fake gamma (and contrast boost): static SkScalerContextFlags ComputeScalerContextFlags(const GrColorSpaceInfo&); - - void regenerateGlyphRunList(GrTextBlob* bmp, + void regenerateTextBlob(GrTextBlob* bmp, GrGlyphCache*, const GrShaderCaps&, const GrTextUtils::Paint&, SkScalerContextFlags scalerContextFlags, const SkMatrix& viewMatrix, const SkSurfaceProps&, - SkGlyphRunList* glyphRunList) const; + const SkTextBlob* blob, SkScalar x, SkScalar y, + SkDrawFilter* drawFilter) const; + + static bool HasLCD(const SkTextBlob*); sk_sp<GrTextBlob> makeDrawPosTextBlob(GrTextBlobCache*, GrGlyphCache*, const GrShaderCaps&, |