AlphaTab.Rendering.ScoreBarRenderer.CreatePreBeatGlyphs C# (CSharp) Method

CreatePreBeatGlyphs() protected method

protected CreatePreBeatGlyphs ( ) : void
return void
        protected override void CreatePreBeatGlyphs()
        {
            if (Bar.MasterBar.IsRepeatStart)
            {
                AddPreBeatGlyph(new RepeatOpenGlyph(0, 0, 1.5f, 3));
            }

            // Clef
            if (IsFirstOfLine || Bar.Clef != Bar.PreviousBar.Clef)
            {
                var offset = 0;
                var correction = 0;
                switch (Bar.Clef)
                {
                    case Clef.Neutral:
                        offset = 6;
                        break;
                    case Clef.F4:
                        offset = 4;
                        correction = -1;
                        break;
                    case Clef.C3:
                        offset = 6;
                        break;
                    case Clef.C4:
                        offset = 4;
                        break;
                    case Clef.G2:
                        offset = 8;
                        break;
                }
                CreateStartSpacing();
                AddPreBeatGlyph(new ClefGlyph(0, GetScoreY(offset, correction), Bar.Clef));
            }

            // Key signature
            if ((Bar.PreviousBar == null && Bar.MasterBar.KeySignature != 0) || (Bar.PreviousBar != null && Bar.MasterBar.KeySignature != Bar.PreviousBar.MasterBar.KeySignature))
            {
                CreateStartSpacing();
                CreateKeySignatureGlyphs();
            }

            // Time Signature
            if ((Bar.PreviousBar == null) || (Bar.PreviousBar != null && Bar.MasterBar.TimeSignatureNumerator != Bar.PreviousBar.MasterBar.TimeSignatureNumerator) || (Bar.PreviousBar != null && Bar.MasterBar.TimeSignatureDenominator != Bar.PreviousBar.MasterBar.TimeSignatureDenominator))
            {
                CreateStartSpacing();
                CreateTimeSignatureGlyphs();
            }

            AddPreBeatGlyph(new BarNumberGlyph(0, GetScoreY(-1, -3), Bar.Index + 1, !Staff.IsFirstInAccolade));

            if (Bar.IsEmpty)
            {
                AddPreBeatGlyph(new SpacingGlyph(0, 0, (30 * Scale)));
            }
        }