diff --git a/.idea/codeStyles/Project.xml b/.idea/codeStyles/Project.xml new file mode 100644 index 0000000..681f41a --- /dev/null +++ b/.idea/codeStyles/Project.xml @@ -0,0 +1,116 @@ + + + + + + + +
+ + + + xmlns:android + + ^$ + + + +
+
+ + + + xmlns:.* + + ^$ + + + BY_NAME + +
+
+ + + + .*:id + + http://schemas.android.com/apk/res/android + + + +
+
+ + + + .*:name + + http://schemas.android.com/apk/res/android + + + +
+
+ + + + name + + ^$ + + + +
+
+ + + + style + + ^$ + + + +
+
+ + + + .* + + ^$ + + + BY_NAME + +
+
+ + + + .* + + http://schemas.android.com/apk/res/android + + + ANDROID_ATTRIBUTE_ORDER + +
+
+ + + + .* + + .* + + + BY_NAME + +
+
+
+
+
+
\ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index 1236c4c..b1e7ef1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,21 @@ Change Log ========== +Version 4.1.0 *(2019-08-15)* +---------------------------- + +Add: +- Support to CropCircle with Border [#136](https://github.com/wasabeef/glide-transformations/pull/136) + +Update: +- Glide to 4.9.0 +- Android Gradle plugin to 3.6.0-alpha05 +- Kotlin to 1.3.41 + +Bug Fix: +- Fix diffrent density [#147](https://github.com/wasabeef/glide-transformations/pull/147) + + Version 4.0.1 *(2018-11-20)* ---------------------------- diff --git a/README.md b/README.md index 890cde4..67f871f 100644 --- a/README.md +++ b/README.md @@ -79,25 +79,35 @@ android { ## Transformations ### Crop -`CropTransformation`, `CropCircleTransformation`, `CropSquareTransformation`, -`RoundedCornersTransformation` +- `CropTransformation` +- `CropCircleTransformation` +- `CropCircleWithBorderTransformation` +- `CropSquareTransformation` +- `RoundedCornersTransformation` ### Color -`ColorFilterTransformation`, `GrayscaleTransformation` +- `ColorFilterTransformation` +- `GrayscaleTransformation` ### Blur -`BlurTransformation` +- `BlurTransformation` ### Mask -`MaskTransformation` +- `MaskTransformation` ### GPU Filter (use [GPUImage](https://github.com/CyberAgent/android-gpuimage)) **Will require add dependencies for GPUImage.** -`ToonFilterTransformation`, `SepiaFilterTransformation`, `ContrastFilterTransformation` -`InvertFilterTransformation`, `PixelationFilterTransformation`, `SketchFilterTransformation` -`SwirlFilterTransformation`, `BrightnessFilterTransformation`, `KuwaharaFilterTransformation` -`VignetteFilterTransformation` +- `ToonFilterTransformation` +- `SepiaFilterTransformation` +- `ContrastFilterTransformation` +- `InvertFilterTransformation` +- `PixelationFilterTransformation` +- `SketchFilterTransformation` +- `SwirlFilterTransformation` +- `BrightnessFilterTransformation` +- `KuwaharaFilterTransformation` +- `VignetteFilterTransformation` Applications using Glide Transformations @@ -129,6 +139,7 @@ Contributers ------- * [start141](https://github.com/start141) +* [squeeish](https://github.com/squeeish) Thanks ------- diff --git a/build.gradle b/build.gradle index f69856b..2f59197 100644 --- a/build.gradle +++ b/build.gradle @@ -2,8 +2,8 @@ buildscript { ext { - kotlin_version = '1.3.0' - glide_version = '4.8.0' + kotlin_version = '1.3.41' + glide_version = '4.9.0' gpuimage_version = '2.0.3' } @@ -12,7 +12,7 @@ buildscript { jcenter() } dependencies { - classpath 'com.android.tools.build:gradle:3.4.0-alpha04' + classpath 'com.android.tools.build:gradle:3.6.0-alpha05' classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.8.4' classpath 'com.github.dcendents:android-maven-gradle-plugin:2.1' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" diff --git a/example/src/main/java/jp/wasabeef/example/glide/Ext.kt b/example/src/main/java/jp/wasabeef/example/glide/Ext.kt index 007846e..322f5ce 100644 --- a/example/src/main/java/jp/wasabeef/example/glide/Ext.kt +++ b/example/src/main/java/jp/wasabeef/example/glide/Ext.kt @@ -1,7 +1,7 @@ package jp.wasabeef.example.glide /** - * Copyright (C) 2018 Wasabeef + * Copyright (C) 2019 Wasabeef * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/example/src/main/java/jp/wasabeef/example/glide/MainActivity.kt b/example/src/main/java/jp/wasabeef/example/glide/MainActivity.kt index 154cf31..a8ec773 100644 --- a/example/src/main/java/jp/wasabeef/example/glide/MainActivity.kt +++ b/example/src/main/java/jp/wasabeef/example/glide/MainActivity.kt @@ -15,9 +15,9 @@ class MainActivity : AppCompatActivity() { findViewById(R.id.list).apply { layoutManager = LinearLayoutManager(context) adapter = MainAdapter(context, mutableListOf( - Mask, NinePatchMask, CropTop, CropCenter, CropBottom, CropSquare, CropCircle, Grayscale, - Blur, SupportRSBlur, Toon, Sepia, Contrast, Invert, Pixel, Sketch, Swirl, Brightness, - Kuawahara, Vignette + Mask, NinePatchMask, CropTop, CropCenter, CropBottom, CropSquare, CropCircle, + CropCircleWithBorder, Grayscale, Blur, SupportRSBlur, Toon, Sepia, Contrast, Invert, + Pixel, Sketch, Swirl, Brightness, Kuawahara, Vignette )) } } diff --git a/example/src/main/java/jp/wasabeef/example/glide/MainAdapter.kt b/example/src/main/java/jp/wasabeef/example/glide/MainAdapter.kt index d84216a..f1ece8d 100644 --- a/example/src/main/java/jp/wasabeef/example/glide/MainAdapter.kt +++ b/example/src/main/java/jp/wasabeef/example/glide/MainAdapter.kt @@ -19,6 +19,7 @@ import jp.wasabeef.example.glide.MainAdapter.Type.* import jp.wasabeef.glide.transformations.* import jp.wasabeef.glide.transformations.CropTransformation.CropType import jp.wasabeef.glide.transformations.gpu.* +import jp.wasabeef.glide.transformations.internal.Utils /** * Created by Wasabeef on 2015/01/11. @@ -36,6 +37,7 @@ class MainAdapter( CropBottom, CropSquare, CropCircle, + CropCircleWithBorder, ColorFilter, Grayscale, RoundedCorners, @@ -65,7 +67,7 @@ class MainAdapter( override fun onBindViewHolder(holder: ViewHolder, position: Int) { when (dataSet[position]) { - MainAdapter.Type.Mask -> { + Mask -> { Glide.with(context) .load(R.drawable.check) .apply(overrideOf(266.px, 252.px)) @@ -73,7 +75,7 @@ class MainAdapter( MaskTransformation(R.drawable.mask_starfish)))) .into(holder.image) } - MainAdapter.Type.NinePatchMask -> { + NinePatchMask -> { Glide.with(context) .load(R.drawable.check) .apply(overrideOf(300.px, 200.px)) @@ -107,6 +109,12 @@ class MainAdapter( .apply(bitmapTransform(CropCircleTransformation())) .into(holder.image) + CropCircleWithBorder -> Glide.with(context) + .load(R.drawable.demo) + .apply(bitmapTransform( + CropCircleWithBorderTransformation(Utils.toDp(4), Color.rgb(0, 145, 86)))) + .into(holder.image) + ColorFilter -> Glide.with(context) .load(R.drawable.demo) .apply(bitmapTransform(ColorFilterTransformation(Color.argb(80, 255, 0, 0)))) diff --git a/gradle.properties b/gradle.properties index db4af6d..7874581 100644 --- a/gradle.properties +++ b/gradle.properties @@ -27,7 +27,7 @@ android.enableR8.fullMode=true # transitive dependency references. android.namespacedRClass=true -VERSION_NAME=4.0.1 +VERSION_NAME=4.1.0 GROUP=jp.wasabeef COMPILE_SDK_VERSION=28 diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 18290a6..5c2d1cf 100644 Binary files a/gradle/wrapper/gradle-wrapper.jar and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 5b5393a..b0acbdc 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-5.0-milestone-1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-5.5-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/gradlew b/gradlew index cccdd3d..8e25e6c 100755 --- a/gradlew +++ b/gradlew @@ -1,5 +1,21 @@ #!/usr/bin/env sh +# +# Copyright 2015 the original author or authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + ############################################################################## ## ## Gradle start up script for UN*X @@ -28,7 +44,7 @@ APP_NAME="Gradle" APP_BASE_NAME=`basename "$0"` # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS="" +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD="maximum" diff --git a/gradlew.bat b/gradlew.bat index e95643d..24467a1 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -1,3 +1,19 @@ +@rem +@rem Copyright 2015 the original author or authors. +@rem +@rem Licensed under the Apache License, Version 2.0 (the "License"); +@rem you may not use this file except in compliance with the License. +@rem You may obtain a copy of the License at +@rem +@rem https://www.apache.org/licenses/LICENSE-2.0 +@rem +@rem Unless required by applicable law or agreed to in writing, software +@rem distributed under the License is distributed on an "AS IS" BASIS, +@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@rem See the License for the specific language governing permissions and +@rem limitations under the License. +@rem + @if "%DEBUG%" == "" @echo off @rem ########################################################################## @rem @@ -14,7 +30,7 @@ set APP_BASE_NAME=%~n0 set APP_HOME=%DIRNAME% @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS= +set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" @rem Find java.exe if defined JAVA_HOME goto findJavaFromJavaHome diff --git a/transformations/src/main/java/jp/wasabeef/glide/transformations/BitmapTransformation.java b/transformations/src/main/java/jp/wasabeef/glide/transformations/BitmapTransformation.java index 17615e0..3b6b8d6 100755 --- a/transformations/src/main/java/jp/wasabeef/glide/transformations/BitmapTransformation.java +++ b/transformations/src/main/java/jp/wasabeef/glide/transformations/BitmapTransformation.java @@ -1,15 +1,15 @@ package jp.wasabeef.glide.transformations; /** - * Copyright (C) 2018 Wasabeef + * Copyright (C) 2019 Wasabeef * Copyright 2014 Google, Inc. All rights reserved. - * + *

* Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * + *

* http://www.apache.org/licenses/LICENSE-2.0 - * + *

* Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -20,6 +20,8 @@ package jp.wasabeef.glide.transformations; import android.content.Context; import android.graphics.Bitmap; +import androidx.annotation.NonNull; + import com.bumptech.glide.Glide; import com.bumptech.glide.load.Transformation; import com.bumptech.glide.load.engine.Resource; @@ -30,8 +32,6 @@ import com.bumptech.glide.util.Util; import java.security.MessageDigest; -import androidx.annotation.NonNull; - public abstract class BitmapTransformation implements Transformation { @NonNull @@ -58,12 +58,12 @@ public abstract class BitmapTransformation implements Transformation { return result; } - void setCanvasBitmapDensity(@NonNull Bitmap toTransform, @NonNull Bitmap canvasBitmap) { - canvasBitmap.setDensity(toTransform.getDensity()); - } + void setCanvasBitmapDensity(@NonNull Bitmap toTransform, @NonNull Bitmap canvasBitmap) { + canvasBitmap.setDensity(toTransform.getDensity()); + } - protected abstract Bitmap transform(@NonNull Context context, @NonNull BitmapPool pool, - @NonNull Bitmap toTransform, int outWidth, int outHeight); + protected abstract Bitmap transform(@NonNull Context context, @NonNull BitmapPool pool, + @NonNull Bitmap toTransform, int outWidth, int outHeight); @Override public abstract void updateDiskCacheKey(@NonNull MessageDigest messageDigest); diff --git a/transformations/src/main/java/jp/wasabeef/glide/transformations/BlurTransformation.java b/transformations/src/main/java/jp/wasabeef/glide/transformations/BlurTransformation.java index 14ec0ad..185ca40 100755 --- a/transformations/src/main/java/jp/wasabeef/glide/transformations/BlurTransformation.java +++ b/transformations/src/main/java/jp/wasabeef/glide/transformations/BlurTransformation.java @@ -1,14 +1,14 @@ package jp.wasabeef.glide.transformations; /** - * Copyright (C) 2018 Wasabeef - * + * Copyright (C) 2019 Wasabeef + *

* Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * + *

* http://www.apache.org/licenses/LICENSE-2.0 - * + *

* Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -21,11 +21,12 @@ import android.graphics.Bitmap; import android.graphics.Canvas; import android.graphics.Paint; +import androidx.annotation.NonNull; + import com.bumptech.glide.load.engine.bitmap_recycle.BitmapPool; import java.security.MessageDigest; -import androidx.annotation.NonNull; import jp.wasabeef.glide.transformations.internal.FastBlur; public class BlurTransformation extends BitmapTransformation { @@ -64,7 +65,7 @@ public class BlurTransformation extends BitmapTransformation { Bitmap bitmap = pool.get(scaledWidth, scaledHeight, Bitmap.Config.ARGB_8888); - setCanvasBitmapDensity(toTransform,bitmap); + setCanvasBitmapDensity(toTransform, bitmap); Canvas canvas = new Canvas(bitmap); canvas.scale(1 / (float) sampling, 1 / (float) sampling); diff --git a/transformations/src/main/java/jp/wasabeef/glide/transformations/ColorFilterTransformation.java b/transformations/src/main/java/jp/wasabeef/glide/transformations/ColorFilterTransformation.java index a71d0cf..e98b341 100755 --- a/transformations/src/main/java/jp/wasabeef/glide/transformations/ColorFilterTransformation.java +++ b/transformations/src/main/java/jp/wasabeef/glide/transformations/ColorFilterTransformation.java @@ -1,14 +1,14 @@ package jp.wasabeef.glide.transformations; /** - * Copyright (C) 2018 Wasabeef - * + * Copyright (C) 2019 Wasabeef + *

* Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * + *

* http://www.apache.org/licenses/LICENSE-2.0 - * + *

* Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -23,12 +23,12 @@ import android.graphics.Paint; import android.graphics.PorterDuff; import android.graphics.PorterDuffColorFilter; +import androidx.annotation.NonNull; + import com.bumptech.glide.load.engine.bitmap_recycle.BitmapPool; import java.security.MessageDigest; -import androidx.annotation.NonNull; - public class ColorFilterTransformation extends BitmapTransformation { private static final int VERSION = 1; @@ -51,13 +51,13 @@ public class ColorFilterTransformation extends BitmapTransformation { toTransform.getConfig() != null ? toTransform.getConfig() : Bitmap.Config.ARGB_8888; Bitmap bitmap = pool.get(width, height, config); - setCanvasBitmapDensity(toTransform, bitmap); + setCanvasBitmapDensity(toTransform, bitmap); - Canvas canvas = new Canvas(bitmap); - Paint paint = new Paint(); - paint.setAntiAlias(true); - paint.setColorFilter(new PorterDuffColorFilter(color, PorterDuff.Mode.SRC_ATOP)); - canvas.drawBitmap(toTransform, 0, 0, paint); + Canvas canvas = new Canvas(bitmap); + Paint paint = new Paint(); + paint.setAntiAlias(true); + paint.setColorFilter(new PorterDuffColorFilter(color, PorterDuff.Mode.SRC_ATOP)); + canvas.drawBitmap(toTransform, 0, 0, paint); return bitmap; } diff --git a/transformations/src/main/java/jp/wasabeef/glide/transformations/CropCircleTransformation.java b/transformations/src/main/java/jp/wasabeef/glide/transformations/CropCircleTransformation.java index fb4a8b6..b3a2277 100755 --- a/transformations/src/main/java/jp/wasabeef/glide/transformations/CropCircleTransformation.java +++ b/transformations/src/main/java/jp/wasabeef/glide/transformations/CropCircleTransformation.java @@ -1,14 +1,14 @@ package jp.wasabeef.glide.transformations; /** - * Copyright (C) 2018 Wasabeef - * + * Copyright (C) 2019 Wasabeef + *

* Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * + *

* http://www.apache.org/licenses/LICENSE-2.0 - * + *

* Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -19,14 +19,14 @@ package jp.wasabeef.glide.transformations; import android.content.Context; import android.graphics.Bitmap; +import androidx.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; -import androidx.annotation.NonNull; - /** * @deprecated Use {@link RequestOptions#circleCrop()}. */ diff --git a/transformations/src/main/java/jp/wasabeef/glide/transformations/CropCircleWithBorderTransformation.java b/transformations/src/main/java/jp/wasabeef/glide/transformations/CropCircleWithBorderTransformation.java index df4c0f9..6825107 100644 --- a/transformations/src/main/java/jp/wasabeef/glide/transformations/CropCircleWithBorderTransformation.java +++ b/transformations/src/main/java/jp/wasabeef/glide/transformations/CropCircleWithBorderTransformation.java @@ -1,14 +1,30 @@ package jp.wasabeef.glide.transformations; +import android.content.Context; +import android.graphics.Bitmap; +import android.graphics.Canvas; +import android.graphics.Color; +import android.graphics.Paint; + +import androidx.annotation.ColorInt; +import androidx.annotation.NonNull; + +import com.bumptech.glide.load.engine.bitmap_recycle.BitmapPool; +import com.bumptech.glide.load.resource.bitmap.TransformationUtils; + +import java.security.MessageDigest; + +import jp.wasabeef.glide.transformations.internal.Utils; + /** - * Copyright (C) 2017 Wasabeef - * + * Copyright (C) 2019 Wasabeef + *

* Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * + *

* http://www.apache.org/licenses/LICENSE-2.0 - * + *

* Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -16,79 +32,65 @@ package jp.wasabeef.glide.transformations; * limitations under the License. */ -public class CropCircleWithBorderTransformation implements Transformation { +public class CropCircleWithBorderTransformation extends BitmapTransformation { - private BitmapPool mBitmapPool; - private int borderWidth; - private int borderColor; - public CropCircleWithBorderTransformation(Context context, int borderWidth, - @ColorInt int borderColor) { - this(Glide.get(context).getBitmapPool()); - this.borderWidth = borderWidth; - this.borderColor = borderColor; - } + private static final int VERSION = 1; + private static final String ID = "jp.wasabeef.glide.transformations.CropCircleWithBorderTransformation." + VERSION; - public CropCircleWithBorderTransformation(BitmapPool pool) { - this.mBitmapPool = pool; - } + private int borderSize; + private int borderColor; - @Override - public Resource transform(Resource resource, int outWidth, int outHeight) { - Bitmap source = resource.get(); - int size = Math.min(source.getWidth(), source.getHeight()); - int width = (source.getWidth() - size) / 2; - int height = (source.getHeight() - size) / 2; + public CropCircleWithBorderTransformation() { + this.borderSize = Utils.toDp(4); + this.borderColor = Color.BLACK; + } - Bitmap bitmap = mBitmapPool.get(size, size, Bitmap.Config.ARGB_8888); - if (bitmap == null) { - bitmap = Bitmap.createBitmap(size, size, Bitmap.Config.ARGB_8888); - } + public CropCircleWithBorderTransformation(int borderSize, @ColorInt int borderColor) { + this.borderSize = borderSize; + this.borderColor = borderColor; + } - Canvas canvas = new Canvas(bitmap); - Paint paint = new Paint(); - BitmapShader shader = - new BitmapShader(source, BitmapShader.TileMode.CLAMP, BitmapShader.TileMode.CLAMP); - if (width != 0 || height != 0) { - // source isn't square, move viewport to center - Matrix matrix = new Matrix(); - matrix.setTranslate(-width, -height); - shader.setLocalMatrix(matrix); - } - paint.setShader(shader); - paint.setAntiAlias(true); + @Override + protected Bitmap transform(@NonNull Context context, @NonNull BitmapPool pool, + @NonNull Bitmap toTransform, int outWidth, int outHeight) { - float r = size / 2f; - canvas.drawCircle(r, r, r, paint); + Bitmap bitmap = TransformationUtils.circleCrop(pool, toTransform, outWidth, outHeight); - // add border - int dstBitmapWidth = bitmap.getWidth() + borderWidth * 2; - Bitmap borderedBitmap = - Bitmap.createBitmap(dstBitmapWidth, dstBitmapWidth, Bitmap.Config.ARGB_8888); - Canvas canvas1 = new Canvas(borderedBitmap); - canvas1.drawBitmap(bitmap, borderWidth, borderWidth, null); + setCanvasBitmapDensity(toTransform, bitmap); - Paint paint1 = new Paint(); - paint1.setColor(borderColor); - paint1.setStyle(Paint.Style.STROKE); - paint1.setStrokeWidth(borderWidth); - paint1.setAntiAlias(true); + Paint paint = new Paint(); + paint.setColor(borderColor); + paint.setStyle(Paint.Style.STROKE); + paint.setStrokeWidth(borderSize); + paint.setAntiAlias(true); - canvas1.drawCircle( - canvas1.getWidth() / 2, - canvas1.getWidth() / 2, - canvas1.getWidth() / 2 - borderWidth / 2, - paint1 - ); + Canvas canvas = new Canvas(bitmap); + canvas.drawCircle( + outWidth / 2f, + outHeight / 2f, + Math.max(outWidth, outHeight) / 2f - borderSize / 2f, + paint + ); - bitmap.recycle(); + return bitmap; + } - return BitmapResource.obtain(borderedBitmap, mBitmapPool); - } + @Override + public void updateDiskCacheKey(@NonNull MessageDigest messageDigest) { + messageDigest.update((ID + borderSize + borderColor).getBytes(CHARSET)); + } - @Override public String getId() { - return "CropCircleWithBorderTransformation(" + - "width=" + borderWidth + ", color=" + borderColor + ")"; - } + @Override + public boolean equals(Object o) { + return o instanceof CropCircleWithBorderTransformation && + ((CropCircleWithBorderTransformation) o).borderSize == borderSize && + ((CropCircleWithBorderTransformation) o).borderColor == borderColor; + } + + @Override + public int hashCode() { + return ID.hashCode() + borderSize * 100 + borderColor + 10; + } } \ No newline at end of file diff --git a/transformations/src/main/java/jp/wasabeef/glide/transformations/CropSquareTransformation.java b/transformations/src/main/java/jp/wasabeef/glide/transformations/CropSquareTransformation.java index 3ac2acd..678a9ea 100755 --- a/transformations/src/main/java/jp/wasabeef/glide/transformations/CropSquareTransformation.java +++ b/transformations/src/main/java/jp/wasabeef/glide/transformations/CropSquareTransformation.java @@ -1,14 +1,14 @@ package jp.wasabeef.glide.transformations; /** - * Copyright (C) 2018 Wasabeef - * + * Copyright (C) 2019 Wasabeef + *

* Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * + *

* http://www.apache.org/licenses/LICENSE-2.0 - * + *

* Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -19,13 +19,13 @@ package jp.wasabeef.glide.transformations; import android.content.Context; import android.graphics.Bitmap; +import androidx.annotation.NonNull; + import com.bumptech.glide.load.engine.bitmap_recycle.BitmapPool; import com.bumptech.glide.load.resource.bitmap.TransformationUtils; import java.security.MessageDigest; -import androidx.annotation.NonNull; - public class CropSquareTransformation extends BitmapTransformation { private static final int VERSION = 1; diff --git a/transformations/src/main/java/jp/wasabeef/glide/transformations/CropTransformation.java b/transformations/src/main/java/jp/wasabeef/glide/transformations/CropTransformation.java index 41a87be..c70ca4c 100755 --- a/transformations/src/main/java/jp/wasabeef/glide/transformations/CropTransformation.java +++ b/transformations/src/main/java/jp/wasabeef/glide/transformations/CropTransformation.java @@ -1,14 +1,14 @@ package jp.wasabeef.glide.transformations; /** - * Copyright (C) 2018 Wasabeef - * + * Copyright (C) 2019 Wasabeef + *

* Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * + *

* http://www.apache.org/licenses/LICENSE-2.0 - * + *

* Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -21,12 +21,12 @@ import android.graphics.Bitmap; import android.graphics.Canvas; import android.graphics.RectF; +import androidx.annotation.NonNull; + import com.bumptech.glide.load.engine.bitmap_recycle.BitmapPool; import java.security.MessageDigest; -import androidx.annotation.NonNull; - public class CropTransformation extends BitmapTransformation { private static final int VERSION = 1; @@ -76,7 +76,7 @@ public class CropTransformation extends BitmapTransformation { float top = getTop(scaledHeight); RectF targetRect = new RectF(left, top, left + scaledWidth, top + scaledHeight); - setCanvasBitmapDensity(toTransform,bitmap); + setCanvasBitmapDensity(toTransform, bitmap); Canvas canvas = new Canvas(bitmap); canvas.drawBitmap(toTransform, null, targetRect, null); diff --git a/transformations/src/main/java/jp/wasabeef/glide/transformations/GrayscaleTransformation.java b/transformations/src/main/java/jp/wasabeef/glide/transformations/GrayscaleTransformation.java index 4e99251..66b8930 100755 --- a/transformations/src/main/java/jp/wasabeef/glide/transformations/GrayscaleTransformation.java +++ b/transformations/src/main/java/jp/wasabeef/glide/transformations/GrayscaleTransformation.java @@ -1,14 +1,14 @@ package jp.wasabeef.glide.transformations; /** - * Copyright (C) 2018 Wasabeef - * + * Copyright (C) 2019 Wasabeef + *

* Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * + *

* http://www.apache.org/licenses/LICENSE-2.0 - * + *

* Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -23,12 +23,12 @@ import android.graphics.ColorMatrix; import android.graphics.ColorMatrixColorFilter; import android.graphics.Paint; +import androidx.annotation.NonNull; + import com.bumptech.glide.load.engine.bitmap_recycle.BitmapPool; import java.security.MessageDigest; -import androidx.annotation.NonNull; - public class GrayscaleTransformation extends BitmapTransformation { private static final int VERSION = 1; @@ -45,7 +45,7 @@ public class GrayscaleTransformation extends BitmapTransformation { toTransform.getConfig() != null ? toTransform.getConfig() : Bitmap.Config.ARGB_8888; Bitmap bitmap = pool.get(width, height, config); - setCanvasBitmapDensity(toTransform,bitmap); + setCanvasBitmapDensity(toTransform, bitmap); Canvas canvas = new Canvas(bitmap); ColorMatrix saturation = new ColorMatrix(); diff --git a/transformations/src/main/java/jp/wasabeef/glide/transformations/MaskTransformation.java b/transformations/src/main/java/jp/wasabeef/glide/transformations/MaskTransformation.java index 083a75d..e57a7ea 100755 --- a/transformations/src/main/java/jp/wasabeef/glide/transformations/MaskTransformation.java +++ b/transformations/src/main/java/jp/wasabeef/glide/transformations/MaskTransformation.java @@ -1,14 +1,14 @@ package jp.wasabeef.glide.transformations; /** - * Copyright (C) 2018 Wasabeef - * + * Copyright (C) 2019 Wasabeef + *

* Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * + *

* http://www.apache.org/licenses/LICENSE-2.0 - * + *

* Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -24,11 +24,12 @@ import android.graphics.PorterDuff; import android.graphics.PorterDuffXfermode; import android.graphics.drawable.Drawable; +import androidx.annotation.NonNull; + import com.bumptech.glide.load.engine.bitmap_recycle.BitmapPool; import java.security.MessageDigest; -import androidx.annotation.NonNull; import jp.wasabeef.glide.transformations.internal.Utils; public class MaskTransformation extends BitmapTransformation { @@ -64,7 +65,7 @@ public class MaskTransformation extends BitmapTransformation { Drawable mask = Utils.getMaskDrawable(context.getApplicationContext(), maskId); - setCanvasBitmapDensity(toTransform,bitmap); + setCanvasBitmapDensity(toTransform, bitmap); Canvas canvas = new Canvas(bitmap); mask.setBounds(0, 0, width, height); diff --git a/transformations/src/main/java/jp/wasabeef/glide/transformations/RoundedCornersTransformation.java b/transformations/src/main/java/jp/wasabeef/glide/transformations/RoundedCornersTransformation.java index 4a0a4d9..30c7323 100755 --- a/transformations/src/main/java/jp/wasabeef/glide/transformations/RoundedCornersTransformation.java +++ b/transformations/src/main/java/jp/wasabeef/glide/transformations/RoundedCornersTransformation.java @@ -1,14 +1,14 @@ package jp.wasabeef.glide.transformations; /** - * Copyright (C) 2018 Wasabeef - * + * Copyright (C) 2019 Wasabeef + *

* Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * + *

* http://www.apache.org/licenses/LICENSE-2.0 - * + *

* Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -24,12 +24,12 @@ import android.graphics.Paint; import android.graphics.RectF; import android.graphics.Shader; +import androidx.annotation.NonNull; + import com.bumptech.glide.load.engine.bitmap_recycle.BitmapPool; import java.security.MessageDigest; -import androidx.annotation.NonNull; - public class RoundedCornersTransformation extends BitmapTransformation { private static final int VERSION = 1; @@ -68,15 +68,15 @@ public class RoundedCornersTransformation extends BitmapTransformation { Bitmap bitmap = pool.get(width, height, Bitmap.Config.ARGB_8888); bitmap.setHasAlpha(true); - setCanvasBitmapDensity(toTransform, bitmap); + setCanvasBitmapDensity(toTransform, bitmap); - Canvas canvas = new Canvas(bitmap); - Paint paint = new Paint(); - paint.setAntiAlias(true); - paint.setShader(new BitmapShader(toTransform, Shader.TileMode.CLAMP, Shader.TileMode.CLAMP)); - drawRoundRect(canvas, paint, width, height); - return bitmap; - } + Canvas canvas = new Canvas(bitmap); + Paint paint = new Paint(); + paint.setAntiAlias(true); + paint.setShader(new BitmapShader(toTransform, Shader.TileMode.CLAMP, Shader.TileMode.CLAMP)); + drawRoundRect(canvas, paint, width, height); + return bitmap; + } private void drawRoundRect(Canvas canvas, Paint paint, float width, float height) { float right = width - margin; diff --git a/transformations/src/main/java/jp/wasabeef/glide/transformations/SupportRSBlurTransformation.java b/transformations/src/main/java/jp/wasabeef/glide/transformations/SupportRSBlurTransformation.java index 3ed6b02..8554f27 100644 --- a/transformations/src/main/java/jp/wasabeef/glide/transformations/SupportRSBlurTransformation.java +++ b/transformations/src/main/java/jp/wasabeef/glide/transformations/SupportRSBlurTransformation.java @@ -1,14 +1,14 @@ package jp.wasabeef.glide.transformations; /** - * Copyright (C) 2018 Wasabeef - * + * Copyright (C) 2019 Wasabeef + *

* Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * + *

* http://www.apache.org/licenses/LICENSE-2.0 - * + *

* Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -22,11 +22,12 @@ import android.graphics.Canvas; import android.graphics.Paint; import android.os.Build; +import androidx.annotation.NonNull; + import com.bumptech.glide.load.engine.bitmap_recycle.BitmapPool; import java.security.MessageDigest; -import androidx.annotation.NonNull; import jp.wasabeef.glide.transformations.internal.FastBlur; import jp.wasabeef.glide.transformations.internal.RSBlur; import jp.wasabeef.glide.transformations.internal.SupportRSBlur; @@ -67,13 +68,13 @@ public class SupportRSBlurTransformation extends BitmapTransformation { Bitmap bitmap = pool.get(scaledWidth, scaledHeight, Bitmap.Config.ARGB_8888); - setCanvasBitmapDensity(toTransform, bitmap); + setCanvasBitmapDensity(toTransform, bitmap); - Canvas canvas = new Canvas(bitmap); - canvas.scale(1 / (float) sampling, 1 / (float) sampling); - Paint paint = new Paint(); - paint.setFlags(Paint.FILTER_BITMAP_FLAG); - canvas.drawBitmap(toTransform, 0, 0, paint); + Canvas canvas = new Canvas(bitmap); + canvas.scale(1 / (float) sampling, 1 / (float) sampling); + Paint paint = new Paint(); + paint.setFlags(Paint.FILTER_BITMAP_FLAG); + canvas.drawBitmap(toTransform, 0, 0, paint); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2) { try { diff --git a/transformations/src/main/java/jp/wasabeef/glide/transformations/gpu/BrightnessFilterTransformation.java b/transformations/src/main/java/jp/wasabeef/glide/transformations/gpu/BrightnessFilterTransformation.java index 182f75a..fe0a83f 100755 --- a/transformations/src/main/java/jp/wasabeef/glide/transformations/gpu/BrightnessFilterTransformation.java +++ b/transformations/src/main/java/jp/wasabeef/glide/transformations/gpu/BrightnessFilterTransformation.java @@ -1,14 +1,14 @@ package jp.wasabeef.glide.transformations.gpu; /** - * Copyright (C) 2018 Wasabeef - * + * Copyright (C) 2019 Wasabeef + *

* Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * + *

* http://www.apache.org/licenses/LICENSE-2.0 - * + *

* Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -16,9 +16,10 @@ package jp.wasabeef.glide.transformations.gpu; * limitations under the License. */ +import androidx.annotation.NonNull; + import java.security.MessageDigest; -import androidx.annotation.NonNull; import jp.co.cyberagent.android.gpuimage.filter.GPUImageBrightnessFilter; /** diff --git a/transformations/src/main/java/jp/wasabeef/glide/transformations/gpu/ContrastFilterTransformation.java b/transformations/src/main/java/jp/wasabeef/glide/transformations/gpu/ContrastFilterTransformation.java index 09c306a..d2ef994 100755 --- a/transformations/src/main/java/jp/wasabeef/glide/transformations/gpu/ContrastFilterTransformation.java +++ b/transformations/src/main/java/jp/wasabeef/glide/transformations/gpu/ContrastFilterTransformation.java @@ -1,14 +1,14 @@ package jp.wasabeef.glide.transformations.gpu; /** - * Copyright (C) 2018 Wasabeef - * + * Copyright (C) 2019 Wasabeef + *

* Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * + *

* http://www.apache.org/licenses/LICENSE-2.0 - * + *

* Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -16,9 +16,10 @@ package jp.wasabeef.glide.transformations.gpu; * limitations under the License. */ +import androidx.annotation.NonNull; + import java.security.MessageDigest; -import androidx.annotation.NonNull; import jp.co.cyberagent.android.gpuimage.filter.GPUImageContrastFilter; /** diff --git a/transformations/src/main/java/jp/wasabeef/glide/transformations/gpu/GPUFilterTransformation.java b/transformations/src/main/java/jp/wasabeef/glide/transformations/gpu/GPUFilterTransformation.java index d674838..0dfcf97 100755 --- a/transformations/src/main/java/jp/wasabeef/glide/transformations/gpu/GPUFilterTransformation.java +++ b/transformations/src/main/java/jp/wasabeef/glide/transformations/gpu/GPUFilterTransformation.java @@ -1,14 +1,14 @@ package jp.wasabeef.glide.transformations.gpu; /** - * Copyright (C) 2018 Wasabeef - * + * Copyright (C) 2019 Wasabeef + *

* Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * + *

* http://www.apache.org/licenses/LICENSE-2.0 - * + *

* Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -19,11 +19,12 @@ package jp.wasabeef.glide.transformations.gpu; import android.content.Context; import android.graphics.Bitmap; +import androidx.annotation.NonNull; + import com.bumptech.glide.load.engine.bitmap_recycle.BitmapPool; import java.security.MessageDigest; -import androidx.annotation.NonNull; import jp.co.cyberagent.android.gpuimage.GPUImage; import jp.co.cyberagent.android.gpuimage.filter.GPUImageFilter; import jp.wasabeef.glide.transformations.BitmapTransformation; diff --git a/transformations/src/main/java/jp/wasabeef/glide/transformations/gpu/InvertFilterTransformation.java b/transformations/src/main/java/jp/wasabeef/glide/transformations/gpu/InvertFilterTransformation.java index f41a04f..50f098a 100755 --- a/transformations/src/main/java/jp/wasabeef/glide/transformations/gpu/InvertFilterTransformation.java +++ b/transformations/src/main/java/jp/wasabeef/glide/transformations/gpu/InvertFilterTransformation.java @@ -1,14 +1,14 @@ package jp.wasabeef.glide.transformations.gpu; /** - * Copyright (C) 2018 Wasabeef - * + * Copyright (C) 2019 Wasabeef + *

* Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * + *

* http://www.apache.org/licenses/LICENSE-2.0 - * + *

* Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -16,9 +16,10 @@ package jp.wasabeef.glide.transformations.gpu; * limitations under the License. */ +import androidx.annotation.NonNull; + import java.security.MessageDigest; -import androidx.annotation.NonNull; import jp.co.cyberagent.android.gpuimage.filter.GPUImageColorInvertFilter; /** diff --git a/transformations/src/main/java/jp/wasabeef/glide/transformations/gpu/KuwaharaFilterTransformation.java b/transformations/src/main/java/jp/wasabeef/glide/transformations/gpu/KuwaharaFilterTransformation.java index 247b195..72e2d63 100755 --- a/transformations/src/main/java/jp/wasabeef/glide/transformations/gpu/KuwaharaFilterTransformation.java +++ b/transformations/src/main/java/jp/wasabeef/glide/transformations/gpu/KuwaharaFilterTransformation.java @@ -1,14 +1,14 @@ package jp.wasabeef.glide.transformations.gpu; /** - * Copyright (C) 2018 Wasabeef - * + * Copyright (C) 2019 Wasabeef + *

* Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * + *

* http://www.apache.org/licenses/LICENSE-2.0 - * + *

* Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -16,9 +16,10 @@ package jp.wasabeef.glide.transformations.gpu; * limitations under the License. */ +import androidx.annotation.NonNull; + import java.security.MessageDigest; -import androidx.annotation.NonNull; import jp.co.cyberagent.android.gpuimage.filter.GPUImageKuwaharaFilter; /** diff --git a/transformations/src/main/java/jp/wasabeef/glide/transformations/gpu/PixelationFilterTransformation.java b/transformations/src/main/java/jp/wasabeef/glide/transformations/gpu/PixelationFilterTransformation.java index af71935..3d29f32 100755 --- a/transformations/src/main/java/jp/wasabeef/glide/transformations/gpu/PixelationFilterTransformation.java +++ b/transformations/src/main/java/jp/wasabeef/glide/transformations/gpu/PixelationFilterTransformation.java @@ -1,14 +1,14 @@ package jp.wasabeef.glide.transformations.gpu; /** - * Copyright (C) 2018 Wasabeef - * + * Copyright (C) 2019 Wasabeef + *

* Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * + *

* http://www.apache.org/licenses/LICENSE-2.0 - * + *

* Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -16,9 +16,10 @@ package jp.wasabeef.glide.transformations.gpu; * limitations under the License. */ +import androidx.annotation.NonNull; + import java.security.MessageDigest; -import androidx.annotation.NonNull; import jp.co.cyberagent.android.gpuimage.filter.GPUImagePixelationFilter; /** diff --git a/transformations/src/main/java/jp/wasabeef/glide/transformations/gpu/SepiaFilterTransformation.java b/transformations/src/main/java/jp/wasabeef/glide/transformations/gpu/SepiaFilterTransformation.java index 1a09f56..aae6655 100755 --- a/transformations/src/main/java/jp/wasabeef/glide/transformations/gpu/SepiaFilterTransformation.java +++ b/transformations/src/main/java/jp/wasabeef/glide/transformations/gpu/SepiaFilterTransformation.java @@ -1,7 +1,7 @@ package jp.wasabeef.glide.transformations.gpu; /** - * Copyright (C) 2018 Wasabeef + * Copyright (C) 2019 Wasabeef *

* Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -16,14 +16,15 @@ package jp.wasabeef.glide.transformations.gpu; * limitations under the License. */ +import androidx.annotation.NonNull; + import java.security.MessageDigest; -import androidx.annotation.NonNull; import jp.co.cyberagent.android.gpuimage.filter.GPUImageSepiaToneFilter; /** * Applies a simple sepia effect. - * + *

* The intensity with a default of 1.0. */ public class SepiaFilterTransformation extends GPUFilterTransformation { diff --git a/transformations/src/main/java/jp/wasabeef/glide/transformations/gpu/SketchFilterTransformation.java b/transformations/src/main/java/jp/wasabeef/glide/transformations/gpu/SketchFilterTransformation.java index 3c27329..800e284 100755 --- a/transformations/src/main/java/jp/wasabeef/glide/transformations/gpu/SketchFilterTransformation.java +++ b/transformations/src/main/java/jp/wasabeef/glide/transformations/gpu/SketchFilterTransformation.java @@ -1,14 +1,14 @@ package jp.wasabeef.glide.transformations.gpu; /** - * Copyright (C) 2018 Wasabeef - * + * Copyright (C) 2019 Wasabeef + *

* Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * + *

* http://www.apache.org/licenses/LICENSE-2.0 - * + *

* Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -16,9 +16,10 @@ package jp.wasabeef.glide.transformations.gpu; * limitations under the License. */ +import androidx.annotation.NonNull; + import java.security.MessageDigest; -import androidx.annotation.NonNull; import jp.co.cyberagent.android.gpuimage.filter.GPUImageSketchFilter; public class SketchFilterTransformation extends GPUFilterTransformation { diff --git a/transformations/src/main/java/jp/wasabeef/glide/transformations/gpu/SwirlFilterTransformation.java b/transformations/src/main/java/jp/wasabeef/glide/transformations/gpu/SwirlFilterTransformation.java index 98e0179..42358e4 100755 --- a/transformations/src/main/java/jp/wasabeef/glide/transformations/gpu/SwirlFilterTransformation.java +++ b/transformations/src/main/java/jp/wasabeef/glide/transformations/gpu/SwirlFilterTransformation.java @@ -1,14 +1,14 @@ package jp.wasabeef.glide.transformations.gpu; /** - * Copyright (C) 2018 Wasabeef - * + * Copyright (C) 2019 Wasabeef + *

* Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * + *

* http://www.apache.org/licenses/LICENSE-2.0 - * + *

* Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -18,9 +18,10 @@ package jp.wasabeef.glide.transformations.gpu; import android.graphics.PointF; +import androidx.annotation.NonNull; + import java.security.MessageDigest; -import androidx.annotation.NonNull; import jp.co.cyberagent.android.gpuimage.filter.GPUImageSwirlFilter; /** diff --git a/transformations/src/main/java/jp/wasabeef/glide/transformations/gpu/ToonFilterTransformation.java b/transformations/src/main/java/jp/wasabeef/glide/transformations/gpu/ToonFilterTransformation.java index 6ae7d2c..cece2bc 100755 --- a/transformations/src/main/java/jp/wasabeef/glide/transformations/gpu/ToonFilterTransformation.java +++ b/transformations/src/main/java/jp/wasabeef/glide/transformations/gpu/ToonFilterTransformation.java @@ -1,14 +1,14 @@ package jp.wasabeef.glide.transformations.gpu; /** - * Copyright (C) 2018 Wasabeef - * + * Copyright (C) 2019 Wasabeef + *

* Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * + *

* http://www.apache.org/licenses/LICENSE-2.0 - * + *

* Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -16,9 +16,10 @@ package jp.wasabeef.glide.transformations.gpu; * limitations under the License. */ +import androidx.annotation.NonNull; + import java.security.MessageDigest; -import androidx.annotation.NonNull; import jp.co.cyberagent.android.gpuimage.filter.GPUImageToonFilter; /** diff --git a/transformations/src/main/java/jp/wasabeef/glide/transformations/gpu/VignetteFilterTransformation.java b/transformations/src/main/java/jp/wasabeef/glide/transformations/gpu/VignetteFilterTransformation.java index 21fc9a8..f76d3a0 100755 --- a/transformations/src/main/java/jp/wasabeef/glide/transformations/gpu/VignetteFilterTransformation.java +++ b/transformations/src/main/java/jp/wasabeef/glide/transformations/gpu/VignetteFilterTransformation.java @@ -1,14 +1,14 @@ package jp.wasabeef.glide.transformations.gpu; /** - * Copyright (C) 2018 Wasabeef - * + * Copyright (C) 2019 Wasabeef + *

* Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * + *

* http://www.apache.org/licenses/LICENSE-2.0 - * + *

* Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -18,10 +18,11 @@ package jp.wasabeef.glide.transformations.gpu; import android.graphics.PointF; +import androidx.annotation.NonNull; + import java.security.MessageDigest; import java.util.Arrays; -import androidx.annotation.NonNull; import jp.co.cyberagent.android.gpuimage.filter.GPUImageVignetteFilter; /** diff --git a/transformations/src/main/java/jp/wasabeef/glide/transformations/internal/FastBlur.java b/transformations/src/main/java/jp/wasabeef/glide/transformations/internal/FastBlur.java index b203926..822ca2a 100644 --- a/transformations/src/main/java/jp/wasabeef/glide/transformations/internal/FastBlur.java +++ b/transformations/src/main/java/jp/wasabeef/glide/transformations/internal/FastBlur.java @@ -3,14 +3,14 @@ package jp.wasabeef.glide.transformations.internal; import android.graphics.Bitmap; /** - * Copyright (C) 2018 Wasabeef - * + * Copyright (C) 2019 Wasabeef + *

* Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * + *

* http://www.apache.org/licenses/LICENSE-2.0 - * + *

* Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -72,15 +72,15 @@ public class FastBlur { int wh = w * h; int div = radius + radius + 1; - int r[] = new int[wh]; - int g[] = new int[wh]; - int b[] = new int[wh]; + int[] r = new int[wh]; + int[] g = new int[wh]; + int[] b = new int[wh]; int rsum, gsum, bsum, x, y, i, p, yp, yi, yw; - int vmin[] = new int[Math.max(w, h)]; + int[] vmin = new int[Math.max(w, h)]; int divsum = (div + 1) >> 1; divsum *= divsum; - int dv[] = new int[256 * divsum]; + int[] dv = new int[256 * divsum]; for (i = 0; i < 256 * divsum; i++) { dv[i] = (i / divsum); } diff --git a/transformations/src/main/java/jp/wasabeef/glide/transformations/internal/RSBlur.java b/transformations/src/main/java/jp/wasabeef/glide/transformations/internal/RSBlur.java index d9693d8..137ddda 100644 --- a/transformations/src/main/java/jp/wasabeef/glide/transformations/internal/RSBlur.java +++ b/transformations/src/main/java/jp/wasabeef/glide/transformations/internal/RSBlur.java @@ -11,14 +11,14 @@ import android.renderscript.RenderScript; import android.renderscript.ScriptIntrinsicBlur; /** - * Copyright (C) 2018 Wasabeef - * + * Copyright (C) 2019 Wasabeef + *

* Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * + *

* http://www.apache.org/licenses/LICENSE-2.0 - * + *

* Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. diff --git a/transformations/src/main/java/jp/wasabeef/glide/transformations/internal/SupportRSBlur.java b/transformations/src/main/java/jp/wasabeef/glide/transformations/internal/SupportRSBlur.java index 7bb654a..9775b44 100644 --- a/transformations/src/main/java/jp/wasabeef/glide/transformations/internal/SupportRSBlur.java +++ b/transformations/src/main/java/jp/wasabeef/glide/transformations/internal/SupportRSBlur.java @@ -12,14 +12,14 @@ import androidx.renderscript.RenderScript; import androidx.renderscript.ScriptIntrinsicBlur; /** - * Copyright (C) 2018 Wasabeef - * + * Copyright (C) 2019 Wasabeef + *

* Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * + *

* http://www.apache.org/licenses/LICENSE-2.0 - * + *

* Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. diff --git a/transformations/src/main/java/jp/wasabeef/glide/transformations/internal/Utils.java b/transformations/src/main/java/jp/wasabeef/glide/transformations/internal/Utils.java index 091125c..36ad066 100644 --- a/transformations/src/main/java/jp/wasabeef/glide/transformations/internal/Utils.java +++ b/transformations/src/main/java/jp/wasabeef/glide/transformations/internal/Utils.java @@ -1,18 +1,19 @@ package jp.wasabeef.glide.transformations.internal; import android.content.Context; +import android.content.res.Resources; import android.graphics.drawable.Drawable; import android.os.Build; /** - * Copyright (C) 2018 Wasabeef - * + * Copyright (C) 2019 Wasabeef + *

* Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * + *

* http://www.apache.org/licenses/LICENSE-2.0 - * + *

* Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -40,4 +41,8 @@ public final class Utils { return drawable; } + + public static int toDp(int px) { + return px * (int) Resources.getSystem().getDisplayMetrics().density; + } }