Pierre Schrodinger
06/29/2023, 3:52 PMKirill Grouchnikov
06/29/2023, 5:36 PMMichael Paus
06/29/2023, 6:33 PMMichael Paus
06/29/2023, 6:38 PMephemient
06/30/2023, 6:32 AMrotationX
and rotationY
affect "Z"ephemient
06/30/2023, 6:34 AMPierre Schrodinger
06/30/2023, 8:33 AMyou can set https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Matrix directly
Thanks, but how do I apply it? Can't find any documentation on it whatsoever.
Pierre Schrodinger
06/30/2023, 8:44 AMImage
I want to transform)Michael Paus
06/30/2023, 8:52 AMPierre Schrodinger
06/30/2023, 12:18 PMPierre Schrodinger
06/30/2023, 12:22 PMButton
for example?Timo Drick
06/30/2023, 12:32 PMTimo Drick
06/30/2023, 12:35 PMMichael Paus
06/30/2023, 2:49 PMimport androidx.compose.foundation.layout.*
import androidx.compose.material.MaterialTheme
import androidx.compose.material.Slider
import androidx.compose.runtime.*
import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.drawBehind
import androidx.compose.ui.geometry.Size
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.Matrix
import androidx.compose.ui.graphics.drawscope.withTransform
import androidx.compose.ui.unit.dp
import androidx.compose.ui.window.Window
import androidx.compose.ui.window.application
@Composable
fun App() {
MaterialTheme {
fun doMyTrafo(rotX: Float): Matrix {
return Matrix().apply {
rotateX(rotX)
}
}
var rotX by remember { mutableStateOf(-45f) }
var matrix by remember { mutableStateOf(doMyTrafo(rotX)) }
Column(modifier = Modifier.fillMaxSize()) {
Box(modifier = Modifier.weight(1f).fillMaxWidth().drawBehind {
withTransform({
this.transform(matrix)
}) {
drawRect(
color = Color.Gray,
size = Size(this.size.width, this.size.height/2f)
)
}
})
Slider(
rotX,
valueRange = -90f..0f,
onValueChange = {
rotX = it
matrix = doMyTrafo(rotX)
},
modifier = Modifier.height(40.dp).fillMaxWidth())
}
}
}
fun main() = application {
Window(onCloseRequest = ::exitApplication) {
App()
}
}
Michael Paus
06/30/2023, 2:50 PMPierre Schrodinger
07/02/2023, 6:38 AMrotateX
. It feels like you're somehow using a perspective camera while mine is orthographic .-.Michael Paus
07/02/2023, 8:58 AMMichael Paus
07/02/2023, 10:09 AM