|
HikoGUI
A low latency retained GUI
|
Public Types | |
| using | super = gfx_surface |
Public Member Functions | |
| gfx_surface_vulkan (gfx_system &system, vk::SurfaceKHR surface) | |
| gfx_surface_vulkan (const gfx_surface_vulkan &)=delete | |
| gfx_surface_vulkan & | operator= (const gfx_surface_vulkan &)=delete |
| gfx_surface_vulkan (gfx_surface_vulkan &&)=delete | |
| gfx_surface_vulkan & | operator= (gfx_surface_vulkan &&)=delete |
| void | init () override |
| void | set_device (gfx_device *device) noexcept override |
| gfx_device_vulkan & | vulkan_device () const noexcept |
| extent2 | size () const noexcept override |
| Get the size of the surface. | |
| void | update (extent2 new_size) noexcept override |
| Update the surface. | |
| std::optional< draw_context > | render_start (aarectangle redraw_rectangle) override |
| void | render_finish (draw_context const &context, color background_color) override |
Public Member Functions inherited from tt::gfx_surface | |
| gfx_surface (const gfx_surface &)=delete | |
| gfx_surface & | operator= (const gfx_surface &)=delete |
| gfx_surface (gfx_surface &&)=delete | |
| gfx_surface & | operator= (gfx_surface &&)=delete |
| gfx_surface (gfx_system &system) | |
| gfx_device * | device () const noexcept |
| void | set_closed () noexcept |
| bool | is_closed () const noexcept |
Data Fields | |
| vk::SurfaceKHR | intrinsic |
| vk::SwapchainKHR | swapchain |
| uint32_t | nrSwapchainImages |
| vk::Extent2D | swapchainImageExtent |
| vk::SurfaceFormatKHR | swapchainImageFormat |
| std::vector< swapchain_image_info > | swapchain_image_infos |
| VmaAllocation | depthImageAllocation |
| vk::Image | depthImage |
| vk::ImageView | depthImageView |
| std::array< VmaAllocation, 2 > | colorImageAllocations |
| std::array< vk::Image, 2 > | colorImages |
| std::array< vk::ImageView, 2 > | colorImageViews |
| std::array< vk::DescriptorImageInfo, 2 > | colorDescriptorImageInfos |
| vk::RenderPass | renderPass |
| vk::CommandBuffer | commandBuffer |
| vk::Semaphore | imageAvailableSemaphore |
| vk::Semaphore | renderFinishedSemaphore |
| vk::Fence | renderFinishedFence |
| std::unique_ptr< pipeline_image::pipeline_image > | imagePipeline |
| std::unique_ptr< pipeline_box::pipeline_box > | boxPipeline |
| std::unique_ptr< pipeline_SDF::pipeline_SDF > | SDFPipeline |
| std::unique_ptr< pipeline_tone_mapper::pipeline_tone_mapper > | toneMapperPipeline |
Data Fields inherited from tt::gfx_surface | |
| gfx_system & | system |
| gfx_surface_state | state = gfx_surface_state::no_device |
| subpixel_orientation | subpixel_orientation = subpixel_orientation::BlueRight |
|
overridevirtual |
Reimplemented from tt::gfx_surface.
|
overridevirtual |
Implements tt::gfx_surface.
|
overridevirtual |
Implements tt::gfx_surface.
|
overridevirtualnoexcept |
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 from tt::gfx_surface.
|
overridevirtualnoexcept |
Get the size of the surface.
Implements tt::gfx_surface.
|
overridevirtualnoexcept |
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. |
Implements tt::gfx_surface.