Index: applications/editors/josm/plugins/FastDraw/build.xml
===================================================================
--- applications/editors/josm/plugins/FastDraw/build.xml	(revision 29454)
+++ applications/editors/josm/plugins/FastDraw/build.xml	(revision 29457)
@@ -30,7 +30,7 @@
 <project name="FastDraw" default="dist" basedir=".">
     <!-- enter the SVN commit message -->
-    <property name="commit.message" value="JOSM/FastDraw: changed default parameters, fix duplicate point issue, corrected ESC behavior"/>
+    <property name="commit.message" value="JOSM/FastDraw: line stroke and point size customization"/>
     <!-- enter the *lowest* JOSM version this plugin is currently compatible with -->
-    <property name="plugin.main.version" value="5738"/>
+    <property name="plugin.main.version" value="5739"/>
     <!--
       ************************************************
Index: applications/editors/josm/plugins/FastDraw/src/org/openstreetmap/josm/plugins/fastdraw/FDSettings.java
===================================================================
--- applications/editors/josm/plugins/FastDraw/src/org/openstreetmap/josm/plugins/fastdraw/FDSettings.java	(revision 29454)
+++ applications/editors/josm/plugins/FastDraw/src/org/openstreetmap/josm/plugins/fastdraw/FDSettings.java	(revision 29457)
@@ -2,6 +2,8 @@
 
 import java.awt.Color;
+import java.awt.Stroke;
 import java.io.IOException;
 import org.openstreetmap.josm.Main;
+import org.openstreetmap.josm.gui.util.GuiHelper;
 import static org.openstreetmap.josm.tools.I18n.tr;
 
@@ -36,6 +38,10 @@
     public boolean drawClosed;
     public int simplifyMode;
-    public float lineWidth;
     public String autoTags;
