dragResizeSplit method
Adjusts a split ratio by pointer drag while respecting min sizes.
Implementation
TilingPaneManager dragResizeSplit({
required String splitId,
required int delta,
required int width,
required int height,
}) {
if (delta == 0) return this;
final current = layout(width: width, height: height);
final handle = current.splits[splitId];
if (handle == null) return this;
final mainLength = switch (handle.direction) {
PaneSplitDirection.vertical => handle.height,
PaneSplitDirection.horizontal => handle.width,
};
if (mainLength <= 0) return this;
final updated = _applyResize(root, splitId, delta / mainLength);
if (updated == root) return this;
return TilingPaneManager._(
root: updated,
focusedPaneId: focusedPaneId,
paneMinWidth: paneMinWidth,
paneMinHeight: paneMinHeight,
snapThreshold: snapThreshold,
);
}