Smrf.NodeXL.ExcelTemplate.DynamicFiltersLegendControl.DrawSelectedRangeLine C# (CSharp) Method

DrawSelectedRangeLine() protected method

protected DrawSelectedRangeLine ( DrawingObjects oDrawingObjects, IDynamicFilterRangeTrackBar oDynamicFilterRangeTrackBar, Pen oSelectedRangeLinePen, Int32 iAvailableRangeLineLeft, Int32 iAvailableRangeLineRight, Int32 &iSelectedRangeLineLeft, Int32 &iSelectedRangeLineRight, Int32 &iTop ) : void
oDrawingObjects DrawingObjects
oDynamicFilterRangeTrackBar IDynamicFilterRangeTrackBar
oSelectedRangeLinePen System.Drawing.Pen
iAvailableRangeLineLeft System.Int32
iAvailableRangeLineRight System.Int32
iSelectedRangeLineLeft System.Int32
iSelectedRangeLineRight System.Int32
iTop System.Int32
return void
    DrawSelectedRangeLine
    (
        DrawingObjects oDrawingObjects,
        IDynamicFilterRangeTrackBar oDynamicFilterRangeTrackBar,
        Pen oSelectedRangeLinePen,
        Int32 iAvailableRangeLineLeft,
        Int32 iAvailableRangeLineRight,
        out Int32 iSelectedRangeLineLeft,
        out Int32 iSelectedRangeLineRight,
        ref Int32 iTop
    )
    {
        Debug.Assert(oDrawingObjects != null);
        Debug.Assert(oDynamicFilterRangeTrackBar != null);
        Debug.Assert(oSelectedRangeLinePen != null);
        AssertValid();

        iSelectedRangeLineLeft = GetXWithinAvailableLine(
            oDynamicFilterRangeTrackBar.SelectedMinimum,
            oDynamicFilterRangeTrackBar, iAvailableRangeLineLeft,
            iAvailableRangeLineRight);

        iSelectedRangeLineRight = GetXWithinAvailableLine(
            oDynamicFilterRangeTrackBar.SelectedMaximum,
            oDynamicFilterRangeTrackBar, iAvailableRangeLineLeft,
            iAvailableRangeLineRight);

        // Don't let the line have zero width.

        if (iSelectedRangeLineRight == iSelectedRangeLineLeft)
        {
            if (iSelectedRangeLineLeft == iAvailableRangeLineLeft)
            {
                iSelectedRangeLineRight += MinimumSelectedLineWidth;
            }
            else if (iSelectedRangeLineRight == iAvailableRangeLineRight)
            {
                iSelectedRangeLineLeft -= MinimumSelectedLineWidth;
            }
            else
            {
                iSelectedRangeLineLeft -= (MinimumSelectedLineWidth / 2);
                iSelectedRangeLineRight += (MinimumSelectedLineWidth / 2);
            }
        }

        oDrawingObjects.Graphics.DrawLine(oSelectedRangeLinePen,
            iSelectedRangeLineLeft, iTop, iSelectedRangeLineRight, iTop);

        iTop += AvailableLineHeight;
    }