pub struct TreeRenderState {
pub pan_x: f32,
pub pan_y: f32,
pub target_pan_x: f32,
pub target_pan_y: f32,
pub prev_cursor: TreeCoord,
pub initialized: bool,
pub drag_last: Option<(u16, u16)>,
}Expand description
Render-side state for the upgrade tree modal. Holds the smoothed camera pan (so panning eases instead of snapping), the active drag tracker, and a snapshot of the last-seen cursor for cursor-change detection.
All f32 because the tween needs sub-cell precision — the final
pan_x / pan_y are rounded back to integer cells in the renderer.
Fields§
§pan_x: f32Current rendered pan (canvas-cell coords). Eased toward target_*
each frame; pan reads use .round() as i32.
pan_y: f32§target_pan_x: f32Where the camera is heading. Set to the cursor’s centered position whenever the cursor changes; modified directly by drag.
target_pan_y: f32§prev_cursor: TreeCoordPreviously-rendered cursor — drives cursor-change detection
(cursor change resets target_pan_* to its centered position).
initialized: boolfalse before the first frame in the current modal session; the
renderer snaps pan_* to target_* on that frame instead of
tweening. Reset to false on every modal close so the camera
doesn’t tween from a stale position on reopen.
drag_last: Option<(u16, u16)>Last mouse cell observed while the left button was held. While
Some, MouseMoved events apply the (cell-delta) directly to
pan_* AND target_pan_* so the dragged position sticks after
release (the tween doesn’t pull back to cursor).
Trait Implementations§
Source§impl Clone for TreeRenderState
impl Clone for TreeRenderState
Source§fn clone(&self) -> TreeRenderState
fn clone(&self) -> TreeRenderState
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for TreeRenderState
impl Debug for TreeRenderState
Source§impl Default for TreeRenderState
impl Default for TreeRenderState
impl Copy for TreeRenderState
Auto Trait Implementations§
impl Freeze for TreeRenderState
impl RefUnwindSafe for TreeRenderState
impl Send for TreeRenderState
impl Sync for TreeRenderState
impl Unpin for TreeRenderState
impl UnsafeUnpin for TreeRenderState
impl UnwindSafe for TreeRenderState
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
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>
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