|
HikoGUI
A low latency retained GUI
|
#include <TTauri/GUI/GUISystem_vulkan.hpp>
Public Member Functions | |
| GUISystem_vulkan (GUISystemDelegate *delegate, const std::vector< const char * > extensions) | |
| GUISystem_vulkan (const GUISystem_vulkan &)=delete | |
| GUISystem_vulkan & | operator= (const GUISystem_vulkan &)=delete |
| GUISystem_vulkan (GUISystem_vulkan &&)=delete | |
| GUISystem_vulkan & | operator= (GUISystem_vulkan &&)=delete |
| void | initialize () noexcept(false) override |
| vk::DispatchLoaderDynamic | loader () const noexcept |
| void | destroySurfaceKHR (vk::SurfaceKHR surface) |
Public Member Functions inherited from tt::GUISystem_base | |
| GUISystem_base (GUISystemDelegate *delegate) noexcept | |
| GUISystem_base (const GUISystem_base &)=delete | |
| GUISystem_base & | operator= (const GUISystem_base &)=delete |
| GUISystem_base (GUISystem_base &&)=delete | |
| GUISystem_base & | operator= (GUISystem_base &&)=delete |
| template<typename T , typename... Args> | |
| T * | makeWindow (Args &&... args) |
| ssize_t | getNumberOfWindows () |
| void | render (hires_utc_clock::time_point displayTimePoint) |
| void | handleVerticalSync (hires_utc_clock::time_point displayTimePoint) |
Static Public Member Functions | |
| static VkBool32 | debugUtilsMessageCallback (VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, VkDebugUtilsMessageTypeFlagsEXT messageType, const VkDebugUtilsMessengerCallbackDataEXT *pCallbackData, void *pUserData) |
Static Public Member Functions inherited from tt::GUISystem_base | |
| static void | _handleVerticalSync (void *data, hires_utc_clock::time_point displayTimePoint) |
Data Fields | |
| vk::Instance | intrinsic |
| Vulkan instance. | |
| std::vector< const char * > | requiredExtensions |
| List of extension that where requested when the instance was created. | |
| std::vector< const char * > | requiredLayers |
| List of extension that where requested when the instance was created. | |
| vk::PhysicalDeviceFeatures | requiredFeatures |
| List of required features for each device. | |
| vk::PhysicalDeviceLimits | requiredLimits |
| List of required limits for each device. | |
| vk::ApplicationInfo | applicationInfo |
| Application info passed when the instance was created. | |
Data Fields inherited from tt::GUISystem_base | |
| GUISystemDelegate * | delegate |
| std::unique_ptr< VerticalSync > | verticalSync |
| std::vector< std::unique_ptr< GUIDevice > > | devices |
| List of all devices. | |
| ssize_t | previousNumberOfWindows = 0 |
Vulkan GUIDevice controller.
Manages Vulkan device and a set of Windows.
| tt::GUISystem_vulkan::GUISystem_vulkan | ( | GUISystemDelegate * | delegate, |
| const std::vector< const char * > | extensions ) |
Create an instance of a GUIDevice. After the constructor is completed it may be used to get a Vulkan surface and passed to Window constructors.
| extensions | a list of Vulkan extensions required. Most useful for including operating system specific surface extensions. |
|
overridevirtual |
Implements tt::GUISystem_base.
| vk::ApplicationInfo tt::GUISystem_vulkan::applicationInfo |
Application info passed when the instance was created.
| vk::Instance tt::GUISystem_vulkan::intrinsic |
Vulkan instance.
| std::vector<const char *> tt::GUISystem_vulkan::requiredExtensions |
List of extension that where requested when the instance was created.
| vk::PhysicalDeviceFeatures tt::GUISystem_vulkan::requiredFeatures |
List of required features for each device.
| std::vector<const char *> tt::GUISystem_vulkan::requiredLayers |
List of extension that where requested when the instance was created.
| vk::PhysicalDeviceLimits tt::GUISystem_vulkan::requiredLimits |
List of required limits for each device.