public BarRendererBase(ScoreRenderer renderer, Bar bar) { Bar = bar; ScoreRenderer = renderer; Helpers = new BarHelpers(bar); CanWrap = true; }
public override void DoLayout() { _helpers = Stave.StaveGroup.Helpers.Helpers[Bar.Track.Index][Bar.Index]; base.DoLayout(); Height = Stave.GetSetting("rhythm-height", 24) * Scale; IsEmpty = false; }
public override void DoLayout() { _helpers = Stave.StaveGroup.Helpers.Helpers[Bar.Track.Index][Bar.Index]; base.DoLayout(); Height = (LineOffset * 4) + TopPadding + BottomPadding; if (Index == 0) { Stave.RegisterStaveTop(GlyphOverflow); Stave.RegisterStaveBottom(Height - GlyphOverflow); } var top = GetScoreY(0); var bottom = GetScoreY(8); for (int i = 0, j = _helpers.BeamHelpers.Count; i < j; i++) { var v = _helpers.BeamHelpers[i]; for (int k = 0, l = v.Count; k < l; k++) { var h = v[k]; // // max note (highest) -> top overflow // var maxNoteY = GetScoreY(GetNoteLine(h.MaxNote)); if (h.Direction == BeamDirection.Up) { maxNoteY -= GetStemSize(h.MaxDuration); maxNoteY -= h.FingeringCount * Resources.GraceFont.Size; if (h.HasTuplet) { maxNoteY -= Resources.EffectFont.Size * 2; } } if (maxNoteY < top) { RegisterOverflowTop(Math.Abs(maxNoteY)); } // // min note (lowest) -> bottom overflow //t var minNoteY = GetScoreY(GetNoteLine(h.MinNote)); if (h.Direction == BeamDirection.Down) { minNoteY += GetStemSize(h.MaxDuration); minNoteY += h.FingeringCount * Resources.GraceFont.Size; } if (minNoteY > bottom) { RegisterOverflowBottom(Math.Abs(minNoteY) - bottom); } } } }
public override void DoLayout() { _helpers = Staff.StaveGroup.Helpers.Helpers[Bar.Staff.Track.Index][Bar.Staff.Index][Bar.Index]; base.DoLayout(); Height = LineOffset * (Bar.Staff.Track.Tuning.Length - 1) + (NumberOverflow * 2); if (Index == 0) { Staff.RegisterStaveTop(NumberOverflow); Staff.RegisterStaveBottom(Height - NumberOverflow); } }
public override void DoLayout() { _helpers = Staff.StaveGroup.Helpers.Helpers[Bar.Staff.Track.Index][Bar.Staff.Index][Bar.Index]; var res = Resources; var numberOverflow = (res.TablatureFont.Size / 2) + (res.TablatureFont.Size * 0.2f); TopPadding = numberOverflow; BottomPadding = numberOverflow; base.DoLayout(); Height = LineOffset * (Bar.Staff.Track.Tuning.Length - 1) + (numberOverflow * 2); if (Index == 0) { Staff.RegisterStaveTop(TopOverflow); Staff.RegisterStaveBottom(Height - BottomOverflow); } }