refactor: split every monolithic module into focused submodules
Each source file that had grown beyond a single concern is replaced by an identically-named directory containing focused submodules. `src/event_loop/mod.rs` (878 lines) becomes a directory with clipboard, context_menu, cursor_shape, drag, focus, handlers, invalidation, overlays_reconcile, repeat, run, surface, text_editing, and tooltip. Every widget, input handler, and theme component follows the same split. Public interfaces are unchanged — only the internal file layout moves. image bumped from 0.25.2 to 0.25.9.
This commit is contained in:
41
src/input/pointer/helpers.rs
Normal file
41
src/input/pointer/helpers.rs
Normal file
@@ -0,0 +1,41 @@
|
||||
// SPDX-License-Identifier: LGPL-2.1-only
|
||||
// Copyright (C) 2026 Liberux Labs, S. L. <info@liberux.net>
|
||||
|
||||
use crate::app::App;
|
||||
use crate::event_loop::{ AppData, SurfaceFocus };
|
||||
use crate::tree::find_handlers;
|
||||
|
||||
use super::super::gesture::SwipeConfig;
|
||||
|
||||
/// Pointer-side helpers on `AppData`. Split out so touch can call the
|
||||
/// same swipe-config factory; `apply_*` helpers live in `dispatch.rs`
|
||||
/// because they are shared.
|
||||
impl<A: App> AppData<A>
|
||||
{
|
||||
/// Snapshot the swipe thresholds + surface dimensions into a
|
||||
/// [`SwipeConfig`] for the gesture machine. Called once per
|
||||
/// motion / release event.
|
||||
pub( crate ) fn swipe_config( &self, focus: SurfaceFocus ) -> SwipeConfig
|
||||
{
|
||||
let ss = self.surface( focus );
|
||||
SwipeConfig
|
||||
{
|
||||
up_thresh: self.app.swipe_threshold(),
|
||||
down_thresh: self.app.swipe_down_threshold(),
|
||||
down_edge: self.app.swipe_down_edge(),
|
||||
horizontal_thresh: self.app.swipe_horizontal_threshold(),
|
||||
surface_width: ss.physical_width(),
|
||||
surface_height: ss.physical_height(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
pub( crate ) fn hover_affects_paint<Msg: Clone>(
|
||||
widget_rects: &[crate::widget::LaidOutWidget<Msg>],
|
||||
idx: Option<usize>,
|
||||
) -> bool
|
||||
{
|
||||
idx.and_then( |i| find_handlers( widget_rects, i ) )
|
||||
.map( |h| !h.is_slider() )
|
||||
.unwrap_or( false )
|
||||
}
|
||||
Reference in New Issue
Block a user