Skip to main content

App

Struct App 

Source
pub struct App {
Show 90 fields pub running: bool, pub screen: Screen, pub file_path: Option<String>, pub file_info: Option<McrawFileInfo>, pub frame_index: usize, pub frame_count: usize, pub encode_jobs: Vec<EncodeJob>, pub status_message: String, pub show_help: bool, pub error: Option<String>, pub browser: FileBrowser, pub is_exporting: bool, pub export_cancelled: bool, pub export_progress: f64, pub export_rx: Option<Receiver<ExportEvent>>, pub cancel_token: Option<Arc<AtomicBool>>, pub last_export_summary: Option<ExportSummary>, pub pending_export_summary: Option<ExportSummary>, pub current_rendering_index: Option<usize>, pub export_folder: Option<PathBuf>, pub favourite_folders: Vec<PathBuf>, pub help_scroll: u16, pub show_culling: bool, pub show_grade_screen: bool, pub export_color_space: ColorSpace, pub export_transfer_function: TransferFunction, pub export_codec_family: CodecFamily, pub export_focus: ExportFocus, pub export_fps: Option<f64>, pub export_start_time: Option<Instant>, pub prores_profile: ProResProfile, pub dnxhr_profile: DnxhrProfile, pub hevc_profile: HevcProfile, pub h264_profile: H264Profile, pub av1_profile: Av1Profile, pub vp9_profile: Vp9Profile, pub hardware_caps: HardwareCaps, pub active_rate_control: RateControl, pub is_editing_custom_rate: bool, pub grade_sliders: GradeSliders, pub grade_focus: usize, pub grade_dragging: Option<(usize, u16, u16)>, pub imported_files: Vec<ImportedFile>, pub media_pool_index: usize, pub queue: Vec<QueuedFile>, pub queue_index: usize, pub show_browser: bool, pub import_popup: ImportPopupState, pub focus_target: FocusTarget, pub show_full_info: bool, pub last_browser_click: Option<(Instant, usize)>, pub last_grade_click: Option<(Instant, usize)>, pub drop_highlight: Option<Instant>, pub drop_import_rx: Option<Receiver<DropImportEvent>>, pub drop_import_cancel: Option<Arc<AtomicBool>>, pub drop_preview: Option<DropPreview>, pub browser_scroll_offset: Cell<usize>, pub show_favourites_bar: bool, pub browsing_favourites: bool, pub favourites_scroll_offset: Cell<usize>, pub last_clicked_favourite: Option<(Instant, usize)>, pub presets: Vec<ExportPreset>, pub active_preset: Option<String>, pub preset_picker: PresetPickerState, pub preset_naming: Option<PresetNamingState>, pub decoder: Option<Decoder>, pub timestamps: Vec<i64>, pub preview_state: PreviewState, pub preview_pipeline: Option<GpuPreviewPipeline<Ready>>, pub preview_gpu_context: Option<Arc<PreviewGpuContext>>, pub thumbnail_cache: ThumbnailCache, pub pending_preview_ts: Option<i64>, pub thumbnail_worker: Option<ThumbnailWorkerPool>, pub thumbnail_requested: Option<(PathBuf, i64)>, pub sixel_pending: Cell<bool>, pub sixel_write_pos: Cell<Option<(u16, u16)>>, pub sixel_occupy_size: Cell<Option<(u16, u16, u16, u16)>>, pub last_written_media_index: Cell<Option<usize>>, pub term_cell_size: Cell<(f32, f32)>, pub preview_panel_chars: Cell<Option<(u16, u16)>>, pub needs_rethumbnail: Cell<bool>, pub spinner_frame: u8, pub progress_anim_offset: u8, pub fps_counter: FPSCounter, pub shockwave_ticks_remaining: u8, pub grade_strip_active: bool, pub grade_morph: Option<(usize, u8)>, pub phosphor_trail: Vec<(f32, u8)>, pub grade_before_snapshot: Option<GradeSliders>, pub grade_strip_idle_ticks: u8,
}

