コード例 #1
0
        protected override void DrawArrow(IGraphicContext graphicContext)
        {
            float xStart = m_StartColumn.Body.Middle + GetXFromCenterRelative(m_Signal.Start);
            float xEnd   = m_EndColumn.Body.Middle + GetXFromCenterRelative(m_Signal.End);

            float y = m_Row.Body.Bottom;

            var start = new Point(xStart, y);
            var end   = new Point(xEnd, y);

            switch (m_Signal.SignalType)
            {
            case SignalType.Call:
                graphicContext.DrawArrow(
                    start,
                    end,
                    Style.Signal.Width,
                    Style.Signal.ArrowCapSize,
                    Style.Signal.ArrowCapSize,
                    Style.Signal.LineColor,
                    Style.Common.LineStyle);
                break;

            case SignalType.Return:
                graphicContext.DrawDashedArrow(
                    start,
                    end,
                    Style.Signal.Width,
                    Style.Signal.ArrowCapSize,
                    Style.Signal.ArrowCapSize,
                    Style.Signal.LineColor,
                    Style.Common.LineStyle);
                break;
            }
        }