HikoGUI
A low latency retained GUI
Loading...
Searching...
No Matches
gfx_surface_delegate_vulkan.hpp
1// Copyright Take Vos 2022.
2// Distributed under the Boost Software License, Version 1.0.
3// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
4
5#pragma once
6
7#include "gfx_surface_delegate.hpp"
9#include <vulkan/vulkan.hpp>
10#include <vector>
11#include <cstdint>
12
13namespace hi::inline v1 {
14
22public:
35 VmaAllocator allocator,
36 vk::Instance instance,
37 vk::Device device,
38 vk::Queue graphics_queue,
39 uint32_t graphics_queue_family_index) noexcept = 0;
40
52 virtual void
53 build_for_new_swapchain(std::vector<vk::ImageView> const& views, vk::Extent2D size, vk::SurfaceFormatKHR format) noexcept = 0;
54
69 virtual void draw(uint32_t swapchain_index, vk::Semaphore start, vk::Semaphore finish, vk::Rect2D render_area) noexcept = 0;
70};
71
72} // namespace hi::inline v1
DOXYGEN BUG.
Definition algorithm.hpp:15
Definition gfx_surface_delegate.hpp:9
A delegate for drawing on a window below the HikoGUI user interface.
Definition gfx_surface_delegate_vulkan.hpp:21
virtual void build_for_new_device(VmaAllocator allocator, vk::Instance instance, vk::Device device, vk::Queue graphics_queue, uint32_t graphics_queue_family_index) noexcept=0
The vulkan device has been initialized.
virtual void draw(uint32_t swapchain_index, vk::Semaphore start, vk::Semaphore finish, vk::Rect2D render_area) noexcept=0
Draw using vulkan API.
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.