|
HikoGUI
A low latency retained GUI
|
#include <ttauri/GUI/pipeline_image_image.hpp>
Public Types | |
| enum class | State { Uninitialized , Drawing , Uploaded } |
Public Member Functions | |
| Image (device_shared *parent, i32x4 extent, i32x4 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, matrix3 transform, aarect clippingRectangle) |
| void | upload (pixel_map< sfloat_rgba16 > const &image) noexcept |
| Upload image to atlas. | |
Data Fields | |
| std::atomic< State > | state = State::Uninitialized |
| device_shared * | parent |
| i32x4 | extent |
| The size of the image in pixels. | |
| i32x4 | 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::pipeline_image::Image::placeVertices | ( | vspan< vertex > & | vertices, |
| matrix3 | 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.
| i32x4 tt::pipeline_image::Image::extent |
The size of the image in pixels.
| i32x4 tt::pipeline_image::Image::pageExtent |
This size of the image in pages.
This value is used to calculate how many quads need to be drawn.