pub enum Step {
NeedIndex {
level: u32,
},
NeedChildren {
level: u32,
x: i32,
y: i32,
children: [TileKey; 4],
},
Parent {
level: u32,
x: i32,
y: i32,
pixels: Option<Vec<u8>>,
},
LevelDone {
level: u32,
},
Done,
}Variants§
NeedIndex
Pass every stored tile-index row of level level - 1 to PyramidSession::queue, then step again.
NeedChildren
Read these four child tiles (quadrant order: [dx=0,dy=0], [1,0], [0,1], [1,1]), pass their decoded
pixels (or None for one that is not stored) to PyramidSession::provide, then step again.
Parent
One queued parent is done: store pixels (size × size RGBA) as tile x_y of level when there are any,
then drop the parent from the queue and step again.
LevelDone
Every parent of level is done: the canvas now has level as its top level.
Done
Trait Implementations§
impl StructuralPartialEq for Step
Auto Trait Implementations§
impl Freeze for Step
impl RefUnwindSafe for Step
impl Send for Step
impl Sync for Step
impl Unpin for Step
impl UnsafeUnpin for Step
impl UnwindSafe for Step
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