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

#include <TTauri/GUI/GUIDevice_base.hpp>

Inheritance diagram for tt::GUIDevice_base:
tt::GUIDevice_vulkan

Public Types

enum class  State { NO_DEVICE , READY_TO_DRAW }
 

Public Member Functions

std::string string () const noexcept
 
 GUIDevice_base (const GUIDevice_base &)=delete
 
GUIDevice_baseoperator= (const GUIDevice_base &)=delete
 
 GUIDevice_base (GUIDevice_base &&)=delete
 
GUIDevice_baseoperator= (GUIDevice_base &&)=delete
 
virtual int score (Window const &window) const =0
 
virtual void initializeDevice (Window const &window)
 
ssize_t getNumberOfWindows () const noexcept
 
void add (std::unique_ptr< Window > window)
 
void remove (Window &window) noexcept
 
void render (hires_utc_clock::time_point displayTimePoint) noexcept
 

Data Fields

State state = State::NO_DEVICE
 
std::string deviceName = "<no device>"
 
uint32_t vendorID = 0
 
uint32_t deviceID = 0
 
uuid deviceUUID = {}
 
std::vector< std::unique_ptr< Window > > windows
 

Detailed Description

A GUIDevice that handles a set of windows.

Member Function Documentation

◆ initializeDevice()

virtual void tt::GUIDevice_base::initializeDevice ( Window const & window)
virtual

Initialise the logical device.

Parameters
windowis used as prototype for queue allocation.

Reimplemented in tt::GUIDevice_vulkan.

◆ score()

virtual int tt::GUIDevice_base::score ( 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::GUIDevice_vulkan.

Field Documentation

◆ windows

std::vector<std::unique_ptr<Window> > tt::GUIDevice_base::windows

A list of windows managed by this device.


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