ImageOp

Trait ImageOp 

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

Source

fn name(&self) -> &str

Source

fn run(&self, pipeline: &PipelineGlobals, buf: Arc<OpBuffer>) -> Arc<OpBuffer>

Provided Methods§

Source

fn to_settings(&self) -> String

Source

fn hash(&self, hasher: &mut BufHasher)

Source

fn shash(&self) -> [u8; 32]

Source

fn transform_forward(&mut self, width: usize, height: usize) -> (usize, usize)

Source

fn transform_reverse(&mut self, width: usize, height: usize) -> (usize, usize)

Source

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.

Implementors§

Source§

impl<'a> ImageOp<'a> for OpFromLab

Source§

impl<'a> ImageOp<'a> for OpToLab

Source§

impl<'a> ImageOp<'a> for OpBaseCurve

Source§

impl<'a> ImageOp<'a> for OpDemosaic

Source§

impl<'a> ImageOp<'a> for OpGamma

Source§

impl<'a> ImageOp<'a> for OpGoFloat

Source§

impl<'a> ImageOp<'a> for OpRotateCrop

Source§

impl<'a> ImageOp<'a> for OpTransform