mirror of
https://github.com/storytold/craft-libs.git
synced 2026-10-31 07:39:23 +00:00
* docking: drop targets follow the pointer over the whole group Outside side_edge_zones, a group body's outer third on each side docks beside it and the middle joins as a tab; at a corner the relatively nearer side wins, and a group that takes no tabs maps its whole body to its edges. Dock-column groups get the same zones: top and bottom stack, left and right make a column. Border bands (seam, column edge, new dock, root edge) are 28 pt and reach only 4 pt into a tab strip that takes tabs. Previews are a drop_line_width line along the edge a drop docks to, or the whole group's outline with a light fill for a tab join, for tab and group drags alike. side_edge_zones keeps its 40 pt picture-frame zones, overlay and previews (SIDE_EDGE_ZONE_DEPTH). DockStyle: side_zone_fraction replaces zone_depth; new column_edge_band and drop_line_width; edge_band, seam_band and new_dock_band default to 28. * docking: document the drop zones, bands and previews * docking: dock groups and the outer edge band keep the split-tree sizes with side edge zones * docking: drop zones for hosts that resolve drops, lines kept in view, stripless dock groups resolve_drop_by and DockStyle::zone_rule give hosts the dock area's zones and previews. A stack line on an edge scrolled out of a dock column shows at the view's edge, and a dock group without a tab strip takes its zones from the top of its body. A style needs a drop line wider than zero and a side zone fraction of at most one half.