defaultIndentWidthBuilder static method
HorizontalSpacing
defaultIndentWidthBuilder(
- Block block,
- BuildContext context,
- int count,
- LeadingBlockNumberPointWidth numberPointWidthBuilder,
Get the horizontalSpacing using the default
implementation provided by Flutter Quill
Implementation
static HorizontalSpacing defaultIndentWidthBuilder(
Block block,
BuildContext context,
int count,
LeadingBlockNumberPointWidth numberPointWidthBuilder) {
final defaultStyles = QuillStyles.getStyles(context, false)!;
final fontSize = defaultStyles.paragraph?.style.fontSize ?? 16;
final attrs = block.style.attributes;
final indent = attrs[Attribute.indent.key];
var extraIndent = 0.0;
if (indent != null && indent.value != null) {
extraIndent = fontSize * indent.value;
}
if (attrs.containsKey(Attribute.blockQuote.key)) {
return HorizontalSpacing(fontSize + extraIndent, 0);
}
var baseIndent = 0.0;
if (attrs.containsKey(Attribute.list.key)) {
baseIndent = fontSize * 2;
if (attrs[Attribute.list.key] == Attribute.ol) {
baseIndent = numberPointWidthBuilder(fontSize, count);
} else if (attrs.containsKey(Attribute.codeBlock.key)) {
baseIndent = numberPointWidthBuilder(fontSize, count);
}
}
return HorizontalSpacing(baseIndent + extraIndent, 0);
}