20 std::vector<VkDescriptorSet> descriptor_sets;
21 std::vector<VkImageView> image_views;
22 std::vector<VkSampler> samplers;
26 Impl(
Window& window_in,
Graphics& graphics_in, std::filesystem::path settings_path_in);
30 EventResult OnEvent(
Event& event);
36 void End(VkCommandBuffer command_buffer);
38 ImTextureID GetImageTexture(
const Image2D& image);
39 ImTextureID GetRenderTargetTexture(std::string_view name);
42 void SetSettingsPath(std::filesystem::path settings_path_in);
44 void LoadSettingsFromDisk(
const std::filesystem::path& settings_path_in);
46 void SaveSettingsToDisk(
const std::filesystem::path& settings_path_in);
47 uint32_t GetActiveWidgetID()
const;
48 ImFont* GetMonospaceFont() const noexcept;
49 void BlockEvents(
bool block) noexcept;
52 void ApplySettingsPath();
53 bool EnsureVulkanInitialized();
54 void RestoreMainViewportPlatformHandles();
55 void CreateDescriptorPool(VkDevice device);
56 void DestroySampledImageTextures();
57 void DestroyRenderTargetTextures();
59 bool block_events = true;
62 VkDescriptorPool descriptor_pool = VK_NULL_HANDLE;
63 VkRenderPass render_pass = VK_NULL_HANDLE;
64 uint32_t image_count = 0;
65 bool vulkan_initialized = false;
66 bool frame_started = false;
67 bool appearance_dirty = false;
68 std::map<application_layers_internal::SampledImageTextureKey, VkDescriptorSet> sampled_image_textures;
71 ImFont* default_font =
nullptr;
72 ImFont* mono_font =
nullptr;
73 std::filesystem::path settings_path;
74 std::string settings_filename;
Definition imgui_layer_internal.h:19