示例#1
0
        internal override void AlignFramedTextsXY(List <NoteObject> fixedNoteObjects)
        {
            #region alignX

            // An EndAndStartRegionBarline cannot be at the start of a system,
            // so it can't have a barnumber, and there's no reason to call base.AlignBarnumberX();
            M.Assert(BarnumberMetrics == null);

            double originX = Metrics.OriginX;
            if (FramedRegionEndTextMetrics != null)
            {
                FramedRegionEndTextMetrics.Move(originX - FramedRegionEndTextMetrics.Right, 0);
            }
            if (FramedRegionStartTextMetrics != null)
            {
                FramedRegionStartTextMetrics.Move(originX - FramedRegionStartTextMetrics.Left, 0);
            }
            #endregion

            MoveFramedTextBottomToDefaultPosition(FramedRegionStartTextMetrics);
            MoveFramedTextBottomToDefaultPosition(FramedRegionEndTextMetrics);

            MoveFramedTextAboveNoteObjects(FramedRegionStartTextMetrics, fixedNoteObjects);
            MoveFramedTextAboveNoteObjects(FramedRegionEndTextMetrics, fixedNoteObjects);
            MoveFramedTextAboveNoteObjects(BarnumberMetrics, fixedNoteObjects);
        }
示例#2
0
        /// <summary>
        /// This function writes the staff name, barnumber and region info to the SVG file (if they are present).
        /// The barline itself is drawn when the system (and staff edges) is complete.
        /// </summary>
        public override void WriteDrawObjectsSVG(SvgWriter w)
        {
            base.WriteDrawObjectsSVG(w);

            FramedRegionInfoMetrics upperBox = null;

            if (FramedRegionEndTextMetrics != null)
            {
                upperBox = FramedRegionEndTextMetrics;
            }
            if (FramedRegionStartTextMetrics != null)
            {
                upperBox = (upperBox != null && upperBox.Bottom < FramedRegionStartTextMetrics.Bottom) ? upperBox : FramedRegionStartTextMetrics;
            }
            if (upperBox != null)
            {
                DrawRegionFrameConnector(w, upperBox);
            }

            if (FramedRegionEndTextMetrics != null)
            {
                FramedRegionEndTextMetrics.WriteSVG(w);
            }

            if (FramedRegionStartTextMetrics != null)
            {
                FramedRegionStartTextMetrics.WriteSVG(w);
            }
        }
示例#3
0
        /// <summary>
        /// This function writes the staff name, barnumber and region info to the SVG file (if they are present).
        /// The barline itself is drawn when the system (and staff edges) is complete.
        /// </summary>
        public override void WriteDrawObjectsSVG(SvgWriter w)
        {
            base.WriteDrawObjectsSVG(w);

            if (FramedRegionEndTextMetrics != null)
            {
                DrawRegionFrameConnector(w, FramedRegionEndTextMetrics);
                FramedRegionEndTextMetrics.WriteSVG(w);
            }
        }
示例#4
0
        internal override void AlignFramedTextsXY(List <NoteObject> fixedNoteObjects)
        {
            #region alignX
            base.AlignBarnumberX();
            double originX = Metrics.OriginX;
            if (FramedRegionEndTextMetrics != null)
            {
                FramedRegionEndTextMetrics.Move(originX - FramedRegionEndTextMetrics.Right, 0);
            }
            #endregion

            MoveFramedTextBottomToDefaultPosition(FramedRegionEndTextMetrics);

            MoveFramedTextAboveNoteObjects(FramedRegionEndTextMetrics, fixedNoteObjects);
            MoveFramedTextAboveNoteObjects(BarnumberMetrics, fixedNoteObjects);

            MoveBarnumberAboveRegionBox(BarnumberMetrics, FramedRegionEndTextMetrics);
        }