public void Draw( Graphics g, PhysicalAxis xAxis, PhysicalAxis yAxis )
{
SequenceAdapter dataTop =
new SequenceAdapter( this.DataSource, this.DataMember, this.OrdinateDataTop, this.AbscissaData );
SequenceAdapter dataBottom =
new SequenceAdapter( this.DataSource, this.DataMember, this.OrdinateDataBottom, this.AbscissaData );
ITransform2D t = Transform2D.GetTransformer( xAxis, yAxis );
for (int i=0; i<dataTop.Count; ++i)
{
PointF physicalBottom = t.Transform( dataBottom[i] );
PointF physicalTop = t.Transform( dataTop[i] );
if (physicalBottom != physicalTop)
{
Rectangle r = new Rectangle( (int)(physicalBottom.X - BarWidth/2), (int)physicalTop.Y,
(int)BarWidth, (int)(physicalBottom.Y - physicalTop.Y) );
g.FillRectangle( this.rectangleBrush_.Get(r), r );
g.DrawRectangle( borderPen_, r );
}
}
}