Skip to main content

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".

Implementors§

Source§

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

Source§

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

Source§

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

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 OpToLab

Source§

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