Struct ProgressDrawTarget

pub struct ProgressDrawTarget { /* private fields */ }

Target for draw operations

This tells a ProgressBar or a MultiProgress object where to paint to. The draw target is a stateful wrapper over a drawing destination and internally optimizes how often the state is painted to the output device.

Implementations

impl ProgressDrawTarget

fn stdout() -> Self

Draw to a buffered stdout terminal at a max of 20 times a second.

For more information see ProgressDrawTarget::term.

fn stderr() -> Self

Draw to a buffered stderr terminal at a max of 20 times a second.

This is the default draw target for progress bars. For more information see ProgressDrawTarget::term.

fn stdout_with_hz(refresh_rate: u8) -> Self

Draw to a buffered stdout terminal at a max of refresh_rate times a second.

For more information see ProgressDrawTarget::term.

fn stderr_with_hz(refresh_rate: u8) -> Self

Draw to a buffered stderr terminal at a max of refresh_rate times a second.

For more information see ProgressDrawTarget::term.

fn term(term: Term, refresh_rate: u8) -> Self

Draw to a terminal, with a specific refresh rate.

Progress bars are by default drawn to terminals however if the terminal is not user attended the entire progress bar will be hidden. This is done so that piping to a file will not produce useless escape codes in that file.

Progress bars will also be hidden if TERM is unset/dumb.

Will panic if refresh_rate is 0.

fn term_like(term_like: Box<dyn TermLike>) -> Self

Draw to a boxed object that implements the TermLike trait.

Warning: unlike stdout(), stderr() and term(), this method does not set a default refresh rate. For most uses, consider using term_like_with_hz() instead.

(indicatif defaults to a refresh rate of 20 times per second in other methods.)

fn term_like_with_hz(term_like: Box<dyn TermLike>, refresh_rate: u8) -> Self

Draw to a boxed object that implements the TermLike trait, with a specific refresh rate.

fn hidden() -> Self

A hidden draw target.

This forces a progress bar to be not rendered at all.

fn is_hidden(&self) -> bool

Returns true if the draw target is hidden.

This is internally used in progress bars to figure out if overhead from drawing can be prevented.

Trait Implementations

impl Debug for ProgressDrawTarget

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

Auto Trait Implementations

impl !RefUnwindSafe for ProgressDrawTarget

impl !UnwindSafe for ProgressDrawTarget

impl Freeze for ProgressDrawTarget

impl Send for ProgressDrawTarget

impl Sync for ProgressDrawTarget

impl Unpin for ProgressDrawTarget

impl UnsafeUnpin for ProgressDrawTarget

Blanket Implementations

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

fn type_id(&self) -> TypeId

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

fn borrow(&self) -> &T

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

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

impl<T> From<T> for ProgressDrawTarget

fn from(t: T) -> T

Returns the argument unchanged.

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

fn into(self) -> U

Calls U::from(self).

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

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

type Error = never;
fn try_from(value: U) -> Result<T, never>

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

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