|
HikoGUI
A low latency retained GUI
|
Public Member Functions | |
| gfx_surface (const gfx_surface &)=delete | |
| gfx_surface & | operator= (const gfx_surface &)=delete |
| gfx_surface (gfx_surface &&)=delete | |
| gfx_surface & | operator= (gfx_surface &&)=delete |
| virtual void | init () |
| gfx_surface (gfx_system &system) | |
| virtual void | set_device (gfx_device *device) noexcept |
| gfx_device * | device () const noexcept |
| virtual extent2i | size () const noexcept=0 |
| Get the size of the surface. | |
| virtual void | update (extent2i new_size) noexcept=0 |
| Update the surface. | |
| virtual std::optional< gfx_draw_context > | render_start (aarectanglei redraw_rectangle)=0 |
| virtual void | render_finish (gfx_draw_context const &context)=0 |
| virtual void | add_delegate (gfx_surface_delegate *delegate) noexcept=0 |
| Add a delegate to handle extra rendering. | |
| virtual void | remove_delegate (gfx_surface_delegate *delegate) noexcept=0 |
| Remove a delegate. | |
Data Fields | |
| gfx_system & | system |
| gfx_surface_state | state = gfx_surface_state::has_window |
| gfx_surface_loss | loss = gfx_surface_loss::none |
|
pure virtualnoexcept |
Add a delegate to handle extra rendering.
The delegate can render underneath the HikoGUI user interface.
Implemented in v1::gfx_surface_vulkan.
|
pure virtualnoexcept |
Remove a delegate.
Implemented in v1::gfx_surface_vulkan.
|
virtualnoexcept |
Set GPU device to manage this window. Change of the device may be done at runtime.
| device | The device to use for rendering, may be nullptr. |
Reimplemented in v1::gfx_surface_vulkan.
|
pure virtualnoexcept |
Get the size of the surface.
Implemented in v1::gfx_surface_vulkan.
|
pure virtualnoexcept |
Update the surface.
This function will check if the graphic pipeline and swapchain needs to be build, rebuild, or torn down.
| new_size | The size of the window. |
Implemented in v1::gfx_surface_vulkan.