pub struct Config {
pub media_type: MediaType,
pub source: InputSource,
pub output: Option<PathBuf>,
pub num_threads: usize,
pub color_depth: ColorDepth,
pub ascii: Config,
pub dither: Option<DitherOptions>,
/* private fields */
}Expand description
A fully validated, immutable configuration produced by ConfigBuilder::build.
Cheap to share across threads/tasks behind an Arc<Config> — build it
once and reuse it for every file in a batch or every frame of a video.
Fields§
§media_type: MediaType§source: InputSource§output: Option<PathBuf>§num_threads: usize§color_depth: ColorDepth§ascii: Config§dither: Option<DitherOptions>Dithering applied when rendering, in place of iascii’s own plain
per-cell nearest-palette color rounding — see crate::dither.
None (the default) means the usual undithered rendering.
Implementations§
Source§impl Config
impl Config
Sourcepub fn builder(media_type: MediaType) -> ConfigBuilder
pub fn builder(media_type: MediaType) -> ConfigBuilder
Starts building a new configuration for the given media type.
Sourcepub fn thread_pool(&self) -> Result<&Arc<ThreadPool>, ConfigError>
pub fn thread_pool(&self) -> Result<&Arc<ThreadPool>, ConfigError>
Returns the Rayon thread pool for this Config, building it on first
use and reusing it for every subsequent call. Sized from
Config::num_threads (0 means Rayon’s own default).
Call sites that used to build a fresh ThreadPool per file/frame
(image batches, async single-image rendering, video streaming)
should call this instead so the pool — and its worker OS threads —
is created once per Config and shared.
Sourcepub fn files(&self) -> Result<Vec<PathBuf>, ConfigError>
pub fn files(&self) -> Result<Vec<PathBuf>, ConfigError>
Resolves InputSource into the concrete list of files to process,
sorted for deterministic ordering across parallel batch runs.
Trait Implementations§
Auto Trait Implementations§
impl !Freeze for Config
impl !RefUnwindSafe for Config
impl !UnwindSafe for Config
impl Send for Config
impl Sync for Config
impl Unpin for Config
impl UnsafeUnpin for Config
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more