From e23791777e195c31ecdd90d440779b399d724531 Mon Sep 17 00:00:00 2001
From: Tim Molter <tim.molter@gmail.com>
Date: Mon, 13 Apr 2015 23:39:51 +0200
Subject: [PATCH] fix for weird stroke rendering bug

---
 .../java/com/xeiam/xchart/internal/chartpart/Legend.java   | 7 ++++---
 .../java/com/xeiam/xchart/internal/style/GGPlot2Theme.java | 4 ++--
 .../java/com/xeiam/xchart/internal/style/MatlabTheme.java  | 2 +-
 .../java/com/xeiam/xchart/internal/style/XChartTheme.java  | 2 +-
 4 files changed, 8 insertions(+), 7 deletions(-)

diff --git a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/Legend.java b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/Legend.java
index 83dfafcc..1891a9b0 100644
--- a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/Legend.java
+++ b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/Legend.java
@@ -51,7 +51,7 @@ public class Legend implements ChartPart {
 
   /**
    * Constructor
-   * 
+   *
    * @param chartPainter
    */
   public Legend(ChartPainter chartPainter) {
@@ -61,7 +61,7 @@ public class Legend implements ChartPart {
 
   /**
    * get the width of the chart legend
-   * 
+   *
    * @param g
    * @return
    */
@@ -161,7 +161,8 @@ public class Legend implements ChartPart {
       break;
     }
 
-    g.setStroke(new BasicStroke(1, BasicStroke.CAP_BUTT, BasicStroke.JOIN_BEVEL));
+    g.setStroke(new BasicStroke(1, BasicStroke.CAP_BUTT, BasicStroke.JOIN_BEVEL, 10.0f, new float[] { 3.0f, 0.0f }, 0.0f));
+
     Shape rect = new Rectangle2D.Double(xOffset + 1, yOffset + 1, legendBoxWidth - 2, legendBoxHeight - 2);
     g.setColor(styleManager.getLegendBackgroundColor());
     g.fill(rect);
diff --git a/xchart/src/main/java/com/xeiam/xchart/internal/style/GGPlot2Theme.java b/xchart/src/main/java/com/xeiam/xchart/internal/style/GGPlot2Theme.java
index 498c6107..8ece0fc5 100644
--- a/xchart/src/main/java/com/xeiam/xchart/internal/style/GGPlot2Theme.java
+++ b/xchart/src/main/java/com/xeiam/xchart/internal/style/GGPlot2Theme.java
@@ -208,7 +208,7 @@ public class GGPlot2Theme implements Theme {
   @Override
   public Stroke getAxisTickMarksStroke() {
 
-    return new BasicStroke(1.5f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_BEVEL);
+    return new BasicStroke(1.5f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_BEVEL, 10.0f, new float[] { 3.0f, 0.0f }, 0.0f);
   }
 
   @Override
@@ -276,7 +276,7 @@ public class GGPlot2Theme implements Theme {
   @Override
   public Stroke getPlotGridLinesStroke() {
 
-    return new BasicStroke(1.5f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_BEVEL);
+    return new BasicStroke(1.5f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_BEVEL, 10.0f, new float[] { 3.0f, 0.0f }, 0.0f);
   }
 
   // Bar Charts ///////////////////////////////
diff --git a/xchart/src/main/java/com/xeiam/xchart/internal/style/MatlabTheme.java b/xchart/src/main/java/com/xeiam/xchart/internal/style/MatlabTheme.java
index ffd698c3..c8bccc09 100644
--- a/xchart/src/main/java/com/xeiam/xchart/internal/style/MatlabTheme.java
+++ b/xchart/src/main/java/com/xeiam/xchart/internal/style/MatlabTheme.java
@@ -190,7 +190,7 @@ public class MatlabTheme implements Theme {
   @Override
   public Stroke getAxisTickMarksStroke() {
 
-    return new BasicStroke(1, BasicStroke.CAP_BUTT, BasicStroke.JOIN_BEVEL);
+    return new BasicStroke(1, BasicStroke.CAP_BUTT, BasicStroke.JOIN_BEVEL, 10.0f, new float[] { 3.0f, 0.0f }, 0.0f);
   }
 
   @Override
diff --git a/xchart/src/main/java/com/xeiam/xchart/internal/style/XChartTheme.java b/xchart/src/main/java/com/xeiam/xchart/internal/style/XChartTheme.java
index 8e0093f8..ad9b5501 100644
--- a/xchart/src/main/java/com/xeiam/xchart/internal/style/XChartTheme.java
+++ b/xchart/src/main/java/com/xeiam/xchart/internal/style/XChartTheme.java
@@ -190,7 +190,7 @@ public class XChartTheme implements Theme {
   @Override
   public Stroke getAxisTickMarksStroke() {
 
-    return new BasicStroke(1, BasicStroke.CAP_BUTT, BasicStroke.JOIN_BEVEL);
+    return new BasicStroke(1, BasicStroke.CAP_BUTT, BasicStroke.JOIN_BEVEL, 10.0f, new float[] { 3.0f, 0.0f }, 0.0f);
   }
 
   @Override
-- 
GitLab