in experimental/cef/src/main/kotlin/org/jetbrains/compose/desktop/browser/BrowserSlicer.kt [265:298]
fun view(bitmap: Bitmap, recomposer: MutableState<Any>) {
val focusRequester = FocusRequester()
Box (
modifier = Modifier.background(color = Color.White)
.size(handler.size.width.dp, height.dp)
.layout { measurable, constraints ->
val placeable = measurable.measure(constraints)
layout(handler.size.width, height) {
placeable.placeRelative(0, 0)
}
}
.onGloballyPositioned { coordinates ->
x = coordinates.globalPosition.x.toInt()
y = coordinates.globalPosition.y.toInt()
}
.focusRequester(focusRequester)
.focus()
.clickable(indication = null) { focusRequester.requestFocus() }
) {
Canvas(
modifier = Modifier.size(handler.size.width.dp, height.dp)
) {
drawIntoCanvas { canvas ->
recomposer.value
canvas.nativeCanvas.drawBitmapIRect(
bitmap,
IRect(0, offset, handler.size.width, offset + height),
IRect(0, 0, handler.size.width, height).toRect()
)
}
}
}
}