Struct kas_text::Environment[][src]

pub struct Environment {
    pub flags: EnvFlags,
    pub dir: Direction,
    pub font_id: FontId,
    pub dpp: f32,
    pub pt_size: f32,
    pub bounds: Vec2,
    pub align: (Align, Align),
}
Expand description

Environment in which text is prepared for display

An Environment can be default-constructed (without line-wrapping).

Fields

flags: EnvFlags

Flags enabling/disabling certain features

Bidirectional text

If enabled, right-to-left text embedded within left-to-right text and LTR within RTL will be re-ordered according to the Unicode Bidirectional Algorithm (Unicode Technical Report #9).

If disabled, the base paragraph direction may be LTR or RTL depending on Environment::dir, but embedded text is not re-ordered.

Default value: true. This should normally be enabled unless there is a specific reason to disable it.

Line wrapping

By default, this is true and long text lines are wrapped based on the width bounds. If set to false, lines are not wrapped at the width boundary, but explicit line-breaks such as \n still result in new lines.

dir: Direction

Default text direction

Usually this may be left to its default value of Direction::Auto. If bidi == true, this parameter sets the “paragraph embedding level” (whose main affect is on lines without strongly-directional characters). If bidi == false this directly sets the line direction, unless dir == Auto, in which case direction is auto-detected.

font_id: FontId

Default font

This font is used unless a formatting token (see crate::format) is used.

dpp: f32

Pixels-per-point

This is a scaling factor used to convert font sizes (in points) to a size in pixels (dots). Units are pixels/point. See crate::fonts documentation.

Default value: 96.0 / 72.0

pt_size: f32

Default font size in points

We use “point sizes” (Points per Em), since this is a widely used measure of font size. See crate::fonts module documentation.

Default value: 11.0

bounds: Vec2

The available (horizontal and vertical) space

This defaults to infinity (implying no bounds). To enable line-wrapping set at least a horizontal bound. The vertical bound is required for alignment (when aligning to the centre or bottom). Glyphs outside of these bounds may not be drawn.

align: (Align, Align)

Alignment (horiz, vert)

By default, horizontal alignment is left or right depending on the text direction (see Environment::dir), and vertical alignment is to the top.

Implementations

Returns the height of standard horizontal text

This depends on the pt_size and dpp fields.

To use “the standard font”, use Default::default().

Construct, with explicit font size

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Returns the “default value” for a type. Read more

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Cast from Self to T

Try converting from Self to T

Cast to integer, truncating Read more

Cast to the nearest integer Read more

Cast the floor to an integer Read more

Cast the ceiling to an integer Read more

Try converting to integer with truncation Read more

Try converting to the nearest integer Read more

Try converting the floor to an integer Read more

Try convert the ceiling to an integer Read more

Convert from T to Self

Try converting from T to Self

Performs the conversion.

Performs the conversion.

The resulting type after obtaining ownership.

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

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

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

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.