【UI引擎】DirectUI、WebCore、Java Swing图形引擎渲染机制之串联分析
来源:互联网 发布:科学引文数据库源期刊 编辑:程序博客网 时间:2024/06/05 22:48
一、Java Swing引擎
1、Swing组件分类:标量型组件(即单一的组件,如JButton)和符合型组件(如JComboBox)。
2、可行性类库设计分析
Swing架构中的渲染器MVC结构如下,(2)
前提条件:theApp来启动,并逐一构建类对象。
基本架构方式:new对象后,构造默认的链指针(也可以是在Attach时,构建Render),实现委托和Render。优越之一:Renderer作为父类对象,子类可以派生MyRender,设置自己的MyRender,此时类似模板模式。
最后,调用父类的super.Render(...),此时传参数,控制父类函数写显存,以实现特殊效果。
组织规则:当WM_PAINT消息来临时,找到相应的Object,调用其Render()函数。
3、JTable激活编辑器交互分析(1)
用OpenGL的状态机模型实现。
二、WebCore引擎
解析html,构建DOM树,采用节点变换,遍历节点,进行渲染。这时,父类可以提供同一个接口函数,如:
for (RenderObject* child = firstChild(); child; child = child->nextSibling()) { doDraw(); //virtual,进行接口变换}
若是交换节点次序,则提供相应的交换绘制函数,由交换节点函数调用。
三、DirectUI引擎
1、基本机制
解析xml GUI布局。
核心机制一:消息分发 (6)
CPaintManageerUI::MessageHandler(){ //....case WM_LBUTTONDOWN:{ POINT pt = {GET_X_LAPAM(lParam),GET_Y_LPARAM(lParam)}; m_ptLastMousePos = pt; CControlUI* pControl = FindControl(pt); //... TEventUI event = { 0 }; event.Type = UIEVENT_BUTONDOWN; pControl->Event(event);}break;}
数学分析:消息顺利到达 = f(event); //此时,局部变量命令格式是:字母全部小写。
第二种写法:
2、渲染顺序
virtual void DoPaint() //虚函数,统一派生类的接口命名{PaintBkColor()PaintBkImage()PaintStatusImage()PaintText()PaintBorder()}
3、类库架构
参考:0、Surfin' Safari-Blog Archive>>WebCore Rendering I【】
1、java swing渲染器
2、Java Swing中渲染器机制的研究
3、WebCore中的渲染机制(一):基础知识
4、DOM树-Render树-RenderLayer树对应关系
5、DOM结点的渲染(attach)
6、DirectUI>>Soul Apogee【】
7、DUI中的函数说明
8、DirectUI界面渲染流程
9、DUiLib源码分析——第一篇UIManager
10、Duilib讲解
11、WIN32界面开发之三:DUI雏形开发(一)
12、duilib库分析:消息流程分析
13、浏览器是怎样工作的:渲染引擎,HTML解析(连载二)
- 【UI引擎】DirectUI、WebCore、Java Swing图形引擎渲染机制之串联分析
- V8引擎之从webcore到V8
- cocos2d-x引擎游戏开发之渲染机制
- /LGC图形渲染/3D 图形渲染引擎 OGRE 体系结构
- Doom3 引擎渲染管线分析
- 八大渲染引擎的分析
- 引擎系列学习【二】图形渲染管线
- 游戏引擎之:渲染(shading)
- 游戏引擎之:渲染(shading)
- 虚幻3引擎-多线程渲染机制
- 虚幻3引擎-多线程渲染机制
- 字体渲染 渲染引擎
- UI引擎
- 开源3D图形渲染引擎OGRE学习笔记
- 开源3D图形渲染引擎OGRE学习笔记
- /LGC图形渲染/淺談 Google Skia 圖形處理引擎
- 开源3D图形渲染引擎OGRE学习笔记
- UI引擎开发系列(四) 消息机制
- 面向对象
- python 中文乱码问题深入分析
- shell,linux
- Word刷新问题阶段性总结
- 求职经
- 【UI引擎】DirectUI、WebCore、Java Swing图形引擎渲染机制之串联分析
- JDBC连接MySQL数据库及示例
- hdu1753 大明A+B(高精度加法)
- 第一周(春)项目一 用枚举表示对称方式
- linux驱动工程面试必问知识点
- Understanding the Ping and Traceroute Commands
- Servlet的基础用法1
- 学习英语总结
- SRM 573 D1L2:SkiResorts,最短路径算法