Scheme Scheme是一个将其他数据文件打包的方法,它同时也是一个加载和注册widget类型的简便方法。Scheme包含一个或多个如下的(需要在scheme加载的同时加载并初始化)
Imageset and Font 要求加载成为scheme的一部分
Window Set 基本指的是加载模块的名字以及包含你希望注册到系统的模块中的一系列widget,如果没有名字列举则模块中所有的类型皆被注册
Window Renderer Set 控制渲染基本窗口类型的对象,所有由CEGUI提供的window renderer对象都通过使用Falagard皮肤系统来完成渲染的(尽管这不是个严格的请求)
Window Alias
Falagard Mapping 用来从包含功能的基本类型的Target Type创建可用的Window Type,Renderer为控制指定target type渲染的Window Renderer, LookN Feel为应用的皮肤(通过xml looknfeel文件指定)
Layout
Config
运行一个cegui需要加载的最小子集Imageset,Font,Scheme
*----------------------------------------------------------*
Falagard 是CEGUI内核的一部分并且由C++实现
Falagard 的名字来自于最初提出该特征的人,尽管Falagard的设计和实现是由core CEGUI team完成的。
Falagard系统的一个主要部分是CEGUIFalagardBase(在Win32系统中被命名为CEGUIFalagardBase.dll),模块的功能就是将由xml文件加载的皮肤数据转换为CEGUI基本widget部件需要的渲染操作和layout调整
LookNFeel必须出现在任何Font和Imageset之后,但是必须在任何的WindowSet元素之前
CEGUI scheme系统现在支持"FalagardMapping"元素.这个新元素在系统内创建一个新的窗口或者widget.它通过映射一个已命名的widget"LookNFeel"为一个target base widget.命名的"LookNFeel" 是在looknfeel xml文件中指定的,而可得的基本widget类型均加载于CEGUIFalagardBase模块. 一个小例子如下: <FalagardMapping WindowType="FunkyLook/Button" TargetType="Falagard/Button" LookNFeel="MyButtonSkin" /> 在这个例子中,一个新的widget类型“FunkyLook/Button"被创建出来。这个新的widget基于“Falagard/Button"基本类型,皮肤加载于WidgetLook“MyButtonSkin".一旦这个带着mapping的scheme被加载了,你就可以在系统中使用新的类型。