diff options
author | 2014-09-29 04:48:52 -0700 | |
---|---|---|
committer | 2014-09-29 04:48:52 -0700 | |
commit | d46b8d2bab7cfba8458432248e1568ac377429e9 (patch) | |
tree | 3707a270fa43d90f2f8864d98cba576fb5bc1a48 /src/device/xps/SkXPSDevice.cpp | |
parent | cce6bbf494d571e1cd4045697475f0fb2916c2d2 (diff) |
Revert of Fix SkTextBlob offset semantics. (patchset #2 id:20001 of https://codereview.chromium.org/605533002/)
Reason for revert:
Breaking the Chrome builds with the error:
[14:54:14.317833] ../../skia/ext/pixel_ref_utils.cc:221:16: error: 'drawPosText' marked 'override' but does not override any member functions
[14:54:14.318022] virtual void drawPosText(const SkDraw& draw,
[14:54:14.318082] ^
Original issue's description:
> Fix SkTextBlob offset semantics.
>
> Implement proper x/y drawTextBlob() handling by plumbing a
> drawPosText() offset parameter (to act as an additional glyph pos
> translation) throughout the device layer.
>
> The new offset superceeds the existing constY, with a minor semantic
> tweak: whereas previous implementations were ignoring constY in 2D
> positioning mode (scalarsPerGlyph == 2), now the offset is always
> observed, in all positioning modes. We can do this because existing
> drawPosText() clients always pass constY == 0 for full positioning mode.
>
> R=reed@google.com, jvanverth@google.com, robertphillips@google.com
>
> Committed: https://skia.googlesource.com/skia/+/c13bc571d3e61a43b87eb97f0719abd304cafaf2
R=jvanverth@google.com, reed@google.com, bsalomon@google.com, fmalita@chromium.org
TBR=bsalomon@google.com, fmalita@chromium.org, jvanverth@google.com, reed@google.com
NOTREECHECKS=true
NOTRY=true
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/609223003
Diffstat (limited to 'src/device/xps/SkXPSDevice.cpp')
-rw-r--r-- | src/device/xps/SkXPSDevice.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/device/xps/SkXPSDevice.cpp b/src/device/xps/SkXPSDevice.cpp index 5bf07e9877..1a1215343a 100644 --- a/src/device/xps/SkXPSDevice.cpp +++ b/src/device/xps/SkXPSDevice.cpp @@ -2165,8 +2165,9 @@ void SkXPSDevice::drawText(const SkDraw& d, void SkXPSDevice::drawPosText(const SkDraw& d, const void* text, size_t byteLen, - const SkScalar pos[], int scalarsPerPos, - const SkPoint& offset, const SkPaint& paint) { + const SkScalar pos[], + SkScalar constY, int scalarsPerPos, + const SkPaint& paint) { if (byteLen < 1) return; if (text_must_be_pathed(paint, *d.fMatrix)) { @@ -2186,7 +2187,9 @@ void SkXPSDevice::drawPosText(const SkDraw& d, SkXPSDrawProcs procs; text_draw_init(paint, text, byteLen, *typeface->glyphsUsed, myDraw, procs); - myDraw.drawPosText(static_cast<const char*>(text), byteLen, pos, scalarsPerPos, offset, paint); + myDraw.drawPosText(static_cast<const char*>(text), byteLen, + pos, constY, scalarsPerPos, + paint); // SkDraw may have clipped out the glyphs, so we need to check if (procs.xpsGlyphs.count() == 0) { |