- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
CEGUI说明文档
CEGUI sdk概述
主要功能:
提供一些用户界面的组件,如按钮,列表框,文本框,滚动条等。
组件的创建:
所有的组件都是由名字空间CEGUI中WindowManager类的一个实例通过成员函数creatWindow(const CEGUI::String type,const CEGUI::String name=” “)来创建。
格式如下:
Slider* slider = static_castSlider*(winMgr.createWindow(TaharezLook/Slider, my slider))
其中Slider为组件类型,winMgr为WindowManager类的实例。字符串TaharezLook/Slider是创建组件的风格,my slider是组件的名字,名字不能重复。组件通过自己的成员函数设置自己的属性以及事件响应等。
组件的组合方式:
各种组件是以树形结构组合在一起的。组件通过各自的成员函数addChildWindow()来添加自己的子组件。例如
子组件可以设置在父组件中的位置,大小等。
组件的显示:
1.通过CEGuiRendererSelector* d_rendererSelector选择使用gui渲染类型,如D8、D9之类。
2.根据选择的渲染类型,创建CEGuiBaseApplication* d_sampleApp的应用实例,实例会在初始化的时候进行D3D初始化、D3Dinput初始化、窗口初始化等操作。
3.进入组件渲染,处理windows消息和输入消息的循环。
CEGUI对xml文档的解析过程
CEGUI中负责对xml文档解析并加载的类是CEGUI::XMLParser,他是一个基类,主要的成员函数都需要由子类来实现。这个类的所有成员如下:
XMLParser(void)
~XMLParser(void)
[virtual]
cleanup(void)
在使用之后清除XMLParser模型,调用虚函数cleanupImpl(void)=0。
cleanupImpl(void)=0
[protected, pure virtual]
由继承的子类来实现,在TinyXMLParser类的实现中并未进行任何操作,没用。
d_identifierString
[protected]
Xml解析模型的标识字符串,在实现CEGUI::XMLParser的类中对他进行赋值,例如在TinyXMLParser类中就是这样一个字符串CEGUI::TinyXMLParser - Official tinyXML based parser module for CEGUI
getIdentifierString() const
公有接口,获得当前使用的xml解析模型的标识,可以知道现在用的是哪个解析模型。返回一个String类的字符串。
initialise(void)
公有接口,返回一个bool值来确定解析模型是否已经初始化,可用。
initialiseImpl(void)=0
[protected, pure virtual]
Initialise()的实现,返回true,这个函数被实现即说明有解析模型可以使用了。
parseXMLFile(XMLHandler handler, const String filename, const String schemaName, const String resourceGroup)=0
[pure virtual]
公有接口,对xml文档进行解析,要由继承的子类来实现。
接着将对parseXmlFile函数的一个重要参数handler进行解释。
XMLHandler这个类和XMLParser有些类似,他的成员函数也是需要他的子类来实现的。他的作用就是持有一些类的实例的指针,在解析过程中,把解析得到的结果保存在实例的容器中。
下面具体解释一下XMLHandler这个类
除了构造函数和析构函数,还有两个
virtual void elementStart(const String element, const XMLAttributes attributes);
virtual void elementEnd(const String element);
这两个函数会在parseXmlFile函数中被调用,element是解析器分析得到的元素名,attributes是解析器的属性控制,用来得到相应元素的属性值。
XMLHandler类本身有四个函数的定义,但是都为空,需要他的子类来实现重载。
保存结果所用实例的指针也是在子类中定义的,使用XMLHandler声明一个对象的时候作为构造的参数
您可能关注的文档
- ANSYS讲义荷载及其施加.ppt
- AQUALOHAS智慧水機 - 泓發樂活氏水科技服務股份有限公司.ppt
- AQ_T3034-2010_化工企业工艺安全管理实施导则.doc
- Arbor XXXX网通流量分析和安全监测系统建议方案.doc
- ArcGIS 9教程课件第5章地图数据符号化.ppt
- arcgis server eclipse 开发环境配置图解.doc
- Arcgis图层带注记转成cad步骤.doc
- Ardupilot Mega快速入门指南.docx
- arcplan产品白皮书-1.doc
- ARM程序设计优化及编程技巧讲义.ppt
- 2024年江西省高考政治试卷真题(含答案逐题解析).pdf
- 2025年四川省新高考八省适应性联考模拟演练(二)物理试卷(含答案详解).pdf
- 2025年四川省新高考八省适应性联考模拟演练(二)地理试卷(含答案详解).pdf
- 2024年内蒙通辽市中考化学试卷(含答案逐题解析).docx
- 2024年四川省攀枝花市中考化学试卷真题(含答案详解).docx
- (一模)长春市2025届高三质量监测(一)化学试卷(含答案).pdf
- 2024年安徽省高考政治试卷(含答案逐题解析).pdf
- (一模)长春市2025届高三质量监测(一)生物试卷(含答案).pdf
- 2024年湖南省高考政治试卷真题(含答案逐题解析).docx
- 2024年安徽省高考政治试卷(含答案逐题解析).docx
文档评论(0)