Fields§

§running: bool§screen: Screen§file_path: Option<String>§file_info: Option<McrawFileInfo>§frame_index: usize§frame_count: usize§encode_jobs: Vec<EncodeJob>§status_message: String§show_help: bool§error: Option<String>§browser: FileBrowser§is_exporting: bool§export_cancelled: bool§export_progress: f64§export_rx: Option<Receiver<ExportEvent>>§cancel_token: Option<Arc<AtomicBool>>§last_export_summary: Option<ExportSummary>

Snapshot of the most-recent finished export — drives the post-render summary panel. Cleared when the user starts a new export.

§pending_export_summary: Option<ExportSummary>

Settings captured at start_export time so poll_export can build an accurate ExportSummary even if the user has since cycled the export-settings panel to different values.

§current_rendering_index: Option<usize>§export_folder: Option<PathBuf>§favourite_folders: Vec<PathBuf>§help_scroll: u16§show_culling: bool§show_grade_screen: bool§export_color_space: ColorSpace§export_transfer_function: TransferFunction§export_codec_family: CodecFamily§export_focus: ExportFocus§export_fps: Option<f64>§export_start_time: Option<Instant>§prores_profile: ProResProfile§dnxhr_profile: DnxhrProfile§hevc_profile: HevcProfile§h264_profile: H264Profile§av1_profile: Av1Profile§vp9_profile: Vp9Profile§hardware_caps: HardwareCaps§active_rate_control: RateControl§is_editing_custom_rate: bool§grade_sliders: GradeSliders§grade_focus: usize§grade_dragging: Option<(usize, u16, u16)>

Active mouse drag on a grade slider: (slider_index, track_x, track_width)

§imported_files: Vec<ImportedFile>§media_pool_index: usize§queue: Vec<QueuedFile>§queue_index: usize§show_browser: bool§import_popup: ImportPopupState§focus_target: FocusTarget§show_full_info: bool§last_browser_click: Option<(Instant, usize)>§last_grade_click: Option<(Instant, usize)>§drop_highlight: Option<Instant>§drop_import_rx: Option<Receiver<DropImportEvent>>§drop_import_cancel: Option<Arc<AtomicBool>>§drop_preview: Option<DropPreview>§browser_scroll_offset: Cell<usize>§show_favourites_bar: bool§browsing_favourites: bool§favourites_scroll_offset: Cell<usize>§last_clicked_favourite: Option<(Instant, usize)>§presets: Vec<ExportPreset>

User-saved export setting bundles. Loaded from presets.json at startup, written back on every change.

§active_preset: Option<String>

Name of the preset that was last applied, if any. Shown in the Export Settings panel header so the user can see why the current settings look the way they do.

§preset_picker: PresetPickerState

State of the preset-picker overlay.

§preset_naming: Option<PresetNamingState>

True while the user is typing a name for a new preset. Captures the live text and the cursor position. Esc cancels, Enter saves.

§decoder: Option<Decoder>§timestamps: Vec<i64>§preview_state: PreviewState§preview_pipeline: Option<GpuPreviewPipeline<Ready>>§preview_gpu_context: Option<Arc<PreviewGpuContext>>§thumbnail_cache: ThumbnailCache§pending_preview_ts: Option<i64>§thumbnail_worker: Option<ThumbnailWorkerPool>

Background worker pool for async thumbnail generation.

§thumbnail_requested: Option<(PathBuf, i64)>

(Path, timestamp) of the last thumbnail submitted to the worker — used for deduplication so rapid navigation doesn’t flood the workers.

§sixel_pending: Cell<bool>§sixel_write_pos: Cell<Option<(u16, u16)>>§sixel_occupy_size: Cell<Option<(u16, u16, u16, u16)>>

Character-cell footprint of the last written sixel (x, y, chars_w, chars_h).

