pub struct Scroll {
pub axis: ScrollAxis,
pub sensitivity: f32,
pub inertia: f32,
pub velocity: Vec2,
}Expand description
Scrollable container configuration. Each instance carries its own sensitivity, inertia, and momentum.
Fields§
§axis: ScrollAxisAllowed scroll axes.
sensitivity: f32Multiplier on raw wheel-delta pixels (1.0 = normal, lower slows scrolling).
inertia: f32Fraction of each wheel delta added to velocity instead of being applied to offset directly. Range [0.0, 1.0]; 0.0 produces instant jumps, ~0.4 a gentle glide, higher values longer fling.
velocity: Vec2Per-container momentum in logical pixels per tick. Wheel events add to it; integrate_scroll decays it by INERTIA_DECAY each frame and writes the delta into ScrollOffset.
Implementations§
Source§impl Scroll
impl Scroll
Sourcepub const fn vertical() -> Self
pub const fn vertical() -> Self
Returns a vertical scroller (axis = Y, sensitivity = 1.0, inertia = 0.4).
Sourcepub const fn horizontal() -> Self
pub const fn horizontal() -> Self
Returns a horizontal scroller (axis = X, sensitivity = 1.0, inertia = 0.4).
Sourcepub const fn both() -> Self
pub const fn both() -> Self
Returns a two-axis scroller (axis = Both, sensitivity = 1.0, inertia = 0.4).
Sourcepub const fn with_sensitivity(self, sensitivity: f32) -> Self
pub const fn with_sensitivity(self, sensitivity: f32) -> Self
Returns self with sensitivity overridden.
Sourcepub const fn with_inertia(self, inertia: f32) -> Self
pub const fn with_inertia(self, inertia: f32) -> Self
Returns self with inertia overridden.
Trait Implementations§
Source§impl Component for Scroll
impl Component for Scroll
Source§const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§type Mutability = Mutable
type Mutability = Mutable
Component<Mutability = Mutable>,
while immutable components will instead have Component<Mutability = Immutable>. Read moreSource§fn register_required_components(
_requiree: ComponentId,
required_components: &mut RequiredComponentsRegistrator<'_, '_>,
)
fn register_required_components( _requiree: ComponentId, required_components: &mut RequiredComponentsRegistrator<'_, '_>, )
Source§fn clone_behavior() -> ComponentCloneBehavior
fn clone_behavior() -> ComponentCloneBehavior
Source§fn relationship_accessor() -> Option<ComponentRelationshipAccessor<Self>>
fn relationship_accessor() -> Option<ComponentRelationshipAccessor<Self>>
ComponentRelationshipAccessor] required for working with relationships in dynamic contexts. Read more§fn on_discard() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>
fn on_discard() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>
§fn on_despawn() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>
fn on_despawn() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>
§fn map_entities<E>(_this: &mut Self, _mapper: &mut E)where
E: EntityMapper,
fn map_entities<E>(_this: &mut Self, _mapper: &mut E)where
E: EntityMapper,
EntityMapper. This is used to remap entities in contexts like scenes and entity cloning.
When deriving Component, this is populated by annotating fields containing entities with #[entities] Read moreimpl Copy for Scroll
Auto Trait Implementations§
impl Freeze for Scroll
impl RefUnwindSafe for Scroll
impl Send for Scroll
impl Sync for Scroll
impl Unpin for Scroll
impl UnsafeUnpin for Scroll
impl UnwindSafe for Scroll
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
§impl<C> Bundle for Cwhere
C: Component,
impl<C> Bundle for Cwhere
C: Component,
fn component_ids( components: &mut ComponentsRegistrator<'_>, ) -> impl Iterator<Item = ComponentId> + use<C>
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<C> DynamicBundle for Cwhere
C: Component,
impl<C> DynamicBundle for Cwhere
C: Component,
§unsafe fn get_components(
ptr: MovingPtr<'_, C>,
func: &mut impl FnMut(StorageType, OwningPtr<'_>),
) -> <C as DynamicBundle>::Effect
unsafe fn get_components( ptr: MovingPtr<'_, C>, func: &mut impl FnMut(StorageType, OwningPtr<'_>), ) -> <C as DynamicBundle>::Effect
§unsafe fn apply_effect(
_ptr: MovingPtr<'_, MaybeUninit<C>>,
_entity: &mut EntityWorldMut<'_>,
)
unsafe fn apply_effect( _ptr: MovingPtr<'_, MaybeUninit<C>>, _entity: &mut EntityWorldMut<'_>, )
§impl<T> FromTemplate for T
impl<T> FromTemplate for T
§impl<T> FromWorld for Twhere
T: Default,
impl<T> FromWorld for Twhere
T: Default,
§fn from_world(_world: &mut World) -> T
fn from_world(_world: &mut World) -> T
Creates Self using default().
§impl<T> IntoResult<T> for T
impl<T> IntoResult<T> for T
§fn into_result(self) -> Result<T, RunSystemError>
fn into_result(self) -> Result<T, RunSystemError>
§impl<T> Template for T
impl<T> Template for T
§fn build_template(
&self,
_context: &mut TemplateContext<'_, '_>,
) -> Result<<T as Template>::Output, BevyError>
fn build_template( &self, _context: &mut TemplateContext<'_, '_>, ) -> Result<<T as Template>::Output, BevyError>
entity context to produce a Template::Output.§fn clone_template(&self) -> T
fn clone_template(&self) -> T
Clone.