pub enum EffectKind {
Show 25 variants
Blur,
Pixelate,
Tint,
Color,
Vignette,
Sharpen,
Invert,
Grayscale,
Flip,
Crop,
Wobble,
ChromaKey,
Curves,
Levels,
HueShift,
JpegCompress,
MotionBlur,
Plane3d,
EdgeGlow,
Threshold,
BlobTrack,
Vhs,
RecDot,
ColorReplace,
Shader,
}Variants§
Blur
Pixelate
Tint
Color
Vignette
Sharpen
Invert
Grayscale
Flip
Crop
Wobble
ChromaKey
Curves
Levels
HueShift
JpegCompress
MotionBlur
Plane3d
EdgeGlow
Threshold
BlobTrack
Vhs
RecDot
ColorReplace
Shader
A user-written GLSL fragment shader (source in Effect.shader, up to 8 generic knobs).
Implementations§
Source§impl EffectKind
impl EffectKind
pub const ALL: [EffectKind; 25]
Sourcepub fn applies_to_audio(self) -> bool
pub fn applies_to_audio(self) -> bool
Effects that make sense on an audio clip, for the catalogue’s audio-aware filtering — an audio
clip has no pixels, so every current kind (all pixel/GLSL effects) is false here. Exhaustive on
purpose (see engine::effects::apply’s tail) so a future audio kind is a compile-time reminder
to flip it on.
pub fn name(self) -> &'static str
Sourcepub fn params(self) -> &'static [ParamSpec]
pub fn params(self) -> &'static [ParamSpec]
Parameters in index order (matches Effect.params). Pixel sizes are project pixels.
Sourcepub fn is_bool_param(self, i: usize) -> bool
pub fn is_bool_param(self, i: usize) -> bool
Parameters shown as a checkbox (stored as 0/1) rather than a number.
Sourcepub fn needs_motion(self) -> bool
pub fn needs_motion(self) -> bool
Effects whose output depends on neighbouring frames (the renderer must supply them).
Sourcepub fn is_geometric(self) -> bool
pub fn is_geometric(self) -> bool
Effects the compositor applies by moving the layer instead of touching pixels.
Trait Implementations§
Source§impl Clone for EffectKind
impl Clone for EffectKind
Source§fn clone(&self) -> EffectKind
fn clone(&self) -> EffectKind
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for EffectKind
impl Debug for EffectKind
Source§impl<'de> Deserialize<'de> for EffectKind
impl<'de> Deserialize<'de> for EffectKind
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Hash for EffectKind
impl Hash for EffectKind
Source§impl PartialEq for EffectKind
impl PartialEq for EffectKind
Source§impl Serialize for EffectKind
impl Serialize for EffectKind
impl Copy for EffectKind
impl Eq for EffectKind
impl StructuralPartialEq for EffectKind
Auto Trait Implementations§
impl Freeze for EffectKind
impl RefUnwindSafe for EffectKind
impl Send for EffectKind
impl Sync for EffectKind
impl Unpin for EffectKind
impl UnwindSafe for EffectKind
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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>
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 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>
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