HikoGUI
A low latency retained GUI
Loading...
Searching...
No Matches
src
hikogui
GFX
pipeline_box_device_shared.hpp
1
// Copyright Take Vos 2020-2021.
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 "../utility/module.hpp"
8
#include "../geometry/module.hpp"
9
#include "../vector_span.hpp"
10
#include "../color/module.hpp"
11
#include <vma/vk_mem_alloc.h>
12
#include <vulkan/vulkan.hpp>
13
#include <mutex>
14
15
namespace
hi::inline
v1
{
16
class
gfx_device_vulkan;
17
18
namespace
pipeline_box {
19
struct
Image;
20
struct
vertex;
21
22
struct
device_shared
final {
23
gfx_device_vulkan
const
&device;
24
25
vk::ShaderModule vertexShaderModule;
26
vk::ShaderModule fragmentShaderModule;
27
std::vector<vk::PipelineShaderStageCreateInfo>
shaderStages;
28
29
device_shared
(
gfx_device_vulkan
const
&device);
30
~device_shared
();
31
32
device_shared
(
device_shared
const
&) =
delete
;
33
device_shared
&operator=(
device_shared
const
&) =
delete
;
34
device_shared
(
device_shared
&&) =
delete
;
35
device_shared
&operator=(
device_shared
&&) =
delete
;
36
40
void
destroy
(
gfx_device_vulkan
const
*vulkanDevice);
41
42
void
drawInCommandBuffer(vk::CommandBuffer
const
&commandBuffer);
43
44
static
void
place_vertices(
45
vector_span<vertex>
&vertices,
46
aarectangle clipping_rectangle,
47
quad
box,
48
quad_color fill_colors,
49
quad_color line_colors,
50
float
line_width,
51
corner_radii corner_radii);
52
53
private
:
54
void
buildShaders();
55
void
teardownShaders(
gfx_device_vulkan
const
*vulkanDevice);
56
};
57
58
}
// namespace pipeline_box
59
}
// namespace hi::inline v1
v1
DOXYGEN BUG.
Definition
algorithm.hpp:13
v1::quad
Definition
quad.hpp:17
v1::gfx_device_vulkan
Definition
gfx_device_vulkan.hpp:21
v1::pipeline_box::device_shared
Definition
pipeline_box_device_shared.hpp:22
v1::pipeline_box::device_shared::destroy
void destroy(gfx_device_vulkan const *vulkanDevice)
v1::vector_span
Definition
vector_span.hpp:133
std::vector
Generated on Mon Apr 22 2024 12:52:19 for HikoGUI by
1.10.0