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

View file

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

View file

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