当前位置:网站首页>[CEGUI] resource loading process
[CEGUI] resource loading process
2022-06-12 10:09:00 【Lindo】
CEGUI Resource loading process
- CEGUI edition 0.8.7
Main resource types
Scheme
- scheme resources ( Include image set 、 Font resources 、 Window appearance information 、 Type mapping ) etc. . Can pass “.scheme“” take CEGUI All resources required by the system are loaded at one time .
- example :TaharezLook.scheme
<?xml version="1.0" ?>
<GUIScheme version="5" name="TaharezLook">
<Imageset filename="TaharezLook.imageset" />
<Font filename="DejaVuSans-12.font" />
<LookNFeel filename="TaharezLook.looknfeel" />
<WindowRendererSet filename="CEGUICoreWindowRendererSet" />
<FalagardMapping windowType="TaharezLook/Label" targetType="DefaultWindow" renderer="Core/Default" lookNFeel="TaharezLook/Label" />
<FalagardMapping windowType="TaharezLook/Button" targetType="CEGUI/PushButton" renderer="Core/Button" lookNFeel="TaharezLook/Button" />
<FalagardMapping windowType="TaharezLook/Checkbox" targetType="CEGUI/ToggleButton" renderer="Core/ToggleButton" lookNFeel="TaharezLook/Checkbox" />
<FalagardMapping windowType="TaharezLook/ImageButton" targetType="CEGUI/PushButton" renderer="Core/Button" lookNFeel="TaharezLook/ImageButton" />
<FalagardMapping windowType="TaharezLook/RadioButton" targetType="CEGUI/RadioButton" renderer="Core/ToggleButton" lookNFeel="TaharezLook/RadioButton" />
<FalagardMapping windowType="TaharezLook/FrameWindow" targetType="CEGUI/FrameWindow" renderer="Core/FrameWindow" lookNFeel="TaharezLook/FrameWindow" />
<FalagardMapping windowType="TaharezLook/Titlebar" targetType="CEGUI/Titlebar" renderer="Core/Titlebar" lookNFeel="TaharezLook/Titlebar" />
<FalagardMapping windowType="TaharezLook/Editbox" targetType="CEGUI/Editbox" renderer="Core/Editbox" lookNFeel="TaharezLook/Editbox" />
<FalagardMapping windowType="TaharezLook/MultiLineEditbox" targetType="CEGUI/MultiLineEditbox" renderer="Core/MultiLineEditbox" lookNFeel="TaharezLook/MultiLineEditbox" />
<FalagardMapping windowType="TaharezLook/Menubar" targetType="CEGUI/Menubar" renderer="Core/Menubar" lookNFeel="TaharezLook/Menubar" />
<FalagardMapping windowType="TaharezLook/PopupMenu" targetType="CEGUI/PopupMenu" renderer="Core/PopupMenu" lookNFeel="TaharezLook/PopupMenu" />
<FalagardMapping windowType="TaharezLook/MenuItem" targetType="CEGUI/MenuItem" renderer="Core/MenuItem" lookNFeel="TaharezLook/MenuItem" />
<FalagardMapping windowType="TaharezLook/AlternateProgressBar" targetType="CEGUI/ProgressBar" renderer="Core/ProgressBar" lookNFeel="TaharezLook/AltProgressBar" />
<FalagardMapping windowType="TaharezLook/ProgressBar" targetType="CEGUI/ProgressBar" renderer="Core/ProgressBar" lookNFeel="TaharezLook/ProgressBar" />
<FalagardMapping windowType="TaharezLook/VUMeter" targetType="CEGUI/ProgressBar" renderer="Core/ProgressBar" lookNFeel="TaharezLook/VUMeter" />
<FalagardMapping windowType="TaharezLook/VerticalScrollbar" targetType="CEGUI/Scrollbar" renderer="Core/Scrollbar" lookNFeel="TaharezLook/VerticalScrollbar" />
<FalagardMapping windowType="TaharezLook/HorizontalScrollbar" targetType="CEGUI/Scrollbar" renderer="Core/Scrollbar" lookNFeel="TaharezLook/HorizontalScrollbar" />
<FalagardMapping windowType="TaharezLook/VerticalScrollbarThumb" targetType="CEGUI/Thumb" renderer="Core/Button" lookNFeel="TaharezLook/VerticalScrollbarThumb" />
<FalagardMapping windowType="TaharezLook/HorizontalScrollbarThumb" targetType="CEGUI/Thumb" renderer="Core/Button" lookNFeel="TaharezLook/HorizontalScrollbarThumb" />
<FalagardMapping windowType="TaharezLook/LargeVerticalScrollbar" targetType="CEGUI/Scrollbar" renderer="Core/Scrollbar" lookNFeel="TaharezLook/LargeVerticalScrollbar" />
<FalagardMapping windowType="TaharezLook/LargeVerticalScrollbarThumb" targetType="CEGUI/Thumb" renderer="Core/Button" lookNFeel="TaharezLook/LargeVerticalScrollbarThumb" />
<FalagardMapping windowType="TaharezLook/TabButton" targetType="CEGUI/TabButton" renderer="Core/TabButton" lookNFeel="TaharezLook/TabButton" />
<FalagardMapping windowType="TaharezLook/TabControl" targetType="CEGUI/TabControl" renderer="Core/TabControl" lookNFeel="TaharezLook/TabControl" />
<FalagardMapping windowType="TaharezLook/TabContentPane" targetType="DefaultWindow" renderer="Core/Default" lookNFeel="TaharezLook/TabContentPane" />
<FalagardMapping windowType="TaharezLook/TabButtonPane" targetType="DefaultWindow" renderer="Core/Default" lookNFeel="TaharezLook/TabButtonPane" />
<FalagardMapping windowType="TaharezLook/ComboDropList" targetType="CEGUI/ComboDropList" renderer="Core/Listbox" lookNFeel="TaharezLook/ComboDropList" />
<FalagardMapping windowType="TaharezLook/ComboEditbox" targetType="CEGUI/Editbox" renderer="Core/Editbox" lookNFeel="TaharezLook/ComboEditbox" />
<FalagardMapping windowType="TaharezLook/Combobox" targetType="CEGUI/Combobox" renderer="Core/Default" lookNFeel="TaharezLook/Combobox" />
<FalagardMapping windowType="TaharezLook/Listbox" targetType="CEGUI/Listbox" renderer="Core/Listbox" lookNFeel="TaharezLook/Listbox" />
<FalagardMapping windowType="TaharezLook/ListHeader" targetType="CEGUI/ListHeader" renderer="Core/ListHeader" lookNFeel="TaharezLook/ListHeader" />
<FalagardMapping windowType="TaharezLook/ListHeaderSegment" targetType="CEGUI/ListHeaderSegment" renderer="Core/ListHeaderSegment" lookNFeel="TaharezLook/ListHeaderSegment" />
<FalagardMapping windowType="TaharezLook/MultiColumnList" targetType="CEGUI/MultiColumnList" renderer="Core/MultiColumnList" lookNFeel="TaharezLook/MultiColumnList" />
<FalagardMapping windowType="TaharezLook/Slider" targetType="CEGUI/Slider" renderer="Core/Slider" lookNFeel="TaharezLook/Slider" />
<FalagardMapping windowType="TaharezLook/SliderThumb" targetType="CEGUI/Thumb" renderer="Core/Button" lookNFeel="TaharezLook/SliderThumb" />
<FalagardMapping windowType="TaharezLook/ScrollablePane" targetType="CEGUI/ScrollablePane" renderer="Core/ScrollablePane" lookNFeel="TaharezLook/ScrollablePane" />
<FalagardMapping windowType="TaharezLook/Spinner" targetType="CEGUI/Spinner" renderer="Core/Default" lookNFeel="TaharezLook/Spinner" />
<FalagardMapping windowType="TaharezLook/Tooltip" targetType="CEGUI/Tooltip" renderer="Core/Tooltip" lookNFeel="TaharezLook/Tooltip" />
<FalagardMapping windowType="TaharezLook/StaticImage" targetType="DefaultWindow" renderer="Core/StaticImage" lookNFeel="TaharezLook/StaticImage" />
<FalagardMapping windowType="TaharezLook/StaticText" targetType="DefaultWindow" renderer="Core/StaticText" lookNFeel="TaharezLook/StaticText" />
<FalagardMapping windowType="TaharezLook/ItemListbox" targetType="CEGUI/ItemListbox" renderer="Core/ItemListbox" lookNFeel="TaharezLook/ItemListbox" />
<FalagardMapping windowType="TaharezLook/ListboxItem" targetType="CEGUI/ItemEntry" renderer="Core/ItemEntry" lookNFeel="TaharezLook/ListboxItem" />
<FalagardMapping windowType="TaharezLook/GroupBox" targetType="DefaultWindow" renderer="Core/Default" lookNFeel="TaharezLook/GroupBox" />
<FalagardMapping windowType="TaharezLook/Tree" targetType="CEGUI/Tree" renderer="Core/Tree" lookNFeel="TaharezLook/Tree" />
</GUIScheme>
Imageset
- Imageset Image set , Corresponding to a picture .Image It corresponds to an area on the picture .Image There is no limit to the quantity .
- example :
<Imageset autoScaled="vertical" imagefile="TaharezLook.png" name="TaharezLook" nativeHorzRes="1280" nativeVertRes="720" version="2">
<Image height="64" name="ClientBrush" width="64" xPos="2" yPos="2" />
<Image height="1" name="GenericBrush" width="1" xPos="9" yPos="71" />
Omit ...
</Imagset>
Font resources
- CEGUI Font resources of the system . Two types of Font: FreeTypeFont/ PixmapFont, Vector fonts and bitmap fonts .
- example :
<?xml version="1.0" ?>
<Font version="3" name="DejaVuSans-12" filename="DejaVuSans.ttf" type="FreeType" size="12" nativeHorzRes="1280" nativeVertRes="720" autoScaled="vertical"/>
Appearance resources
- Appearance files are related to rendering windows . Sub windows defined in the render window 、 The corresponding definition of the named area must exist in the appearance file . There are many definitions of appearance files , For relevant contents, please refer to the following official documents .
http://static.cegui.org.uk/docs/0.8.7/fal_element_ref.html
Resource loading process analysis
Scheme object , yes CEGUI Provided to uniformly load resources . Use... Through it Scheme file , It can be loaded with one click CEGUI Various resource files used by the program .
Scheme Just a unified entrance , You can also use CEGUI Various resource loading objects are provided to load resources .
scheme Will call various resource objects , Load resources . So understand scheme Load to understand the loading process of various resources .
- Block chart

