SkPDF: fix fTextScaleX error
BUG=skia:7315 Change-Id: Ic613cb6fb8faed5b0840db4f500940bd6823de66 Reviewed-on: https://skia-review.googlesource.com/76981 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Hal Canary <halcanary@google.com>
This commit is contained in:
parent
725d9dbfa5
commit
9b491b23bb
27
gm/text_scale_skew.cpp
Normal file
27
gm/text_scale_skew.cpp
Normal file
@ -0,0 +1,27 @@
|
||||
/*
|
||||
* Copyright 2017 Google Inc.
|
||||
*
|
||||
* Use of this source code is governed by a BSD-style license that can be
|
||||
* found in the LICENSE file.
|
||||
*/
|
||||
|
||||
#include "gm.h"
|
||||
|
||||
// http://bug.skia.org/7315
|
||||
DEF_SIMPLE_GM(text_scale_skew, canvas, 256, 128) {
|
||||
SkPaint p;
|
||||
p.setTextSize(18.0f);
|
||||
p.setAntiAlias(true);
|
||||
p.setTextAlign(SkPaint::kCenter_Align);
|
||||
float y = 10.0f;
|
||||
for (float scale : { 0.5f, 0.71f, 1.0f, 1.41f, 2.0f }) {
|
||||
p.setTextScaleX(scale);
|
||||
y += p.getFontSpacing();
|
||||
float x = 50.0f;
|
||||
for (float skew : { -0.5f, 0.0f, 0.5f }) {
|
||||
p.setTextSkewX(skew);
|
||||
canvas->drawString("Skia", x, y, p);
|
||||
x += 78.0f;
|
||||
}
|
||||
}
|
||||
}
|
@ -306,6 +306,7 @@ gm_sources = [
|
||||
"$_gm/textblobtransforms.cpp",
|
||||
"$_gm/textblobuseaftergpufree.cpp",
|
||||
"$_gm/texteffects.cpp",
|
||||
"$_gm/text_scale_skew.cpp",
|
||||
"$_gm/texturedomaineffect.cpp",
|
||||
"$_gm/thinconcavepaths.cpp",
|
||||
"$_gm/thinrects.cpp",
|
||||
|
@ -414,7 +414,7 @@ void GraphicStackState::updateDrawingState(const SkPDFDevice::GraphicStateEntry&
|
||||
|
||||
if (state.fTextScaleX) {
|
||||
if (state.fTextScaleX != currentEntry()->fTextScaleX) {
|
||||
SkScalar pdfScale = state.fTextScaleX * 1000;
|
||||
SkScalar pdfScale = state.fTextScaleX * 100;
|
||||
SkPDFUtils::AppendScalar(pdfScale, fContentStream);
|
||||
fContentStream->writeText(" Tz\n");
|
||||
currentEntry()->fTextScaleX = state.fTextScaleX;
|
||||
|
Loading…
Reference in New Issue
Block a user