7#include "pipeline_box_vertex.hpp"
8#include "pipeline_image_vertex.hpp"
9#include "pipeline_SDF_vertex.hpp"
10#include "../geometry/axis_aligned_rectangle.hpp"
11#include "../geometry/matrix.hpp"
12#include "../geometry/corner_shapes.hpp"
13#include "../geometry/identity.hpp"
14#include "../color/color.hpp"
15#include "../vspan.hpp"
19class gfx_device_vulkan;
22namespace pipeline_image {
38 size_t frame_buffer_index,
48 [[nodiscard]]
size_t frame_buffer_index()
const noexcept;
50 [[nodiscard]]
aarectangle scissor_rectangle()
const noexcept;
52 [[nodiscard]]
aarectangle clipping_rectangle()
const noexcept;
54 void set_clipping_rectangle(
aarectangle clipping_rectangle)
noexcept;
56 [[nodiscard]]
matrix3 transform()
const noexcept;
75 float line_width = 1.0,
103 float line_width = 1.0,
129 float line_width = 1.0,
168 return overlaps(context._scissor_rectangle,
rectangle);
180 size_t _frame_buffer_index;
This is a RGBA floating point color.
Definition color.hpp:36
Class which represents an axis-aligned rectangle.
Definition axis_aligned_rectangle.hpp:20
Definition corner_shapes.hpp:9
Definition identity.hpp:11
Class which represents an rectangle.
Definition rectangle.hpp:16
Draw context for drawing using the TTauri shaders.
Definition draw_context.hpp:28
void draw_image(pipeline_image::image &image, matrix3 image_transform) const noexcept
Draw an image This function will draw an image.
void draw_box_with_border_inside(rectangle rectangle, color fill_color, color line_color, float line_width=1.0, tt::corner_shapes corner_shapes=tt::corner_shapes{}) const noexcept
Draw an axis aligned box This function will shrink to include the size of the border inside the given...
void draw_text(shaped_text const &text, std::optional< color > text_color={}, matrix3 transform=geo::identity{}) const noexcept
Draw shaped text.
void draw_box_with_border_outside(rectangle rectangle, color fill_color, color line_color, float line_width=1.0, tt::corner_shapes corner_shapes=tt::corner_shapes{}) const noexcept
Draw an axis aligned box This function will expand to include the size of the border outside the give...
void draw_box(rectangle box, color fill_color, color line_color, float line_width=1.0, tt::corner_shapes corner_shapes=tt::corner_shapes{}) const noexcept
Draw an axis aligned box This function will draw the given box.
void draw_glyph(font_glyph_ids const &glyph, float glyph_size, rectangle box, color text_color) const noexcept
Draw a glyph.
Definition gfx_device.hpp:22
Definition gfx_device_vulkan.hpp:23
This is a image that is uploaded into the texture atlas.
Definition pipeline_image_image.hpp:30
Definition font_glyph_ids.hpp:80
shaped_text represent a piece of text shaped to be displayed.
Definition shaped_text.hpp:23