blob: 05755ea8d1c715ee79b28f6c71397996330c30eb [file] [log] [blame]
package com.airbnb.lottie.snapshots.tests
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.size
import androidx.compose.ui.Modifier
import androidx.compose.ui.layout.ContentScale
import androidx.compose.ui.unit.dp
import com.airbnb.lottie.LottieCompositionFactory
import com.airbnb.lottie.compose.LottieAnimation
import com.airbnb.lottie.snapshots.SnapshotTestCase
import com.airbnb.lottie.snapshots.SnapshotTestCaseContext
import com.airbnb.lottie.snapshots.snapshotComposable
import com.airbnb.lottie.snapshots.withFilmStripView
class CompositionFrameRate : SnapshotTestCase {
override suspend fun SnapshotTestCaseContext.run() {
withFilmStripView("Tests/Framerate.json", "Composition frame rate", "View") { filmStripView ->
filmStripView.setUseCompositionFrameRate(true)
}
val composition = LottieCompositionFactory.fromAssetSync(context, "Tests/Framerate.json").value!!
snapshotComposable("Composition frame rate", "Compose - 0") { renderMode ->
Column {
LottieAnimation(
composition,
{ 0f },
contentScale = ContentScale.Crop,
renderMode = renderMode,
modifier = Modifier
.size(100.dp, 100.dp)
)
LottieAnimation(
composition,
{ 0.15f },
contentScale = ContentScale.Crop,
renderMode = renderMode,
modifier = Modifier
.size(100.dp, 100.dp)
)
LottieAnimation(
composition,
{ 0.5f },
contentScale = ContentScale.Crop,
renderMode = renderMode,
modifier = Modifier
.size(100.dp, 100.dp)
)
LottieAnimation(
composition,
{ 0.9f },
contentScale = ContentScale.Crop,
renderMode = renderMode,
modifier = Modifier
.size(100.dp, 100.dp)
)
LottieAnimation(
composition,
{ 1f },
contentScale = ContentScale.Crop,
renderMode = renderMode,
modifier = Modifier
.size(100.dp, 100.dp)
)
}
}
}
}