Files
kaizen/src/frontend/imgui/Window.hpp
2023-06-04 21:34:14 +02:00

41 lines
1.0 KiB
C++

#pragma once
#include <ParallelRDPWrapper.hpp>
#include <imgui.h>
#include <imgui_impl_sdl2.h>
#include <imgui_impl_vulkan.h>
#include <SDL2/SDL.h>
#include <backend/Core.hpp>
#include <vector>
#include <frontend/imgui/Settings.hpp>
struct Window {
explicit Window(n64::Core& core);
~Window();
ImDrawData* Present(n64::Core& core);
[[nodiscard]] bool gotClosed(SDL_Event event);
ImFont *uiFont{};
Settings settings;
void LoadROM(n64::Core& core, const std::string& path);
private:
bool showSettings = false;
SDL_Window* window{};
std::string windowTitle{"Kaizen"};
std::string shadowWindowTitle{windowTitle};
std::string gameName{};
void InitSDL();
void InitImgui();
void Render(n64::Core& core);
void RenderMainMenuBar(n64::Core& core);
VkPhysicalDevice physicalDevice{};
VkDevice device{};
uint32_t queueFamily{uint32_t(-1)};
VkQueue queue{};
VkPipelineCache pipelineCache{};
VkDescriptorPool descriptorPool{};
VkAllocationCallbacks* allocator{};
u32 minImageCount = 2;
};