fun NYContent()

in benchmarks/multiplatform/benchmarks/src/commonMain/kotlin/benchmarks/visualeffects/HappyNY.kt [223:265]


fun NYContent(width: Int, height: Int) {
    var time by remember { mutableStateOf(0L) }
    val startTime = remember { 0L }
    var prevTime by remember { mutableStateOf(0L) }
    val snowFlakes = remember { mutableStateListOf<SnowFlake>() }
    val stars = remember { mutableStateListOf<Star>() }
    var flickering2 by remember { mutableStateOf(true) }
    remember { prepareStarsAndSnowFlakes(stars, snowFlakes, width, height) }

    Surface(
        modifier = Modifier.fillMaxSize().padding(5.dp).shadow(3.dp, RoundedCornerShape(20.dp)),
        color = Color.Black,
        shape = RoundedCornerShape(20.dp)
    ) {

        LaunchedEffect(Unit) {
            while (true) {
                withFrameNanos {
                    prevTime = time
                    time = it
                }
            }
        }

        if (flickering2) {
            if (time - startTime > 15500000000) { //note, that startTime has been updated above
                flickering2 = false
            }
        }

        rocket.move(time, prevTime)

        Box(Modifier.fillMaxSize()) {

            snow(time, prevTime, snowFlakes, startTime, height)

            starrySky(stars)

            rocket.draw()

        }
    }
}