From adf4ef7bbcf54cf441d44ad9a63d6a77a0700b78 Mon Sep 17 00:00:00 2001 From: Tim Molter <tim.molter@gmail.com> Date: Wed, 3 Apr 2013 13:42:59 +0200 Subject: [PATCH] moved some static methods to Utils --- .../java/com/xeiam/xchart/internal/Utils.java | 24 +++++++++++++++++ .../xchart/internal/chartpart/AxisPair.java | 26 ------------------- .../chartpart/AxisTickBarChartCalculator.java | 5 ++-- .../chartpart/AxisTickDateCalculator.java | 5 ++-- .../AxisTickLogarithmicCalculator.java | 4 +-- .../AxisTickNumericalCalculator.java | 4 +-- .../chartpart/PlotContentBarChart.java | 9 ++++--- .../chartpart/PlotContentLineChart.java | 9 ++++--- 8 files changed, 44 insertions(+), 42 deletions(-) diff --git a/xchart/src/main/java/com/xeiam/xchart/internal/Utils.java b/xchart/src/main/java/com/xeiam/xchart/internal/Utils.java index 01eee8d4..b4fa027a 100644 --- a/xchart/src/main/java/com/xeiam/xchart/internal/Utils.java +++ b/xchart/src/main/java/com/xeiam/xchart/internal/Utils.java @@ -35,6 +35,30 @@ public class Utils { } + /** + * Gets the percentage of working space allowed for tick marks + * + * @param workingSpace + * @return + */ + public static int getTickSpace(int workingSpace) { + + return (int) (workingSpace * 0.95); + } + + /** + * Gets the offset for the beginning of the tick marks + * + * @param workingSpace + * @param tickSpace + * @return + */ + public static int getTickStartOffset(int workingSpace, int tickSpace) { + + int marginSpace = workingSpace - tickSpace; + return (int) (marginSpace / 2.0); + } + public static BigDecimal pow(double base, int exponent) { if (exponent > 0) { diff --git a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisPair.java b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisPair.java index 100a1520..57c4d319 100644 --- a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisPair.java +++ b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisPair.java @@ -157,30 +157,4 @@ public class AxisPair implements ChartPart { return yAxis; } - // Helper Methods /////////////// - - /** - * Gets the percentage of working space allowed for tick marks - * - * @param workingSpace - * @return - */ - public static int getTickSpace(int workingSpace) { - - return (int) (workingSpace * 0.95); - } - - /** - * Gets the offset for the beginning of the tick marks - * - * @param workingSpace - * @param tickSpace - * @return - */ - public static int getTickStartOffset(int workingSpace, int tickSpace) { - - int marginSpace = workingSpace - tickSpace; - return (int) (marginSpace / 2.0); - } - } diff --git a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisTickBarChartCalculator.java b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisTickBarChartCalculator.java index da7b1e99..ef17c937 100644 --- a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisTickBarChartCalculator.java +++ b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisTickBarChartCalculator.java @@ -29,6 +29,7 @@ import java.util.Set; import java.util.TreeSet; import com.xeiam.xchart.Series; +import com.xeiam.xchart.internal.Utils; import com.xeiam.xchart.internal.chartpart.Axis.AxisType; import com.xeiam.xchart.internal.chartpart.Axis.Direction; @@ -57,10 +58,10 @@ public class AxisTickBarChartCalculator extends AxisTickCalculator { private void calculate(ChartPainter chart) { // tick space - a percentage of the working space available for ticks, i.e. 95% - int tickSpace = AxisPair.getTickSpace(workingSpace); // in plot space + int tickSpace = Utils.getTickSpace(workingSpace); // in plot space // where the tick should begin in the working space in pixels - int margin = AxisPair.getTickStartOffset(workingSpace, tickSpace); // in plot space BigDecimal gridStep = getGridStepForDecimal(tickSpace); + int margin = Utils.getTickStartOffset(workingSpace, tickSpace); // in plot space BigDecimal gridStep = getGridStepForDecimal(tickSpace); // get all categories Set<Object> categories = new TreeSet<Object>(); diff --git a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisTickDateCalculator.java b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisTickDateCalculator.java index 5461de0d..45cf1d40 100644 --- a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisTickDateCalculator.java +++ b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisTickDateCalculator.java @@ -24,6 +24,7 @@ package com.xeiam.xchart.internal.chartpart; import java.math.BigDecimal; import com.xeiam.xchart.StyleManager; +import com.xeiam.xchart.internal.Utils; import com.xeiam.xchart.internal.chartpart.Axis.Direction; /** @@ -54,10 +55,10 @@ public class AxisTickDateCalculator extends AxisTickCalculator { private void calculate() { // tick space - a percentage of the working space available for ticks, i.e. 95% - int tickSpace = AxisPair.getTickSpace(workingSpace); // in plot space + int tickSpace = Utils.getTickSpace(workingSpace); // in plot space // where the tick should begin in the working space in pixels - int margin = AxisPair.getTickStartOffset(workingSpace, tickSpace); // in plot space BigDecimal gridStep = getGridStepForDecimal(tickSpace); + int margin = Utils.getTickStartOffset(workingSpace, tickSpace); // in plot space BigDecimal gridStep = getGridStepForDecimal(tickSpace); // the span of the data long span = Math.abs(maxValue.subtract(minValue).longValue()); // in data space diff --git a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisTickLogarithmicCalculator.java b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisTickLogarithmicCalculator.java index 2c98d156..f8e9135d 100644 --- a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisTickLogarithmicCalculator.java +++ b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisTickLogarithmicCalculator.java @@ -62,10 +62,10 @@ public class AxisTickLogarithmicCalculator extends AxisTickCalculator { } // tick space - a percentage of the working space available for ticks, i.e. 95% - int tickSpace = AxisPair.getTickSpace(workingSpace); // in plot space + int tickSpace = Utils.getTickSpace(workingSpace); // in plot space // where the tick should begin in the working space in pixels - int margin = AxisPair.getTickStartOffset(workingSpace, tickSpace); // in plot space BigDecimal gridStep = getGridStepForDecimal(tickSpace); + int margin = Utils.getTickStartOffset(workingSpace, tickSpace); // in plot space BigDecimal gridStep = getGridStepForDecimal(tickSpace); int logMin = (int) Math.floor(Math.log10(minValue.doubleValue())); int logMax = (int) Math.ceil(Math.log10(maxValue.doubleValue())); diff --git a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisTickNumericalCalculator.java b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisTickNumericalCalculator.java index eb262c83..29b21bef 100644 --- a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisTickNumericalCalculator.java +++ b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisTickNumericalCalculator.java @@ -62,10 +62,10 @@ public class AxisTickNumericalCalculator extends AxisTickCalculator { } // tick space - a percentage of the working space available for ticks, i.e. 95% - int tickSpace = AxisPair.getTickSpace(workingSpace); // in plot space + int tickSpace = Utils.getTickSpace(workingSpace); // in plot space // where the tick should begin in the working space in pixels - int margin = AxisPair.getTickStartOffset(workingSpace, tickSpace); // in plot space BigDecimal gridStep = getGridStepForDecimal(tickSpace); + int margin = Utils.getTickStartOffset(workingSpace, tickSpace); // in plot space BigDecimal gridStep = getGridStepForDecimal(tickSpace); BigDecimal gridStep = getGridStep(tickSpace); BigDecimal firstPosition = getFirstPosition(gridStep); diff --git a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/PlotContentBarChart.java b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/PlotContentBarChart.java index d586b986..26a2d4e0 100644 --- a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/PlotContentBarChart.java +++ b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/PlotContentBarChart.java @@ -25,6 +25,7 @@ import java.util.Set; import java.util.TreeSet; import com.xeiam.xchart.Series; +import com.xeiam.xchart.internal.Utils; /** * @author timmolter @@ -47,12 +48,12 @@ public class PlotContentBarChart extends PlotContent { Rectangle bounds = plot.getBounds(); // X-Axis - int xTickSpace = AxisPair.getTickSpace((int) bounds.getWidth()); - int xLeftMargin = AxisPair.getTickStartOffset((int) bounds.getWidth(), xTickSpace); + int xTickSpace = Utils.getTickSpace((int) bounds.getWidth()); + int xLeftMargin = Utils.getTickStartOffset((int) bounds.getWidth(), xTickSpace); // Y-Axis - int yTickSpace = AxisPair.getTickSpace((int) bounds.getHeight()); - int yTopMargin = AxisPair.getTickStartOffset((int) bounds.getHeight(), yTickSpace); + int yTickSpace = Utils.getTickSpace((int) bounds.getHeight()); + int yTopMargin = Utils.getTickStartOffset((int) bounds.getHeight(), yTickSpace); // get all categories Set<Object> categories = new TreeSet<Object>(); diff --git a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/PlotContentLineChart.java b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/PlotContentLineChart.java index 119453a0..e24f7f24 100644 --- a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/PlotContentLineChart.java +++ b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/PlotContentLineChart.java @@ -25,6 +25,7 @@ import java.util.Map; import com.xeiam.xchart.Series; import com.xeiam.xchart.StyleManager.ChartType; +import com.xeiam.xchart.internal.Utils; import com.xeiam.xchart.internal.chartpart.Axis.AxisType; /** @@ -48,12 +49,12 @@ public class PlotContentLineChart extends PlotContent { Rectangle bounds = plot.getBounds(); // X-Axis - int xTickSpace = AxisPair.getTickSpace((int) bounds.getWidth()); - int xLeftMargin = AxisPair.getTickStartOffset((int) bounds.getWidth(), xTickSpace); + int xTickSpace = Utils.getTickSpace((int) bounds.getWidth()); + int xLeftMargin = Utils.getTickStartOffset((int) bounds.getWidth(), xTickSpace); // Y-Axis - int yTickSpace = AxisPair.getTickSpace((int) bounds.getHeight()); - int yTopMargin = AxisPair.getTickStartOffset((int) bounds.getHeight(), yTickSpace); + int yTickSpace = Utils.getTickSpace((int) bounds.getHeight()); + int yTopMargin = Utils.getTickStartOffset((int) bounds.getHeight(), yTickSpace); Map<Integer, Series> seriesMap = getChartPainter().getAxisPair().getSeriesMap(); for (Integer seriesId : seriesMap.keySet()) { -- GitLab