performLayout method
Implementation
@override
void performLayout(ChantContext ctxt) {
super.performLayout(ctxt);
final first = notes[0];
final second = notes[1];
final third = notes[2];
final fourth = notes[3];
if (third.shape == NoteShape.virga) {
build(ctxt)
..withPodatus(lower: first, upper: second)
..advanceBy(ctxt.intraNeumeSpacing)
..withClivis(upper: third, lower: fourth);
} else {
GlyphCode fourthGlyph = GlyphCode.punctumQuadratum;
if (hasFlag(fourth.liquescent, LiquescentType.ascending)) {
fourthGlyph = GlyphCode.punctumQuadratumAscLiquescent;
} else if (hasFlag(fourth.liquescent, LiquescentType.descending)) {
fourthGlyph = GlyphCode.punctumQuadratumDesLiquescent;
}
build(ctxt)
..noteAt(first, GlyphCode.punctumQuadratum)
..withPodatus(lower: second, upper: third)
..advanceBy(ctxt.intraNeumeSpacing)
..noteAt(fourth, fourthGlyph);
}
finishLayout(ctxt);
}