v0.1首个版本化设计基线查看版本范围
Developer

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 可以合并;downupcancel 不得静默丢弃。失焦时宿主为仍活动的指针发送 cancel

See also

input.focus()canvas.resize

Host API 版本与分层概览Host API v0.1版本非正式提议提议canvas API呈现canvas.getInfo()方法canvas.draw()方法canvas.present()方法canvas.measureText()方法canvas.frame event事件canvas.resize event事件asset API呈现asset.read()方法asset.loadFont()方法playback API呈现playback.open()方法playback.write()方法playback.stop()方法playback.ready event事件playback.ended event事件input API输入input.focus()方法input.pointer event事件input.key event事件input.wheel event事件ime API输入ime.openSession()方法ime.updateState()方法ime.updateGeometry()方法ime.closeSession()方法ime.textUpdate event事件ime.composition event事件ime.formatUpdate event事件ime.characterBoundsRequest event事件capture API输入capture.requestCamera()方法capture.requestMic()方法capture.frame()方法capture.readAudio()方法capture.stop()方法capture.ended event事件store API数据store.get()方法store.put()方法store.delete()方法store.list()方法store.deletePrefix()方法clipboard API数据clipboard.readText()方法clipboard.writeText()方法clipboard.readImage()方法clipboard.writeImage()方法net API网络net.fetch()方法identity API身份identity.status()方法identity.login()方法identity.logout()方法env API平台集成env.snapshot()方法env.change event事件print API平台集成print.open()方法开始调用 Host API指南构建交互式绘图应用指南构建自绘文本编辑器指南管理媒体采集与播放指南组织本地数据与同步指南