diff options
| author | 2019-03-15 12:14:20 +0000 | |
|---|---|---|
| committer | 2019-03-15 12:14:20 +0000 | |
| commit | c052fa20324183390d4ae30c44cfdb3b33fdaad7 (patch) | |
| tree | 60e09cbd08236c762827b2ef6b5a339a35d68957 /graphics/java/android | |
| parent | 2fe07f808a6cbb5bfbb5de03b468291038d6597e (diff) | |
| parent | 10965f3922380581b7bf11dbc7b1bf4ef4ffdd2e (diff) | |
Merge changes I241824bf,I9021864f
* changes:
Convert ColorLong in native code in Paint
Restore Paint#nSetColor(@ColorInt)
Diffstat (limited to 'graphics/java/android')
| -rw-r--r-- | graphics/java/android/graphics/Paint.java | 24 |
1 files changed, 11 insertions, 13 deletions
diff --git a/graphics/java/android/graphics/Paint.java b/graphics/java/android/graphics/Paint.java index 79ee4a9c2746..346c7ab970dd 100644 --- a/graphics/java/android/graphics/Paint.java +++ b/graphics/java/android/graphics/Paint.java @@ -1046,7 +1046,8 @@ public class Paint { * @param color The new color (including alpha) to set in the paint. */ public void setColor(@ColorInt int color) { - setColor(Color.pack(color)); + nSetColor(mNativePaint, color); + mColor = Color.pack(color); } /** @@ -1063,12 +1064,8 @@ public class Paint { */ public void setColor(@ColorLong long color) { ColorSpace cs = Color.colorSpace(color); - float r = Color.red(color); - float g = Color.green(color); - float b = Color.blue(color); - float a = Color.alpha(color); - nSetColor(mNativePaint, cs.getNativeInstance(), r, g, b, a); + nSetColor(mNativePaint, cs.getNativeInstance(), color); mColor = color; } @@ -1498,11 +1495,7 @@ public class Paint { */ public void setShadowLayer(float radius, float dx, float dy, @ColorLong long shadowColor) { ColorSpace cs = Color.colorSpace(shadowColor); - float r = Color.red(shadowColor); - float g = Color.green(shadowColor); - float b = Color.blue(shadowColor); - float a = Color.alpha(shadowColor); - nSetShadowLayer(mNativePaint, radius, dx, dy, cs.getNativeInstance(), r, g, b, a); + nSetShadowLayer(mNativePaint, radius, dx, dy, cs.getNativeInstance(), shadowColor); mShadowLayerRadius = radius; mShadowLayerDx = dx; @@ -1530,6 +1523,7 @@ public class Paint { /** * Returns the blur radius of the shadow layer. * @see #setShadowLayer(float,float,float,int) + * @see #setShadowLayer(float,float,float,long) */ public float getShadowLayerRadius() { return mShadowLayerRadius; @@ -1538,6 +1532,7 @@ public class Paint { /** * Returns the x offset of the shadow layer. * @see #setShadowLayer(float,float,float,int) + * @see #setShadowLayer(float,float,float,long) */ public float getShadowLayerDx() { return mShadowLayerDx; @@ -1546,6 +1541,7 @@ public class Paint { /** * Returns the y offset of the shadow layer. * @see #setShadowLayer(float,float,float,int) + * @see #setShadowLayer(float,float,float,long) */ public float getShadowLayerDy() { return mShadowLayerDy; @@ -3135,7 +3131,7 @@ public class Paint { @CriticalNative private static native void nSetShadowLayer(long paintPtr, float radius, float dx, float dy, long colorSpaceHandle, - float r, float g, float b, float a); + @ColorLong long shadowColor); @CriticalNative private static native boolean nHasShadowLayer(long paintPtr); @CriticalNative @@ -3188,7 +3184,9 @@ public class Paint { private static native void nSetFilterBitmap(long paintPtr, boolean filter); @CriticalNative private static native void nSetColor(long paintPtr, long colorSpaceHandle, - float r, float g, float b, float a); + @ColorLong long color); + @CriticalNative + private static native void nSetColor(long paintPtr, @ColorInt int color); @CriticalNative private static native void nSetStrikeThruText(long paintPtr, boolean strikeThruText); @CriticalNative |