6#include "TTauri/Foundation/vspan.hpp"
7#include "TTauri/Foundation/ivec.hpp"
8#include "TTauri/Foundation/iaarect.hpp"
9#include "TTauri/Foundation/vec.hpp"
10#include "TTauri/Foundation/aarect.hpp"
11#include "TTauri/Foundation/mat.hpp"
12#include "TTauri/GUI/PipelineImage_Page.hpp"
19template<
typename T>
struct PixelMap;
20class R16G16B16A16SFloat;
23namespace tt::PipelineImage {
32 enum class State { Uninitialized, Drawing, Uploaded };
86 void calculateVertexPositions(
mat transform,
aarect clippingRectangle);
88 void placePageVertices(
vspan<Vertex> &vertices,
int const index,
aarect clippingRectangle)
const;
An image, in different formats.
Definition Image.hpp:18
Class which represents an axis-aligned rectangle.
Definition aarect.hpp:13
Class which represents an axis-aligned rectangle.
Definition iaarect.hpp:12
A 4D vector.
Definition ivec.hpp:37
A 4x4 matrix.
Definition mat.hpp:18
A 2D canvas of pixels.
Definition PixelMap.hpp:83
Definition PipelineImage_DeviceShared.hpp:23
This is a image that is uploaded into the texture atlas.
Definition PipelineImage_Image.hpp:31
void placeVertices(vspan< Vertex > &vertices, mat transform, aarect clippingRectangle)
iaarect indexToRect(int const pageIndex) const noexcept
Find the image coordinates of a page in the image.
void upload(PixelMap< R16G16B16A16SFloat > const &image) noexcept
Upload image to atlas.
ivec pageExtent
This size of the image in pages.
Definition PipelineImage_Image.hpp:45
ivec extent
The size of the image in pixels.
Definition PipelineImage_Image.hpp:40