Files
XCEngine/engine/include/XCEngine/UI/Style/DocumentStyleCompiler.h

34 lines
754 B
C++

#pragma once
#include "StyleResolver.h"
#include <XCEngine/Resources/UI/UIDocumentTypes.h>
#include <string>
namespace XCEngine {
namespace UI {
namespace Style {
struct UIDocumentStyleCompileResult {
bool succeeded = false;
std::string errorMessage = {};
UITheme theme = {};
UIStyleSheet styleSheet = {};
};
UIDocumentStyleCompileResult CompileDocumentStyle(
const Resources::UIDocumentModel& themeDocument);
bool TryCompileDocumentStyle(
const Resources::UIDocumentModel& themeDocument,
UITheme& outTheme,
UIStyleSheet& outStyleSheet,
std::string* outErrorMessage = nullptr);
UIStyleSet BuildInlineStyle(const Resources::UIDocumentNode& node);
} // namespace Style
} // namespace UI
} // namespace XCEngine