fn displace_frame_by_row(&self, index: usize, output_frame: &mut Frame) {
        let h = self.info.height as usize;

        for row in 0..h {
            let displaced_index = (index + row / DISPLACEMENT_STEP) % self.frames.len();
            output_frame.copy_row(&self.info, &self.frames[displaced_index], row);
        }
    }
// TODO: we need more interesting displacement algorithms
we need more interesting displacement algorithms
we need more interesting displacement algorithms
fn displace_frame_by_row(&self, index: usize, output_frame: &mut Frame) {
        let h = self.info.height as usize;
        for row in 0..h {
            let displaced_index = (index + row / DISPLACEMENT_STEP) % self.frames.len();
            output_frame.copy_row(&self.info, &self.frames[displaced_index], row);
        }
    }
fn displace_frame_by_row ( & self , index : usize , output_frame : & mut Frame ) { let h = self . info . height as usize ; for row in 0 .. h { let displaced_index = ( index + row / DISPLACEMENT_STEP ) % self . frames . len ( ) ; output_frame . copy_row ( & self . info , & self . frames [ displaced_index ] , row ) ; } }
TODO: we need more interesting displacement algorithms
TODO : we need more interesting displacement algorithms
&self
index
usize
output_frame
&mut Frame
&self
index
usize
output_frame
&mut Frame