当前位置:网站首页>[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 .
边栏推荐
- The white paper "protecting our digital heritage: DNA data storage" was released
- Introduction to applet
- JVM (III) Virtual machine performance monitoring & fault handling tool
- There is always a negative line (upper shadow line) that will stop the advance of many armies, and there is always a positive line (lower shadow line) that will stop the rampant bombing of the air for
- [Mozilla] basic concept analysis of IPDL
- 2022 pole technology communication - the dispute over anmou technology is settled, and the cornerstone of the local semiconductor industry is more stable
- 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
- 总有一根阴线(上影线)会阻止多军前进的脚步,总有一个阳线(下影线)会阻挡空军肆虐的轰炸
- CentOS 7 installing MySQL 8
- How to do industry analysis
猜你喜欢
![[cloud native] establishment of Eureka service registration](/img/da/0a700081be767db91edd5f3d49b5d0.png)
[cloud native] establishment of Eureka service registration

Papaya Mobile has a comprehensive layout of cross-border e-commerce SaaS papaya orange. What are the opportunities for this new track?

True north reading notes

MYSQL的最左匹配原則的原理講解

Redis (II) Memory mapped data structure

MySQL index FAQs

HALCON联合C#检测表面缺陷——仿射变换(三)

传输层协议 ——— TCP协议

GNU EFI development environment settings

FPGA VGA display based on de2-115 platform
随机推荐
Auto. JS learning notes 8: some common and important APIs
Access and traversal of string class objects
2021-02-12
Pandorabox uses firewall rules to define non internet time
[Wayland] Wayland agreement description
SAP HANA 错误消息 SYS_XSA authentication failed SQLSTATE - 28000
[Mozilla] basic concept analysis of IPDL
In 2026, the capacity of China's software defined storage market will be close to US $4.51 billion
Reading notes of the fifth cultivation
The white paper "protecting our digital heritage: DNA data storage" was released
Explication du principe d'appariement le plus à gauche de MySQL
tp6调试(trace)
MYSQL的最左匹配原则的原理讲解
Auto. JS learning note 9: basic methods such as using the script engine, starting the script file with the specified path, and closing
MySQL VI Database lock
001: what is a data lake?
JVM (IV) Class file structure (complete parsing of bytecode attached)
Canal ha mode configuration
[926. flip the string to monotonic increment]
Introduction to on-line circuit simulation and open source electronic hardware design