columnSplits method

List<double> Function(Size size)? columnSplits(
  1. String singlePT
)

根据当前 singlePT 获得 - 的分割比例,用于绘制拼屏网格线(物理拼缝,不包含在grid中)

Implementation

List<double> Function(Size size)? columnSplits(String singlePT){
  /// 2025.9.10 单屏模式就是容器宽度
  if(focusPageMode != FocusPageMode.multiLR) return (Size size) => [.0, size.width];
  if(singlePT == PT_FULLSCREEN && column <= 5) singlePT = screenPTColumnsLR(1, column) ?? singlePT;
  if(singlePT.contains('cell') || !singlePT.contains('-')) return null;
  final divides = singlePT.split('-').length;
  if(tailColumnExpandAvailable){
    final double columnAspectRatio = singleAspectRatioSize!.aspectRatio / row;
    if(tailColumnExpand == TailColumnExpand.left && singlePT.contains(PT_1)){
      return (Size size)=>List.generate(divides - 1, (index)=>size.height * columnAspectRatio * (index + 1)).reversed.toList();
    }else
    if(tailColumnExpand == TailColumnExpand.right && singlePT.contains(column.toString())){
      final double columnAspectRatio = singleAspectRatioSize!.aspectRatio / row;
      return (Size size)=>List.generate(divides - 1, (index)=>size.height * columnAspectRatio * (index + 1));
    }
  } else {
    return (Size size)=>List.generate(divides - 1, (index)=>size.width * (index + 1) / divides);
  }
  return null;
}