Files
XCEngine/new_editor/app/Icons/ProductBuiltInIcons.h

35 lines
802 B
C++

#pragma once
#include <Host/NativeRenderer.h>
#include <XCEngine/UI/Types.h>
#include <cstdint>
#include <string>
namespace XCEngine::UI::Editor::App {
enum class ProductBuiltInIconKind : std::uint8_t {
Folder = 0,
GameObject,
Scene
};
class ProductBuiltInIcons {
public:
void Initialize(Host::NativeRenderer& renderer);
void Shutdown();
const ::XCEngine::UI::UITextureHandle& Resolve(ProductBuiltInIconKind kind) const;
const std::string& GetLastError() const;
private:
Host::NativeRenderer* m_renderer = nullptr;
::XCEngine::UI::UITextureHandle m_folderIcon = {};
::XCEngine::UI::UITextureHandle m_gameObjectIcon = {};
::XCEngine::UI::UITextureHandle m_sceneIcon = {};
std::string m_lastError = {};
};
} // namespace XCEngine::UI::Editor::App