using System; using CPF.Drawing; using CPF.ReoGrid.Drawing; namespace CPF.ReoGrid.Chart { public class BarChart : ColumnChart { public BarChart() { this.ShowHorizontalGuideLines = false; this.ShowVerticalGuideLines = true; } protected override ColumnChartPlotView CreateColumnChartPlotView() { return new BarChartPlotView(this); } protected override AxisInfoView CreatePrimaryAxisSerialLabelView(Rect bodyBounds) { return new AxisSerialLabelView(this, AxisTypes.Primary, AxisOrientation.Vertical) { Bounds = this.GetDefaultVerticalAxisInfoViewBounds(bodyBounds) }; } protected override AxisInfoView CreatePrimaryAxisCategoryLabelView(Rect bodyBounds) { return new AxisCategoryLabelView(this, AxisTypes.Primary, AxisOrientation.Horizontal) { Bounds = this.GetDefaultHorizontalAxisInfoViewBounds(bodyBounds) }; } protected override void UpdateAxisLabelViewLayout(Rect plotRect) { FloatingObject horizontalAxisInfoView = this.HorizontalAxisInfoView; float x = this.ClientBounds.X; float num = plotRect.Y - 5f; float num2 = 30f; float num3 = plotRect.Height + 10f; horizontalAxisInfoView.Bounds = new Rect(ref x, ref num, ref num2, ref num3); FloatingObject verticalAxisInfoView = this.VerticalAxisInfoView; x = plotRect.X; num = plotRect.Bottom + 10f; num2 = plotRect.Width; num3 = 10f; verticalAxisInfoView.Bounds = new Rect(ref x, ref num, ref num2, ref num3); } } }