#pragma once #include #include struct ID3D12Device; struct ID3D12CommandQueue; namespace XCEngine { namespace Editor { namespace UI { class ImGuiBackendBridge; enum class AssetIconKind { Folder, File, GameObject, Scene }; void InitializeBuiltInIcons( ImGuiBackendBridge& backend, ID3D12Device* device, ID3D12CommandQueue* commandQueue); void ShutdownBuiltInIcons(); void DrawAssetIcon(ImDrawList* drawList, const ImVec2& min, const ImVec2& max, AssetIconKind kind); bool DrawTextureAssetPreview( ImDrawList* drawList, const ImVec2& min, const ImVec2& max, const std::string& filePath); } // namespace UI } // namespace Editor } // namespace XCEngine