/
redgpu
/
ezEngine
Обзор
Документация
Войти
/
redgpu
/
ezEngine
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
dev
Code/ThirdParty/RmlUi/Source/Core/XMLNodeHandlerDefault.cpp
61 строка
2 KB
C-Core
Updated RmlUi to 6.2 and added some improvements (#1813)
10 фев 2026, 01:19
Не верифицирован
10 фев 2026, 01:19
58e2d41
Код
Авторство
О чём код?
#include "XMLNodeHandlerDefault.h" #include "../../Include/RmlUi/Core/Element.h" #include "../../Include/RmlUi/Core/ElementUtilities.h" #include "../../Include/RmlUi/Core/Factory.h" #include "../../Include/RmlUi/Core/Log.h" #include "../../Include/RmlUi/Core/Profiling.h" #include "../../Include/RmlUi/Core/XMLParser.h" #include "XMLParseTools.h" namespace Rml { XMLNodeHandlerDefault::XMLNodeHandlerDefault() {} XMLNodeHandlerDefault::~XMLNodeHandlerDefault() {} Element* XMLNodeHandlerDefault::ElementStart(XMLParser* parser, const String& name, const XMLAttributes& attributes) { RMLUI_ZoneScopedC(0x556B2F); // Determine the parent Element* parent = parser->GetParseFrame()->element; // Attempt to instance the element with the instancer ElementPtr element = Factory::InstanceElement(parent, name, name, attributes); if (!element) { Log::Message(Log::LT_ERROR, "Failed to create element for tag %s, instancer returned nullptr.", name.c_str()); return nullptr; } // Move and append the element to the parent Element* result = parent->AppendChild(std::move(element)); return result; } bool XMLNodeHandlerDefault::ElementEnd(XMLParser* /*parser*/, const String& /*name*/) { return true; } bool XMLNodeHandlerDefault::ElementData(XMLParser* parser, const String& data, XMLDataType type) { RMLUI_ZoneScopedC(0x006400); // Determine the parent Element* parent = parser->GetParseFrame()->element; RMLUI_ASSERT(parent); if (type == XMLDataType::InnerXML) { // Structural data views use the raw inner xml contents of the node, store them as an attribute to be processed by the data view. parent->SetAttribute("rmlui-inner-rml", data); return true; } // Parse the text into the element return Factory::InstanceElementText(parent, data); } } // namespace Rml