|
HikoGUI
A low latency retained GUI
|
#include <ttauri/GUI/gui_system.hpp>
Public Member Functions | |
| 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 |
| virtual void | init ()=0 |
| Initialize after construction. | |
| 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 void | _handlevertical_sync (void *data, hires_utc_clock::time_point displayTimePoint) |
Data Fields | |
| 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 |
Static Public Attributes | |
| static std::unique_ptr< gui_system > | global |
Vulkan gui_device controller.
Manages Vulkan device and a set of Windows.
|
pure virtual |
Initialize after construction.
Call this function directly after the constructor on the same thread.
Implemented in tt::gui_system_vulkan.
| ssize_t tt::gui_system::num_windows | ( | ) |
Count the number of windows managed by the GUI.
| std::vector<std::shared_ptr<gui_device> > tt::gui_system::devices |
List of all devices.
| 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.