1
0
Files
BasaltMeter/BasaltPresenter/Shared/engine.hpp
2026-01-04 16:12:36 +08:00

37 lines
733 B
C++

#pragma once
#include "basalt_char.hpp"
#include <string>
#include <cinttypes>
namespace Basalt::Shared::Engine {
enum class EngineKind {
DirectX8,
DirectX9,
DirectX11,
DirectX12,
OpenGL,
Vulkan,
};
struct EngineConfig {
bool is_headless; ///< Whether enable headless mode (No Window created).
std::basic_string<BSCHAR> title; ///< Window title.
std::uint32_t width; ///< Window width.
std::uint32_t height; ///< Window height.
};
class IEngine {
public:
IEngine(EngineConfig&& config);
virtual ~IEngine();
public:
virtual void Tick() = 0;
protected:
EngineConfig config;
};
}