@@ -148,6 +148,7 @@ fun CameraPreviewScreen(
148148 isRearCameraEnabled = uiState.isRearCameraActive,
149149 cameraSessionId = uiState.cameraSessionId,
150150 xrEnabled = uiState.xrEnabled,
151+ surfaceAspectRatio = uiState.surfaceAspectRatio,
151152 )
152153 }
153154 } else {
@@ -204,13 +205,14 @@ fun StatelessCameraPreviewContent(
204205 onAnimateZoom : (Float ) -> Unit ,
205206 requestCaptureImage : () -> Unit ,
206207 modifier : Modifier = Modifier ,
208+ surfaceAspectRatio : Float = 9f / 16f,
207209 xrEnabled : Boolean = false,
208210 foldingFeature : FoldingFeature ? = null,
209211 shouldShowRearCameraFeature : () -> Boolean = { false },
210212 toggleRearCameraFeature : () -> Unit = {},
211213 isRearCameraEnabled : Boolean = false,
212214) {
213- var aspectRatio by remember { mutableFloatStateOf(9f / 16f ) }
215+ var layoutAspectRatio by remember { mutableFloatStateOf(9f / 16f ) }
214216 val emptyComposable: @Composable (Modifier ) -> Unit = {}
215217 val rearCameraButton: @Composable (Modifier ) -> Unit = { rearModifier ->
216218 RearCameraButton (
@@ -261,7 +263,7 @@ fun StatelessCameraPreviewContent(
261263 CameraGuide (
262264 detectedPose = detectedPose,
263265 modifier = guideModifier,
264- defaultAspectRatio = aspectRatio ,
266+ defaultAspectRatio = layoutAspectRatio ,
265267 )
266268 },
267269 rearCameraButton = (
@@ -275,9 +277,11 @@ fun StatelessCameraPreviewContent(
275277 modifier = modifier.onSizeChanged { size ->
276278 if (size.height > 0 ) {
277279 // Recalculate aspect ratio based on the overall layout size
278- aspectRatio = calculateCorrectAspectRatio(size.height, size.width, aspectRatio)
280+ layoutAspectRatio =
281+ calculateCorrectAspectRatio(size.height, size.width, layoutAspectRatio)
279282 }
280283 },
284+ surfaceAspectRatio = surfaceAspectRatio,
281285 xrEnabled = xrEnabled,
282286 )
283287}
@@ -301,6 +305,7 @@ private fun CameraPreviewContent(
301305 zoomLevel : () -> Float ,
302306 onChangeZoomLevel : (zoomLevel: Float ) -> Unit ,
303307 requestCaptureImage : () -> Unit ,
308+ surfaceAspectRatio : Float ,
304309 modifier : Modifier = Modifier ,
305310 foldingFeature : FoldingFeature ? = null,
306311 shouldShowRearCameraFeature : () -> Boolean = { false },
@@ -328,7 +333,8 @@ private fun CameraPreviewContent(
328333 onScaleZoom = { scope.launch { zoomState.scaleZoom(it) } },
329334 modifier = viewfinderModifier.onSizeChanged { size -> // Apply modifier from slot
330335 if (size.height > 0 ) {
331- aspectRatio = calculateCorrectAspectRatio(size.height, size.width, aspectRatio)
336+ aspectRatio =
337+ calculateCorrectAspectRatio(size.height, size.width, aspectRatio)
332338 }
333339 },
334340 )
@@ -345,6 +351,7 @@ private fun CameraPreviewContent(
345351 shouldShowRearCameraFeature = shouldShowRearCameraFeature,
346352 toggleRearCameraFeature = toggleRearCameraFeature,
347353 isRearCameraEnabled = isRearCameraEnabled,
354+ surfaceAspectRatio = surfaceAspectRatio,
348355 xrEnabled = xrEnabled,
349356 modifier = modifier,
350357 )
0 commit comments