createCustomSeperateSpaces static method
创建黄金分割线 not support expression 创建自定义线(分段占比重权值,加和占首尾线区间=1)
Implementation
// @Deprecated('not support expression')
/// not support expression
// static List<NamedLine> createGoldenRatioDivides({
// NamedLine? fromStartLine,
// NamedLine? toEndLine,
// bool includeStartEnd = false}){
// NamedLine fromStart = fromStartLine ?? NamedLine.percent(0.0, name: NAME_START);
// NamedLine toEnd = toEndLine ?? NamedLine.percent(1.0, name: NAME_END);
// goldenStartPercentGetter(size)=> 0.382 * (toEnd.percentGetter(size) - fromStart.percentGetter(size)) + fromStart.percentGetter(size);
// goldenEndPercentGetter(size)=> 0.618 * (toEnd.percentGetter(size) - fromStart.percentGetter(size)) + fromStart.percentGetter(size);
// List<NamedLine> excludeStartEnd = [
// NamedLine.getter(
// goldenStartPercentGetter,
// name: '$GOLDEN_RATIO_DIVIDES-$NAME_START:(1/1)=>${goldenStartPercentGetter(Size.square(1.0))}',
// ),
// NamedLine.getter(
// goldenEndPercentGetter,
// name: '$GOLDEN_RATIO_DIVIDES-$NAME_END:(1/1)=>${goldenEndPercentGetter(Size.square(1.0))}',
// )
// ];
// return includeStartEnd ? [
// NamedLine.rename(rename: '$GOLDEN_RATIO_DIVIDES-$NAME_START', copy: fromStart),
// ... excludeStartEnd,
// NamedLine.rename(rename: '$GOLDEN_RATIO_DIVIDES-$NAME_END', copy: toEnd)
// ] : excludeStartEnd;
// }
/// 创建自定义线(分段占比重权值,加和占首尾线区间=1)
static List<NamedLine> createCustomSeperateSpaces(List<int> weights, {
NamedLine? fromStartLine,
NamedLine? toEndLine,
END_POINT endPoint = END_POINT.exclude_start_end}){
assert(weights.length >= 2);
var addups = weights.fold<List<int>>([], (addup, weight)=>addup..add(addup.isEmpty ? weight : addup.last + weight));
return createCustomDivides(addups.map<double>((addup)=>addup/addups.last).toList()..removeLast(), fromStartLine: fromStartLine, toEndLine: toEndLine, endPoint: endPoint);
}