+    public Stroke normalStroke;
+    public Stroke simplifiedStroke;
+    public Stroke deleteStroke;
+    public int dotSize;
+    public int bigDotSize;
     
     public void loadPrefs() {
@@ -46,4 +52,12 @@
         COLOR_SELECTEDFRAGMENT = Main.pref.getColor("fastdraw.color.select", Color.blue);
         COLOR_SIMPLIFIED = Main.pref.getColor("fastdraw.color.simplified", Color.orange);
+        
+        normalStroke = GuiHelper.getCustomizedStroke(Main.pref.get("fastdraw.stroke.normal", "2"));
+        deleteStroke = GuiHelper.getCustomizedStroke(Main.pref.get("fastdraw.stroke.delete", "3"));
+        simplifiedStroke = GuiHelper.getCustomizedStroke(Main.pref.get("fastdraw.stroke.simplified", "2"));
+        
+        bigDotSize = Main.pref.getInteger("fastdraw.point.bigsize", 7);
+        dotSize = Main.pref.getInteger("fastdraw.point.normalsize", 5);
+        
         maxDist = Main.pref.getDouble("fastdraw.maxdist", 5);
         epsilonMult = Main.pref.getDouble("fastdraw.epsilonmult", 1.1);
@@ -59,15 +73,8 @@
         drawClosed =  Main.pref.getBoolean("fastdraw.drawclosed", false);
         simplifyMode = Main.pref.getInteger("fastdraw.simplifymode", 0);
-        lineWidth = (float) Main.pref.getDouble("fastdraw.linewidth", 2);
         autoTags = Main.pref.get("fastdraw.autotags");
     }
 
     public void savePrefs() {
-         Main.pref.putColor("fastdraw.color.delete", COLOR_DELETE );
-         Main.pref.putColor("fastdraw.color.edit", COLOR_EDITEDFRAGMENT);
-         Main.pref.putColor("fastdraw.color.fixed", COLOR_FIXED);
-         Main.pref.putColor("fastdraw.color.normal", COLOR_NORMAL);
-         Main.pref.putColor("fastdraw.color.select", COLOR_SELECTEDFRAGMENT);
-         Main.pref.getColor("fastdraw.color.simplified", COLOR_SIMPLIFIED);
          Main.pref.putDouble("fastdraw.maxdist", maxDist);
          Main.pref.putDouble("fastdraw.epsilonmult", epsilonMult);
@@ -83,5 +90,4 @@
          Main.pref.put("fastdraw.drawclosed", drawClosed);
          Main.pref.putInteger("fastdraw.simplifymode", simplifyMode);
-         Main.pref.putDouble("fastdraw.linewidth",(double)lineWidth);
          Main.pref.put("fastdraw.autotags", autoTags);
          try {Main.pref.save();} catch (IOException e) {
Index: applications/editors/josm/plugins/FastDraw/src/org/openstreetmap/josm/plugins/fastdraw/FastDrawingMode.java
===================================================================
--- applications/editors/josm/plugins/FastDraw/src/org/openstreetmap/josm/plugins/fastdraw/FastDrawingMode.java	(revision 29454)
+++ applications/editors/josm/plugins/FastDraw/src/org/openstreetmap/josm/plugins/fastdraw/FastDrawingMode.java	(revision 29457)
@@ -8,10 +8,8 @@
 
 import java.awt.AWTEvent;
-import java.awt.BasicStroke;
 import java.awt.Color;
 import java.awt.Cursor;
 import java.awt.Graphics2D;
 import java.awt.Point;
-import java.awt.Stroke;
 import java.awt.Toolkit;
 import java.awt.event.*;
@@ -61,6 +59,4 @@
     private boolean shift;
     private double eps;
-    private Stroke strokeForSimplified;
-    private Stroke strokeForOriginal;
     private final Cursor cursorDraw;
     private final Cursor cursorCtrl;
@@ -72,5 +68,4 @@
     private LatLon highlighted;
     private int nearestIdx;
-    private Stroke strokeForDelete;
     private int dragNode=-1;
     private SequenceCommand delCmd;
@@ -113,10 +108,4 @@
         settings.savePrefs();
 
-        strokeForOriginal = new BasicStroke(settings.lineWidth);
-        strokeForDelete = new BasicStroke(3);
-        //strokeForSimplified = new BasicStroke(1,BasicStroke.CAP_ROUND,BasicStroke.JOIN_BEVEL,5f,
-        //        new float[]{5.f,5f},0f);
-        strokeForSimplified = strokeForOriginal;
-        
         eps=settings.startingEps;
         mv = Main.map.mapView;
@@ -187,19 +176,21 @@
         if (line.wasSimplified()) {
             // we are drawing simplified version, that exists
-            g.setStroke(strokeForSimplified);
+            g.setStroke(settings.simplifiedStroke);
         } else {
-            g.setStroke(strokeForOriginal);
-        }
-        
+            g.setStroke(settings.normalStroke);
+        }
+        
+        int bigDotSize = settings.bigDotSize;
+
         Point p1, p2;
         LatLon pp1, pp2;
         p1 = line.getPoint(pts.get(0));
         g.setColor(settings.COLOR_FIXED);
-        g.fillOval(p1.x - 3, p1.y - 3, 7, 7);
+        g.fillOval(p1.x - bigDotSize/2, p1.y - bigDotSize/2, bigDotSize, bigDotSize);
         Color lineColor,initLineColor;
         initLineColor = line.wasSimplified() ? settings.COLOR_SIMPLIFIED: settings.COLOR_NORMAL;
         lineColor = initLineColor;
         int rp,dp;
-        dp=line.wasSimplified() ? 7:(int)(3+((int) settings.lineWidth)/2*2);  rp=dp/2;
+        dp=line.wasSimplified() ? settings.bigDotSize : settings.dotSize;  rp=dp/2;
         if (pts.size() > 1) {
         Iterator<LatLon> it1,it2;
@@ -218,5 +209,5 @@
                     lineColor=initLineColor;
                     g.setColor(settings.COLOR_FIXED);
-                    g.fillOval(p2.x - 3, p2.y - 3, 7, 7);
+                    g.fillOval(p2.x - bigDotSize/2, p2.y - bigDotSize/2, bigDotSize, bigDotSize);
                 } else {
                     g.fillRect(p2.x - rp, p2.y - rp, dp, dp);
@@ -226,15 +217,15 @@
                     if (shift) {
                         // highlight node to delete
-                        g.setStroke(strokeForDelete);
+                        g.setStroke(settings.deleteStroke);
                         g.setColor(settings.COLOR_DELETE);
                         g.drawLine(p2.x - 5, p2.y - 5,p2.x + 5, p2.y + 5);
                         g.drawLine(p2.x - 5, p2.y + 5,p2.x + 5, p2.y - 5);
-                        g.setStroke(strokeForOriginal);
+                        g.setStroke(settings.normalStroke);
                     } else if (ctrl) {
                         // highlight node to toggle fixation
-                        g.setStroke(strokeForDelete);
+                        g.setStroke(settings.deleteStroke);
                         g.setColor( line.isFixed(pp2) ? settings.COLOR_NORMAL: settings.COLOR_FIXED);
-                        g.drawOval(p2.x - 5, p2.y - 5, 11, 11);
-                        g.setStroke(strokeForOriginal);
+                        g.fillOval(p2.x - bigDotSize/2-2, p2.y - bigDotSize/2-2, bigDotSize+4, bigDotSize+4);
+                        g.setStroke(settings.normalStroke);
                     } 
                     }
