createSingleLineMargin static method

List<NamedLine> createSingleLineMargin(
  1. List<NamedLine> singleLines,
  2. PercentGetter plusGetter,
  3. PercentGetter minusGetter
)

创建单条线两侧边距 支持多条辅助线一同创建

Implementation

static List<NamedLine> createSingleLineMargin(List<NamedLine> singleLines, PercentGetter plusGetter, PercentGetter minusGetter){
  var samplePlusPercent = plusGetter(Size.square(1.0));
  var sampleMinusPercent = minusGetter(Size.square(1.0));
  return singleLines.expand<NamedLine>((line){
    return []
      ..addAll(samplePlusPercent >0.0 && line.percent + samplePlusPercent < 1.0 ?
        [
          NamedLine.getter(
            (size)=>line.percentGetter(size) + plusGetter(size),
            name: '(${line.name})+$NAME_MARGIN:$samplePlusPercent',
          )
        ] : [])
      ..addAll(sampleMinusPercent >0.0 && line.percent-sampleMinusPercent < 1.0 ?
        [
          NamedLine.getter(
            (size)=>line.percentGetter(size) - minusGetter(size),
            name: '(${line.name})-$NAME_MARGIN:$sampleMinusPercent',
          )
        ] : []);

  }).toList();
}