pub struct Text {
pub id: String,
pub rendering_mode: TextRendering,
pub dx: Vec<f32>,
pub dy: Vec<f32>,
pub rotate: Vec<f32>,
pub writing_mode: WritingMode,
pub chunks: Vec<TextChunk>,
pub abs_transform: Transform,
pub bounding_box: Option<NonZeroRect>,
pub stroke_bounding_box: Option<NonZeroRect>,
pub flattened: Option<Box<Group>>,
}Expand description
A text element.
text element in SVG.
Fields§
§id: StringElement’s ID.
Taken from the SVG itself. Isn’t automatically generated. Can be empty.
rendering_mode: TextRenderingRendering mode.
text-rendering in SVG.
dx: Vec<f32>A relative X axis offsets.
One offset for each Unicode codepoint. Aka char in Rust.
dy: Vec<f32>A relative Y axis offsets.
One offset for each Unicode codepoint. Aka char in Rust.
rotate: Vec<f32>A list of rotation angles.
One angle for each Unicode codepoint. Aka char in Rust.
writing_mode: WritingModeA writing mode.
chunks: Vec<TextChunk>A list of text chunks.
abs_transform: TransformElement’s absolute transform.
Contains all ancestors transforms.
Will be set after calling usvg::Tree::postprocess.
Note that this is not the relative transform present in SVG. The SVG one would be set only on groups.
bounding_box: Option<NonZeroRect>Contains a text bounding box.
Text bounding box is special in SVG and doesn’t represent tight bounds of the element’s content. You can find more about it here.
objectBoundingBox in SVG terms. Meaning it doesn’t affected by parent transforms.
Will be set only after calling usvg::Tree::postprocess with
usvg::PostProcessingSteps::convert_text_into_paths.
Assuming the text build feature of usvg was enabled.
This is because we have to perform a text layout before calculating a bounding box.
stroke_bounding_box: Option<NonZeroRect>Element’s object bounding box including stroke.
Similar to bounding_box, but includes stroke.
Will have the same value as bounding_box when path has no stroke.
flattened: Option<Box<Group>>Text converted into paths, ready to render.
Will be set only after calling usvg::Tree::postprocess with
usvg::PostProcessingSteps::convert_text_into_paths.
Assuming the text build feature of usvg was enabled.