Before loading resources , Need to inform CEGUI The system's resource group Directory ( Directory setting of various resources )
- example : Set up schemes Resource group .
// Set up schemes Resource group .
CEGUI::System::getSingleton().getResourceProvider().setResourceGroupDirectory("schemes", "path")
CEGUI::Scheme::setDefaultResourceGroup("schemes");
// load scheme file .
SchemeManager::getSingleton().createFromFile("TaharezLook.scheme");
- Scheme Resource loading process ( With OpenGLRender For example )

- shcemeManager The default is auto load ( Easy to load resources with one click ). Non automatic loading can be set , Load through each resource object when necessary .
- Resources are loaded synchronously , Loading a large number of resources can be time-consuming .
- Resources with the same name , Does not load repeatedly .
边栏推荐
- 原始套接字使用
- JVM (III) Virtual machine performance monitoring & fault handling tool
- Overview of software definition storage (one article is enough)
- [DDS] ddsi-rtps specification
- [cloud native] what exactly does it mean? This article shares the answer with you
- Autojs learning notes 6:text (txt) Findone() will report an error when switching apps. Finally, solve the implementation effect and switch any app until the script finds the control with the specified
- OpenCV中CLAHE用于16位图像增强显示
- 2021-02-12
- JVM (IV) Class file structure (complete parsing of bytecode attached)
- Dazzle the "library" action - award solicitation from the golden warehouse of the National People's Congress - high availability failover and recovery of kingbasees cluster
猜你喜欢

