类似于Android组件的`onToucheEvent(event)` ,Compose 组件 通过`pointerInput()`的`awaitPointerEvent()`来获得原始输入。
```kotlin
Canvas( modifier = Modifier .fillMaxSize() .pointerInput(Unit){ awaitPointerEventScope { while(true){ val evt = awaitPointerEvent() val pt = evt.changes.get(0); val pos = pt.position if(pt.type == PointerType.Mouse){// 鼠标 if (evt.type == PointerEventType.Press) {// 按下(左键?) path.moveTo(pos.x, pos.y) }else if(pt.pressed){// 按下之后的滑动 path.lineTo(pos.x, pos.y) } }else if(pt.type == PointerType.Touch) { // 手指触摸 if (evt.type == PointerEventType.Press) { path.moveTo(pos.x, pos.y) } else { path.lineTo(pos.x, pos.y) } } }// end while } // } ){ // drawPath{} }
```