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

#include <ttauri/GUI/gui_system.hpp>

Inheritance diagram for tt::gui_system:
tt::gui_system_vulkan tt::gui_system_vulkan_macos tt::gui_system_vulkan_win32

Public Member Functions

 gui_system (std::weak_ptr< gui_system_delegate > const &delegate) noexcept
 
 gui_system (const gui_system &)=delete
 
gui_systemoperator= (const gui_system &)=delete
 
 gui_system (gui_system &&)=delete
 
gui_systemoperator= (gui_system &&)=delete
 
virtual void init ()=0
 Initialize after construction.
 
template<typename... Args>
gui_windowmake_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 void _handlevertical_sync (void *data, hires_utc_clock::time_point displayTimePoint)
 

Data Fields

std::weak_ptr< gui_system_delegatedelegate
 
std::unique_ptr< vertical_syncverticalSync
 
std::vector< std::shared_ptr< gui_device > > devices
 List of all devices.
 
ssize_t previousNumberOfWindows = 0
 

Static Public Attributes

static std::unique_ptr< gui_systemglobal
 

Detailed Description

Vulkan gui_device controller.

Manages Vulkan device and a set of Windows.

Member Function Documentation

◆ init()

virtual void tt::gui_system::init ( )
pure virtual

Initialize after construction.

Call this function directly after the constructor on the same thread.

Implemented in tt::gui_system_vulkan.

◆ num_windows()

ssize_t tt::gui_system::num_windows ( )

Count the number of windows managed by the GUI.

Field Documentation

◆ devices

std::vector<std::shared_ptr<gui_device> > tt::gui_system::devices

List of all devices.

◆ previousNumberOfWindows

ssize_t tt::gui_system::previousNumberOfWindows = 0

Keep track of the numberOfWindows in the previous render cycle. This way we can call closedLastWindow on the application once.


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