7#include "pipeline_image_page.hpp"
9#include "../geometry/axis_aligned_rectangle.hpp"
16template<
typename T>
class pixel_map;
20namespace tt::pipeline_image {
29 enum class State { Uninitialized, Drawing, Uploaded };
70 Image(Image &&other)
noexcept;
71 Image &operator=(Image &&other)
noexcept;
74 Image(Image
const &other) =
delete;
75 Image &operator=(Image
const &other) =
delete;
Class which represents an axis-aligned rectangle.
Definition axis_aligned_rectangle.hpp:18
A 2D canvas of pixels.
Definition pixel_map.hpp:100
Definition pipeline_image_device_shared.hpp:24
This is a image that is uploaded into the texture atlas.
Definition pipeline_image_image.hpp:28
size_t width_in_pages
The width of the image in pages.
Definition pipeline_image_image.hpp:45
void place_vertices(vspan< vertex > &vertices, aarectangle clipping_rectangle, matrix3 transform)
aarectangle index_to_rect(size_t page_index) const noexcept
Find the image coordinates of a page in the image.
size_t height_in_pages
The height of the image in pages.
Definition pipeline_image_image.hpp:49
size_t width_in_px
The width of the image in pixels.
Definition pipeline_image_image.hpp:37
size_t height_in_px
The height of the image in pixels.
Definition pipeline_image_image.hpp:41
void upload(pixel_map< sfloat_rgba16 > const &image) noexcept
Upload image to atlas.