|
HikoGUI
A low latency retained GUI
|
#include <TTauri/GUI/PipelineImage_Image.hpp>
Public Types | |
| enum class | State { Uninitialized , Drawing , Uploaded } |
Public Member Functions | |
| Image (DeviceShared *parent, ivec extent, ivec pageExtent, std::vector< Page > &&pages) noexcept | |
| Image (Image &&other) noexcept | |
| Image & | operator= (Image &&other) noexcept |
| Image (Image const &other)=delete | |
| Image & | operator= (Image const &other)=delete |
| iaarect | indexToRect (int const pageIndex) const noexcept |
| Find the image coordinates of a page in the image. | |
| void | placeVertices (vspan< Vertex > &vertices, mat transform, aarect clippingRectangle) |
| void | upload (PixelMap< R16G16B16A16SFloat > const &image) noexcept |
| Upload image to atlas. | |
Data Fields | |
| std::atomic< State > | state = State::Uninitialized |
| DeviceShared * | parent |
| ivec | extent |
| The size of the image in pixels. | |
| ivec | pageExtent |
| This size of the image in pages. | |
| std::vector< Page > | pages |
This is a image that is uploaded into the texture atlas.
|
noexcept |
Find the image coordinates of a page in the image.
| pageIndex | Index in the pages-vector. |
| void tt::PipelineImage::Image::placeVertices | ( | vspan< Vertex > & | vertices, |
| mat | transform, | ||
| aarect | clippingRectangle ) |
Place vertices for this image. An image is build out of atlas pages, that need to be individual rendered. A page with the value std::numeric_limits<uint16_t>::max() is not rendered.
|
noexcept |
Upload image to atlas.
| ivec tt::PipelineImage::Image::extent |
The size of the image in pixels.
| ivec tt::PipelineImage::Image::pageExtent |
This size of the image in pages.
This value is used to calculate how many quads need to be drawn.