DoLayout() public method

public DoLayout ( ) : void
return void
        public override void DoLayout()
        {
            var x = 0f;

            if (_showParenthesis)
            {
                _preNoteParenthesis.X        = x;
                _preNoteParenthesis.Renderer = Renderer;
                _preNoteParenthesis.DoLayout();
                x += _preNoteParenthesis.Width + ElementPadding * Scale;
            }

            if (!_accidentals.IsEmpty)
            {
                _accidentals.X        = x;
                _accidentals.Renderer = Renderer;
                _accidentals.DoLayout();
                x += _accidentals.Width + ElementPadding * Scale;
            }

            NoteStartX = x;

            base.DoLayout();

            NoteHeadOffset = NoteStartX + (Width - NoteStartX) / 2;

            if (_showParenthesis)
            {
                _postNoteParenthesis.X        = Width + ElementPadding * Scale;
                _postNoteParenthesis.Renderer = Renderer;
                _postNoteParenthesis.DoLayout();
                Width += _postNoteParenthesis.Width + ElementPadding * Scale;
            }
        }