diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/setting/ReaderPreferences.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/setting/ReaderPreferences.kt index 79a1eaf26..6626b7bbf 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/setting/ReaderPreferences.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/setting/ReaderPreferences.kt @@ -259,6 +259,7 @@ class ReaderPreferences( FADE_WHITE( MR.strings.transition_animation_fade_white, ), + NONE(MR.strings.transition_animation_none), } enum class CutoutMode(val titleRes: StringResource) { diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/webgpu/WebGpuViewer.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/webgpu/WebGpuViewer.kt index 30f21fc66..53a428d63 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/webgpu/WebGpuViewer.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/webgpu/WebGpuViewer.kt @@ -23,6 +23,7 @@ import ca.mpreg.webgpuviewer.transition.TransitionFade import ca.mpreg.webgpuviewer.transition.TransitionFadeWhite import ca.mpreg.webgpuviewer.transition.TransitionFlipLeft import ca.mpreg.webgpuviewer.transition.TransitionFlipRight +import ca.mpreg.webgpuviewer.transition.TransitionNone import ca.mpreg.webgpuviewer.transition.TransitionSphere import ca.mpreg.webgpuviewer.transition.TransitionStackDown import ca.mpreg.webgpuviewer.transition.TransitionStackLeft @@ -584,6 +585,7 @@ open class WebGpuViewer( TransitionAnimation.CUBE_OUTSIDE -> TransitionCubeOuter TransitionAnimation.FADE -> TransitionFade TransitionAnimation.FADE_WHITE -> TransitionFadeWhite + TransitionAnimation.NONE -> TransitionNone } when (config.cutoutMode) { @@ -880,7 +882,7 @@ open class WebGpuViewer( readerBackgroundColor() } - val firstImage = Image.createWithTrim( + val firstImage = Image( firstFrame.image, firstFrame.width, firstFrame.height, @@ -902,9 +904,20 @@ open class WebGpuViewer( if (pageCount > 1) { val frames = ArrayList>(pageCount) frames.add(Pair(firstImage, firstFrame.duration)) - for (i in 1 until pageCount) { + repeat(pageCount - 1) { val frame = dec.decodeNext() - frames.add(Pair(Image(frame.image, frame.width, frame.height), frame.duration)) + frames.add( + Pair( + Image( + frame.image, + frame.width, + frame.height, + false, + backgroundColor = backgroundColor, + ), + frame.duration, + ), + ) } imagePage.startAnimationLoop(frames) { if (currentPage === page) pager.state.invalidate() diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/webgpu/WebGpuViewerContinuous.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/webgpu/WebGpuViewerContinuous.kt index 09dc62cd9..f6fdf6db2 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/webgpu/WebGpuViewerContinuous.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/webgpu/WebGpuViewerContinuous.kt @@ -9,7 +9,7 @@ class WebGpuViewerContinuous(activity: ReaderActivity) : override val isContinuous: Boolean = true - override val preloadAhead = 1 + override val preloadAhead = 2 override val preloadBehind = 1 private fun scrollByHalfPage(direction: Int) { diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 838bbd34d..24fc0ecd7 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -76,7 +76,7 @@ swipe = "1.3.0" tapmoc = "0.4.2" unifile = "08f224c8f9" voyager = "2.2.21-1.10.3" -webgpuviewer = "31" +webgpuviewer = "36" xmlutil = "1.0.2" [libraries] diff --git a/i18n/src/commonMain/moko-resources/base/strings.xml b/i18n/src/commonMain/moko-resources/base/strings.xml index 0e082465d..a0f0f6f66 100644 --- a/i18n/src/commonMain/moko-resources/base/strings.xml +++ b/i18n/src/commonMain/moko-resources/base/strings.xml @@ -511,6 +511,7 @@ Cube (Outside) Fade Fade to white + None Display cutout mode Ignore Avoid