2#include "../core/foray_swapchainimageinfo.hpp"
3#include "../foray_vkb.hpp"
4#include "../osi/foray_osi_declares.hpp"
5#include "../osi/foray_window.hpp"
Combines Window, Surface and Swapchain into one managing object.
Definition foray_vulkanwindowswapchain.hpp:12
bool Exists() const
Definition foray_vulkanwindowswapchain.hpp:47
VulkanWindowSwapchain()=default
core::Context * mContext
Definition foray_vulkanwindowswapchain.hpp:66
osi::Window mWindow
Definition foray_vulkanwindowswapchain.hpp:68
bool mNameSwapchainImages
Definition foray_vulkanwindowswapchain.hpp:64
std::function< void(osi::Window &)> BeforeWindowCreateFunctionPointer
Function called before window is created.
Definition foray_vulkanwindowswapchain.hpp:15
VkSurfaceKHR mSurface
Definition foray_vulkanwindowswapchain.hpp:69
std::function< void(vkb::SwapchainBuilder &)> BeforeSwapchainBuildFunctionPointer
Function called before the swapchain is created.
Definition foray_vulkanwindowswapchain.hpp:17
VulkanWindowSwapchain(core::Context *context, BeforeWindowCreateFunctionPointer beforeWindowCreateFunc, BeforeSwapchainBuildFunctionPointer beforeSwapchainBuildFunc, OnResizedFunctionPointer onResizedFunc, MakeSwapchainImageNameFunctionPointer makeSwapchainImageNameFunc)
Definition foray_vulkanwindowswapchain.hpp:24
OnResizedFunctionPointer mOnResizedFunc
Definition foray_vulkanwindowswapchain.hpp:61
void CreateWindow()
Create the Window.
void ExtractSwapchainImages()
std::vector< core::SwapchainImageInfo > mSwapchainImages
Definition foray_vulkanwindowswapchain.hpp:71
BeforeSwapchainBuildFunctionPointer mBeforeSwapchainBuildFunc
Definition foray_vulkanwindowswapchain.hpp:60
std::function< std::string(uint32_t)> MakeSwapchainImageNameFunctionPointer
Function called for naming swapchain images.
Definition foray_vulkanwindowswapchain.hpp:21
std::function< void(VkExtent2D)> OnResizedFunctionPointer
Function called when a resize occurs.
Definition foray_vulkanwindowswapchain.hpp:19
void HandleEvent(const osi::Event *event)
Listens for WindowSizeChanged events to preemptively resize the swapchain.
vkb::Swapchain mSwapchain
Definition foray_vulkanwindowswapchain.hpp:70
void CreateSwapchain()
Create the Swapchain.
MakeSwapchainImageNameFunctionPointer mMakeSwapchainImageNameFunc
Definition foray_vulkanwindowswapchain.hpp:62
void RecreateSwapchain()
Call to recreate the swapchain.
BeforeWindowCreateFunctionPointer mBeforeWindowCreateFunc
Definition foray_vulkanwindowswapchain.hpp:59
Base class for operating system events.
Definition foray_event.hpp:13
Window class. Provides access to common properties of operating system level windows.
Definition foray_window.hpp:15
#define FORAY_PROPERTY_V(member)
Getter+Setter shorthand for value types.
Definition foray_basics.hpp:81
#define FORAY_PROPERTY_R(member)
Getter+Setter shorthand for reference types.
Definition foray_basics.hpp:86
Definition foray_base_declares.hpp:3
Non owning context object.
Definition foray_context.hpp:16