您的位置:首页 > 编程语言 > C语言/C++

基于C++11的事件驱动框架

2016-04-06 21:05 411 查看
嵌入式开发中对资源是有严格的要求的,在学校的时候一直使用qt,可是qt库越来越大,在一些低端的嵌入式设备上,我们可能只是简单的几个界面。这里我想基于opengl开发一个简单的程序框架,用来开速开发嵌入式系统应用。本项目现在已经实现了事件循环系统,并且可以正常工作。

小弟第一次搭建UI框架,可是资料太少,不知如何下手。

项目地址:

https://github.com/ZhouBox/moos.git

下面简单的说明下。

.

├── base

│ ├── appframework

│ │ ├── include

│ │ │ └── moos_application.h

│ │ └── moos_application.cpp

│ └── core

│ ├── include

│ │ ├── moos_defines.h

│ │ ├── moos_logger.h

│ │ ├── moos_looper.h

│ │ ├── moos_object.h

│ │ ├── moos_signal.h

│ │ ├── moos_task.h

│ │ ├── moos_task_policy.h

│ │ ├── moos_task_queue.h

│ │ ├── moos_tasktype.h

│ │ └── moos_thread.h

│ └── moos_looper.cpp

├── graphic

│ ├── engine

│ │ ├── include

│ │ │ ├── moos_paintdevice.h

│ │ │ ├── moos_paintengine.h

│ │ │ └── moos_painter.h

│ │ └── moos_paintengine.cpp

│ └── ui

│ ├── include

│ │ ├── moos_graphic_button.h

│ │ ├── moos_graphic_item.h

│ │ ├── moos_point.h

│ │ └── moos_size.h

│ ├── moos_graphic_button.cpp

│ ├── moos_graphic_item.cpp

│ ├── moos_point.cpp

│ └── moos_size.cpp

├── main.cpp

├── moos.pro

├── moos.pro.user

└── README.md

10 directories, 29 files

这个整个项目的结构。基本分为图形相关和支持相关。

engine我想对opengl操作进行封装,实现基本的点线绘制。

ui实现常用控件。还是就是窗口系统,这个是个很大的课题,本想使用glut。

task完成实现对事件循环的一个任务的封装。

task_policy实现了各种task的策略。

task_queue是事件队列

looper是一个事件循环。

moos_thread是对c++11中thread的封装,前面提到过。

其实这种形式的事件循环在嵌入式系统中广泛使用。后续还会继续完善这个事件循环例子。

最新版本:支持对象线程绑定,线程转换和signal-slot形式的调用

正在学习opengl,打算基于此开发UI框架。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: