summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--core/java/android/view/GLES20Canvas.java11
-rw-r--r--core/jni/android_view_GLES20Canvas.cpp8
-rw-r--r--graphics/java/android/graphics/Canvas.java9
-rw-r--r--libs/hwui/DisplayListRenderer.cpp1
-rw-r--r--libs/hwui/DisplayListRenderer.h24
5 files changed, 3 insertions, 50 deletions
diff --git a/core/java/android/view/GLES20Canvas.java b/core/java/android/view/GLES20Canvas.java
index 479e860..19b7861 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 1ed96ab..4a42bdd 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<DisplayListRenderer*>(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 045a288..a0267c8 100644
--- a/graphics/java/android/graphics/Canvas.java
+++ b/graphics/java/android/graphics/Canvas.java
@@ -250,15 +250,6 @@ public class Canvas {
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 916e916..1eefa89 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 c8a97424..6646da7 100644
--- a/libs/hwui/DisplayListRenderer.h
+++ b/libs/hwui/DisplayListRenderer.h
@@ -23,7 +23,6 @@
#include <SkPath.h>
#include <SkRegion.h>
#include <SkTLazy.h>
-#include <SkPorterDuff.h>
#include <cutils/compiler.h>
#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<SkPorterDuff::Mode>(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<SkPaint> localPaint;
+ SkTLazy<SkPaint> 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<SkXfermode::Mode>(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<SkDrawFilter> mDrawFilter;