|
HikoGUI
A low latency retained GUI
|
#include <ttauri/GUI/gui_system_vulkan.hpp>
Public Member Functions | |
| gui_system_vulkan (std::weak_ptr< gui_system_delegate > const &delegate, const std::vector< const char * > extensions) | |
| Create an instance of a gui_device. | |
| gui_system_vulkan (const gui_system_vulkan &)=delete | |
| gui_system_vulkan & | operator= (const gui_system_vulkan &)=delete |
| gui_system_vulkan (gui_system_vulkan &&)=delete | |
| gui_system_vulkan & | operator= (gui_system_vulkan &&)=delete |
| void | init () noexcept(false) override |
| Initialize after construction. | |
| vk::DispatchLoaderDynamic | loader () const noexcept |
| void | destroySurfaceKHR (vk::SurfaceKHR surface) |
Public Member Functions inherited from tt::gui_system | |
| gui_system (std::weak_ptr< gui_system_delegate > const &delegate) noexcept | |
| gui_system (const gui_system &)=delete | |
| gui_system & | operator= (const gui_system &)=delete |
| gui_system (gui_system &&)=delete | |
| gui_system & | operator= (gui_system &&)=delete |
| template<typename... Args> | |
| gui_window * | make_window (Args &&... args) |
| ssize_t | num_windows () |
| void | render (hires_utc_clock::time_point displayTimePoint) |
| void | handlevertical_sync (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::gui_system | |
| static void | _handlevertical_sync (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::gui_system | |
| std::weak_ptr< gui_system_delegate > | delegate |
| std::unique_ptr< vertical_sync > | verticalSync |
| std::vector< std::shared_ptr< gui_device > > | devices |
| List of all devices. | |
| ssize_t | previousNumberOfWindows = 0 |
Additional Inherited Members | |
Static Public Attributes inherited from tt::gui_system | |
| static std::unique_ptr< gui_system > | global |
Vulkan gui_device controller.
Manages Vulkan device and a set of Windows.
| tt::gui_system_vulkan::gui_system_vulkan | ( | std::weak_ptr< gui_system_delegate > const & | delegate, |
| const std::vector< const char * > | extensions ) |
Create an instance of a gui_device.
After the constructor is completed it may be used to get a Vulkan surface and passed to Window constructors.
| delegate | The delegate for the gui-system. |
| extensions | a list of Vulkan extensions required. Most useful for including operating system specific surface extensions. |
|
overridevirtual |
Initialize after construction.
Call this function directly after the constructor on the same thread.
Implements tt::gui_system.
| vk::ApplicationInfo tt::gui_system_vulkan::applicationInfo |
application info passed when the instance was created.
| vk::Instance tt::gui_system_vulkan::intrinsic |
Vulkan instance.
| std::vector<const char *> tt::gui_system_vulkan::requiredExtensions |
List of extension that where requested when the instance was created.
| vk::PhysicalDeviceFeatures tt::gui_system_vulkan::requiredFeatures |
List of required features for each device.
| std::vector<const char *> tt::gui_system_vulkan::requiredLayers |
List of extension that where requested when the instance was created.
| vk::PhysicalDeviceLimits tt::gui_system_vulkan::requiredLimits |
List of required limits for each device.