pub trait ImageOp<'a>: Debug + Serialize + Deserialize<'a> {
fn name(&self) -> &str;
fn run(
&self,
pipeline: &PipelineGlobals,
buf: Arc<OpBuffer>
) -> Arc<OpBuffer>;
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) { ... }
}