1#ifndef LIBSBX_GRAPHICS_DEVICES_SURFACE_HPP_
2#define LIBSBX_GRAPHICS_DEVICES_SURFACE_HPP_
4#include <vulkan/vulkan.hpp>
6#include <libsbx/utility/noncopyable.hpp>
8#include <libsbx/graphics/devices/instance.hpp>
9#include <libsbx/graphics/devices/physical_device.hpp>
10#include <libsbx/graphics/devices/logical_device.hpp>
12namespace sbx::graphics {
22 auto handle()
const noexcept ->
const VkSurfaceKHR&;
24 operator const VkSurfaceKHR&()
const noexcept;
26 auto capabilities()
const noexcept -> VkSurfaceCapabilitiesKHR;
28 auto format()
const noexcept ->
const VkSurfaceFormatKHR&;
32 auto _choose_swap_surface_format(
const std::vector<VkSurfaceFormatKHR>& available_formats) -> VkSurfaceFormatKHR;
34 VkSurfaceKHR _handle{};
35 VkSurfaceCapabilitiesKHR _capabilities{};
36 VkSurfaceFormatKHR _format{};
Definition: instance.hpp:10
Definition: logical_device.hpp:55
Definition: physical_device.hpp:16
Definition: surface.hpp:14
Definition: noncopyable.hpp:6