pub struct Object {
pub kind: Kind,
pub bx: usize,
pub by: usize,
pub bw: usize,
pub bh: usize,
pub mask: Vec<bool>,
pub tpl: Vec<[u8; 3]>,
pub stable: Vec<u32>,
pub coarse: Vec<u32>,
pub textured: bool,
pub last: (i32, i32),
pub flat: Option<[u8; 3]>,
}Fields§
§kind: Kind§bx: usizeBounding box in cells, relative to the layer’s cell grid.
by: usize§bw: usize§bh: usize§mask: Vec<bool>Cells of the object inside its box.
tpl: Vec<[u8; 3]>Template: mean appearance of each cell when it disagreed with the page.
stable: Vec<u32>Cells whose appearance is stable (low spread when present); matching uses only these.
coarse: Vec<u32>A thinned subset of stable for coarse searches.
textured: boolEnough stable edges for a shifted match to be meaningful (a flat template would match any flat area).
last: (i32, i32)Offset (cells) where the object was last found.
flat: Option<[u8; 3]>A uniformly coloured object (a scrollbar thumb, a flat bar): its colour. Its learned mask is smeared over everywhere it travelled, so it is found per frame by colour inside its zone instead of by template.
Implementations§
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Object
impl RefUnwindSafe for Object
impl Send for Object
impl Sync for Object
impl Unpin for Object
impl UnsafeUnpin for Object
impl UnwindSafe for Object
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more