Loading api/current.txt +6 −0 Original line number Diff line number Diff line Loading @@ -14007,6 +14007,10 @@ package android.graphics { method public float getRunAdvance(char[], int, int, int, int, boolean, int); method public float getRunAdvance(java.lang.CharSequence, int, int, int, int, boolean, int); method public android.graphics.Shader getShader(); method public int getShadowLayerColor(); method public float getShadowLayerDx(); method public float getShadowLayerDy(); method public float getShadowLayerRadius(); method public float getStrikeThruPosition(); method public float getStrikeThruThickness(); method public android.graphics.Paint.Cap getStrokeCap(); Loading Loading @@ -44158,6 +44162,8 @@ package android.text { field public float density; field public int[] drawableState; field public int linkColor; field public int underlineColor; field public float underlineThickness; } public class TextUtils { core/java/android/text/TextLine.java +39 −1 Original line number Diff line number Diff line Loading @@ -1230,7 +1230,7 @@ public class TextLine { // with the next chunk. So we just save the TextPaint for future comparisons // and use. activePaint.set(wp); } else if (!wp.hasEqualAttributes(activePaint)) { } else if (!equalAttributes(wp, activePaint)) { // The style of the present chunk of text is substantially different from the // style of the previous chunk. We need to handle the active piece of text // and restart with the present chunk. Loading Loading @@ -1335,4 +1335,42 @@ public class TextLine { } private static final int TAB_INCREMENT = 20; private static boolean equalAttributes(@NonNull TextPaint lp, @NonNull TextPaint rp) { return lp.getColorFilter() == rp.getColorFilter() && lp.getMaskFilter() == rp.getMaskFilter() && lp.getShader() == rp.getShader() && lp.getTypeface() == rp.getTypeface() && lp.getXfermode() == rp.getXfermode() && lp.getTextLocales().equals(rp.getTextLocales()) && TextUtils.equals(lp.getFontFeatureSettings(), rp.getFontFeatureSettings()) && TextUtils.equals(lp.getFontVariationSettings(), rp.getFontVariationSettings()) && lp.getShadowLayerRadius() == rp.getShadowLayerRadius() && lp.getShadowLayerDx() == rp.getShadowLayerDx() && lp.getShadowLayerDy() == rp.getShadowLayerDy() && lp.getShadowLayerColor() == rp.getShadowLayerColor() && lp.getFlags() == rp.getFlags() && lp.getHinting() == rp.getHinting() && lp.getStyle() == rp.getStyle() && lp.getColor() == rp.getColor() && lp.getStrokeWidth() == rp.getStrokeWidth() && lp.getStrokeMiter() == rp.getStrokeMiter() && lp.getStrokeCap() == rp.getStrokeCap() && lp.getStrokeJoin() == rp.getStrokeJoin() && lp.getTextAlign() == rp.getTextAlign() && lp.isElegantTextHeight() == rp.isElegantTextHeight() && lp.getTextSize() == rp.getTextSize() && lp.getTextScaleX() == rp.getTextScaleX() && lp.getTextSkewX() == rp.getTextSkewX() && lp.getLetterSpacing() == rp.getLetterSpacing() && lp.getWordSpacing() == rp.getWordSpacing() && lp.getHyphenEdit() == rp.getHyphenEdit() && lp.bgColor == rp.bgColor && lp.baselineShift == rp.baselineShift && lp.linkColor == rp.linkColor && lp.drawableState == rp.drawableState && lp.density == rp.density && lp.underlineColor == rp.underlineColor && lp.underlineThickness == rp.underlineThickness; } } core/java/android/text/TextPaint.java +3 −24 Original line number Diff line number Diff line Loading @@ -17,7 +17,7 @@ package android.text; import android.annotation.ColorInt; import android.annotation.NonNull; import android.annotation.Px; import android.annotation.UnsupportedAppUsage; import android.graphics.Paint; Loading @@ -37,17 +37,14 @@ public class TextPaint extends Paint { public float density = 1.0f; /** * Special value 0 means no custom underline * @hide */ @ColorInt @UnsupportedAppUsage public int underlineColor = 0; /** * Thickness of the underline, in pixels. * @hide */ @UnsupportedAppUsage public float underlineThickness; public @Px float underlineThickness; public TextPaint() { super(); Loading Loading @@ -77,24 +74,6 @@ public class TextPaint extends Paint { underlineThickness = tp.underlineThickness; } /** * Returns true if all attributes, including the attributes inherited from Paint, are equal. * * The caller is expected to have checked the trivial cases, like the pointers being equal, * the objects having different classes, or the parameter being null. * @hide */ public boolean hasEqualAttributes(@NonNull TextPaint other) { return bgColor == other.bgColor && baselineShift == other.baselineShift && linkColor == other.linkColor && drawableState == other.drawableState && density == other.density && underlineColor == other.underlineColor && underlineThickness == other.underlineThickness && super.hasEqualAttributes((Paint) other); } /** * Defines a custom underline for this Paint. * @param color underline solid color Loading graphics/java/android/graphics/Paint.java +32 −43 Original line number Diff line number Diff line Loading @@ -592,49 +592,6 @@ public class Paint { mShadowLayerColor = paint.mShadowLayerColor; } /** * Returns true if all attributes are equal. * * The caller is expected to have checked the trivial cases, like the pointers being equal, * the objects having different classes, or the parameter being null. * @hide */ public boolean hasEqualAttributes(@NonNull Paint other) { return mColorFilter == other.mColorFilter && mMaskFilter == other.mMaskFilter && mPathEffect == other.mPathEffect && mShader == other.mShader && mTypeface == other.mTypeface && mXfermode == other.mXfermode && mHasCompatScaling == other.mHasCompatScaling && mCompatScaling == other.mCompatScaling && mInvCompatScaling == other.mInvCompatScaling && mBidiFlags == other.mBidiFlags && mLocales.equals(other.mLocales) && TextUtils.equals(mFontFeatureSettings, other.mFontFeatureSettings) && TextUtils.equals(mFontVariationSettings, other.mFontVariationSettings) && mShadowLayerRadius == other.mShadowLayerRadius && mShadowLayerDx == other.mShadowLayerDx && mShadowLayerDy == other.mShadowLayerDy && mShadowLayerColor == other.mShadowLayerColor && getFlags() == other.getFlags() && getHinting() == other.getHinting() && getStyle() == other.getStyle() && getColor() == other.getColor() && getStrokeWidth() == other.getStrokeWidth() && getStrokeMiter() == other.getStrokeMiter() && getStrokeCap() == other.getStrokeCap() && getStrokeJoin() == other.getStrokeJoin() && getTextAlign() == other.getTextAlign() && isElegantTextHeight() == other.isElegantTextHeight() && getTextSize() == other.getTextSize() && getTextScaleX() == other.getTextScaleX() && getTextSkewX() == other.getTextSkewX() && getLetterSpacing() == other.getLetterSpacing() && getWordSpacing() == other.getWordSpacing() && getHyphenEdit() == other.getHyphenEdit(); } /** @hide */ @UnsupportedAppUsage public void setCompatibilityScaling(float factor) { Loading Loading @@ -1394,6 +1351,38 @@ public class Paint { return nHasShadowLayer(mNativePaint); } /** * Returns the blur radius of the shadow layer. * @see #setShadowLayer(float,float,float,int) */ public float getShadowLayerRadius() { return mShadowLayerRadius; } /** * Returns the x offset of the shadow layer. * @see #setShadowLayer(float,float,float,int) */ public float getShadowLayerDx() { return mShadowLayerDx; } /** * Returns the y offset of the shadow layer. * @see #setShadowLayer(float,float,float,int) */ public float getShadowLayerDy() { return mShadowLayerDy; } /** * Returns the color of the shadow layer. * @see #setShadowLayer(float,float,float,int) */ public @ColorInt int getShadowLayerColor() { return mShadowLayerColor; } /** * Return the paint's Align value for drawing text. This controls how the * text is positioned relative to its origin. LEFT align means that all of Loading Loading
api/current.txt +6 −0 Original line number Diff line number Diff line Loading @@ -14007,6 +14007,10 @@ package android.graphics { method public float getRunAdvance(char[], int, int, int, int, boolean, int); method public float getRunAdvance(java.lang.CharSequence, int, int, int, int, boolean, int); method public android.graphics.Shader getShader(); method public int getShadowLayerColor(); method public float getShadowLayerDx(); method public float getShadowLayerDy(); method public float getShadowLayerRadius(); method public float getStrikeThruPosition(); method public float getStrikeThruThickness(); method public android.graphics.Paint.Cap getStrokeCap(); Loading Loading @@ -44158,6 +44162,8 @@ package android.text { field public float density; field public int[] drawableState; field public int linkColor; field public int underlineColor; field public float underlineThickness; } public class TextUtils {
core/java/android/text/TextLine.java +39 −1 Original line number Diff line number Diff line Loading @@ -1230,7 +1230,7 @@ public class TextLine { // with the next chunk. So we just save the TextPaint for future comparisons // and use. activePaint.set(wp); } else if (!wp.hasEqualAttributes(activePaint)) { } else if (!equalAttributes(wp, activePaint)) { // The style of the present chunk of text is substantially different from the // style of the previous chunk. We need to handle the active piece of text // and restart with the present chunk. Loading Loading @@ -1335,4 +1335,42 @@ public class TextLine { } private static final int TAB_INCREMENT = 20; private static boolean equalAttributes(@NonNull TextPaint lp, @NonNull TextPaint rp) { return lp.getColorFilter() == rp.getColorFilter() && lp.getMaskFilter() == rp.getMaskFilter() && lp.getShader() == rp.getShader() && lp.getTypeface() == rp.getTypeface() && lp.getXfermode() == rp.getXfermode() && lp.getTextLocales().equals(rp.getTextLocales()) && TextUtils.equals(lp.getFontFeatureSettings(), rp.getFontFeatureSettings()) && TextUtils.equals(lp.getFontVariationSettings(), rp.getFontVariationSettings()) && lp.getShadowLayerRadius() == rp.getShadowLayerRadius() && lp.getShadowLayerDx() == rp.getShadowLayerDx() && lp.getShadowLayerDy() == rp.getShadowLayerDy() && lp.getShadowLayerColor() == rp.getShadowLayerColor() && lp.getFlags() == rp.getFlags() && lp.getHinting() == rp.getHinting() && lp.getStyle() == rp.getStyle() && lp.getColor() == rp.getColor() && lp.getStrokeWidth() == rp.getStrokeWidth() && lp.getStrokeMiter() == rp.getStrokeMiter() && lp.getStrokeCap() == rp.getStrokeCap() && lp.getStrokeJoin() == rp.getStrokeJoin() && lp.getTextAlign() == rp.getTextAlign() && lp.isElegantTextHeight() == rp.isElegantTextHeight() && lp.getTextSize() == rp.getTextSize() && lp.getTextScaleX() == rp.getTextScaleX() && lp.getTextSkewX() == rp.getTextSkewX() && lp.getLetterSpacing() == rp.getLetterSpacing() && lp.getWordSpacing() == rp.getWordSpacing() && lp.getHyphenEdit() == rp.getHyphenEdit() && lp.bgColor == rp.bgColor && lp.baselineShift == rp.baselineShift && lp.linkColor == rp.linkColor && lp.drawableState == rp.drawableState && lp.density == rp.density && lp.underlineColor == rp.underlineColor && lp.underlineThickness == rp.underlineThickness; } }
core/java/android/text/TextPaint.java +3 −24 Original line number Diff line number Diff line Loading @@ -17,7 +17,7 @@ package android.text; import android.annotation.ColorInt; import android.annotation.NonNull; import android.annotation.Px; import android.annotation.UnsupportedAppUsage; import android.graphics.Paint; Loading @@ -37,17 +37,14 @@ public class TextPaint extends Paint { public float density = 1.0f; /** * Special value 0 means no custom underline * @hide */ @ColorInt @UnsupportedAppUsage public int underlineColor = 0; /** * Thickness of the underline, in pixels. * @hide */ @UnsupportedAppUsage public float underlineThickness; public @Px float underlineThickness; public TextPaint() { super(); Loading Loading @@ -77,24 +74,6 @@ public class TextPaint extends Paint { underlineThickness = tp.underlineThickness; } /** * Returns true if all attributes, including the attributes inherited from Paint, are equal. * * The caller is expected to have checked the trivial cases, like the pointers being equal, * the objects having different classes, or the parameter being null. * @hide */ public boolean hasEqualAttributes(@NonNull TextPaint other) { return bgColor == other.bgColor && baselineShift == other.baselineShift && linkColor == other.linkColor && drawableState == other.drawableState && density == other.density && underlineColor == other.underlineColor && underlineThickness == other.underlineThickness && super.hasEqualAttributes((Paint) other); } /** * Defines a custom underline for this Paint. * @param color underline solid color Loading
graphics/java/android/graphics/Paint.java +32 −43 Original line number Diff line number Diff line Loading @@ -592,49 +592,6 @@ public class Paint { mShadowLayerColor = paint.mShadowLayerColor; } /** * Returns true if all attributes are equal. * * The caller is expected to have checked the trivial cases, like the pointers being equal, * the objects having different classes, or the parameter being null. * @hide */ public boolean hasEqualAttributes(@NonNull Paint other) { return mColorFilter == other.mColorFilter && mMaskFilter == other.mMaskFilter && mPathEffect == other.mPathEffect && mShader == other.mShader && mTypeface == other.mTypeface && mXfermode == other.mXfermode && mHasCompatScaling == other.mHasCompatScaling && mCompatScaling == other.mCompatScaling && mInvCompatScaling == other.mInvCompatScaling && mBidiFlags == other.mBidiFlags && mLocales.equals(other.mLocales) && TextUtils.equals(mFontFeatureSettings, other.mFontFeatureSettings) && TextUtils.equals(mFontVariationSettings, other.mFontVariationSettings) && mShadowLayerRadius == other.mShadowLayerRadius && mShadowLayerDx == other.mShadowLayerDx && mShadowLayerDy == other.mShadowLayerDy && mShadowLayerColor == other.mShadowLayerColor && getFlags() == other.getFlags() && getHinting() == other.getHinting() && getStyle() == other.getStyle() && getColor() == other.getColor() && getStrokeWidth() == other.getStrokeWidth() && getStrokeMiter() == other.getStrokeMiter() && getStrokeCap() == other.getStrokeCap() && getStrokeJoin() == other.getStrokeJoin() && getTextAlign() == other.getTextAlign() && isElegantTextHeight() == other.isElegantTextHeight() && getTextSize() == other.getTextSize() && getTextScaleX() == other.getTextScaleX() && getTextSkewX() == other.getTextSkewX() && getLetterSpacing() == other.getLetterSpacing() && getWordSpacing() == other.getWordSpacing() && getHyphenEdit() == other.getHyphenEdit(); } /** @hide */ @UnsupportedAppUsage public void setCompatibilityScaling(float factor) { Loading Loading @@ -1394,6 +1351,38 @@ public class Paint { return nHasShadowLayer(mNativePaint); } /** * Returns the blur radius of the shadow layer. * @see #setShadowLayer(float,float,float,int) */ public float getShadowLayerRadius() { return mShadowLayerRadius; } /** * Returns the x offset of the shadow layer. * @see #setShadowLayer(float,float,float,int) */ public float getShadowLayerDx() { return mShadowLayerDx; } /** * Returns the y offset of the shadow layer. * @see #setShadowLayer(float,float,float,int) */ public float getShadowLayerDy() { return mShadowLayerDy; } /** * Returns the color of the shadow layer. * @see #setShadowLayer(float,float,float,int) */ public @ColorInt int getShadowLayerColor() { return mShadowLayerColor; } /** * Return the paint's Align value for drawing text. This controls how the * text is positioned relative to its origin. LEFT align means that all of Loading