CEGUI说明文档.doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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声明一个对象的时候作为构造的参数

文档评论(0)

pangzilva + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档