§last_written_media_index: Cell<Option<usize>>

Index of the media pool item whose sixel was last written to the terminal.

§term_cell_size: Cell<(f32, f32)>

Terminal character cell size in pixels — updated at each loop iteration.

§preview_panel_chars: Cell<Option<(u16, u16)>>

Character dimensions of the thumbnail panel area (cols, rows).

§needs_rethumbnail: Cell<bool>

Set to true by render_preview_panel when panel chars change from the pre-computed estimate to the real layout value, triggering a re-generation.

§spinner_frame: u8§progress_anim_offset: u8§fps_counter: FPSCounter§shockwave_ticks_remaining: u8§grade_strip_active: bool§grade_morph: Option<(usize, u8)>§phosphor_trail: Vec<(f32, u8)>§grade_before_snapshot: Option<GradeSliders>§grade_strip_idle_ticks: u8

Implementations§

Source§

impl App

Source

pub fn new_with_placeholder(placeholder_path: Option<PathBuf>) -> Self

Source

pub fn new() -> Self

Create App with bundled placeholder (no custom sixel file).

Source

pub fn load_file(&mut self, path: String)

Source

pub fn request_frame_decode(&mut self, new_index: usize)

Request a decode + GPU process for the given frame_index. The actual work happens in poll_preview() on the next tick.

Source

pub fn poll_thumbnail(&mut self)

Poll the thumbnail worker for results and submit pending requests. Called every tick in the main loop. Never blocks.

Source

pub fn load_files_batch(&mut self, paths: &[String]) -> (usize, usize)

Add multiple files to the media pool (used by drag-drop). Returns (imported_count, failed_count).

Source

pub fn start_async_import(&mut self, paths: Vec<String>)

Start async import of dropped files on a background thread. Returns immediately; results arrive via DropImportEvent channel.

Source

pub fn poll_drop_import(&mut self)

Poll for async drag-drop import results. Call every frame.

Source

pub fn load_all_in_folder(&mut self, dir: &Path)

Source

pub fn focused_file_info(&self) -> Option<&McrawFileInfo>

Source

pub fn toggle_media_pool_selection(&mut self)

Source

pub fn toggle_select_all(&mut self)

Toggle all media pool items between selected and unselected. If any file is unselected, selects all; if all are selected, deselects all.

Source

pub fn switch_media_pool_item(&mut self, new_index: usize)

Switch the active decoder and preview to the file at new_index.

Source

pub fn add_selected_to_queue(&mut self)

Source

pub fn add_all_to_queue(&mut self)

Source

pub fn remove_from_media_pool(&mut self)

Source

pub fn toggle_queue_selection(&mut self)

Source

pub fn remove_from_queue(&mut self)

Source

pub fn clear_completed_queue(&mut self)

Source

pub fn render_selected(&mut self)

Source

pub fn render_all(&mut self)

Source

pub fn active_profile_is_8bit(&self) -> bool

Source

pub fn active_profile_name(&self) -> &'static str

Source

pub fn cycle_rate_control(&mut self)

Source

pub fn fps_label(fps: Option<f64>) -> String

Source

pub fn cycle_export_fps(&mut self)

Cycle through FPS presets: Original → 23.976 → 24 → 25 → 30 → 50 → 60 → 120

Source

pub fn cycle_codec(&mut self, forward: bool)

Source

pub fn cycle_profile(&mut self, forward: bool)

Source

pub fn start_export(&mut self)

Source

pub fn remove_selected_from_media_pool(&mut self)

Source

pub fn set_export_folder(&mut self, folder: PathBuf)

Source

pub fn toggle_favourite_folder(&mut self, folder: PathBuf)

Source

pub fn save_current_as_preset(&mut self, name: String)

Snapshot the current export settings as a named preset and persist the full preset list to disk. If a preset with the same name already exists it is replaced in place.

Source

pub fn apply_preset(&mut self, index: usize)

Apply the preset at the given index, copying every field onto the app’s live state.

