pub struct Canvas {Show 13 fields
pub cam_x: f64,
pub cam_y: f64,
pub cam_zoom: f64,
pub(crate) cursor: ScreenPt,
pub(crate) window_has_cursor: bool,
pub(crate) drag_canvas_from: Option<(ScreenPt, ScreenPt)>,
drag_just_ended: bool,
pub window_width: f64,
pub window_height: f64,
pub map_dims: (f64, f64),
pub settings: CanvasSettings,
pub(crate) covered_areas: RefCell<Vec<ScreenRectangle>>,
pub(crate) keys_held: HashSet<Key>,
}
Fields§
§cam_x: f64
§cam_y: f64
§cam_zoom: f64
§cursor: ScreenPt
§window_has_cursor: bool
§drag_canvas_from: Option<(ScreenPt, ScreenPt)>
§drag_just_ended: bool
§window_width: f64
§window_height: f64
§map_dims: (f64, f64)
§settings: CanvasSettings
§covered_areas: RefCell<Vec<ScreenRectangle>>
§keys_held: HashSet<Key>
Implementations§
source§impl Canvas
impl Canvas
pub(crate) fn new(initial_dims: ScreenDims, settings: CanvasSettings) -> Canvas
pub fn max_zoom(&self) -> f64
pub fn min_zoom(&self) -> f64
pub fn is_max_zoom(&self) -> bool
pub fn is_min_zoom(&self) -> bool
pub(crate) fn handle_event( &mut self, input: &mut UserInput ) -> Option<UpdateType>
pub fn center_zoom(&mut self, delta: f64)
pub fn zoom(&mut self, delta: f64, focus: ScreenPt)
pub(crate) fn start_drawing(&self)
pub fn mark_covered_area(&self, rect: ScreenRectangle)
pub fn get_cursor(&self) -> ScreenPt
pub fn get_cursor_in_screen_space(&self) -> Option<ScreenPt>
pub fn get_cursor_in_map_space(&self) -> Option<Pt2D>
pub fn screen_to_map(&self, pt: ScreenPt) -> Pt2D
pub fn center_to_screen_pt(&self) -> ScreenPt
pub fn center_to_map_pt(&self) -> Pt2D
pub fn center_on_map_pt(&mut self, pt: Pt2D)
pub fn map_to_screen(&self, pt: Pt2D) -> ScreenPt
fn get_inner_bounds(&self) -> Bounds
pub fn get_window_dims(&self) -> ScreenDims
fn get_map_bounds(&self) -> Bounds
pub fn get_screen_bounds(&self) -> Bounds
pub(crate) fn align_window( &self, dims: ScreenDims, horiz: HorizontalAlignment, vert: VerticalAlignment ) -> ScreenPt
pub fn is_unzoomed(&self) -> bool
pub fn is_zoomed(&self) -> bool
pub(crate) fn is_dragging(&self) -> bool
Auto Trait Implementations§
impl !Freeze for Canvas
impl !RefUnwindSafe for Canvas
impl Send for Canvas
impl !Sync for Canvas
impl Unpin for Canvas
impl UnwindSafe for Canvas
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
§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>
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
.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
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)
Convert
&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)
Convert
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.