Merge "Revert "Add a way to override Xfermode""

This commit is contained in:
Chris Craik
2014-11-21 22:11:12 +00:00
committed by Android (Google) Code Review
5 changed files with 3 additions and 50 deletions

View File

@@ -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);
}

View File

@@ -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
};

View File

@@ -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).

View File

@@ -41,7 +41,6 @@ DisplayListRenderer::DisplayListRenderer()
, mHasDeferredTranslate(false)
, mDeferredBarrierType(kBarrier_None)
, mHighContrastText(false)
, mOverrideXfermode(-1)
, mRestoreSaveCount(-1) {
}

View File

@@ -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;