Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 97b4ccbd authored by Chris Craik's avatar Chris Craik Committed by Android (Google) Code Review
Browse files

Merge "Expose color filter mutate methods"

parents e7739053 6097eca7
Loading
Loading
Loading
Loading
+12 −1
Original line number Diff line number Diff line
@@ -12758,7 +12758,7 @@ package android.graphics {
  }
  public class ColorFilter {
    ctor public ColorFilter();
    ctor public deprecated ColorFilter();
  }
  public class ColorMatrix {
@@ -12782,6 +12782,9 @@ package android.graphics {
  public class ColorMatrixColorFilter extends android.graphics.ColorFilter {
    ctor public ColorMatrixColorFilter(android.graphics.ColorMatrix);
    ctor public ColorMatrixColorFilter(float[]);
    method public void getColorMatrix(android.graphics.ColorMatrix);
    method public void setColorMatrix(android.graphics.ColorMatrix);
    method public void setColorMatrixArray(float[]);
  }
  public abstract class ColorSpace {
@@ -13005,6 +13008,10 @@ package android.graphics {
  public class LightingColorFilter extends android.graphics.ColorFilter {
    ctor public LightingColorFilter(int, int);
    method public int getColorAdd();
    method public int getColorMultiply();
    method public void setColorAdd(int);
    method public void setColorMultiply(int);
  }
  public class LinearGradient extends android.graphics.Shader {
@@ -13521,6 +13528,10 @@ package android.graphics {
  public class PorterDuffColorFilter extends android.graphics.ColorFilter {
    ctor public PorterDuffColorFilter(int, android.graphics.PorterDuff.Mode);
    method public int getColor();
    method public android.graphics.PorterDuff.Mode getMode();
    method public void setColor(int);
    method public void setMode(android.graphics.PorterDuff.Mode);
  }
  public class PorterDuffXfermode extends android.graphics.Xfermode {
+12 −1
Original line number Diff line number Diff line
@@ -13492,7 +13492,7 @@ package android.graphics {
  }
  public class ColorFilter {
    ctor public ColorFilter();
    ctor public deprecated ColorFilter();
  }
  public class ColorMatrix {
@@ -13516,6 +13516,9 @@ package android.graphics {
  public class ColorMatrixColorFilter extends android.graphics.ColorFilter {
    ctor public ColorMatrixColorFilter(android.graphics.ColorMatrix);
    ctor public ColorMatrixColorFilter(float[]);
    method public void getColorMatrix(android.graphics.ColorMatrix);
    method public void setColorMatrix(android.graphics.ColorMatrix);
    method public void setColorMatrixArray(float[]);
  }
  public abstract class ColorSpace {
@@ -13739,6 +13742,10 @@ package android.graphics {
  public class LightingColorFilter extends android.graphics.ColorFilter {
    ctor public LightingColorFilter(int, int);
    method public int getColorAdd();
    method public int getColorMultiply();
    method public void setColorAdd(int);
    method public void setColorMultiply(int);
  }
  public class LinearGradient extends android.graphics.Shader {
@@ -14255,6 +14262,10 @@ package android.graphics {
  public class PorterDuffColorFilter extends android.graphics.ColorFilter {
    ctor public PorterDuffColorFilter(int, android.graphics.PorterDuff.Mode);
    method public int getColor();
    method public android.graphics.PorterDuff.Mode getMode();
    method public void setColor(int);
    method public void setMode(android.graphics.PorterDuff.Mode);
  }
  public class PorterDuffXfermode extends android.graphics.Xfermode {
+12 −1
Original line number Diff line number Diff line
@@ -12796,7 +12796,7 @@ package android.graphics {
  }
  public class ColorFilter {
    ctor public ColorFilter();
    ctor public deprecated ColorFilter();
  }
  public class ColorMatrix {
@@ -12820,6 +12820,9 @@ package android.graphics {
  public class ColorMatrixColorFilter extends android.graphics.ColorFilter {
    ctor public ColorMatrixColorFilter(android.graphics.ColorMatrix);
    ctor public ColorMatrixColorFilter(float[]);
    method public void getColorMatrix(android.graphics.ColorMatrix);
    method public void setColorMatrix(android.graphics.ColorMatrix);
    method public void setColorMatrixArray(float[]);
  }
  public abstract class ColorSpace {
@@ -13043,6 +13046,10 @@ package android.graphics {
  public class LightingColorFilter extends android.graphics.ColorFilter {
    ctor public LightingColorFilter(int, int);
    method public int getColorAdd();
    method public int getColorMultiply();
    method public void setColorAdd(int);
    method public void setColorMultiply(int);
  }
  public class LinearGradient extends android.graphics.Shader {
@@ -13559,6 +13566,10 @@ package android.graphics {
  public class PorterDuffColorFilter extends android.graphics.ColorFilter {
    ctor public PorterDuffColorFilter(int, android.graphics.PorterDuff.Mode);
    method public int getColor();
    method public android.graphics.PorterDuff.Mode getMode();
    method public void setColor(int);
    method public void setMode(android.graphics.PorterDuff.Mode);
  }
  public class PorterDuffXfermode extends android.graphics.Xfermode {
+5 −5
Original line number Diff line number Diff line
@@ -30,7 +30,7 @@ using namespace uirenderer;

class SkColorFilterGlue {
public:
    static void finalizer(JNIEnv* env, jobject clazz, jlong skFilterHandle) {
    static void SafeUnref(JNIEnv* env, jobject clazz, jlong skFilterHandle) {
        SkColorFilter* filter = reinterpret_cast<SkColorFilter *>(skFilterHandle);
        SkSafeUnref(filter);
    }
@@ -57,7 +57,7 @@ public:
};

static const JNINativeMethod colorfilter_methods[] = {
    {"destroyFilter", "(J)V", (void*) SkColorFilterGlue::finalizer}
    {"nSafeUnref", "(J)V", (void*) SkColorFilterGlue::SafeUnref}
};

static const JNINativeMethod porterduff_methods[] = {
+37 −7
Original line number Diff line number Diff line
@@ -27,22 +27,52 @@ package android.graphics;
 * never be used directly.
 */
public class ColorFilter {
    /**
     * @deprecated Use subclass constructors directly instead.
     */
    @Deprecated
    public ColorFilter() {}

    /**
     * Holds the pointer to the native SkColorFilter instance.
     *
     * @hide
     */
    public long native_instance;
    private long mNativeInstance;

    long createNativeInstance() {
        return 0;
    }

    void discardNativeInstance() {
        if (mNativeInstance != 0) {
            nSafeUnref(mNativeInstance);
            mNativeInstance = 0;
        }
    }

    @Override
    protected void finalize() throws Throwable {
        try {
            super.finalize();
            if (mNativeInstance != 0) {
                nSafeUnref(mNativeInstance);
            }
            mNativeInstance = -1;
        } finally {
            destroyFilter(native_instance);
            native_instance = 0;
            super.finalize();
        }
    }

    static native void destroyFilter(long native_instance);
    /** @hide */
    public long getNativeInstance() {
        if (mNativeInstance == -1) {
            throw new IllegalStateException("attempting to use a finalized ColorFilter");
        }

        if (mNativeInstance == 0) {
            mNativeInstance = createNativeInstance();
        }
        return mNativeInstance;

    }

    static native void nSafeUnref(long native_instance);
}
Loading