Source

pub fn delete_preset(&mut self, index: usize)

Delete the preset at the given index. If that preset was the active one, clear the active marker.

Source

pub fn open_preset_picker(&mut self)

Open the preset picker overlay. If there are no presets, surface a hint in the status bar instead of opening an empty list.

Source

pub fn close_preset_picker(&mut self)

Source

pub fn begin_naming_preset(&mut self)

Enter the in-line naming mode for a new preset. The user types the name and presses Enter to save.

Source

pub fn cancel_naming_preset(&mut self)

Source

pub fn commit_naming_preset(&mut self)

Finalize naming: save the preset and exit the naming state.

Source

pub fn current_matches_preset(&self, name: &str) -> bool

True if the current settings exactly match the named preset (best effort: only checked for the fields we know about).

Source

pub fn import_selected_from_browser(&mut self)

Source

pub fn cancel_export(&mut self)

Source

pub fn poll_export(&mut self)

Source

pub fn add_encode_job(&mut self, format: OutputFormat)

Source

pub fn select_file(&mut self)

Source

pub fn scan_mcraw_files_in_folder(&self, folder: &str) -> Vec<String>

Scan a folder for all .mcraw files and return sorted paths

Source

pub fn navigate_browser(&mut self, direction: BrowserDirection)

Source

pub fn navigate_favourites(&mut self, delta: i64)

Move the favourites-list cursor by delta. Clamps to bounds.

Source

pub fn open_selected_favourite(&mut self)

Navigate into the favourite at the current cursor position.

Source

pub fn delete_selected_favourite(&mut self)

Delete the favourite at the current cursor position.

Source

pub fn cycle_focus(&mut self)

Source

pub fn set_focus(&mut self, target: FocusTarget)

Auto Trait Implementations§

§

impl !Freeze for App

§

impl !RefUnwindSafe for App

§

impl !Sync for App

§

impl !UnwindSafe for App

§

impl Send for App

§

impl Unpin for App

§

impl UnsafeUnpin for App

Blanket Implementations§

Source§

impl<S, D, Swp, Dwp, T> AdaptInto<D, Swp, Dwp, T> for S
where T: Real + Zero + Arithmetics + Clone, Swp: WhitePoint<T>, Dwp: WhitePoint<T>, D: AdaptFrom<S, Swp, Dwp, T>,

Source§

fn adapt_into_using<M>(self, method: M) -> D
where M: TransformMatrix<T>,

Convert the source color to the destination color using the specified method.
Source§

fn adapt_into(self) -> D

Convert the source color to the destination color using the bradford method by default.
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, C> ArraysFrom<C> for T
where C: IntoArrays<T>,

Source§

fn arrays_from(colors: C) -> T

Cast a collection of colors into a collection of arrays.
Source§

impl<T, C> ArraysInto<C> for T
where C: FromArrays<T>,

Source§

fn arrays_into(self) -> C

Cast this collection of arrays into a collection of colors.
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<WpParam, T, U> Cam16IntoUnclamped<WpParam, T> for U
where T: FromCam16Unclamped<WpParam, U>,

Source§

type Scalar = <T as FromCam16Unclamped<WpParam, U>>::Scalar

The number type that’s used in parameters when converting.
Source§

fn cam16_into_unclamped( self, parameters: BakedParameters<WpParam, <U as Cam16IntoUnclamped<WpParam, T>>::Scalar>, ) -> T

Converts self into C, using the provided parameters.
Source§

impl<T, C> ComponentsFrom<C> for T
where C: IntoComponents<T>,

Source§

fn components_from(colors: C) -> T

Cast a collection of colors into a collection of color components.
Source§

impl<T> Conv for T

Source§

fn conv<T>(self) -> T
where Self: Into<T>,

Converts self into T using Into<T>. Read more
Source§

impl<T> Downcast<T> for T

Source§

fn downcast(&self) -> &T

Source§

