package com.xenoage.zong.musiclayout.stampings; import java.util.List; import lombok.AllArgsConstructor; import lombok.Getter; import com.xenoage.utils.annotations.Const; import com.xenoage.zong.core.music.barline.Barline; import com.xenoage.zong.core.music.group.BarlineGroup; /** * Class for a barline stamping. * * The stamping can be placed on a single staff or a list of staves * (the barlines are connected). * * A special case is a "Mensurstrich" barline, which is placed between * the staves, but not on them. * * At the moment a single stroke is used for the barline. * * @author Andreas Wenger */ @Const @AllArgsConstructor @Getter public class BarlineStamping extends Stamping { /** The musical element, including the repeat and line style. */ public final Barline barline; /** The list of staves this barline is spanning. */ public final List<StaffStamping> staves; /** The horizontal position in mm, relative to the parent frame. */ public final float xMm; /** The grouping style of the barline. */ public final BarlineGroup.Style groupStyle; @Override public StampingType getType() { return StampingType.BarlineStamping; } @Override public Level getLevel() { return Level.Music; } }