input.pointer event
表示鼠标、触控或笔在本应用绘图面上的进入、移动、按下、抬起、取消和离开。
Event payload
{
canvasId,
kind: "enter" | "move" | "down" | "up" | "cancel" | "leave",
pointerId: u32,
pointerType: "mouse" | "touch" | "pen" | "unknown",
x: f32, y: f32,
buttons: u16,
pressure?: f32,
modifiers: ModifierSet
}
坐标使用绘图面逻辑像素。pointerId 只在当前活动期有效。
Examples
host.events.on('input.pointer', (event) => {
if (event.kind === 'down') beginStroke(event.pointerId, event.x, event.y);
if (event.kind === 'move') extendStroke(event.pointerId, event.x, event.y);
if (event.kind === 'up' || event.kind === 'cancel') endStroke(event.pointerId);
});
Delivery rules
连续 move 可以合并;down、up 和 cancel 不得静默丢弃。失焦时宿主为仍活动的指针发送 cancel。