自定义窗口事件循环系统

1.定义事件类型,mouse,wheel,drag,view。已处理的事件,accept需设置为true,防止重叠热区继续穿透。记录事件生成时间,全局位置和当前帧窗口下位置。

2.定义事件响应系统interactionSystem,preUpdate,onUpdate,postUpdate,mousePress,mouseMove,mouseRelease,mouseWheel

3.定义事件循环,eventLoops,preUpdate,onUpdate,postUpdate。处理dragItem,dragWindow,dragView。多窗口历史缓存管理。

4.定义弹窗管理,模态窗口阻断事件,非模态窗口不阻断,但优先响应。

5.单窗口交互管理,按照层级和zorder对事件响应顺序排优先级。鼠标命中多个热区,先执行鼠标移出,更新热区命中缓存,按照优先级响应事件,响应成功中断返回。预计子图层显示或隐藏需及时更新优先级列表。

6.事件状态管理,连续悬浮触发,按下+弹起=单击等进行缓存,连续单击转多击,按下+移动一段距离=拖拽,决定不同情况下事件触发定义。

7.事件执行器,根据1事件类型,创建action任务,执行。

相关推荐
神仙别闹1 小时前
基于QT(C++)实现学本科教务系统(URP系统)
数据库·c++·qt
deng-c-f2 小时前
Linux C/C++ 学习日记(49):线程池
c++·学习·线程池
ulias2122 小时前
C++ 的容器适配器——从stack/queue看
开发语言·c++
daidaidaiyu2 小时前
FFmpeg 关键的结构体
c++·ffmpeg
欧特克_Glodon3 小时前
C++医学图像处理经典ITK库用法详解<一>:图像输入输出模块功能
c++·图像处理·itk
一个不知名程序员www3 小时前
算法学习入门---priority_queue(C++)
c++·算法
Pafey4 小时前
C++的左值引用、右值引用以及转发和完美转发
c++
CoderCodingNo4 小时前
【GESP】C++三级真题 luogu-B4414 [GESP202509 三级] 日历制作
开发语言·c++·算法
晨曦夜月5 小时前
笔试强训day7
开发语言·c++·算法
木心爱编程5 小时前
【Qt 5.14.2 新手实战】QTC++入门筑基——按钮与标签联动:QPushButton + QLabel 实现图片切换器
java·c++·qt