[−][src]Trait toodee::TranslateOps
Provides implementations for translate (also known as scroll) operations, and other internal data movement operations such as flipping.
Provided methods
fn translate_with_wrap(&mut self, mid: Coordinate)
Translate (or scroll) the area by moving col_mid
to the first column and
row_mid
to the first row.
All data is preserved by wrapping at the array edges, so fill()
could be used
to clear old data if required.
Examples
use toodee::{TooDee,TooDeeOps,TranslateOps}; let v = vec![42u32; 15]; let mut toodee : TooDee<u32> = TooDee::from_vec(5, 3, v); toodee[1][1] = 1; // move (1, 1) to (0, 0) toodee.translate_with_wrap((1, 1)); assert_eq!(toodee[0][0], 1); assert_eq!(toodee[1][1], 42);
use toodee::{TooDee,TooDeeOps,TranslateOps}; let v = vec![42u32; 15]; let mut toodee : TooDee<u32> = TooDee::from_vec(5, 3, v); // set (4, 2) to 1 toodee[2][4] = 1; // move (4, 2) to (0, 0) toodee.translate_with_wrap((4, 2)); assert_eq!(toodee[0][0], 1); assert_eq!(toodee[2][4], 42);
fn flip_rows(&mut self)
Flips (or mirrors) the rows.
Examples
use toodee::{TooDee,TooDeeOps,TranslateOps}; let v = vec![42u32; 15]; let mut toodee : TooDee<u32> = TooDee::from_vec(5, 3, v); toodee[0][1] = 1; toodee.flip_rows(); assert_eq!(toodee[2][1], 1);
fn flip_cols(&mut self)
Flips (or mirrors) the columns.
use toodee::{TooDee,TooDeeOps,TranslateOps}; let v = vec![42u32; 15]; let mut toodee : TooDee<u32> = TooDee::from_vec(5, 3, v); toodee[1][1] = 1; toodee.flip_cols(); assert_eq!(toodee[1][3], 1);