35 lines
802 B
C++
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
|