osg中事件处理本质上是使用win32中的我们非常熟悉的peekmessage获得消息
While(peekMessage(hwd, &msg, PM_REMOVE)
{
translate
dispatch
}
peekMessge 在peek后都会进行让步
然后进行dispatch,把消息发送到winproc回调函数中。
回调函数调用eventqueue进行消息处理,并把消息加到队列中去。
事件遍历再从eventqueue队列中取出交互事件
交给用户的定义的handlers队列进行处理
这里要注意osg的窗口坐标系是左下角为原点