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;
}