#[non_exhaustive]pub struct MinimapReadout {
pub extent: Rect,
pub viewport: Rect,
pub position: Point,
pub coverage: Size,
}Expand description
Where the viewport sits inside the picture the minimap is drawing — the numbers behind the AT node’s announced value, as plain fractions.
Handed to an access_readout closure so an
app can phrase and translate the announcement itself. Everything here is
derived from the same effective_extent the picture is projected through,
so a readout can never describe a frame other than the one on screen.
#[non_exhaustive]: the crate hands this to consumer code — it is the
argument of an access_readout closure — and a readout may learn to carry
another number. Build one with new.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.extent: RectThe scene-space rect actually projected onto the drawing area:
content_bounds ∪ every item rect ∪ viewport.
viewport: RectThe viewport rect, in scene coordinates.
position: PointThe viewport centre’s position inside extent, per
axis, in 0.0..=1.0 (leading/top → trailing/bottom). A degenerate
axis reads 0.5 — dead centre of a scene with no extent along it.
coverage: SizeHow much of extent the viewport covers, per axis, in
0.0..=1.0. A degenerate axis reads 1.0: you are seeing all there
is of it.
Implementations§
Source§impl MinimapReadout
impl MinimapReadout
Sourcepub fn new(
extent: Rect,
viewport: Rect,
position: Point,
coverage: Size,
) -> Self
pub fn new( extent: Rect, viewport: Rect, position: Point, coverage: Size, ) -> Self
A readout stated field by field — the constructor
#[non_exhaustive] takes the place of a struct literal for.
The minimap derives its own; this is for a consumer testing its own
phrasing closure.
Trait Implementations§
Source§impl Clone for MinimapReadout
impl Clone for MinimapReadout
Source§fn clone(&self) -> MinimapReadout
fn clone(&self) -> MinimapReadout
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for MinimapReadout
Source§impl Debug for MinimapReadout
impl Debug for MinimapReadout
Source§impl PartialEq for MinimapReadout
impl PartialEq for MinimapReadout
impl StructuralPartialEq for MinimapReadout
Auto Trait Implementations§
impl Freeze for MinimapReadout
impl RefUnwindSafe for MinimapReadout
impl Send for MinimapReadout
impl Sync for MinimapReadout
impl Unpin for MinimapReadout
impl UnsafeUnpin for MinimapReadout
impl UnwindSafe for MinimapReadout
Blanket Implementations§
§impl<T> AnyEq for T
impl<T> AnyEq for T
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
impl<T> ErasedDestructor for Twhere
T: 'static,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
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> ⓘ
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> ⓘ
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