core: made text fields scrollable

This commit is contained in:
michiel2005 2024-03-13 15:21:01 +01:00 committed by Adrian Wielgosik
parent ec99bedcf8
commit 5fc2505c07
1 changed files with 12 additions and 5 deletions

View File

@ -2339,18 +2339,25 @@ impl<'gc> TInteractiveObject<'gc> for EditText<'gc> {
_context: &mut UpdateContext<'_, 'gc>, _context: &mut UpdateContext<'_, 'gc>,
event: ClipEvent, event: ClipEvent,
) -> ClipEventResult { ) -> ClipEventResult {
if event != ClipEvent::Press { match event {
return ClipEventResult::NotHandled; ClipEvent::Press | ClipEvent::MouseWheel { .. } => ClipEventResult::Handled,
_ => ClipEventResult::NotHandled,
} }
ClipEventResult::Handled
} }
fn event_dispatch( fn event_dispatch(
self, self,
context: &mut UpdateContext<'_, 'gc>, context: &mut UpdateContext<'_, 'gc>,
_event: ClipEvent<'gc>, event: ClipEvent<'gc>,
) -> ClipEventResult { ) -> ClipEventResult {
if let ClipEvent::MouseWheel { delta } = event {
if self.is_mouse_wheel_enabled() {
let new_scroll = self.scroll() as f64 - delta.lines();
self.set_scroll(new_scroll, context);
}
return ClipEventResult::Handled;
}
if self.is_editable() || self.is_selectable() { if self.is_editable() || self.is_selectable() {
let tracker = context.focus_tracker; let tracker = context.focus_tracker;
tracker.set(Some(self.into()), context); tracker.set(Some(self.into()), context);