pick
通过坐标点拾取元素(模拟光标拾取元素)。
关键方法
pick ( hitPoint: IPointData
, options?: IPickOptions
): IPickResult
通过坐标点(相对世界坐标)拾取元素,返回拾取到的目标元素和路径。
ts
interface IPickOptions {
hitRadius?: number // 拾取半径, 默认为0
through?: boolean // 是否获取穿透路径,默认为false
findList?: ILeaf[] // 从指定的元素列表中拾取
exclude?: ILeafList // 排除指定的元素
ignoreHittable?: boolean // 忽略元素的hittable属性,默认为false
}
interface IPickResult {
target: ILeaf // 拾取到的目标元素
path: ILeafList // 拾取路径,一般用于事件冒泡
throughPath?: ILeafList // 穿透路径,可以找到被目标元素遮挡的底部元素
}
归属
Group
示例
通过 point 拾取元素
ts
import { Leafer, Rect } from 'leafer-ui'
const leafer = new Leafer({ view: window })
const rect1 = new Rect({ id: 'block', fill: '#32cd79' })
const rect2 = new Rect({ fill: '#32cd79' })
leafer.add(rect1)
leafer.add(rect2)
console.log(
leafer.pick({ x: 10, y: 10 }) // {taget: rect2, path: [rect2, leafer]}
)