Struct widgetry::mapspace::DrawCustomUnzoomedShapes
source · [−]pub struct DrawCustomUnzoomedShapes {
shapes: Vec<Box<dyn Fn(&mut GeomBatch, f64)>>,
per_zoom: RefCell<PerZoom>,
}
Expand description
Draw custom objects that scale their size as the canvas is zoomed.
In all honesty I’m completely lost on the math here. By trial and error, I got something that works reasonably for the one use case. Of course I’d love to properly understand how to do this pattern, unify with the above, etc.
Fields
shapes: Vec<Box<dyn Fn(&mut GeomBatch, f64)>>
per_zoom: RefCell<PerZoom>
Implementations
sourceimpl DrawCustomUnzoomedShapes
impl DrawCustomUnzoomedShapes
pub fn empty() -> Self
pub fn builder() -> DrawCustomUnzoomedShapesBuilder
pub fn maybe_draw(&self, g: &mut GfxCtx<'_>) -> bool
Auto Trait Implementations
impl !RefUnwindSafe for DrawCustomUnzoomedShapes
impl !Send for DrawCustomUnzoomedShapes
impl !Sync for DrawCustomUnzoomedShapes
impl Unpin for DrawCustomUnzoomedShapes
impl !UnwindSafe for DrawCustomUnzoomedShapes
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<T> Downcast for T where
T: Any,
impl<T> Downcast for T where
T: Any,
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
Convert 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
. Read more
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
Convert Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
. Read more
fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert &Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s. Read more
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert &mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s. Read more
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Instruments this type with the provided Span
, returning an
Instrumented
wrapper. Read more