impl<T> FmtForward for T

Source§

fn fmt_binary(self) -> FmtBinary<Self>
where Self: Binary,

Causes self to use its Binary implementation when Debug-formatted.
Source§

fn fmt_display(self) -> FmtDisplay<Self>
where Self: Display,

Causes self to use its Display implementation when Debug-formatted.
Source§

fn fmt_lower_exp(self) -> FmtLowerExp<Self>
where Self: LowerExp,

Causes self to use its LowerExp implementation when Debug-formatted.
Source§

fn fmt_lower_hex(self) -> FmtLowerHex<Self>
where Self: LowerHex,

Causes self to use its LowerHex implementation when Debug-formatted.
Source§

fn fmt_octal(self) -> FmtOctal<Self>
where Self: Octal,

Causes self to use its Octal implementation when Debug-formatted.
Source§

fn fmt_pointer(self) -> FmtPointer<Self>
where Self: Pointer,

Causes self to use its Pointer implementation when Debug-formatted.
Source§

fn fmt_upper_exp(self) -> FmtUpperExp<Self>
where Self: UpperExp,

Causes self to use its UpperExp implementation when Debug-formatted.
Source§

fn fmt_upper_hex(self) -> FmtUpperHex<Self>
where Self: UpperHex,

Causes self to use its UpperHex implementation when Debug-formatted.
Source§

fn fmt_list(self) -> FmtList<Self>
where &'a Self: for<'a> IntoIterator,

Formats each item in a sequence. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> FromAngle<T> for T

Source§

fn from_angle(angle: T) -> T

Performs a conversion from angle.
Source§

impl<T, U> FromStimulus<U> for T
where U: IntoStimulus<T>,

Source§

fn from_stimulus(other: U) -> T

Converts other into Self, while performing the appropriate scaling, rounding and clamping.
Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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, U> IntoAngle<U> for T
where U: FromAngle<T>,

Source§

fn into_angle(self) -> U

Performs a conversion into T.
Source§

impl<WpParam, T, U> IntoCam16Unclamped<WpParam, T> for U
where T: Cam16FromUnclamped<WpParam, U>,

Source§

type Scalar = <T as Cam16FromUnclamped<WpParam, U>>::Scalar

The number type that’s used in parameters when converting.
Source§

fn into_cam16_unclamped( self, parameters: BakedParameters<WpParam, <U as IntoCam16Unclamped<WpParam, T>>::Scalar>, ) -> T

Converts self into C, using the provided parameters.
Source§

impl<T, U> IntoColor<U> for T
where U: FromColor<T>,

Source§

fn into_color(self) -> U

Convert into T with values clamped to the color defined bounds Read more
Source§

impl<T, U> IntoColorUnclamped<U> for T
where U: FromColorUnclamped<T>,

Source§

fn into_color_unclamped(self) -> U

Convert into T. The resulting color might be invalid in its color space Read more
Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts 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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts 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
Source§

impl<T> IntoStimulus<T> for T

Source§

fn into_stimulus(self) -> T

Converts self into T, while performing the appropriate scaling, rounding and clamping.
Source§

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

Source§

fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> R
where Self: Sized,

Pipes by value. This is generally the method you want to use. Read more
Source§

fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> R
where R: 'a,

Borrows self and passes that borrow into the pipe function. Read more
Source§

fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> R
where R: 'a,

Mutably borrows self and passes that borrow into the pipe function. Read more
Source§

fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
where Self: Borrow<B>, B: 'a + ?Sized, R: 'a,

Borrows self, then passes self.borrow() into the pipe function. Read more
Source§

fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
where Self: BorrowMut<B>, B: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.borrow_mut() into the pipe function. Read more
Source§

fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
where Self: AsRef<U>, U: 'a + ?Sized, R: 'a,

Borrows self, then passes self.as_ref() into the pipe function.
Source§

fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
where Self: AsMut<U>, U: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.as_mut() into the pipe function.
Source§

fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
where Self: Deref<Target = T>, T: 'a + ?Sized, R: 'a,

Borrows self, then passes self.deref() into the pipe function.
Source§

fn pipe_deref_mut<'a, T, R>( &'a mut self, func: impl FnOnce(&'a mut T) -> R, ) -> R
where Self: DerefMut<Target = T> + Deref, T: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.deref_mut() into the pipe function.
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Tap for T

Source§

fn tap(self, func: impl FnOnce(&Self)) -> Self

Immutable access to a value. Read more
Source§

fn tap_mut(self, func: impl FnOnce(&mut Self)) -> Self

Mutable access to a value. Read more
Source§

fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
where Self: Borrow<B>, B: ?Sized,

Immutable access to the Borrow<B> of a value. Read more
Source§

fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
where Self: BorrowMut<B>, B: ?Sized,

Mutable access to the BorrowMut<B> of a value. Read more
Source§

fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
where Self: AsRef<R>, R: ?Sized,

Immutable access to the AsRef<R> view of a value. Read more
Source§

fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
where Self: AsMut<R>, R: ?Sized,

Mutable access to the AsMut<R> view of a value. Read more
Source§

fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
where Self: Deref<Target = T>, T: ?Sized,

Immutable access to the Deref::Target of a value. Read more
Source§

fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
where Self: DerefMut<Target = T> + Deref, T: ?Sized,

Mutable access to the Deref::Target of a value. Read more
Source§

fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self

Calls .tap() only in debug builds, and is erased in release builds.
Source§

fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self

Calls .tap_mut() only in debug builds, and is erased in release builds.
Source§

fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
where Self: Borrow<B>, B: ?Sized,

Calls .tap_borrow() only in debug builds, and is erased in release builds.
Source§

fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
where Self: BorrowMut<B>, B: ?Sized,

Calls .tap_borrow_mut() only in debug builds, and is erased in release builds.
Source§

fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
where Self: AsRef<R>, R: ?Sized,

Calls .tap_ref() only in debug builds, and is erased in release builds.
Source§

fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
where Self: AsMut<R>, R: ?Sized,

Calls .tap_ref_mut() only in debug builds, and is erased in release builds.
Source§

fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
where Self: Deref<Target = T>, T: ?Sized,

Calls .tap_deref() only in debug builds, and is erased in release builds.
Source§

fn tap_deref_mut_dbg<T>(self, func: impl FnOnce(&mut T)) -> Self
where Self: DerefMut<Target = T> + Deref, T: ?Sized,

Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
Source§

impl<T, C> TryComponentsInto<C> for T
where C: TryFromComponents<T>,

Source§

type Error = <C as TryFromComponents<T>>::Error

The error for when try_into_colors fails to cast.
Source§

fn try_components_into(self) -> Result<C, <T as TryComponentsInto<C>>::Error>

Try to cast this collection of color components into a collection of colors. Read more
Source§

impl<T> TryConv for T

Source§

fn try_conv<T>(self) -> Result<T, Self::Error>
where Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. 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.
Source§

impl<T, U> TryIntoColor<U> for T
where U: TryFromColor<T>,

Source§

fn try_into_color(self) -> Result<U, OutOfBounds<U>>

Convert into T, returning ok if the color is inside of its defined range, otherwise an OutOfBounds error is returned which contains the unclamped color. Read more
Source§

impl<C, U> UintsFrom<C> for U
where C: IntoUints<U>,

Source§

fn uints_from(colors: C) -> U

Cast a collection of colors into a collection of unsigned integers.
Source§

impl<C, U> UintsInto<C> for U
where C: FromUints<U>,

Source§

fn uints_into(self) -> C

Cast this collection of unsigned integers into a collection of colors.
Source§

impl<T> Upcast<T> for T

Source§

fn upcast(&self) -> Option<&T>

Source§

impl<T> WasmNotSend for T
where T: Send,

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more