more ViewModel-ing

This commit is contained in:
Alexey 2025-09-02 13:34:52 +03:00
commit 7a83286681
3 changed files with 6 additions and 7 deletions

View file

@ -86,7 +86,7 @@ class MainActivity : ComponentActivity() {
@Composable
fun Main(vm: TileViewModel = viewModel()) {
val sliderValue = rememberSaveable { mutableFloatStateOf(1F) }
var scale by rememberSaveable { vm.scale }
val coroutineScope = rememberCoroutineScope()
val tileContainer = TileContainer(vm, coroutineScope)
KtHeightMapTheme {
@ -101,9 +101,8 @@ fun Main(vm: TileViewModel = viewModel()) {
viewModel = vm,
gridColor = colorScheme.primary,
backColor = colorScheme.background,
scale = sliderValue,
tileContainer = tileContainer,
modifier = Modifier.padding(innerPadding),
modifier = Modifier.padding(innerPadding)
)
}
Box(modifier = Modifier.safeDrawingPadding()
@ -113,8 +112,8 @@ fun Main(vm: TileViewModel = viewModel()) {
.offset(0.dp, 60.dp)
) {
Slider(
value = sliderValue.floatValue,
onValueChange = { sliderValue.floatValue = it },
value = scale,
onValueChange = { scale = it },
valueRange = 1F..14F,
modifier = Modifier.align(Alignment.CenterStart)
)

View file

@ -33,13 +33,12 @@ fun MapCanvas(
viewModel: TileViewModel,
backColor: Color,
gridColor: Color,
scale: MutableFloatState,
tileContainer: TileContainer,
modifier: Modifier = Modifier
) {
var offsetX by rememberSaveable { viewModel.mapOffsetX }
var offsetY by rememberSaveable { viewModel.mapOffsetY }
val scale by rememberSaveable { scale }
val scale by rememberSaveable { viewModel.scale }
val textMeasurer = rememberTextMeasurer()
val debug by rememberSaveable { viewModel.debug }
var logRequested by rememberSaveable { viewModel.logRequested }

View file

@ -17,6 +17,7 @@ class TileViewModel(application: Application): ViewModel() {
val mapOffsetX = mutableFloatStateOf(-646.65625F)
val mapOffsetY = mutableFloatStateOf(-1157.2814F)
val scale = mutableFloatStateOf(1F)
init {
val tileDb = TileDB.getInstance(application)