7#include "pipeline_image_page.hpp"
9#include "../geometry/axis_aligned_rectangle.hpp"
10#include "../geometry/matrix.hpp"
18template<
typename T>
class pixel_map;
22namespace tt::pipeline_image {
31 enum class State { Uninitialized, Drawing, Uploaded };
72 image(image &&other)
noexcept;
73 image &operator=(image &&other)
noexcept;
76 image(image
const &other) =
delete;
77 image &operator=(image
const &other) =
delete;
Class which represents an axis-aligned rectangle.
Definition axis_aligned_rectangle.hpp:20
A 2D canvas of pixels.
Definition pixel_map.hpp:101
Definition pipeline_image_device_shared.hpp:24
This is a image that is uploaded into the texture atlas.
Definition pipeline_image_image.hpp:30
aarectangle index_to_rect(size_t page_index) const noexcept
Find the image coordinates of a page in the image.
void upload(pixel_map< sfloat_rgba16 > const &image) noexcept
Upload image to atlas.
size_t height_in_px
The height of the image in pixels.
Definition pipeline_image_image.hpp:43
void place_vertices(vspan< vertex > &vertices, aarectangle clipping_rectangle, matrix3 transform)
size_t height_in_pages
The height of the image in pages.
Definition pipeline_image_image.hpp:51
size_t width_in_pages
The width of the image in pages.
Definition pipeline_image_image.hpp:47
size_t width_in_px
The width of the image in pixels.
Definition pipeline_image_image.hpp:39