Skip to content

Commit 3dbdfe0

Browse files
committed
Fix inability to zoom on the edges of an image when the initially displayed image has a different width/height ratio
1 parent edf1c6d commit 3dbdfe0

File tree

1 file changed

+7
-7
lines changed

1 file changed

+7
-7
lines changed

app/src/main/java/org/fairscan/app/view/DocumentScreen.kt

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ import androidx.compose.runtime.LaunchedEffect
4242
import androidx.compose.runtime.MutableIntState
4343
import androidx.compose.runtime.mutableIntStateOf
4444
import androidx.compose.runtime.mutableStateOf
45+
import androidx.compose.runtime.remember
4546
import androidx.compose.runtime.saveable.rememberSaveable
4647
import androidx.compose.ui.Alignment
4748
import androidx.compose.ui.Modifier
@@ -51,7 +52,7 @@ import androidx.compose.ui.platform.LocalContext
5152
import androidx.compose.ui.res.stringResource
5253
import androidx.compose.ui.tooling.preview.Preview
5354
import androidx.compose.ui.unit.dp
54-
import net.engawapg.lib.zoomable.rememberZoomState
55+
import net.engawapg.lib.zoomable.ZoomState
5556
import net.engawapg.lib.zoomable.zoomable
5657
import org.fairscan.app.Navigation
5758
import org.fairscan.app.R
@@ -138,13 +139,12 @@ private fun DocumentPreview(
138139
val bitmap = document.load(currentPageIndex.intValue)
139140
if (bitmap != null) {
140141
val imageBitmap = bitmap.asImageBitmap()
141-
val zoomState = rememberZoomState(
142-
contentSize = Size(bitmap.width.toFloat(), bitmap.height.toFloat())
143-
)
144-
145-
LaunchedEffect(imageId) {
146-
zoomState.reset()
142+
val zoomState = remember(imageId) {
143+
ZoomState(
144+
contentSize = Size(bitmap.width.toFloat(), bitmap.height.toFloat())
145+
)
147146
}
147+
148148
Box(modifier = Modifier
149149
.fillMaxSize(0.92f)
150150
.align(Alignment.Center)) {

0 commit comments

Comments
 (0)