mirror of
https://github.com/wasabeef/glide-transformations.git
synced 2025-06-07 23:04:06 +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 String key();
|
||||
|
||||
@Override
|
||||
public final Resource<Bitmap> transform(Context context, Resource<Bitmap> resource, int outWidth,
|
||||
int outHeight) {
|
||||
@ -59,7 +57,11 @@ public abstract class BitmapTransformation implements Transformation<Bitmap> {
|
||||
protected abstract Bitmap transform(@NonNull Context context, @NonNull BitmapPool pool,
|
||||
@NonNull Bitmap toTransform, int outWidth, int outHeight);
|
||||
|
||||
@Override public void updateDiskCacheKey(MessageDigest messageDigest) {
|
||||
messageDigest.update(key().getBytes());
|
||||
}
|
||||
@Override public abstract void updateDiskCacheKey(MessageDigest messageDigest);
|
||||
|
||||
@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.support.annotation.NonNull;
|
||||
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.RSBlur;
|
||||
|
||||
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 DEFAULT_DOWN_SAMPLING = 1;
|
||||
|
||||
@ -77,7 +82,22 @@ public class BlurTransformation extends BitmapTransformation {
|
||||
return bitmap;
|
||||
}
|
||||
|
||||
@Override public String key() {
|
||||
@Override public String toString() {
|
||||
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.support.annotation.NonNull;
|
||||
import com.bumptech.glide.load.engine.bitmap_recycle.BitmapPool;
|
||||
import java.security.MessageDigest;
|
||||
|
||||
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;
|
||||
|
||||
public ColorFilterTransformation(int color) {
|
||||
@ -51,7 +56,22 @@ public class ColorFilterTransformation extends BitmapTransformation {
|
||||
return bitmap;
|
||||
}
|
||||
|
||||
@Override public String key() {
|
||||
@Override public String toString() {
|
||||
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.resource.bitmap.TransformationUtils;
|
||||
import com.bumptech.glide.request.RequestOptions;
|
||||
import java.security.MessageDigest;
|
||||
|
||||
/**
|
||||
* @deprecated Use {@link RequestOptions#circleCrop()}.
|
||||
@ -29,12 +30,31 @@ import com.bumptech.glide.request.RequestOptions;
|
||||
@Deprecated
|
||||
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,
|
||||
@NonNull Bitmap toTransform, int outWidth, int outHeight) {
|
||||
return TransformationUtils.circleCrop(pool, toTransform, outWidth, outHeight);
|
||||
}
|
||||
|
||||
@Override public String key() {
|
||||
@Override public String toString() {
|
||||
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 com.bumptech.glide.load.engine.bitmap_recycle.BitmapPool;
|
||||
import com.bumptech.glide.load.resource.bitmap.TransformationUtils;
|
||||
import java.security.MessageDigest;
|
||||
|
||||
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;
|
||||
|
||||
@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);
|
||||
}
|
||||
|
||||
@Override public String key() {
|
||||
@Override public String toString() {
|
||||
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.support.annotation.NonNull;
|
||||
import com.bumptech.glide.load.engine.bitmap_recycle.BitmapPool;
|
||||
import java.security.MessageDigest;
|
||||
|
||||
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 {
|
||||
TOP,
|
||||
CENTER,
|
||||
@ -74,11 +79,26 @@ public class CropTransformation extends BitmapTransformation {
|
||||
return bitmap;
|
||||
}
|
||||
|
||||
@Override public String key() {
|
||||
@Override public String toString() {
|
||||
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) {
|
||||
switch (cropType) {
|
||||
case TOP:
|
||||
@ -91,4 +111,5 @@ public class CropTransformation extends BitmapTransformation {
|
||||
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.support.annotation.NonNull;
|
||||
import com.bumptech.glide.load.engine.bitmap_recycle.BitmapPool;
|
||||
import java.security.MessageDigest;
|
||||
|
||||
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,
|
||||
@NonNull Bitmap toTransform, int outWidth, int outHeight) {
|
||||
int width = toTransform.getWidth();
|
||||
@ -46,7 +51,22 @@ public class GrayscaleTransformation extends BitmapTransformation {
|
||||
return bitmap;
|
||||
}
|
||||
|
||||
@Override public String key() {
|
||||
@Override public String toString() {
|
||||
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.support.annotation.NonNull;
|
||||
import com.bumptech.glide.load.engine.bitmap_recycle.BitmapPool;
|
||||
import java.security.MessageDigest;
|
||||
import jp.wasabeef.glide.transformations.internal.Utils;
|
||||
|
||||
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 int maskId;
|
||||
|
||||
@ -63,7 +68,22 @@ public class MaskTransformation extends BitmapTransformation {
|
||||
return bitmap;
|
||||
}
|
||||
|
||||
@Override public String key() {
|
||||
@Override public String toString() {
|
||||
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 com.bumptech.glide.load.engine.bitmap_recycle.BitmapPool;
|
||||
|
||||
import java.security.MessageDigest;
|
||||
|
||||
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 {
|
||||
ALL,
|
||||
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);
|
||||
}
|
||||
|
||||
@Override public String key() {
|
||||
@Override public String toString() {
|
||||
return "RoundedTransformation(radius=" + radius + ", margin=" + margin + ", diameter="
|
||||
+ 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.
|
||||
*/
|
||||
|
||||
import java.security.MessageDigest;
|
||||
import jp.co.cyberagent.android.gpuimage.GPUImageBrightnessFilter;
|
||||
|
||||
/**
|
||||
@ -23,6 +24,10 @@ import jp.co.cyberagent.android.gpuimage.GPUImageBrightnessFilter;
|
||||
*/
|
||||
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;
|
||||
|
||||
public BrightnessFilterTransformation() {
|
||||
@ -36,7 +41,22 @@ public class BrightnessFilterTransformation extends GPUFilterTransformation {
|
||||
filter.setBrightness(this.brightness);
|
||||
}
|
||||
|
||||
@Override public String key() {
|
||||
@Override public String toString() {
|
||||
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.
|
||||
*/
|
||||
|
||||
import java.security.MessageDigest;
|
||||
import jp.co.cyberagent.android.gpuimage.GPUImageContrastFilter;
|
||||
|
||||
/**
|
||||
@ -23,6 +24,10 @@ import jp.co.cyberagent.android.gpuimage.GPUImageContrastFilter;
|
||||
*/
|
||||
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;
|
||||
|
||||
public ContrastFilterTransformation() {
|
||||
@ -36,7 +41,22 @@ public class ContrastFilterTransformation extends GPUFilterTransformation {
|
||||
filter.setContrast(this.contrast);
|
||||
}
|
||||
|
||||
@Override public String key() {
|
||||
@Override public String toString() {
|
||||
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.support.annotation.NonNull;
|
||||
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.GPUImageFilter;
|
||||
import jp.wasabeef.glide.transformations.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;
|
||||
|
||||
public GPUFilterTransformation(GPUImageFilter filter) {
|
||||
@ -41,11 +46,26 @@ public class GPUFilterTransformation extends BitmapTransformation {
|
||||
return gpuImage.getBitmapWithFilterApplied();
|
||||
}
|
||||
|
||||
@Override public String key() {
|
||||
@Override public String toString() {
|
||||
return getClass().getSimpleName();
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked") public <T> T getFilter() {
|
||||
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.
|
||||
*/
|
||||
|
||||
import java.security.MessageDigest;
|
||||
import jp.co.cyberagent.android.gpuimage.GPUImageColorInvertFilter;
|
||||
|
||||
/**
|
||||
@ -23,11 +24,30 @@ import jp.co.cyberagent.android.gpuimage.GPUImageColorInvertFilter;
|
||||
*/
|
||||
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() {
|
||||
super(new GPUImageColorInvertFilter());
|
||||
}
|
||||
|
||||
@Override public String key() {
|
||||
@Override public String toString() {
|
||||
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.
|
||||
*/
|
||||
|
||||
import java.security.MessageDigest;
|
||||
import jp.co.cyberagent.android.gpuimage.GPUImageKuwaharaFilter;
|
||||
|
||||
/**
|
||||
@ -26,6 +27,10 @@ import jp.co.cyberagent.android.gpuimage.GPUImageKuwaharaFilter;
|
||||
*/
|
||||
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;
|
||||
|
||||
public KuwaharaFilterTransformation() {
|
||||
@ -39,7 +44,22 @@ public class KuwaharaFilterTransformation extends GPUFilterTransformation {
|
||||
filter.setRadius(this.radius);
|
||||
}
|
||||
|
||||
@Override public String key() {
|
||||
@Override public String toString() {
|
||||
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.
|
||||
*/
|
||||
|
||||
import java.security.MessageDigest;
|
||||
import jp.co.cyberagent.android.gpuimage.GPUImagePixelationFilter;
|
||||
|
||||
/**
|
||||
@ -25,6 +26,10 @@ import jp.co.cyberagent.android.gpuimage.GPUImagePixelationFilter;
|
||||
*/
|
||||
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;
|
||||
|
||||
public PixelationFilterTransformation() {
|
||||
@ -38,7 +43,22 @@ public class PixelationFilterTransformation extends GPUFilterTransformation {
|
||||
filter.setPixel(this.pixel);
|
||||
}
|
||||
|
||||
@Override public String key() {
|
||||
@Override public String toString() {
|
||||
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.
|
||||
*/
|
||||
|
||||
import java.security.MessageDigest;
|
||||
import jp.co.cyberagent.android.gpuimage.GPUImageSepiaFilter;
|
||||
|
||||
/**
|
||||
@ -25,6 +26,10 @@ import jp.co.cyberagent.android.gpuimage.GPUImageSepiaFilter;
|
||||
*/
|
||||
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;
|
||||
|
||||
public SepiaFilterTransformation() {
|
||||
@ -38,7 +43,22 @@ public class SepiaFilterTransformation extends GPUFilterTransformation {
|
||||
filter.setIntensity(this.intensity);
|
||||
}
|
||||
|
||||
@Override public String key() {
|
||||
@Override public String toString() {
|
||||
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.
|
||||
*/
|
||||
|
||||
import java.security.MessageDigest;
|
||||
import jp.co.cyberagent.android.gpuimage.GPUImageSketchFilter;
|
||||
|
||||
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() {
|
||||
super(new GPUImageSketchFilter());
|
||||
}
|
||||
|
||||
@Override public String key() {
|
||||
@Override public String toString() {
|
||||
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 java.security.MessageDigest;
|
||||
import jp.co.cyberagent.android.gpuimage.GPUImageSwirlFilter;
|
||||
|
||||
/**
|
||||
@ -24,6 +25,10 @@ import jp.co.cyberagent.android.gpuimage.GPUImageSwirlFilter;
|
||||
*/
|
||||
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 angle;
|
||||
private PointF center;
|
||||
@ -48,8 +53,23 @@ public class SwirlFilterTransformation extends GPUFilterTransformation {
|
||||
filter.setCenter(this.center);
|
||||
}
|
||||
|
||||
@Override public String key() {
|
||||
@Override public String toString() {
|
||||
return "SwirlFilterTransformation(radius=" + radius +
|
||||
",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.
|
||||
*/
|
||||
|
||||
import java.security.MessageDigest;
|
||||
import jp.co.cyberagent.android.gpuimage.GPUImageToonFilter;
|
||||
|
||||
/**
|
||||
@ -25,6 +26,10 @@ import jp.co.cyberagent.android.gpuimage.GPUImageToonFilter;
|
||||
*/
|
||||
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 quantizationLevels;
|
||||
|
||||
@ -41,8 +46,23 @@ public class ToonFilterTransformation extends GPUFilterTransformation {
|
||||
filter.setQuantizationLevels(this.quantizationLevels);
|
||||
}
|
||||
|
||||
@Override public String key() {
|
||||
@Override public String toString() {
|
||||
return "ToonFilterTransformation(threshold=" + threshold +
|
||||
",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 java.security.MessageDigest;
|
||||
import java.util.Arrays;
|
||||
import jp.co.cyberagent.android.gpuimage.GPUImageVignetteFilter;
|
||||
|
||||
@ -27,6 +28,10 @@ import jp.co.cyberagent.android.gpuimage.GPUImageVignetteFilter;
|
||||
*/
|
||||
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 float[] vignetteColor;
|
||||
private float vignetteStart;
|
||||
@ -49,9 +54,24 @@ public class VignetteFilterTransformation extends GPUFilterTransformation {
|
||||
filter.setVignetteEnd(vignetteEnd);
|
||||
}
|
||||
|
||||
@Override public String key() {
|
||||
@Override public String toString() {
|
||||
return "VignetteFilterTransformation(center=" + center.toString() +
|
||||
",color=" + Arrays.toString(vignetteColor) +
|
||||
",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