在 Google 的 Native-Client 插件中,是否有办法在鼠标按下事件时开始捕获所有鼠标移动事件,直到鼠标向上事件触发,即使鼠标光标移出插件也是如此-在地区?
我有一个 3D 应用程序,它允许用户操作 3D 对象(拖动/旋转等),并且在插件区域内发生鼠标按下事件时,用户可以自由操作对象并移动鼠标,甚至在插件区完成他的操作。操作旨在仅在鼠标抬起事件时才真正停止,即使鼠标已移出插件区域也是如此。
到目前为止,我发现唯一接近所需行为的是使用 pp::MouseLock 类,并在鼠标按下时锁定鼠标,并在鼠标向上时解锁。锁定期间光标隐藏,但即使鼠标移出插件区域,我也会收到鼠标移动和鼠标向上事件。但这显然不是理想的解决方案,因为 (1) 在用户交互过程中鼠标光标被隐藏,(2) 一旦插件失去焦点,浏览器就会自动解锁鼠标,以及 (3) 在mouse-up 事件,鼠标光标恢复到 mouse-down 事件发生的位置,而不是保留其当前的最终位置(在插件区域之外)。
所以我需要更好的东西,这将允许我在操作过程中跟踪鼠标位置,甚至在我的插件区域之外。
谢谢!