Draw
(
DrawingObjects oDrawingObjects
)
{
Debug.Assert(oDrawingObjects != null);
AssertValid();
// If there are edge track bars and vertex track bars, two columns are
// drawn, with the edge track bars in the first column and the vertex
// track bars in the second. If there are only edge or vertex track
// bars, one column is drawn.
Rectangle oColumn1Rectangle, oColumn2Rectangle;
Boolean bHasTwoColumns = false;
if (m_oEdgeDynamicFilterRangeTrackBars.Count > 0 &&
m_oVertexDynamicFilterRangeTrackBars.Count > 0)
{
ControlRectangleToTwoColumns(oDrawingObjects,
out oColumn1Rectangle, out oColumn2Rectangle);
bHasTwoColumns = true;
}
else
{
oColumn1Rectangle = oDrawingObjects.ControlRectangle;
AddMarginsToColumnRectangle(ref oColumn1Rectangle);
oColumn2Rectangle = oColumn1Rectangle;
}
Int32 iBottom = Math.Max(
DrawDynamicFilterRangeTrackBars(oDrawingObjects, "Edge Filters",
m_oEdgeDynamicFilterRangeTrackBars, oColumn1Rectangle),
DrawDynamicFilterRangeTrackBars(oDrawingObjects, "Vertex Filters",
m_oVertexDynamicFilterRangeTrackBars, oColumn2Rectangle)
);
if (bHasTwoColumns)
{
DrawColumnSeparator(oDrawingObjects, oColumn2Rectangle);
}
return (iBottom);
}