|
HikoGUI
A low latency retained GUI
|
#include <TTauri/GUI/GUIDevice_base.hpp>
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_base & | operator= (const GUIDevice_base &)=delete |
| GUIDevice_base (GUIDevice_base &&)=delete | |
| GUIDevice_base & | operator= (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 |
A GUIDevice that handles a set of windows.
|
virtual |
Initialise the logical device.
| window | is used as prototype for queue allocation. |
Reimplemented in tt::GUIDevice_vulkan.
|
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.
Implemented in tt::GUIDevice_vulkan.
| std::vector<std::unique_ptr<Window> > tt::GUIDevice_base::windows |
A list of windows managed by this device.