diff --git a/core/java/android/view/GLES20Canvas.java b/core/java/android/view/GLES20Canvas.java index 479e860bbb4eb..19b78612b5bd9 100644 --- a/core/java/android/view/GLES20Canvas.java +++ b/core/java/android/view/GLES20Canvas.java @@ -991,15 +991,4 @@ class GLES20Canvas extends HardwareCanvas { int indexOffset, int indexCount, Paint paint) { // TODO: Implement } - - @Override - public void setOverrideXfermode(PorterDuff.Mode xfermode) { - int xfermodeValue = -1; - if (xfermode != null) { - xfermodeValue = xfermode.nativeInt; - } - nSetOverrideXfermode(mRenderer, xfermodeValue); - } - - private static native void nSetOverrideXfermode(long renderer, int xfermode); } diff --git a/core/jni/android_view_GLES20Canvas.cpp b/core/jni/android_view_GLES20Canvas.cpp index 1ed96aba9a67f..4a42bddd7fcd7 100644 --- a/core/jni/android_view_GLES20Canvas.cpp +++ b/core/jni/android_view_GLES20Canvas.cpp @@ -166,12 +166,6 @@ static jint android_view_GLES20Canvas_getMaxTextureHeight(JNIEnv* env, jobject c return Caches::getInstance().maxTextureSize; } -static void android_view_GLES20Canvas_setOverrideXfermode(JNIEnv* env, jobject clazz, - jlong rendererPtr, int xfermode) { - DisplayListRenderer* renderer = reinterpret_cast(rendererPtr); - renderer->setOverrideXfermode(xfermode); -} - // ---------------------------------------------------------------------------- // State // ---------------------------------------------------------------------------- @@ -959,8 +953,6 @@ static JNINativeMethod gMethods[] = { { "nGetMaximumTextureWidth", "()I", (void*) android_view_GLES20Canvas_getMaxTextureWidth }, { "nGetMaximumTextureHeight", "()I", (void*) android_view_GLES20Canvas_getMaxTextureHeight }, - { "nSetOverrideXfermode", "(JI)V", (void*) android_view_GLES20Canvas_setOverrideXfermode }, - #endif }; diff --git a/graphics/java/android/graphics/Canvas.java b/graphics/java/android/graphics/Canvas.java index 045a288c553b6..a0267c8cf2013 100644 --- a/graphics/java/android/graphics/Canvas.java +++ b/graphics/java/android/graphics/Canvas.java @@ -249,15 +249,6 @@ public class Canvas { /** @hide */ public void insertInorderBarrier() {} - /** - * Set a transfer mode that overrides any transfer modes - * in paints used for drawing. Pass null to disable this - * override. Only implemented in GLES20Canvas. - * - * @hide - */ - public void setOverrideXfermode(@Nullable PorterDuff.Mode xfermode) {} - /** * Return true if the device that the current layer draws into is opaque * (i.e. does not support per-pixel alpha). diff --git a/libs/hwui/DisplayListRenderer.cpp b/libs/hwui/DisplayListRenderer.cpp index 916e9166e76c5..1eefa89aefd9c 100644 --- a/libs/hwui/DisplayListRenderer.cpp +++ b/libs/hwui/DisplayListRenderer.cpp @@ -41,7 +41,6 @@ DisplayListRenderer::DisplayListRenderer() , mHasDeferredTranslate(false) , mDeferredBarrierType(kBarrier_None) , mHighContrastText(false) - , mOverrideXfermode(-1) , mRestoreSaveCount(-1) { } diff --git a/libs/hwui/DisplayListRenderer.h b/libs/hwui/DisplayListRenderer.h index c8a974245069d..6646da774e9bf 100644 --- a/libs/hwui/DisplayListRenderer.h +++ b/libs/hwui/DisplayListRenderer.h @@ -23,7 +23,6 @@ #include #include #include -#include #include #include "CanvasState.h" @@ -190,14 +189,6 @@ public: virtual void onSnapshotRestored(const Snapshot& removed, const Snapshot& restored) { } virtual GLuint onGetTargetFbo() const { return -1; } - void setOverrideXfermode(int xfermode) { - if (xfermode != -1) { - SkPorterDuff::Mode porterDuffMode = static_cast(xfermode); - xfermode = SkPorterDuff::ToXfermodeMode(porterDuffMode); - } - mOverrideXfermode = xfermode; - }; - private: CanvasState mState; @@ -262,16 +253,10 @@ private: // If there is a draw filter apply it here and store the modified paint // so that we don't need to modify the paint every time we access it. - SkTLazy localPaint; + SkTLazy filteredPaint; if (mDrawFilter.get()) { - paint = localPaint.set(*paint); - mDrawFilter->filter(localPaint.get(), SkDrawFilter::kPaint_Type); - } - - if (mOverrideXfermode != -1) { - SkPaint* overriddenPaint = localPaint.set(*paint); - overriddenPaint->setXfermodeMode(static_cast(mOverrideXfermode)); - paint = overriddenPaint; + paint = filteredPaint.init(); + mDrawFilter->filter(filteredPaint.get(), SkDrawFilter::kPaint_Type); } // compute the hash key for the paint and check the cache. @@ -349,9 +334,6 @@ private: DeferredBarrierType mDeferredBarrierType; bool mHighContrastText; - // -1 if unset, or SkXfermode::Mode value if set - int mOverrideXfermode; - int mRestoreSaveCount; SkAutoTUnref mDrawFilter;