vulkan instance 까지 생성 완료

This commit is contained in:
2025-03-31 06:09:11 +09:00
parent ddd36f7a95
commit fa5f31e034
11 changed files with 234 additions and 17 deletions

View File

@@ -0,0 +1,12 @@
#pragma once
namespace veng {
struct GlfwInitialization {
public:
GlfwInitialization();
~GlfwInitialization();
GlfwInitialization(const GlfwInitialization&) = delete;
GlfwInitialization& operator=(const GlfwInitialization&) = delete;
};
} // namespace veng

View File

@@ -0,0 +1,12 @@
#pragma once
struct GLFWmonitor;
struct GLFWwindow;
namespace veng {
gsl::span<GLFWmonitor *> GetMonitors();
glm::ivec2 GetMonitorPosition(gsl::not_null<GLFWmonitor *> monitor);
glm::ivec2 GetMonitorWorkAreaSize(gsl::not_null<GLFWmonitor *> monitor);
void MoveWindowToMonitor(gsl::not_null<GLFWwindow *> window,
gsl::not_null<GLFWmonitor *> monitor);
} // namespace veng

View File

@@ -0,0 +1,21 @@
#pragma once
struct GLFWmonitor;
struct GLFWwindow;
namespace veng {
class Window {
public:
Window(gsl::czstring name, glm::ivec2 size);
~Window();
glm::ivec2 GetWindowSize() const;
bool ShouldClose() const;
GLFWwindow* GetHandle() const;
bool TryMoveToMonitor(std::uint16_t monitor_number);
private:
GLFWwindow* window_;
};
} // namespace veng