Struct usvg_tree::Text

source ·
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: String

Element’s ID.

Taken from the SVG itself. Isn’t automatically generated. Can be empty.

§rendering_mode: TextRendering

Rendering 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: WritingMode

A writing mode.

§chunks: Vec<TextChunk>

A list of text chunks.

§abs_transform: Transform

Element’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.

Trait Implementations§

source§

impl Clone for Text

source§

fn clone(&self) -> Text

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Text

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl !RefUnwindSafe for Text

§

impl !Send for Text

§

impl !Sync for Text

§

impl Unpin for Text

§

impl !UnwindSafe for Text

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.