你的位置:首页 > 软件开发 > 网页设计 > Atiti.ui原理与gui理论

Atiti.ui原理与gui理论

发布时间:2016-09-26 17:00:25
Atiti.ui原理与gui理论 1. 概论22. ui的类型22.1. RMGUI vs IMGUI22.2. Cli22.3. Gui22.4. Nui natural user interface23. Ui发展的3个阶段23.1. 1. 命令行界面 CLI23.2 ...

 

 

 

 

Atiti.ui原理与gui理论

 

1. 概论2

2. ui的类型2

2.1. RMGUI vs IMGUI2

2.2. Cli2

2.3. Gui2

2.4. Nui natural user interface2

3. Ui发展的3个阶段2

3.1. 1. 命令行界面 CLI2

3.2. Gui(click3

3.3. Nui(touch3

4. Gui的原理 解决两个问题,“输入”和“输出”3

4.1. Gui的结构4

4.2. 界面引擎和图形引擎4

4.3.  窗口管理控件系统5

4.4. 事件系统5

4.5.  图形系统5

4.6. 布局系统5

4.7. 一些杂项 utility:5

4.8. 常用控件集合: 特殊控件:5

4.9. 编辑工具:5

5. Ui的趋势cli>gui>nui5

5.1. 方便使用的动态机制,5

5.2. 方便的控件拓展机制,6

5.3. 脚本化(native>> html5)6

 6

 

 

1. 概论

2. ui的类型 

2.1. RMGUI vs IMGUI

 

Immediate Mode GUI (IMGUI)

 

我来补充一种比较新颖的GUI实现模式,叫做Immediate Mode GUI (IMGUI)。这种类型的更多的适用于显示区域实时刷新的程序里面,例如游戏和CAD等。IMGUI这种实现模式的优势在于他在实现和实用上都会比传统的Retained Mode GUI (RMGUI),例如Qt, MFC等,要简单不少。我自己两种模式都实现过,我认为IMGUI比较适合想学习自己写GUI的人上手。贴一个我自己实现的一个轻量级GUI库的效果图和程序,想玩玩的戳链接:EDXGui。可以看出IMGUI也可以实现较为复杂的控件,给自己的杂七杂八的程序用绰绰有余了。

2.2. Cli

2.3. Gui

2.4. Nui natural user interface

3. Ui发展的3个阶段

人机界面的发展,主要经过了三个阶段现在的NUI引擎基本达到这两个目标。开发门槛低,

 

6. 自己的ui 引擎

其实没有想象的复杂,只要抓住输入和输出两个线索。操作系统只需要给程序一个无边距窗口,窗口内允许贴图,窗口可以接受消息或事件,那么就可以发展出一套自己的GUI。

然后,你得定义一种逻辑概念,对应窗口,控件,Sprite,无所谓你自己决定....你的界面元素都是从这个概念逐层派生的,然后用Tree组织起来的。我的平台是用Sprite这个名称。

Sprite对象自带一张Bitmap,当然这个Bitmap也是我自己定义的数据结构以尽量与系统无关。最后显示实际上就是从背景的Cavas不断的贴上各层Sprite的bitmap得到一个总的Bitmap,然后调用系统的显示图片的函数(Windows下可用DirectX或者StreetchDIB)显示给用户。那么RenderOneTime里面显然就做两个事情,那么输入部分就更简单了,自定义了消息队列和消息分发系统,从操作系统得到消息或者事件后,转化为自定义的消息,然后分发给对应的Sprite去响应就可以了。注意渲染和消息处理是两个不同的线程,所以同步设计很重要。-----------------------------------------------------

原标题:Atiti.ui原理与gui理论

关键词:

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

可能感兴趣文章

我的浏览记录