34 lines
754 B
C++
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
|