Flutter中事件流程
最初入口在FlutterEngineSendPointerEvent,这个函数会被glfw中的SendPointerEventWithData调用,当然也可以被其他的platform调用,用来向Flutter engine中发送事件。
上面图示示意了事件从glfw到flutter的gesture的链路。进入gesture后,就开始真正的分发事件到具体的widget了,可参考https://juejin.cn/post/6857430708634255374 ,大体思路是通过计算事件的坐标是否在每个控件的范围内,如果是在dispatch该事件给这个控件进行事件处理,遍历控件的顺序是从父到子,如果有多个子的话,那么子是按照绘制的相反顺序,这样保证最上层的控件得到该事件。
浙公网安备 33010602011771号