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

#include <ttauri/GUI/gui_device.hpp>

Inheritance diagram for tt::gui_device:
tt::gui_device_vulkan

Public Types

enum class  state_type { no_device , ready_to_draw }
 

Public Member Functions

std::string string () const noexcept
 
 gui_device (gui_system &system) noexcept
 
 gui_device (const gui_device &)=delete
 
gui_deviceoperator= (const gui_device &)=delete
 
 gui_device (gui_device &&)=delete
 
gui_deviceoperator= (gui_device &&)=delete
 
virtual int score (gui_window const &window) const =0
 
virtual void initialize_device (gui_window const &window)
 
ssize_t num_windows () const noexcept
 
void add (std::shared_ptr< gui_window > window)
 
void remove (gui_window &window) noexcept
 
void render (hires_utc_clock::time_point displayTimePoint) noexcept
 

Data Fields

gui_systemsystem
 
state_type state = state_type::no_device
 
std::string deviceName = "<no device>"
 
uint32_t vendorID = 0
 
uint32_t deviceID = 0
 
uuid deviceUUID = {}
 

Detailed Description

A gui_device that handles a set of windows.

Member Function Documentation

◆ initialize_device()

virtual void tt::gui_device::initialize_device ( gui_window const & window)
virtual

Initialize the logical device.

Parameters
windowis used as prototype for queue allocation.

Reimplemented in tt::gui_device_vulkan.

◆ score()

virtual int tt::gui_device::score ( gui_window const & window) const
pure virtual

Check if this device is a good match for this window.

It is possible for a window to be created that is not presentable, in case of a headless-virtual-display, however in this case it may still be able to be displayed by any device.

Returns
-1 When not viable, 0 when not presentable, postive values for increasing score.

Implemented in tt::gui_device_vulkan.


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