pub trait ImageOp<'a>:
Debug
+ Serialize
+ Deserialize<'a> {
// Required methods
fn name(&self) -> &str;
fn run(
&self,
pipeline: &PipelineGlobals,
buf: Arc<OpBuffer>,
) -> Arc<OpBuffer>;
// Provided methods
fn to_settings(&self) -> String { ... }
fn hash(&self, hasher: &mut BufHasher) { ... }
fn shash(&self) -> [u8; 32] { ... }
fn transform_forward(
&mut self,
width: usize,
height: usize,
) -> (usize, usize) { ... }
fn transform_reverse(
&mut self,
width: usize,
height: usize,
) -> (usize, usize) { ... }
fn reset(&mut self) { ... }
}
Required Methods§
fn name(&self) -> &str
fn run(&self, pipeline: &PipelineGlobals, buf: Arc<OpBuffer>) -> Arc<OpBuffer>
Provided Methods§
fn to_settings(&self) -> String
fn hash(&self, hasher: &mut BufHasher)
fn shash(&self) -> [u8; 32]
fn transform_forward(&mut self, width: usize, height: usize) -> (usize, usize)
fn transform_reverse(&mut self, width: usize, height: usize) -> (usize, usize)
fn reset(&mut self)
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.