getSpanOptions method

Map<String, dynamic> getSpanOptions(
  1. TextSpan span,
  2. ChantContext ctxt, [
  3. bool useStyleObject = false
])

Implementation

Map<String, dynamic> getSpanOptions(
  TextSpan span,
  ChantContext ctxt, [
  bool useStyleObject = false,
]) {
  final options = <String, dynamic>{
    'data-source-index': span.index,
    'class': span.properties['class'],
    'style': useStyleObject
        ? span.properties
        : getCssForProperties(span.properties),
  };
  if (span.newLine > 0) {
    final xOffset = span.xOffset ?? 0.0;
    options['dy'] = '${1.1 * span.newLine}em';
    options['x'] = bounds.x + xOffset;
  } else if (span.xOffset != null) {
    options['x'] = bounds.x + span.xOffset!;
  }
  if (span.properties.containsKey('textLength')) {
    options['textLength'] = span.properties['textLength'];
    options['lengthAdjust'] = 'spacingAndGlyphs';
    options['y'] = bounds.y;
  }
  if (resize != null) {
    options['font-size'] =
        span.properties['font-size'] ?? fontSize(ctxt) * resize!;
  }
  return options;
}