Function scroll_by

Source
pub fn scroll_by(
    edit: &mut TextEditState,
    wrap_mode: EditorWrapMode,
    delta: Offset,
    metrics: ScrollMetrics,
) -> bool
Expand description

Applies a logical-pixel scroll delta clamped by viewport/content metrics.

Soft wrap always resets horizontal offset to zero. Returns true iff either stored axis changed; non-finite or oversize deltas inherit ScrollState’s normalization and clamping policy.

§Examples

use ailloli_ui_core::{Offset, ScrollMetrics, Size};
use ailloli_ui_editor::{input::scroll::scroll_by, EditorWrapMode};
use ailloli_ui_text::TextEditState;
let mut edit = TextEditState::new();
let changed = scroll_by(&mut edit, EditorWrapMode::NoWrap, Offset::new(0.0, 0.0), ScrollMetrics::new(Size::new(100.0, 80.0), Size::new(300.0, 200.0)));
assert!(!changed);
assert_eq!((edit.scroll_x, edit.scroll_y), (0.0, 0.0));