#pragma once #include #include namespace XCEngine::UI::Editor::Widgets { enum class UIEditorCollectionPrimitiveKind : std::uint8_t { None = 0, ScrollView, TreeView, TreeItem, ListView, ListItem, PropertySection, FieldRow }; UIEditorCollectionPrimitiveKind ClassifyUIEditorCollectionPrimitive(std::string_view tagName); bool IsUIEditorCollectionPrimitiveContainer(UIEditorCollectionPrimitiveKind kind); bool UsesUIEditorCollectionPrimitiveColumnLayout(UIEditorCollectionPrimitiveKind kind); bool IsUIEditorCollectionPrimitiveHoverable(UIEditorCollectionPrimitiveKind kind); bool DoesUIEditorCollectionPrimitiveClipChildren(UIEditorCollectionPrimitiveKind kind); float ResolveUIEditorCollectionPrimitivePadding( UIEditorCollectionPrimitiveKind kind); float ResolveUIEditorCollectionPrimitiveDefaultHeight( UIEditorCollectionPrimitiveKind kind); float ResolveUIEditorCollectionPrimitiveIndent( UIEditorCollectionPrimitiveKind kind, float indentLevel); } // namespace XCEngine::UI::Editor::Widgets