Files
XCEngine/new_editor/app/Rendering/Assets/BuiltInIcons.h

36 lines
794 B
C++

#pragma once
#include <Rendering/Native/NativeRenderer.h>
#include <XCEngine/UI/Types.h>
#include <cstdint>
#include <string>
namespace XCEngine::UI::Editor::App {
enum class BuiltInIconKind : std::uint8_t {
Folder = 0,
GameObject,
Scene
};
class BuiltInIcons {
public:
void Initialize(Host::NativeRenderer& renderer);
void Shutdown();
const ::XCEngine::UI::UITextureHandle& Resolve(BuiltInIconKind 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