performLayout method

  1. @override
void performLayout(
  1. ChantContext ctxt
)
override

Implementation

@override
void performLayout(ChantContext ctxt) {
  super.performLayout(ctxt);
  final glyphCodes = notes
      .map((note) => Apostropha.getNoteGlyphCode(note))
      .toList();
  final glyphAdvance = glyphCodes[0] == GlyphCode.stropha
      ? ctxt.intraNeumeSpacing / 2
      : ctxt.intraNeumeSpacing;

  build(ctxt)
    ..noteAt(notes[0], glyphCodes[0])
    ..advanceBy(glyphAdvance)
    ..noteAt(notes[1], glyphCodes[1])
    ..advanceBy(glyphAdvance)
    ..noteAt(notes[2], glyphCodes[2]);

  finishLayout(ctxt);
}