From da3198a550bdd91ccdc8a09c3a6e00d3b61c0c20 Mon Sep 17 00:00:00 2001 From: Chris Craik Date: Fri, 21 Nov 2014 22:05:46 +0000 Subject: [PATCH] Revert "Add a way to override Xfermode" Feature no longer needed. bug:18448377 This reverts commit c495e611b9fa1fc6b47a647c714bbbf94dd63461. Change-Id: Ia3e37f06953ffd81ca3fac367ee790d26b1b5d29 --- core/java/android/view/GLES20Canvas.java | 11 ---------- core/jni/android_view_GLES20Canvas.cpp | 8 -------- graphics/java/android/graphics/Canvas.java | 9 -------- libs/hwui/DisplayListRenderer.cpp | 1 - libs/hwui/DisplayListRenderer.h | 24 +++------------------- 5 files changed, 3 insertions(+), 50 deletions(-) diff --git a/core/java/android/view/GLES20Canvas.java b/core/java/android/view/GLES20Canvas.java index 1138aaba30878..41a4a7c19d45b 100644 --- a/core/java/android/view/GLES20Canvas.java +++ b/core/java/android/view/GLES20Canvas.java @@ -988,15 +988,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 814e1c86186a5..78e92530d0dc0 100644 --- a/core/jni/android_view_GLES20Canvas.cpp +++ b/core/jni/android_view_GLES20Canvas.cpp @@ -172,12 +172,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 b9af794d2ef1c..edf0fb9c48ce7 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 f5247e7224e6e..8887aa76ba2e8 100644 --- a/libs/hwui/DisplayListRenderer.cpp +++ b/libs/hwui/DisplayListRenderer.cpp @@ -40,7 +40,6 @@ DisplayListRenderer::DisplayListRenderer() , mTranslateY(0.0f) , 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;