Shen Min, CIO of science and technology innovator Digital China Group: the best practice model is failing, and open source accelerates Distributed Innovation

QQ, wechat chat depends on it (socket)?

JVM (III) Virtual machine performance monitoring & fault handling tool

基于SSM实现水果商城批发平台

001: what is a data lake?

【云原生 | Kubernetes篇】Kubernetes 网络策略(NetworkPolicy)

机器学习之数据处理与可视化【鸢尾花数据分类|特征属性比较】

Strange error -- frame detected by contour detection, expansion corrosion, and reversal of opening and closing operation effect

Differences among list, set and map

UE4_以现成资源探索创建背景场景的方法
随机推荐
MySQL索引常见问题
《真北》读书笔记
markdown_ Picture side by side scheme
六月集训(第12天) —— 链表
Periodic pains of cross-border e-commerce? Papaya mobile power as an independent station enabler
SAP Hana error message sys_ XSA authentication failed SQLSTATE - 28000
[DDS] dds-rpc implementation based on opendds
UE4_ Explore the method of creating background scenes with ready-made resources
Redis (II) Memory mapped data structure
Research on autojs wechat: the control IP in wechat on different versions of wechat or simulators is different.
Raw socket usage
哈希表的理论讲解
How CEPH improves storage performance and storage stability
Jetpack架构组件学习(3)——Activity Results API使用
JVM (III) Virtual machine performance monitoring & fault handling tool
JVM (IV) Class file structure (complete parsing of bytecode attached)
Docker compose integrates redis, MySQL and microservices, and services are containerized
行业分析怎么做
QQ, wechat chat depends on it (socket)?
【云原生 | Kubernetes篇】Kubernetes 网络策略(NetworkPolicy)