pub struct DriftState(/* private fields */);Expand description
Where a drift was last aimed, and when it last moved.
Shaped like ScrollbarState and owned by the view for the same reason:
the element is rebuilt every frame and cannot remember where the pointer
was. One per pane — two panes sharing one would take turns reading each
other’s clock.
Implementations§
Source§impl DriftState
impl DriftState
pub fn new() -> Self
Sourcepub fn aim(&self, pointer: Point<Pixels>)
pub fn aim(&self, pointer: Point<Pixels>)
Where the pointer is. Call it from the drag-move listener of the payload this pane should follow — that listener is typed, which is what keeps a board from drifting under somebody dragging a scrollbar thumb:
ⓘ
.on_drag_move(cx.listener(|this, event: &DragMoveEvent<CardDrag>, _, _| {
this.drift.aim(event.event.position);
}))Aimed rather than continuous: gpui reports a drag only while it moves, and a pointer parked at an edge is the case the whole thing exists for.
Trait Implementations§
Source§impl Clone for DriftState
impl Clone for DriftState
Source§fn clone(&self) -> DriftState
fn clone(&self) -> DriftState
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Default for DriftState
impl Default for DriftState
Source§fn default() -> DriftState
fn default() -> DriftState
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl !RefUnwindSafe for DriftState
impl !Send for DriftState
impl !Sync for DriftState
impl !UnwindSafe for DriftState
impl Freeze for DriftState
impl Unpin for DriftState
impl UnsafeUnpin for DriftState
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<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,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> 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> ⓘ
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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
Source§impl<R, P> ReadPrimitive<R> for P
impl<R, P> ReadPrimitive<R> for P
Source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
Read this value from the supplied reader. Same as
ReadEndian::read_from_little_endian().