Skip to main content

RenderOptions

Struct RenderOptions 

Source
pub struct RenderOptions {
    pub max_width: Option<usize>,
    pub ascii: bool,
    pub color: bool,
    pub backend: LayoutBackend,
    pub gaps_override: Option<(usize, usize)>,
}
Expand description

Bundle of optional rendering knobs accepted by render_with_options.

All fields default to “off / unconstrained”: RenderOptions::default() yields a result identical to [render].

ANSI color is opt-in. When color is false (the default) the output is guaranteed to contain zero ANSI escape bytes, matching the historical “deterministic, newline-delimited” contract.

Fields§

§max_width: Option<usize>

Optional column budget. When Some(n), progressive compaction is attempted to keep the longest line within n cells.

§ascii: bool

Replace Unicode box-drawing glyphs with ASCII equivalents (see to_ascii). Composes freely with color.

§color: bool

Emit ANSI 24-bit color SGR sequences derived from style / linkStyle directives. Off by default so existing callers see no behaviour change.

§backend: LayoutBackend

Choose the layered-layout backend.

Defaults to LayoutBackend::Sugiyama since 0.17.0 — the ascii-dag-backed layout with proper crossing minimisation, long-edge dummy nodes, and Brandes-Köpf coordinate assignment.

Set to LayoutBackend::Native to use the in-house layered layout explicitly (e.g. to keep byte-identical output with pre-0.17.0 renders, or for edge-style features not yet fully covered by the Sugiyama wrapper).

§gaps_override: Option<(usize, usize)>

Optional explicit (layer_gap, node_gap) override for flowchart and state diagrams. When set, bypasses the max_width-driven compaction pipeline entirely and renders directly with the given gaps. Lets callers expose continuous zoom/spacing controls (e.g. a +/- keymap in a viewer) without being limited to the three preset compaction levels.

Ignored by sequence, pie, and erDiagram (those have their own layout pipelines).

Trait Implementations§

Source§

impl Clone for RenderOptions

Source§

fn clone(&self) -> RenderOptions

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for RenderOptions

Source§

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

Formats the value using the given formatter. Read more
Source§

impl Default for RenderOptions

Source§

fn default() -> RenderOptions

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

Auto Trait Implementations§

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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,

Source§

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>,

Source§

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>,

Source§

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.