diff options
| author | Roozbeh Pournader <roozbeh@google.com> | 2017-06-05 15:57:14 -0700 |
|---|---|---|
| committer | Roozbeh Pournader <roozbeh@google.com> | 2017-06-05 15:57:14 -0700 |
| commit | fd8c22d513d92d547f883efc45a3dbcd9558f90a (patch) | |
| tree | d631419d14c2172612ab147c0306a5fe00e8f713 /core/java/android/text/TextLine.java | |
| parent | a3112ceedc146005779dba2825af5484d55c8827 (diff) | |
Move underline thickness and position computation to Paint
Also, in TextLine, fix underline color and thickness to come from the
underline info rather than the TextPaint object.
Bug: 32907446
Bug: 62353930
Test: Manual
Test: cts-tradefed run cts-dev --module CtsTextTestCases
Test: cts-tradefed run cts-dev --module CtsWidgetTestCases
Change-Id: I259e9cf635a7056ccd367baa77c03100c69e3b98
Diffstat (limited to 'core/java/android/text/TextLine.java')
| -rw-r--r-- | core/java/android/text/TextLine.java | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/core/java/android/text/TextLine.java b/core/java/android/text/TextLine.java index 97e281894395..e4ed62a1ead9 100644 --- a/core/java/android/text/TextLine.java +++ b/core/java/android/text/TextLine.java @@ -705,9 +705,8 @@ class TextLine { } private static void drawUnderline(TextPaint wp, Canvas c, int color, float thickness, - float xleft, float xright, int baseline) { - // kStdUnderline_Offset = 1/9, defined in SkTextFormatParams.h - final float underlineTop = baseline + wp.baselineShift + (1.0f / 9.0f) * wp.getTextSize(); + float xleft, float xright, float baseline) { + final float underlineTop = baseline + wp.baselineShift + wp.getUnderlinePosition(); final int previousColor = wp.getColor(); final Paint.Style previousStyle = wp.getStyle(); @@ -802,8 +801,6 @@ class TextLine { } if (numUnderlines != 0) { - // kStdUnderline_Thickness = 1/18, defined in SkTextFormatParams.h - final float defaultThickness = (1.0f / 18.0f) * wp.getTextSize(); for (int i = 0; i < numUnderlines; i++) { final UnderlineInfo info = underlines.get(i); @@ -826,11 +823,11 @@ class TextLine { // setUnderLineText() are called. For backward compatibility, we need to draw // both underlines, the one with custom color first. if (info.underlineColor != 0) { - drawUnderline(wp, c, wp.underlineColor, wp.underlineThickness, + drawUnderline(wp, c, info.underlineColor, info.underlineThickness, underlineXLeft, underlineXRight, y); } if (info.isUnderlineText) { - drawUnderline(wp, c, wp.getColor(), defaultThickness, + drawUnderline(wp, c, wp.getColor(), ((Paint) wp).getUnderlineThickness(), underlineXLeft, underlineXRight, y); } } |
