HikoGUI
A low latency retained GUI
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Data Fields | Static Public Attributes
hi::v1::gfx_pipeline_image::paged_image Struct Reference

#include <hikogui/GFX/gfx_pipeline_image_vulkan_intf.hpp>

Public Types

enum class  state_type { uninitialized , drawing , uploaded }
 

Public Member Functions

 paged_image (paged_image &&other) noexcept
 
paged_imageoperator= (paged_image &&other) noexcept
 
 paged_image (paged_image const &other)=delete
 
paged_imageoperator= (paged_image const &other)=delete
 
 paged_image (gfx_surface const *surface, std::size_t width, std::size_t height) noexcept
 
 paged_image (gfx_surface const *surface, pixmap_span< sfloat_rgba16 const > image) noexcept
 
 paged_image (gfx_surface const *surface, pixmap< sfloat_rgba16 > const &image) noexcept
 
 paged_image (gfx_surface const *surface, png const &image) noexcept
 
constexpr operator bool () const noexcept
 
constexpr extent2 size () const noexcept
 
constexpr std::pair< std::size_t, std::size_tsize_in_int_pages () const noexcept
 
constexpr extent2 size_in_float_pages () const noexcept
 
void upload (pixmap_span< sfloat_rgba16 const > image) noexcept
 Upload image to atlas.
 
void upload (png const &image) noexcept
 Upload image to atlas.
 

Data Fields

std::atomic< state_type > state = state_type::uninitialized
 
gfx_device * device = nullptr
 
std::size_t width
 
std::size_t height
 
std::vector< std::size_tpages
 

Static Public Attributes

static constexpr std::size_t page_size = 62
 

Detailed Description

This is a image that is uploaded into the texture atlas.

Member Function Documentation

◆ upload() [1/2]

void hi::v1::gfx_pipeline_image::paged_image::upload ( pixmap_span< sfloat_rgba16 const > image)
inlinenoexcept

Upload image to atlas.

◆ upload() [2/2]

void hi::v1::gfx_pipeline_image::paged_image::upload ( png const & image)
inlinenoexcept

Upload image to atlas.


The documentation for this struct was generated from the following files: