mirror of
https://github.com/wasabeef/glide-transformations.git
synced 2025-06-08 15:34:04 +08:00
Implement equals() and hashCode() methods (#105)
* Implement equals() and hashCode() methods * Oops: Replace by static final to prevent String class name generation for every call on hashCodes() & updateDiskCacheKey() methods
This commit is contained in:
parent
970afc35fe
commit
43f38cc4b3
12
transformations/src/main/java/jp/wasabeef/glide/transformations/BitmapTransformation.java
Normal file → Executable file
12
transformations/src/main/java/jp/wasabeef/glide/transformations/BitmapTransformation.java
Normal file → Executable file
@ -31,8 +31,6 @@ import java.security.MessageDigest;
|
|||||||
|
|
||||||
public abstract class BitmapTransformation implements Transformation<Bitmap> {
|
public abstract class BitmapTransformation implements Transformation<Bitmap> {
|
||||||
|
|
||||||
public abstract String key();
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public final Resource<Bitmap> transform(Context context, Resource<Bitmap> resource, int outWidth,
|
public final Resource<Bitmap> transform(Context context, Resource<Bitmap> resource, int outWidth,
|
||||||
int outHeight) {
|
int outHeight) {
|
||||||
@ -59,7 +57,11 @@ public abstract class BitmapTransformation implements Transformation<Bitmap> {
|
|||||||
protected abstract Bitmap transform(@NonNull Context context, @NonNull BitmapPool pool,
|
protected abstract Bitmap transform(@NonNull Context context, @NonNull BitmapPool pool,
|
||||||
@NonNull Bitmap toTransform, int outWidth, int outHeight);
|
@NonNull Bitmap toTransform, int outWidth, int outHeight);
|
||||||
|
|
||||||
@Override public void updateDiskCacheKey(MessageDigest messageDigest) {
|
@Override public abstract void updateDiskCacheKey(MessageDigest messageDigest);
|
||||||
messageDigest.update(key().getBytes());
|
|
||||||
}
|
@Override
|
||||||
|
public abstract boolean equals(Object o);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public abstract int hashCode();
|
||||||
}
|
}
|
||||||
|
22
transformations/src/main/java/jp/wasabeef/glide/transformations/BlurTransformation.java
Normal file → Executable file
22
transformations/src/main/java/jp/wasabeef/glide/transformations/BlurTransformation.java
Normal file → Executable file
@ -24,11 +24,16 @@ import android.os.Build;
|
|||||||
import android.renderscript.RSRuntimeException;
|
import android.renderscript.RSRuntimeException;
|
||||||
import android.support.annotation.NonNull;
|
import android.support.annotation.NonNull;
|
||||||
import com.bumptech.glide.load.engine.bitmap_recycle.BitmapPool;
|
import com.bumptech.glide.load.engine.bitmap_recycle.BitmapPool;
|
||||||
|
import java.security.MessageDigest;
|
||||||
import jp.wasabeef.glide.transformations.internal.FastBlur;
|
import jp.wasabeef.glide.transformations.internal.FastBlur;
|
||||||
import jp.wasabeef.glide.transformations.internal.RSBlur;
|
import jp.wasabeef.glide.transformations.internal.RSBlur;
|
||||||
|
|
||||||
public class BlurTransformation extends BitmapTransformation {
|
public class BlurTransformation extends BitmapTransformation {
|
||||||
|
|
||||||
|
private static final int VERSION = 1;
|
||||||
|
private static final String ID = "jp.wasabeef.glide.transformations.BlurTransformation." + VERSION;
|
||||||
|
private static final byte[] ID_BYTES = ID.getBytes(CHARSET);
|
||||||
|
|
||||||
private static int MAX_RADIUS = 25;
|
private static int MAX_RADIUS = 25;
|
||||||
private static int DEFAULT_DOWN_SAMPLING = 1;
|
private static int DEFAULT_DOWN_SAMPLING = 1;
|
||||||
|
|
||||||
@ -77,7 +82,22 @@ public class BlurTransformation extends BitmapTransformation {
|
|||||||
return bitmap;
|
return bitmap;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override public String key() {
|
@Override public String toString() {
|
||||||
return "BlurTransformation(radius=" + radius + ", sampling=" + sampling + ")";
|
return "BlurTransformation(radius=" + radius + ", sampling=" + sampling + ")";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean equals(Object o) {
|
||||||
|
return o instanceof BlurTransformation;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int hashCode() {
|
||||||
|
return ID.hashCode();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void updateDiskCacheKey(MessageDigest messageDigest) {
|
||||||
|
messageDigest.update(ID_BYTES);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
22
transformations/src/main/java/jp/wasabeef/glide/transformations/ColorFilterTransformation.java
Normal file → Executable file
22
transformations/src/main/java/jp/wasabeef/glide/transformations/ColorFilterTransformation.java
Normal file → Executable file
@ -24,9 +24,14 @@ import android.graphics.PorterDuff;
|
|||||||
import android.graphics.PorterDuffColorFilter;
|
import android.graphics.PorterDuffColorFilter;
|
||||||
import android.support.annotation.NonNull;
|
import android.support.annotation.NonNull;
|
||||||
import com.bumptech.glide.load.engine.bitmap_recycle.BitmapPool;
|
import com.bumptech.glide.load.engine.bitmap_recycle.BitmapPool;
|
||||||
|
import java.security.MessageDigest;
|
||||||
|
|
||||||
public class ColorFilterTransformation extends BitmapTransformation {
|
public class ColorFilterTransformation extends BitmapTransformation {
|
||||||
|
|
||||||
|
private static final int VERSION = 1;
|
||||||
|
private static final String ID = "jp.wasabeef.glide.transformations.ColorFilterTransformation." + VERSION;
|
||||||
|
private static final byte[] ID_BYTES = ID.getBytes(CHARSET);
|
||||||
|
|
||||||
private int color;
|
private int color;
|
||||||
|
|
||||||
public ColorFilterTransformation(int color) {
|
public ColorFilterTransformation(int color) {
|
||||||
@ -51,7 +56,22 @@ public class ColorFilterTransformation extends BitmapTransformation {
|
|||||||
return bitmap;
|
return bitmap;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override public String key() {
|
@Override public String toString() {
|
||||||
return "ColorFilterTransformation(color=" + color + ")";
|
return "ColorFilterTransformation(color=" + color + ")";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean equals(Object o) {
|
||||||
|
return o instanceof ColorFilterTransformation;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int hashCode() {
|
||||||
|
return ID.hashCode();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void updateDiskCacheKey(MessageDigest messageDigest) {
|
||||||
|
messageDigest.update(ID_BYTES);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
22
transformations/src/main/java/jp/wasabeef/glide/transformations/CropCircleTransformation.java
Normal file → Executable file
22
transformations/src/main/java/jp/wasabeef/glide/transformations/CropCircleTransformation.java
Normal file → Executable file
@ -22,6 +22,7 @@ import android.support.annotation.NonNull;
|
|||||||
import com.bumptech.glide.load.engine.bitmap_recycle.BitmapPool;
|
import com.bumptech.glide.load.engine.bitmap_recycle.BitmapPool;
|
||||||
import com.bumptech.glide.load.resource.bitmap.TransformationUtils;
|
import com.bumptech.glide.load.resource.bitmap.TransformationUtils;
|
||||||
import com.bumptech.glide.request.RequestOptions;
|
import com.bumptech.glide.request.RequestOptions;
|
||||||
|
import java.security.MessageDigest;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @deprecated Use {@link RequestOptions#circleCrop()}.
|
* @deprecated Use {@link RequestOptions#circleCrop()}.
|
||||||
@ -29,12 +30,31 @@ import com.bumptech.glide.request.RequestOptions;
|
|||||||
@Deprecated
|
@Deprecated
|
||||||
public class CropCircleTransformation extends BitmapTransformation {
|
public class CropCircleTransformation extends BitmapTransformation {
|
||||||
|
|
||||||
|
private static final int VERSION = 1;
|
||||||
|
private static final String ID = "jp.wasabeef.glide.transformations.CropCircleTransformation." + VERSION;
|
||||||
|
private static final byte[] ID_BYTES = ID.getBytes(CHARSET);
|
||||||
|
|
||||||
@Override protected Bitmap transform(@NonNull Context context, @NonNull BitmapPool pool,
|
@Override protected Bitmap transform(@NonNull Context context, @NonNull BitmapPool pool,
|
||||||
@NonNull Bitmap toTransform, int outWidth, int outHeight) {
|
@NonNull Bitmap toTransform, int outWidth, int outHeight) {
|
||||||
return TransformationUtils.circleCrop(pool, toTransform, outWidth, outHeight);
|
return TransformationUtils.circleCrop(pool, toTransform, outWidth, outHeight);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override public String key() {
|
@Override public String toString() {
|
||||||
return "CropCircleTransformation()";
|
return "CropCircleTransformation()";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean equals(Object o) {
|
||||||
|
return o instanceof CropCircleTransformation;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int hashCode() {
|
||||||
|
return ID.hashCode();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void updateDiskCacheKey(MessageDigest messageDigest) {
|
||||||
|
messageDigest.update(ID_BYTES);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
22
transformations/src/main/java/jp/wasabeef/glide/transformations/CropSquareTransformation.java
Normal file → Executable file
22
transformations/src/main/java/jp/wasabeef/glide/transformations/CropSquareTransformation.java
Normal file → Executable file
@ -21,9 +21,14 @@ import android.graphics.Bitmap;
|
|||||||
import android.support.annotation.NonNull;
|
import android.support.annotation.NonNull;
|
||||||
import com.bumptech.glide.load.engine.bitmap_recycle.BitmapPool;
|
import com.bumptech.glide.load.engine.bitmap_recycle.BitmapPool;
|
||||||
import com.bumptech.glide.load.resource.bitmap.TransformationUtils;
|
import com.bumptech.glide.load.resource.bitmap.TransformationUtils;
|
||||||
|
import java.security.MessageDigest;
|
||||||
|
|
||||||
public class CropSquareTransformation extends BitmapTransformation {
|
public class CropSquareTransformation extends BitmapTransformation {
|
||||||
|
|
||||||
|
private static final int VERSION = 1;
|
||||||
|
private static final String ID = "jp.wasabeef.glide.transformations.CropSquareTransformation." + VERSION;
|
||||||
|
private static final byte[] ID_BYTES = ID.getBytes(CHARSET);
|
||||||
|
|
||||||
private int size;
|
private int size;
|
||||||
|
|
||||||
@Override protected Bitmap transform(@NonNull Context context, @NonNull BitmapPool pool,
|
@Override protected Bitmap transform(@NonNull Context context, @NonNull BitmapPool pool,
|
||||||
@ -32,7 +37,22 @@ public class CropSquareTransformation extends BitmapTransformation {
|
|||||||
return TransformationUtils.centerCrop(pool, toTransform, size, size);
|
return TransformationUtils.centerCrop(pool, toTransform, size, size);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override public String key() {
|
@Override public String toString() {
|
||||||
return "CropSquareTransformation(size=" + size + ")";
|
return "CropSquareTransformation(size=" + size + ")";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean equals(Object o) {
|
||||||
|
return o instanceof CropSquareTransformation;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int hashCode() {
|
||||||
|
return ID.hashCode();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void updateDiskCacheKey(MessageDigest messageDigest) {
|
||||||
|
messageDigest.update(ID_BYTES);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
23
transformations/src/main/java/jp/wasabeef/glide/transformations/CropTransformation.java
Normal file → Executable file
23
transformations/src/main/java/jp/wasabeef/glide/transformations/CropTransformation.java
Normal file → Executable file
@ -22,9 +22,14 @@ import android.graphics.Canvas;
|
|||||||
import android.graphics.RectF;
|
import android.graphics.RectF;
|
||||||
import android.support.annotation.NonNull;
|
import android.support.annotation.NonNull;
|
||||||
import com.bumptech.glide.load.engine.bitmap_recycle.BitmapPool;
|
import com.bumptech.glide.load.engine.bitmap_recycle.BitmapPool;
|
||||||
|
import java.security.MessageDigest;
|
||||||
|
|
||||||
public class CropTransformation extends BitmapTransformation {
|
public class CropTransformation extends BitmapTransformation {
|
||||||
|
|
||||||
|
private static final int VERSION = 1;
|
||||||
|
private static final String ID = "jp.wasabeef.glide.transformations.CropTransformation." + VERSION;
|
||||||
|
private static final byte[] ID_BYTES = ID.getBytes(CHARSET);
|
||||||
|
|
||||||
public enum CropType {
|
public enum CropType {
|
||||||
TOP,
|
TOP,
|
||||||
CENTER,
|
CENTER,
|
||||||
@ -74,11 +79,26 @@ public class CropTransformation extends BitmapTransformation {
|
|||||||
return bitmap;
|
return bitmap;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override public String key() {
|
@Override public String toString() {
|
||||||
return "CropTransformation(width=" + width + ", height=" + height + ", cropType=" + cropType
|
return "CropTransformation(width=" + width + ", height=" + height + ", cropType=" + cropType
|
||||||
+ ")";
|
+ ")";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean equals(Object o) {
|
||||||
|
return o instanceof CropTransformation;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int hashCode() {
|
||||||
|
return ID.hashCode();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void updateDiskCacheKey(MessageDigest messageDigest) {
|
||||||
|
messageDigest.update(ID_BYTES);
|
||||||
|
}
|
||||||
|
|
||||||
private float getTop(float scaledHeight) {
|
private float getTop(float scaledHeight) {
|
||||||
switch (cropType) {
|
switch (cropType) {
|
||||||
case TOP:
|
case TOP:
|
||||||
@ -91,4 +111,5 @@ public class CropTransformation extends BitmapTransformation {
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
22
transformations/src/main/java/jp/wasabeef/glide/transformations/GrayscaleTransformation.java
Normal file → Executable file
22
transformations/src/main/java/jp/wasabeef/glide/transformations/GrayscaleTransformation.java
Normal file → Executable file
@ -24,9 +24,14 @@ import android.graphics.ColorMatrixColorFilter;
|
|||||||
import android.graphics.Paint;
|
import android.graphics.Paint;
|
||||||
import android.support.annotation.NonNull;
|
import android.support.annotation.NonNull;
|
||||||
import com.bumptech.glide.load.engine.bitmap_recycle.BitmapPool;
|
import com.bumptech.glide.load.engine.bitmap_recycle.BitmapPool;
|
||||||
|
import java.security.MessageDigest;
|
||||||
|
|
||||||
public class GrayscaleTransformation extends BitmapTransformation {
|
public class GrayscaleTransformation extends BitmapTransformation {
|
||||||
|
|
||||||
|
private static final int VERSION = 1;
|
||||||
|
private static final String ID = "jp.wasabeef.glide.transformations.GrayscaleTransformation." + VERSION;
|
||||||
|
private static final byte[] ID_BYTES = ID.getBytes(CHARSET);
|
||||||
|
|
||||||
@Override protected Bitmap transform(@NonNull Context context, @NonNull BitmapPool pool,
|
@Override protected Bitmap transform(@NonNull Context context, @NonNull BitmapPool pool,
|
||||||
@NonNull Bitmap toTransform, int outWidth, int outHeight) {
|
@NonNull Bitmap toTransform, int outWidth, int outHeight) {
|
||||||
int width = toTransform.getWidth();
|
int width = toTransform.getWidth();
|
||||||
@ -46,7 +51,22 @@ public class GrayscaleTransformation extends BitmapTransformation {
|
|||||||
return bitmap;
|
return bitmap;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override public String key() {
|
@Override public String toString() {
|
||||||
return "GrayscaleTransformation()";
|
return "GrayscaleTransformation()";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean equals(Object o) {
|
||||||
|
return o instanceof GrayscaleTransformation;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int hashCode() {
|
||||||
|
return ID.hashCode();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void updateDiskCacheKey(MessageDigest messageDigest) {
|
||||||
|
messageDigest.update(ID_BYTES);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
22
transformations/src/main/java/jp/wasabeef/glide/transformations/MaskTransformation.java
Normal file → Executable file
22
transformations/src/main/java/jp/wasabeef/glide/transformations/MaskTransformation.java
Normal file → Executable file
@ -25,10 +25,15 @@ import android.graphics.PorterDuffXfermode;
|
|||||||
import android.graphics.drawable.Drawable;
|
import android.graphics.drawable.Drawable;
|
||||||
import android.support.annotation.NonNull;
|
import android.support.annotation.NonNull;
|
||||||
import com.bumptech.glide.load.engine.bitmap_recycle.BitmapPool;
|
import com.bumptech.glide.load.engine.bitmap_recycle.BitmapPool;
|
||||||
|
import java.security.MessageDigest;
|
||||||
import jp.wasabeef.glide.transformations.internal.Utils;
|
import jp.wasabeef.glide.transformations.internal.Utils;
|
||||||
|
|
||||||
public class MaskTransformation extends BitmapTransformation {
|
public class MaskTransformation extends BitmapTransformation {
|
||||||
|
|
||||||
|
private static final int VERSION = 1;
|
||||||
|
private static final String ID = "jp.wasabeef.glide.transformations.MaskTransformation." + VERSION;
|
||||||
|
private static final byte[] ID_BYTES = ID.getBytes(CHARSET);
|
||||||
|
|
||||||
private static Paint paint = new Paint();
|
private static Paint paint = new Paint();
|
||||||
private int maskId;
|
private int maskId;
|
||||||
|
|
||||||
@ -63,7 +68,22 @@ public class MaskTransformation extends BitmapTransformation {
|
|||||||
return bitmap;
|
return bitmap;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override public String key() {
|
@Override public String toString() {
|
||||||
return "MaskTransformation(maskId=" + maskId + ")";
|
return "MaskTransformation(maskId=" + maskId + ")";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean equals(Object o) {
|
||||||
|
return o instanceof MaskTransformation;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int hashCode() {
|
||||||
|
return ID.hashCode();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void updateDiskCacheKey(MessageDigest messageDigest) {
|
||||||
|
messageDigest.update(ID_BYTES);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
23
transformations/src/main/java/jp/wasabeef/glide/transformations/RoundedCornersTransformation.java
Normal file → Executable file
23
transformations/src/main/java/jp/wasabeef/glide/transformations/RoundedCornersTransformation.java
Normal file → Executable file
@ -26,8 +26,14 @@ import android.graphics.Shader;
|
|||||||
import android.support.annotation.NonNull;
|
import android.support.annotation.NonNull;
|
||||||
import com.bumptech.glide.load.engine.bitmap_recycle.BitmapPool;
|
import com.bumptech.glide.load.engine.bitmap_recycle.BitmapPool;
|
||||||
|
|
||||||
|
import java.security.MessageDigest;
|
||||||
|
|
||||||
public class RoundedCornersTransformation extends BitmapTransformation {
|
public class RoundedCornersTransformation extends BitmapTransformation {
|
||||||
|
|
||||||
|
private static final int VERSION = 1;
|
||||||
|
private static final String ID = "jp.wasabeef.glide.transformations.RoundedCornersTransformation." + VERSION;
|
||||||
|
private static final byte[] ID_BYTES = ID.getBytes(CHARSET);
|
||||||
|
|
||||||
public enum CornerType {
|
public enum CornerType {
|
||||||
ALL,
|
ALL,
|
||||||
TOP_LEFT, TOP_RIGHT, BOTTOM_LEFT, BOTTOM_RIGHT,
|
TOP_LEFT, TOP_RIGHT, BOTTOM_LEFT, BOTTOM_RIGHT,
|
||||||
@ -229,8 +235,23 @@ public class RoundedCornersTransformation extends BitmapTransformation {
|
|||||||
canvas.drawRect(new RectF(margin + radius, margin + radius, right, bottom), paint);
|
canvas.drawRect(new RectF(margin + radius, margin + radius, right, bottom), paint);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override public String key() {
|
@Override public String toString() {
|
||||||
return "RoundedTransformation(radius=" + radius + ", margin=" + margin + ", diameter="
|
return "RoundedTransformation(radius=" + radius + ", margin=" + margin + ", diameter="
|
||||||
+ diameter + ", cornerType=" + cornerType.name() + ")";
|
+ diameter + ", cornerType=" + cornerType.name() + ")";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean equals(Object o) {
|
||||||
|
return o instanceof RoundedCornersTransformation;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int hashCode() {
|
||||||
|
return ID.hashCode();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void updateDiskCacheKey(MessageDigest messageDigest) {
|
||||||
|
messageDigest.update(ID_BYTES);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
22
transformations/src/main/java/jp/wasabeef/glide/transformations/gpu/BrightnessFilterTransformation.java
Normal file → Executable file
22
transformations/src/main/java/jp/wasabeef/glide/transformations/gpu/BrightnessFilterTransformation.java
Normal file → Executable file
@ -16,6 +16,7 @@ package jp.wasabeef.glide.transformations.gpu;
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
import java.security.MessageDigest;
|
||||||
import jp.co.cyberagent.android.gpuimage.GPUImageBrightnessFilter;
|
import jp.co.cyberagent.android.gpuimage.GPUImageBrightnessFilter;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -23,6 +24,10 @@ import jp.co.cyberagent.android.gpuimage.GPUImageBrightnessFilter;
|
|||||||
*/
|
*/
|
||||||
public class BrightnessFilterTransformation extends GPUFilterTransformation {
|
public class BrightnessFilterTransformation extends GPUFilterTransformation {
|
||||||
|
|
||||||
|
private static final int VERSION = 1;
|
||||||
|
private static final String ID = "jp.wasabeef.glide.transformations.gpu.BrightnessFilterTransformation." + VERSION;
|
||||||
|
private static final byte[] ID_BYTES = ID.getBytes(CHARSET);
|
||||||
|
|
||||||
private float brightness;
|
private float brightness;
|
||||||
|
|
||||||
public BrightnessFilterTransformation() {
|
public BrightnessFilterTransformation() {
|
||||||
@ -36,7 +41,22 @@ public class BrightnessFilterTransformation extends GPUFilterTransformation {
|
|||||||
filter.setBrightness(this.brightness);
|
filter.setBrightness(this.brightness);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override public String key() {
|
@Override public String toString() {
|
||||||
return "BrightnessFilterTransformation(brightness=" + brightness + ")";
|
return "BrightnessFilterTransformation(brightness=" + brightness + ")";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean equals(Object o) {
|
||||||
|
return o instanceof BrightnessFilterTransformation;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int hashCode() {
|
||||||
|
return ID.hashCode();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void updateDiskCacheKey(MessageDigest messageDigest) {
|
||||||
|
messageDigest.update(ID_BYTES);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
22
transformations/src/main/java/jp/wasabeef/glide/transformations/gpu/ContrastFilterTransformation.java
Normal file → Executable file
22
transformations/src/main/java/jp/wasabeef/glide/transformations/gpu/ContrastFilterTransformation.java
Normal file → Executable file
@ -16,6 +16,7 @@ package jp.wasabeef.glide.transformations.gpu;
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
import java.security.MessageDigest;
|
||||||
import jp.co.cyberagent.android.gpuimage.GPUImageContrastFilter;
|
import jp.co.cyberagent.android.gpuimage.GPUImageContrastFilter;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -23,6 +24,10 @@ import jp.co.cyberagent.android.gpuimage.GPUImageContrastFilter;
|
|||||||
*/
|
*/
|
||||||
public class ContrastFilterTransformation extends GPUFilterTransformation {
|
public class ContrastFilterTransformation extends GPUFilterTransformation {
|
||||||
|
|
||||||
|
private static final int VERSION = 1;
|
||||||
|
private static final String ID = "jp.wasabeef.glide.transformations.gpu.ContrastFilterTransformation." + VERSION;
|
||||||
|
private static final byte[] ID_BYTES = ID.getBytes(CHARSET);
|
||||||
|
|
||||||
private float contrast;
|
private float contrast;
|
||||||
|
|
||||||
public ContrastFilterTransformation() {
|
public ContrastFilterTransformation() {
|
||||||
@ -36,7 +41,22 @@ public class ContrastFilterTransformation extends GPUFilterTransformation {
|
|||||||
filter.setContrast(this.contrast);
|
filter.setContrast(this.contrast);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override public String key() {
|
@Override public String toString() {
|
||||||
return "ContrastFilterTransformation(contrast=" + contrast + ")";
|
return "ContrastFilterTransformation(contrast=" + contrast + ")";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean equals(Object o) {
|
||||||
|
return o instanceof ContrastFilterTransformation;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int hashCode() {
|
||||||
|
return ID.hashCode();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void updateDiskCacheKey(MessageDigest messageDigest) {
|
||||||
|
messageDigest.update(ID_BYTES);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
22
transformations/src/main/java/jp/wasabeef/glide/transformations/gpu/GPUFilterTransformation.java
Normal file → Executable file
22
transformations/src/main/java/jp/wasabeef/glide/transformations/gpu/GPUFilterTransformation.java
Normal file → Executable file
@ -20,12 +20,17 @@ import android.content.Context;
|
|||||||
import android.graphics.Bitmap;
|
import android.graphics.Bitmap;
|
||||||
import android.support.annotation.NonNull;
|
import android.support.annotation.NonNull;
|
||||||
import com.bumptech.glide.load.engine.bitmap_recycle.BitmapPool;
|
import com.bumptech.glide.load.engine.bitmap_recycle.BitmapPool;
|
||||||
|
import java.security.MessageDigest;
|
||||||
import jp.co.cyberagent.android.gpuimage.GPUImage;
|
import jp.co.cyberagent.android.gpuimage.GPUImage;
|
||||||
import jp.co.cyberagent.android.gpuimage.GPUImageFilter;
|
import jp.co.cyberagent.android.gpuimage.GPUImageFilter;
|
||||||
import jp.wasabeef.glide.transformations.BitmapTransformation;
|
import jp.wasabeef.glide.transformations.BitmapTransformation;
|
||||||
|
|
||||||
public class GPUFilterTransformation extends BitmapTransformation {
|
public class GPUFilterTransformation extends BitmapTransformation {
|
||||||
|
|
||||||
|
private static final int VERSION = 1;
|
||||||
|
private static final String ID = "jp.wasabeef.glide.transformations.gpu.GPUFilterTransformation." + VERSION;
|
||||||
|
private static final byte[] ID_BYTES = ID.getBytes(CHARSET);
|
||||||
|
|
||||||
private GPUImageFilter gpuImageFilter;
|
private GPUImageFilter gpuImageFilter;
|
||||||
|
|
||||||
public GPUFilterTransformation(GPUImageFilter filter) {
|
public GPUFilterTransformation(GPUImageFilter filter) {
|
||||||
@ -41,11 +46,26 @@ public class GPUFilterTransformation extends BitmapTransformation {
|
|||||||
return gpuImage.getBitmapWithFilterApplied();
|
return gpuImage.getBitmapWithFilterApplied();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override public String key() {
|
@Override public String toString() {
|
||||||
return getClass().getSimpleName();
|
return getClass().getSimpleName();
|
||||||
}
|
}
|
||||||
|
|
||||||
@SuppressWarnings("unchecked") public <T> T getFilter() {
|
@SuppressWarnings("unchecked") public <T> T getFilter() {
|
||||||
return (T) gpuImageFilter;
|
return (T) gpuImageFilter;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean equals(Object o) {
|
||||||
|
return o instanceof GPUFilterTransformation;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int hashCode() {
|
||||||
|
return ID.hashCode();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void updateDiskCacheKey(MessageDigest messageDigest) {
|
||||||
|
messageDigest.update(ID_BYTES);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
22
transformations/src/main/java/jp/wasabeef/glide/transformations/gpu/InvertFilterTransformation.java
Normal file → Executable file
22
transformations/src/main/java/jp/wasabeef/glide/transformations/gpu/InvertFilterTransformation.java
Normal file → Executable file
@ -16,6 +16,7 @@ package jp.wasabeef.glide.transformations.gpu;
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
import java.security.MessageDigest;
|
||||||
import jp.co.cyberagent.android.gpuimage.GPUImageColorInvertFilter;
|
import jp.co.cyberagent.android.gpuimage.GPUImageColorInvertFilter;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -23,11 +24,30 @@ import jp.co.cyberagent.android.gpuimage.GPUImageColorInvertFilter;
|
|||||||
*/
|
*/
|
||||||
public class InvertFilterTransformation extends GPUFilterTransformation {
|
public class InvertFilterTransformation extends GPUFilterTransformation {
|
||||||
|
|
||||||
|
private static final int VERSION = 1;
|
||||||
|
private static final String ID = "jp.wasabeef.glide.transformations.gpu.InvertFilterTransformation." + VERSION;
|
||||||
|
private static final byte[] ID_BYTES = ID.getBytes(CHARSET);
|
||||||
|
|
||||||
public InvertFilterTransformation() {
|
public InvertFilterTransformation() {
|
||||||
super(new GPUImageColorInvertFilter());
|
super(new GPUImageColorInvertFilter());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override public String key() {
|
@Override public String toString() {
|
||||||
return "InvertFilterTransformation()";
|
return "InvertFilterTransformation()";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean equals(Object o) {
|
||||||
|
return o instanceof InvertFilterTransformation;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int hashCode() {
|
||||||
|
return ID.hashCode();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void updateDiskCacheKey(MessageDigest messageDigest) {
|
||||||
|
messageDigest.update(ID_BYTES);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
22
transformations/src/main/java/jp/wasabeef/glide/transformations/gpu/KuwaharaFilterTransformation.java
Normal file → Executable file
22
transformations/src/main/java/jp/wasabeef/glide/transformations/gpu/KuwaharaFilterTransformation.java
Normal file → Executable file
@ -16,6 +16,7 @@ package jp.wasabeef.glide.transformations.gpu;
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
import java.security.MessageDigest;
|
||||||
import jp.co.cyberagent.android.gpuimage.GPUImageKuwaharaFilter;
|
import jp.co.cyberagent.android.gpuimage.GPUImageKuwaharaFilter;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -26,6 +27,10 @@ import jp.co.cyberagent.android.gpuimage.GPUImageKuwaharaFilter;
|
|||||||
*/
|
*/
|
||||||
public class KuwaharaFilterTransformation extends GPUFilterTransformation {
|
public class KuwaharaFilterTransformation extends GPUFilterTransformation {
|
||||||
|
|
||||||
|
private static final int VERSION = 1;
|
||||||
|
private static final String ID = "jp.wasabeef.glide.transformations.gpu.KuwaharaFilterTransformation." + VERSION;
|
||||||
|
private static final byte[] ID_BYTES = ID.getBytes(CHARSET);
|
||||||
|
|
||||||
private int radius;
|
private int radius;
|
||||||
|
|
||||||
public KuwaharaFilterTransformation() {
|
public KuwaharaFilterTransformation() {
|
||||||
@ -39,7 +44,22 @@ public class KuwaharaFilterTransformation extends GPUFilterTransformation {
|
|||||||
filter.setRadius(this.radius);
|
filter.setRadius(this.radius);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override public String key() {
|
@Override public String toString() {
|
||||||
return "KuwaharaFilterTransformation(radius=" + radius + ")";
|
return "KuwaharaFilterTransformation(radius=" + radius + ")";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean equals(Object o) {
|
||||||
|
return o instanceof KuwaharaFilterTransformation;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int hashCode() {
|
||||||
|
return ID.hashCode();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void updateDiskCacheKey(MessageDigest messageDigest) {
|
||||||
|
messageDigest.update(ID_BYTES);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
22
transformations/src/main/java/jp/wasabeef/glide/transformations/gpu/PixelationFilterTransformation.java
Normal file → Executable file
22
transformations/src/main/java/jp/wasabeef/glide/transformations/gpu/PixelationFilterTransformation.java
Normal file → Executable file
@ -16,6 +16,7 @@ package jp.wasabeef.glide.transformations.gpu;
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
import java.security.MessageDigest;
|
||||||
import jp.co.cyberagent.android.gpuimage.GPUImagePixelationFilter;
|
import jp.co.cyberagent.android.gpuimage.GPUImagePixelationFilter;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -25,6 +26,10 @@ import jp.co.cyberagent.android.gpuimage.GPUImagePixelationFilter;
|
|||||||
*/
|
*/
|
||||||
public class PixelationFilterTransformation extends GPUFilterTransformation {
|
public class PixelationFilterTransformation extends GPUFilterTransformation {
|
||||||
|
|
||||||
|
private static final int VERSION = 1;
|
||||||
|
private static final String ID = "jp.wasabeef.glide.transformations.gpu.PixelationFilterTransformation." + VERSION;
|
||||||
|
private static final byte[] ID_BYTES = ID.getBytes(CHARSET);
|
||||||
|
|
||||||
private float pixel;
|
private float pixel;
|
||||||
|
|
||||||
public PixelationFilterTransformation() {
|
public PixelationFilterTransformation() {
|
||||||
@ -38,7 +43,22 @@ public class PixelationFilterTransformation extends GPUFilterTransformation {
|
|||||||
filter.setPixel(this.pixel);
|
filter.setPixel(this.pixel);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override public String key() {
|
@Override public String toString() {
|
||||||
return "PixelationFilterTransformation(pixel=" + pixel + ")";
|
return "PixelationFilterTransformation(pixel=" + pixel + ")";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean equals(Object o) {
|
||||||
|
return o instanceof PixelationFilterTransformation;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int hashCode() {
|
||||||
|
return ID.hashCode();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void updateDiskCacheKey(MessageDigest messageDigest) {
|
||||||
|
messageDigest.update(ID_BYTES);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
22
transformations/src/main/java/jp/wasabeef/glide/transformations/gpu/SepiaFilterTransformation.java
Normal file → Executable file
22
transformations/src/main/java/jp/wasabeef/glide/transformations/gpu/SepiaFilterTransformation.java
Normal file → Executable file
@ -16,6 +16,7 @@ package jp.wasabeef.glide.transformations.gpu;
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
import java.security.MessageDigest;
|
||||||
import jp.co.cyberagent.android.gpuimage.GPUImageSepiaFilter;
|
import jp.co.cyberagent.android.gpuimage.GPUImageSepiaFilter;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -25,6 +26,10 @@ import jp.co.cyberagent.android.gpuimage.GPUImageSepiaFilter;
|
|||||||
*/
|
*/
|
||||||
public class SepiaFilterTransformation extends GPUFilterTransformation {
|
public class SepiaFilterTransformation extends GPUFilterTransformation {
|
||||||
|
|
||||||
|
private static final int VERSION = 1;
|
||||||
|
private static final String ID = "jp.wasabeef.glide.transformations.gpu.SepiaFilterTransformation." + VERSION;
|
||||||
|
private static final byte[] ID_BYTES = ID.getBytes(CHARSET);
|
||||||
|
|
||||||
private float intensity;
|
private float intensity;
|
||||||
|
|
||||||
public SepiaFilterTransformation() {
|
public SepiaFilterTransformation() {
|
||||||
@ -38,7 +43,22 @@ public class SepiaFilterTransformation extends GPUFilterTransformation {
|
|||||||
filter.setIntensity(this.intensity);
|
filter.setIntensity(this.intensity);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override public String key() {
|
@Override public String toString() {
|
||||||
return "SepiaFilterTransformation(intensity=" + intensity + ")";
|
return "SepiaFilterTransformation(intensity=" + intensity + ")";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean equals(Object o) {
|
||||||
|
return o instanceof SepiaFilterTransformation;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int hashCode() {
|
||||||
|
return ID.hashCode();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void updateDiskCacheKey(MessageDigest messageDigest) {
|
||||||
|
messageDigest.update(ID_BYTES);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
22
transformations/src/main/java/jp/wasabeef/glide/transformations/gpu/SketchFilterTransformation.java
Normal file → Executable file
22
transformations/src/main/java/jp/wasabeef/glide/transformations/gpu/SketchFilterTransformation.java
Normal file → Executable file
@ -16,15 +16,35 @@ package jp.wasabeef.glide.transformations.gpu;
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
import java.security.MessageDigest;
|
||||||
import jp.co.cyberagent.android.gpuimage.GPUImageSketchFilter;
|
import jp.co.cyberagent.android.gpuimage.GPUImageSketchFilter;
|
||||||
|
|
||||||
public class SketchFilterTransformation extends GPUFilterTransformation {
|
public class SketchFilterTransformation extends GPUFilterTransformation {
|
||||||
|
|
||||||
|
private static final int VERSION = 1;
|
||||||
|
private static final String ID = "jp.wasabeef.glide.transformations.gpu.SketchFilterTransformation." + VERSION;
|
||||||
|
private static final byte[] ID_BYTES = ID.getBytes(CHARSET);
|
||||||
|
|
||||||
public SketchFilterTransformation() {
|
public SketchFilterTransformation() {
|
||||||
super(new GPUImageSketchFilter());
|
super(new GPUImageSketchFilter());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override public String key() {
|
@Override public String toString() {
|
||||||
return "SketchFilterTransformation()";
|
return "SketchFilterTransformation()";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean equals(Object o) {
|
||||||
|
return o instanceof SketchFilterTransformation;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int hashCode() {
|
||||||
|
return ID.hashCode();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void updateDiskCacheKey(MessageDigest messageDigest) {
|
||||||
|
messageDigest.update(ID_BYTES);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
22
transformations/src/main/java/jp/wasabeef/glide/transformations/gpu/SwirlFilterTransformation.java
Normal file → Executable file
22
transformations/src/main/java/jp/wasabeef/glide/transformations/gpu/SwirlFilterTransformation.java
Normal file → Executable file
@ -17,6 +17,7 @@ package jp.wasabeef.glide.transformations.gpu;
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
import android.graphics.PointF;
|
import android.graphics.PointF;
|
||||||
|
import java.security.MessageDigest;
|
||||||
import jp.co.cyberagent.android.gpuimage.GPUImageSwirlFilter;
|
import jp.co.cyberagent.android.gpuimage.GPUImageSwirlFilter;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -24,6 +25,10 @@ import jp.co.cyberagent.android.gpuimage.GPUImageSwirlFilter;
|
|||||||
*/
|
*/
|
||||||
public class SwirlFilterTransformation extends GPUFilterTransformation {
|
public class SwirlFilterTransformation extends GPUFilterTransformation {
|
||||||
|
|
||||||
|
private static final int VERSION = 1;
|
||||||
|
private static final String ID = "jp.wasabeef.glide.transformations.gpu.SwirlFilterTransformation." + VERSION;
|
||||||
|
private static final byte[] ID_BYTES = ID.getBytes(CHARSET);
|
||||||
|
|
||||||
private float radius;
|
private float radius;
|
||||||
private float angle;
|
private float angle;
|
||||||
private PointF center;
|
private PointF center;
|
||||||
@ -48,8 +53,23 @@ public class SwirlFilterTransformation extends GPUFilterTransformation {
|
|||||||
filter.setCenter(this.center);
|
filter.setCenter(this.center);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override public String key() {
|
@Override public String toString() {
|
||||||
return "SwirlFilterTransformation(radius=" + radius +
|
return "SwirlFilterTransformation(radius=" + radius +
|
||||||
",angle=" + angle + ",center=" + center.toString() + ")";
|
",angle=" + angle + ",center=" + center.toString() + ")";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean equals(Object o) {
|
||||||
|
return o instanceof SwirlFilterTransformation;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int hashCode() {
|
||||||
|
return ID.hashCode();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void updateDiskCacheKey(MessageDigest messageDigest) {
|
||||||
|
messageDigest.update(ID_BYTES);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
22
transformations/src/main/java/jp/wasabeef/glide/transformations/gpu/ToonFilterTransformation.java
Normal file → Executable file
22
transformations/src/main/java/jp/wasabeef/glide/transformations/gpu/ToonFilterTransformation.java
Normal file → Executable file
@ -16,6 +16,7 @@ package jp.wasabeef.glide.transformations.gpu;
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
import java.security.MessageDigest;
|
||||||
import jp.co.cyberagent.android.gpuimage.GPUImageToonFilter;
|
import jp.co.cyberagent.android.gpuimage.GPUImageToonFilter;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -25,6 +26,10 @@ import jp.co.cyberagent.android.gpuimage.GPUImageToonFilter;
|
|||||||
*/
|
*/
|
||||||
public class ToonFilterTransformation extends GPUFilterTransformation {
|
public class ToonFilterTransformation extends GPUFilterTransformation {
|
||||||
|
|
||||||
|
private static final int VERSION = 1;
|
||||||
|
private static final String ID = "jp.wasabeef.glide.transformations.gpu.ToonFilterTransformation." + VERSION;
|
||||||
|
private static final byte[] ID_BYTES = ID.getBytes(CHARSET);
|
||||||
|
|
||||||
private float threshold;
|
private float threshold;
|
||||||
private float quantizationLevels;
|
private float quantizationLevels;
|
||||||
|
|
||||||
@ -41,8 +46,23 @@ public class ToonFilterTransformation extends GPUFilterTransformation {
|
|||||||
filter.setQuantizationLevels(this.quantizationLevels);
|
filter.setQuantizationLevels(this.quantizationLevels);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override public String key() {
|
@Override public String toString() {
|
||||||
return "ToonFilterTransformation(threshold=" + threshold +
|
return "ToonFilterTransformation(threshold=" + threshold +
|
||||||
",quantizationLevels=" + quantizationLevels + ")";
|
",quantizationLevels=" + quantizationLevels + ")";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean equals(Object o) {
|
||||||
|
return o instanceof ToonFilterTransformation;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int hashCode() {
|
||||||
|
return ID.hashCode();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void updateDiskCacheKey(MessageDigest messageDigest) {
|
||||||
|
messageDigest.update(ID_BYTES);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
22
transformations/src/main/java/jp/wasabeef/glide/transformations/gpu/VignetteFilterTransformation.java
Normal file → Executable file
22
transformations/src/main/java/jp/wasabeef/glide/transformations/gpu/VignetteFilterTransformation.java
Normal file → Executable file
@ -17,6 +17,7 @@ package jp.wasabeef.glide.transformations.gpu;
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
import android.graphics.PointF;
|
import android.graphics.PointF;
|
||||||
|
import java.security.MessageDigest;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import jp.co.cyberagent.android.gpuimage.GPUImageVignetteFilter;
|
import jp.co.cyberagent.android.gpuimage.GPUImageVignetteFilter;
|
||||||
|
|
||||||
@ -27,6 +28,10 @@ import jp.co.cyberagent.android.gpuimage.GPUImageVignetteFilter;
|
|||||||
*/
|
*/
|
||||||
public class VignetteFilterTransformation extends GPUFilterTransformation {
|
public class VignetteFilterTransformation extends GPUFilterTransformation {
|
||||||
|
|
||||||
|
private static final int VERSION = 1;
|
||||||
|
private static final String ID = "jp.wasabeef.glide.transformations.gpu.VignetteFilterTransformation." + VERSION;
|
||||||
|
private static final byte[] ID_BYTES = ID.getBytes(CHARSET);
|
||||||
|
|
||||||
private PointF center;
|
private PointF center;
|
||||||
private float[] vignetteColor;
|
private float[] vignetteColor;
|
||||||
private float vignetteStart;
|
private float vignetteStart;
|
||||||
@ -49,9 +54,24 @@ public class VignetteFilterTransformation extends GPUFilterTransformation {
|
|||||||
filter.setVignetteEnd(vignetteEnd);
|
filter.setVignetteEnd(vignetteEnd);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override public String key() {
|
@Override public String toString() {
|
||||||
return "VignetteFilterTransformation(center=" + center.toString() +
|
return "VignetteFilterTransformation(center=" + center.toString() +
|
||||||
",color=" + Arrays.toString(vignetteColor) +
|
",color=" + Arrays.toString(vignetteColor) +
|
||||||
",start=" + vignetteStart + ",end=" + vignetteEnd + ")";
|
",start=" + vignetteStart + ",end=" + vignetteEnd + ")";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean equals(Object o) {
|
||||||
|
return o instanceof VignetteFilterTransformation;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int hashCode() {
|
||||||
|
return ID.hashCode();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void updateDiskCacheKey(MessageDigest messageDigest) {
|
||||||
|
messageDigest.update(ID_BYTES);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user