diff options
Diffstat (limited to 'graphics')
-rw-r--r-- | graphics/java/android/graphics/Paint.java | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/graphics/java/android/graphics/Paint.java b/graphics/java/android/graphics/Paint.java index 2c166c32ba50..9bf4d65e1865 100644 --- a/graphics/java/android/graphics/Paint.java +++ b/graphics/java/android/graphics/Paint.java @@ -836,11 +836,13 @@ public class Paint { mNativeColorFilter = newNativeColorFilter; nSetColorFilter(mNativePaint, mNativeColorFilter); } - if (mXfermode instanceof RuntimeXfermode) { - long newNativeXfermode = ((RuntimeXfermode) mXfermode).createNativeInstance(); - if (newNativeXfermode != mNativeXfermode) { - mNativeXfermode = newNativeXfermode; - nSetXfermode(mNativePaint, mNativeXfermode); + if (com.android.graphics.hwui.flags.Flags.runtimeColorFiltersBlenders()) { + if (mXfermode instanceof RuntimeXfermode) { + long newNativeXfermode = ((RuntimeXfermode) mXfermode).createNativeInstance(); + if (newNativeXfermode != mNativeXfermode) { + mNativeXfermode = newNativeXfermode; + nSetXfermode(mNativePaint, mNativeXfermode); + } } } return mNativePaint; @@ -1470,10 +1472,12 @@ public class Paint { @Nullable private Xfermode installXfermode(Xfermode xfermode) { - if (xfermode instanceof RuntimeXfermode) { - mXfermode = xfermode; - nSetXfermode(mNativePaint, ((RuntimeXfermode) xfermode).createNativeInstance()); - return xfermode; + if (com.android.graphics.hwui.flags.Flags.runtimeColorFiltersBlenders()) { + if (xfermode instanceof RuntimeXfermode) { + mXfermode = xfermode; + nSetXfermode(mNativePaint, ((RuntimeXfermode) xfermode).createNativeInstance()); + return xfermode; + } } int newMode = (xfermode instanceof PorterDuffXfermode) ? ((PorterDuffXfermode) xfermode).porterDuffMode : PorterDuffXfermode.DEFAULT; |