From 4c7b4dbc5124991079329a1594c4a85c2e3310be Mon Sep 17 00:00:00 2001 From: tarsin Date: Sun, 14 May 2023 14:55:51 +0800 Subject: [PATCH] Introduce CropDefaults --- .../java/com/hippo/ehviewer/ui/compose/CropDefaults.kt | 8 ++++++++ .../java/com/hippo/ehviewer/ui/compose/EhAsyncThumb.kt | 2 +- .../com/hippo/ehviewer/ui/compose/data/GalleryPreview.kt | 5 +++-- 3 files changed, 12 insertions(+), 3 deletions(-) create mode 100644 app/src/main/java/com/hippo/ehviewer/ui/compose/CropDefaults.kt diff --git a/app/src/main/java/com/hippo/ehviewer/ui/compose/CropDefaults.kt b/app/src/main/java/com/hippo/ehviewer/ui/compose/CropDefaults.kt new file mode 100644 index 000000000..beb788e50 --- /dev/null +++ b/app/src/main/java/com/hippo/ehviewer/ui/compose/CropDefaults.kt @@ -0,0 +1,8 @@ +package com.hippo.ehviewer.ui.compose + +object CropDefaults { + private const val CROP_MIN_ASPECT = 0.5F + private const val CROP_MAX_ASPECT = 0.8f + private val CROP_GOOD_RANGE = CROP_MIN_ASPECT..CROP_MAX_ASPECT + fun shouldCrop(width: Int, height: Int) = width.toFloat() / height in CROP_GOOD_RANGE +} diff --git a/app/src/main/java/com/hippo/ehviewer/ui/compose/EhAsyncThumb.kt b/app/src/main/java/com/hippo/ehviewer/ui/compose/EhAsyncThumb.kt index 28f7ba7d7..aef0078de 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/compose/EhAsyncThumb.kt +++ b/app/src/main/java/com/hippo/ehviewer/ui/compose/EhAsyncThumb.kt @@ -45,7 +45,7 @@ fun EhAsyncCropThumb( onState = { if (it is AsyncImagePainter.State.Success) { it.result.drawable.run { - if (intrinsicWidth.toFloat() / intrinsicHeight in 0.5..0.8) { + if (CropDefaults.shouldCrop(intrinsicWidth, intrinsicHeight)) { contentScale = ContentScale.Crop } } diff --git a/app/src/main/java/com/hippo/ehviewer/ui/compose/data/GalleryPreview.kt b/app/src/main/java/com/hippo/ehviewer/ui/compose/data/GalleryPreview.kt index d4a24c94a..658fdd1de 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/compose/data/GalleryPreview.kt +++ b/app/src/main/java/com/hippo/ehviewer/ui/compose/data/GalleryPreview.kt @@ -27,6 +27,7 @@ import coil.request.ImageRequest import com.hippo.ehviewer.client.data.GalleryPreview import com.hippo.ehviewer.client.data.NormalGalleryPreview import com.hippo.ehviewer.coil.imageRequest +import com.hippo.ehviewer.ui.compose.CropDefaults import com.hippo.ehviewer.ui.compose.CrystalCard @Composable @@ -67,12 +68,12 @@ fun EhAsyncPreview( if (it is AsyncImagePainter.State.Success) { model.run { if (this is NormalGalleryPreview) { - if (clipWidth.toFloat() / clipHeight in 0.5..0.8) { + if (CropDefaults.shouldCrop(clipWidth, clipHeight)) { contentScale = ContentScale.Crop } } else { it.result.drawable.run { - if (intrinsicWidth.toFloat() / intrinsicHeight in 0.5..0.8) { + if (CropDefaults.shouldCrop(intrinsicWidth, intrinsicHeight)) { contentScale = ContentScale.Crop } }