evan 2026.1.4
Evan
Loading...
Searching...
No Matches
MacOsDesktopPlatform.hpp
1/*
2** ETIB PROJECT, 2026
3** evan
4** File description:
5** MacOsDesktopPlatform
6*/
7
8#pragma once
9
10#include "evan/glfw/IDesktopPlatform.hpp"
11
12#include <filesystem>
13
14namespace evan
15{
26 {
27 public:
37 MacOsDesktopPlatform(const std::string &name, const uint32_t width,
38 const uint32_t height);
39
47
60 std::vector<std::string> getRequiredInstanceExtensions() const override;
61
71 VkInstanceCreateFlags getInstanceCreateFlags() const override;
72
82 std::vector<std::string> getRequiredDeviceExtensions() const override;
83
95 VkSurfaceKHR createSurface(VkInstance instance) const override;
96
97 protected:
103 std::filesystem::path getDefaultCacheRoot() const override;
104 };
105} // namespace evan
Desktop platform implementation.
MacOS desktop platform implementation.
std::vector< std::string > getRequiredDeviceExtensions() const override
Get the required Vulkan device extensions for the MacOS desktop platform.
std::filesystem::path getDefaultCacheRoot() const override
Get the macOS cache root directory.
~MacOsDesktopPlatform()=default
Destructor for MacOsDesktopPlatform. This destructor ensures proper cleanup of resources associated w...
VkSurfaceKHR createSurface(VkInstance instance) const override
Create a Vulkan surface for the MacOS desktop platform.
std::vector< std::string > getRequiredInstanceExtensions() const override
Get the required instance extensions for the MacOS desktop platform.
VkInstanceCreateFlags getInstanceCreateFlags() const override
Get the Vulkan instance creation flags for the MacOS desktop platform.