HikoGUI
A low latency retained GUI
Loading...
Searching...
No Matches
Public Member Functions
v1::gfx_surface_delegate_vulkan Class Referenceabstract
Inheritance diagram for v1::gfx_surface_delegate_vulkan:
v1::gfx_surface_delegate

Public Member Functions

virtual void build_for_new_device (VmaAllocator allocator, vk::Instance instance, vk::Device device, vk::Queue graphics_queue) noexcept=0
 The vulkan device has been initialized.
 
virtual void build_for_new_swapchain (std::vector< vk::ImageView > const &views, vk::Extent2D size, vk::SurfaceFormatKHR format) noexcept=0
 The swap-chain has been build.
 
virtual void draw (uint32_t swapchain_index, vk::Rect2D render_area, vk::Semaphore start, vk::Semaphore finish) noexcept=0
 Draw using vulkan API.
 
- Public Member Functions inherited from v1::gfx_surface_delegate
 gfx_surface_delegate (gfx_surface_delegate const &)=delete
 
 gfx_surface_delegate (gfx_surface_delegate &&)=delete
 
gfx_surface_delegateoperator= (gfx_surface_delegate const &)=delete
 
gfx_surface_delegateoperator= (gfx_surface_delegate &&)=delete
 
virtual void teardown_for_swapchain_lost () noexcept
 The swap-chain is going to be teared-down.
 
virtual void teardown_for_device_lost () noexcept
 The vulkan device is going to be teared-down.
 
virtual void teardown_for_window_lost () noexcept
 

Member Function Documentation

◆ build_for_new_device()

virtual void v1::gfx_surface_delegate_vulkan::build_for_new_device ( VmaAllocator allocator,
vk::Instance instance,
vk::Device device,
vk::Queue graphics_queue )
pure virtualnoexcept

The vulkan device has been initialized.

This function is called when either the device has just been build, or when the widget is added to a window with the device already existing.

The device may be rebuild when the vulkan device disconnects.

◆ build_for_new_swapchain()

virtual void v1::gfx_surface_delegate_vulkan::build_for_new_swapchain ( std::vector< vk::ImageView > const & views,
vk::Extent2D size,
vk::SurfaceFormatKHR format )
pure virtualnoexcept

The swap-chain has been build.

This function is called when either the swap-chain has just been build, or when the widget is added to a window with the swap-chain already existing.

The swap-chain will also be build during resizing of the window. So this needs to be rather fast.

Parameters
viewsThe list of swap-chain image views.
sizeThe size of the images in the swap-chain.
formatThe pixel format and color space of the images in the swap-chain.

◆ draw()

virtual void v1::gfx_surface_delegate_vulkan::draw ( uint32_t swapchain_index,
vk::Rect2D render_area,
vk::Semaphore start,
vk::Semaphore finish )
pure virtualnoexcept

Draw using vulkan API.

Parameters
swapchain_indexThe index of the image-view of the swap-chain to draw into.
render_areaThe area of the window that is being drawn.
startThe semaphore used to signal when the image_view is ready to be drawn.
finishThe semaphore used to signal when the HikoGUI overlay is drawn onto the image_view.

The documentation for this class was generated from the following file: