HikoGUI
A low latency retained GUI
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Data Fields
tt::GUISystem_vulkan Class Reference

#include <TTauri/GUI/GUISystem_vulkan.hpp>

Inheritance diagram for tt::GUISystem_vulkan:
tt::GUISystem_base tt::GUISystem_vulkan_macos tt::GUISystem_vulkan_win32

Public Member Functions

 GUISystem_vulkan (GUISystemDelegate *delegate, const std::vector< const char * > extensions)
 
 GUISystem_vulkan (const GUISystem_vulkan &)=delete
 
GUISystem_vulkanoperator= (const GUISystem_vulkan &)=delete
 
 GUISystem_vulkan (GUISystem_vulkan &&)=delete
 
GUISystem_vulkanoperator= (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_baseoperator= (const GUISystem_base &)=delete
 
 GUISystem_base (GUISystem_base &&)=delete
 
GUISystem_baseoperator= (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
GUISystemDelegatedelegate
 
std::unique_ptr< VerticalSyncverticalSync
 
std::vector< std::unique_ptr< GUIDevice > > devices
 List of all devices.
 
ssize_t previousNumberOfWindows = 0
 

Detailed Description

Vulkan GUIDevice controller.

Manages Vulkan device and a set of Windows.

Constructor & Destructor Documentation

◆ GUISystem_vulkan()

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.

Parameters
extensionsa list of Vulkan extensions required. Most useful for including operating system specific surface extensions.

Member Function Documentation

◆ initialize()

void tt::GUISystem_vulkan::initialize ( )
overridevirtual

Implements tt::GUISystem_base.

Field Documentation

◆ applicationInfo

vk::ApplicationInfo tt::GUISystem_vulkan::applicationInfo

Application info passed when the instance was created.

◆ intrinsic

vk::Instance tt::GUISystem_vulkan::intrinsic

Vulkan instance.

◆ requiredExtensions

std::vector<const char *> tt::GUISystem_vulkan::requiredExtensions

List of extension that where requested when the instance was created.

◆ requiredFeatures

vk::PhysicalDeviceFeatures tt::GUISystem_vulkan::requiredFeatures

List of required features for each device.

◆ requiredLayers

std::vector<const char *> tt::GUISystem_vulkan::requiredLayers

List of extension that where requested when the instance was created.

◆ requiredLimits

vk::PhysicalDeviceLimits tt::GUISystem_vulkan::requiredLimits

List of required limits for each device.


The documentation for this class was generated from the following file: