The sizing strategy used by SceneCoreEntity to control and read the size of an entity.
SceneCoreEntitySizeAdapterSample
@Composable
fun SceneCoreEntitySizeAdapterSample() {
val density = LocalDensity.current
val panelSizeAdapter =
object : SceneCoreEntitySizeAdapter<PanelEntity> {
override fun onLayoutSizeChanged(entity: PanelEntity, size: IntVolumeSize) {
entity.sizeInPixels =
IntSize2d(
Meter.fromPixel(size.width.toFloat(), density).toM().toInt(),
Meter.fromPixel(size.height.toFloat(), density).toM().toInt(),
)
}
override fun currentSize(entity: PanelEntity): IntVolumeSize {
return IntVolumeSize(
width = entity.sizeInPixels.width,
height = entity.sizeInPixels.height,
depth = 0,
)
}
}
}