VenomEngine
Cross-Platform Modern Graphics Engine
Loading...
Searching...
No Matches
GUI.h
Go to the documentation of this file.
1
8#pragma once
10
11#include <imgui.h>
12#include <imgui_impl_glfw.h>
13#include <imgui_impl_vulkan.h>
14
15namespace venom
16{
17namespace vulkan
18{
19class VulkanGUI : public vc::GUI
20{
21public:
22 VulkanGUI();
23 ~VulkanGUI() override;
24
25 vc::Error Initialize() override;
26 vc::Error Reset() override;
27
28protected:
29 void _NewFrame() override;
30 void _Begin(const char * name, bool * p_open, vc::GUIWindowFlags flags) override;
31 void _End() override;
32 void _Text(const char* fmt, ...) override;
33 void _TextColored(const vcm::Vec4 & col, const char* fmt, ...) override;
34 void _LabelText(const char* label, const char* fmt, ...) override;
35
36 bool _SliderFloat(const char* label, float* v, float v_min, float v_max, const char* format, float power) override;
37 bool _SliderFloat3(const char* label, float v[3], float v_min, float v_max, const char* format, float power);
38
39 void _ColorEdit3(const char* label, float col[3], vc::GUIColorEditFlags flags) override;
40
41 bool _Button(const char* label, const vcm::Vec2 & size) override;
42 bool _Checkbox(const char* label, bool* v) override;
43 void _ProgressBar(float fraction, const vcm::Vec2 & size_arg, const char* overlay) override;
44
45 bool _Selectable(const char* label, bool selected, vc::GUISelectableFlags flags, const vcm::Vec2 & size) override;
46
47 bool _BeginCombo(const char* label, const char* preview_value, vc::GUIComboFlags flags) override;
48 void _EndCombo() override;
49
50 void _SetItemDefaultFocus() override;
51
52 void _SameLine(float offset_from_start_x, float spacing) override;
53
54 void _Render() override;
55
56private:
57 void __SetStyle();
58
59private:
60 ImGui_ImplVulkan_InitInfo initInfo;
61};
62}
63}
Definition GUI.h:22
Definition GUI.h:20
Contains the entirety of the code of the VenomEngine project.
Definition Config.h:13