Index: src/Common/DelftTools.Controls.Swf/Charting/ChartCoordinateService.cs =================================================================== diff -u -r8f6ae890fed8e8eae3a32f9c0498a10f82e0ddf9 -r5fc71a385897af92ccb092f2f969b5709afab85a --- src/Common/DelftTools.Controls.Swf/Charting/ChartCoordinateService.cs (.../ChartCoordinateService.cs) (revision 8f6ae890fed8e8eae3a32f9c0498a10f82e0ddf9) +++ src/Common/DelftTools.Controls.Swf/Charting/ChartCoordinateService.cs (.../ChartCoordinateService.cs) (revision 5fc71a385897af92ccb092f2f969b5709afab85a) @@ -6,115 +6,115 @@ { public class ChartCoordinateService : IChartCoordinateService { - private IChart Chart { get; set; } - public ChartCoordinateService(IChart chart) { Chart = chart; } - public int ToDeviceX(double x) + public static int ToDeviceX(IChart chart, double x) { - return ToDeviceX(Chart, x); + return HorizontalReferenceAxis(chart).CalcPosValue(x); } - public int ToDeviceY(double y) + public static int ToDeviceY(IChart chart, double y) { - return ToDeviceY(Chart, y); + return VerticalReferenceAxis(chart).CalcPosValue(y); } - public int ToDeviceWidth(double x) + public static int ToDeviceWidth(IChart chart, double x) { - return ToDeviceWidth(Chart, x); + var xAxis = HorizontalReferenceAxis(chart); + return Math.Abs(xAxis.CalcPosValue(x) - xAxis.CalcPosValue(0)); } - public int ToDeviceHeight(double y) + public static int ToDeviceHeight(IChart chart, double y) { - return ToDeviceHeight(Chart, y); + var yAxis = VerticalReferenceAxis(chart); + return Math.Abs(yAxis.CalcPosValue(y) - yAxis.CalcPosValue(0)); } - public double ToWorldX(int x) + public static double ToWorldX(IChart chart, int x) { - return ToWorldX(Chart, x); + return HorizontalReferenceAxis(chart).CalcPosPoint(x); } - public double ToWorldY(int y) + public static double ToWorldY(IChart chart, int y) { - return ToWorldY(Chart, y); + return VerticalReferenceAxis(chart).CalcPosPoint(y); } - public double ToWorldWidth(int x) + public static double ToWorldWidth(IChart chart, int x) { - return ToWorldWidth(Chart, x); + var xAxis = HorizontalReferenceAxis(chart); + return Math.Abs(xAxis.CalcPosPoint(x) - xAxis.CalcPosPoint(0)); } - public double ToWorldHeight(int y) + public static double ToWorldHeight(IChart chart, int y) { - return ToWorldHeight(Chart, y); + var yAxis = VerticalReferenceAxis(chart); + return Math.Abs(yAxis.CalcPosPoint(y) - yAxis.CalcPosPoint(0)); } - public ICoordinate ToCoordinate(int x, int y) + public static ICoordinate ToCoordinate(IChart chart, int x, int y) { - return ToCoordinate(Chart, x, y); + return new Coordinate(ToWorldX(chart, x), ToWorldY(chart, y)); } - private static IChartAxis VerticalReferenceAxis(IChart chart) + public int ToDeviceX(double x) { - return chart.LeftAxis; + return ToDeviceX(Chart, x); } - private static IChartAxis HorizontalReferenceAxis(IChart chart) + public int ToDeviceY(double y) { - return chart.BottomAxis; + return ToDeviceY(Chart, y); } - public static int ToDeviceX(IChart chart, double x) + public int ToDeviceWidth(double x) { - return HorizontalReferenceAxis(chart).CalcPosValue(x); + return ToDeviceWidth(Chart, x); } - public static int ToDeviceY(IChart chart, double y) + public int ToDeviceHeight(double y) { - return VerticalReferenceAxis(chart).CalcPosValue(y); + return ToDeviceHeight(Chart, y); } - public static int ToDeviceWidth(IChart chart, double x) + public double ToWorldX(int x) { - var xAxis = HorizontalReferenceAxis(chart); - return Math.Abs(xAxis.CalcPosValue(x) - xAxis.CalcPosValue(0)); + return ToWorldX(Chart, x); } - public static int ToDeviceHeight(IChart chart, double y) + public double ToWorldY(int y) { - var yAxis = VerticalReferenceAxis(chart); - return Math.Abs(yAxis.CalcPosValue(y) - yAxis.CalcPosValue(0)); + return ToWorldY(Chart, y); } - public static double ToWorldX(IChart chart, int x) + public double ToWorldWidth(int x) { - return HorizontalReferenceAxis(chart).CalcPosPoint(x); + return ToWorldWidth(Chart, x); } - public static double ToWorldY(IChart chart, int y) + public double ToWorldHeight(int y) { - return VerticalReferenceAxis(chart).CalcPosPoint(y); + return ToWorldHeight(Chart, y); } - public static double ToWorldWidth(IChart chart, int x) + public ICoordinate ToCoordinate(int x, int y) { - var xAxis = HorizontalReferenceAxis(chart); - return Math.Abs(xAxis.CalcPosPoint(x) - xAxis.CalcPosPoint(0)); + return ToCoordinate(Chart, x, y); } - public static double ToWorldHeight(IChart chart, int y) + private IChart Chart { get; set; } + + private static IChartAxis VerticalReferenceAxis(IChart chart) { - var yAxis = VerticalReferenceAxis(chart); - return Math.Abs(yAxis.CalcPosPoint(y) - yAxis.CalcPosPoint(0)); + return chart.LeftAxis; } - public static ICoordinate ToCoordinate(IChart chart, int x, int y) + private static IChartAxis HorizontalReferenceAxis(IChart chart) { - return new Coordinate(ToWorldX(chart, x), ToWorldY(chart, y)); + return chart.BottomAxis; } } } \ No newline at end of file