mirror of
				https://github.com/mihonapp/mihon.git
				synced 2025-10-30 22:07:57 +01:00 
			
		
		
		
	Revert "Revert "Add option to always use SSIV for image decoding""
This reverts commit 1909126921
			
			
This commit is contained in:
		| @@ -11,6 +11,8 @@ The format is a modified version of [Keep a Changelog](https://keepachangelog.co | ||||
| - `Other` - for technical stuff. | ||||
|  | ||||
| ## [Unreleased] | ||||
| ### Added | ||||
| - Add option to always decode long strip images with SSIV | ||||
|  | ||||
| ## [v0.17.1] - 2024-12-06 | ||||
| ### Changed | ||||
|   | ||||
| @@ -33,4 +33,6 @@ class BasePreferences( | ||||
|     fun displayProfile() = preferenceStore.getString("pref_display_profile_key", "") | ||||
|  | ||||
|     fun hardwareBitmapThreshold() = preferenceStore.getInt("pref_hardware_bitmap_threshold", GLUtil.SAFE_TEXTURE_LIMIT) | ||||
|  | ||||
|     fun alwaysDecodeLongStripWithSSIV() = preferenceStore.getBoolean("pref_always_decode_long_strip_with_ssiv", false) | ||||
| } | ||||
|   | ||||
| @@ -356,6 +356,11 @@ object SettingsAdvancedScreen : SearchableSettings { | ||||
|                         .toMap() | ||||
|                         .toImmutableMap(), | ||||
|                 ), | ||||
|                 Preference.PreferenceItem.SwitchPreference( | ||||
|                     pref = basePreferences.alwaysDecodeLongStripWithSSIV(), | ||||
|                     title = stringResource(MR.strings.pref_always_decode_long_strip_with_ssiv), | ||||
|                     subtitle = stringResource(MR.strings.pref_always_decode_long_strip_with_ssiv_summary), | ||||
|                 ), | ||||
|                 Preference.PreferenceItem.TextPreference( | ||||
|                     title = stringResource(MR.strings.pref_display_profile), | ||||
|                     subtitle = basePreferences.displayProfile().get(), | ||||
|   | ||||
| @@ -33,6 +33,7 @@ import com.davemorrissey.labs.subscaleview.SubsamplingScaleImageView.EASE_IN_OUT | ||||
| import com.davemorrissey.labs.subscaleview.SubsamplingScaleImageView.EASE_OUT_QUAD | ||||
| import com.davemorrissey.labs.subscaleview.SubsamplingScaleImageView.SCALE_TYPE_CENTER_INSIDE | ||||
| import com.github.chrisbanes.photoview.PhotoView | ||||
| import eu.kanade.domain.base.BasePreferences | ||||
| import eu.kanade.tachiyomi.data.coil.cropBorders | ||||
| import eu.kanade.tachiyomi.data.coil.customDecoder | ||||
| import eu.kanade.tachiyomi.ui.reader.viewer.webtoon.WebtoonSubsamplingImageView | ||||
| @@ -40,6 +41,8 @@ import eu.kanade.tachiyomi.util.system.animatorDurationScale | ||||
| import eu.kanade.tachiyomi.util.view.isVisibleOnScreen | ||||
| import okio.BufferedSource | ||||
| import tachiyomi.core.common.util.system.ImageUtil | ||||
| import uy.kohesive.injekt.Injekt | ||||
| import uy.kohesive.injekt.api.get | ||||
|  | ||||
| /** | ||||
|  * A wrapper view for showing page image. | ||||
| @@ -57,6 +60,10 @@ open class ReaderPageImageView @JvmOverloads constructor( | ||||
|     private val isWebtoon: Boolean = false, | ||||
| ) : FrameLayout(context, attrs, defStyleAttrs, defStyleRes) { | ||||
|  | ||||
|     private val alwaysDecodeLongStripWithSSIV by lazy { | ||||
|         Injekt.get<BasePreferences>().alwaysDecodeLongStripWithSSIV().get() | ||||
|     } | ||||
|  | ||||
|     private var pageView: View? = null | ||||
|  | ||||
|     private var config: Config? = null | ||||
| @@ -294,7 +301,7 @@ open class ReaderPageImageView @JvmOverloads constructor( | ||||
|                 isVisible = true | ||||
|             } | ||||
|             is BufferedSource -> { | ||||
|                 if (!isWebtoon) { | ||||
|                 if (!isWebtoon || alwaysDecodeLongStripWithSSIV) { | ||||
|                     setHardwareConfig(ImageUtil.canUseHardwareBitmap(data)) | ||||
|                     setImage(ImageSource.inputStream(data.inputStream())) | ||||
|                     isVisible = true | ||||
|   | ||||
| @@ -391,10 +391,12 @@ | ||||
|     <string name="pref_show_page_number">Show page number</string> | ||||
|     <string name="pref_show_reading_mode">Show reading mode</string> | ||||
|     <string name="pref_show_reading_mode_summary">Briefly show current mode when reader is opened</string> | ||||
|     <string name="pref_display_profile">Custom display profile</string> | ||||
|     <string name="pref_hardware_bitmap_threshold">Custom hardware bitmap threshold</string> | ||||
|     <string name="pref_hardware_bitmap_threshold_default">Default (%d)</string> | ||||
|     <string name="pref_hardware_bitmap_threshold_summary">If reader loads a blank image incrementally reduce the threshold.\nSelected: %s</string> | ||||
|     <string name="pref_always_decode_long_strip_with_ssiv">Always decode long strip images with SSIV</string> | ||||
|     <string name="pref_always_decode_long_strip_with_ssiv_summary">Affects performance. Only enable if reducing bitmap threshold doesn\'t fix blank image issues</string> | ||||
|     <string name="pref_display_profile">Custom display profile</string> | ||||
|     <string name="pref_crop_borders">Crop borders</string> | ||||
|     <string name="pref_custom_brightness">Custom brightness</string> | ||||
|     <string name="pref_grayscale">Grayscale</string> | ||||
|   | ||||
		Reference in New Issue
	
	Block a user