term_wm_layout_engine/
lib.rs1#![cfg_attr(not(feature = "std"), no_std)]
2
3#[cfg(not(feature = "std"))]
10extern crate alloc;
11
12mod floating;
13mod hit_test;
14mod layout;
15mod mouse_coord;
16mod node;
17mod ordering;
18mod orientation;
19mod rect;
20mod region_map;
21mod scroll;
22mod snap;
23mod split;
24
25pub use floating::{
26 DragHandle, FLOATING_MIN_HEIGHT, FLOATING_MIN_WIDTH, HeaderDrag, ResizeDrag, ResizeEdge,
27 ResizeHandle, apply_resize_drag_signed, floating_header_for_region, resize_handles_for_region,
28};
29pub use hit_test::{detect_quadrant, find_closest_region, hit_test_leaf, resolve_target};
30pub use layout::LayoutEngine;
31pub use mouse_coord::{CoordSpace, MousePosition};
32pub use node::{BspNode, NaryNode};
33pub use ordering::{FocusRing, ZOrder};
34pub use orientation::{LongestSide, OrientationHeuristic, Spiral};
35pub use rect::{
36 LayoutError, LayoutRect, Orientation, Quadrant, Ratio, RectSpec, SizeConstraints, gap_insert,
37 inset, rect_contains,
38};
39pub use region_map::RegionMap;
40pub use scroll::ScrollState;
41pub use snap::{
42 EdgeResistance, InsertPosition, SnapPreview, SnapTarget, corner_preview_rect,
43 detect_corner_snap, detect_edge_snap, edge_preview_rect, tiled_preview_rect,
44};
45pub use split::{
46 build_rects_from_sizes, gap_size, handle_thickness, split_rect_bsp, split_rects_nary,
47 split_rects_weighted, split_rects_with_gaps, split_sizes,
48};
49
50mod tiling;
51pub use tiling::{Direction, LayoutNode, SplitGap, split_area_for_path, split_at_path_mut};