Changeset 5739 in josm for trunk/src/org/openstreetmap/josm/gui/util/GuiHelper.java
- Timestamp:
- 2013-02-21T19:11:14+01:00 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/gui/util/GuiHelper.java
r5735 r5739 2 2 package org.openstreetmap.josm.gui.util; 3 3 4 import java.awt.BasicStroke; 4 5 import static org.openstreetmap.josm.tools.I18n.tr; 5 6 … … 9 10 import java.awt.Dimension; 10 11 import java.awt.Image; 12 import java.awt.Stroke; 11 13 import java.awt.Toolkit; 12 14 import java.awt.Window; … … 17 19 import java.awt.image.FilteredImageSource; 18 20 import java.lang.reflect.InvocationTargetException; 21 import java.util.Arrays; 19 22 20 23 import javax.swing.GrayFilter; … … 156 159 return timer; 157 160 } 161 162 /** 163 * Return s new BasicStroke object with given thickness and style 164 * @param code = 3.5 -> thickness=3.5px 165 * @param code = 3.5 10 5 -> thickness=3.5px, dashed: 10px filled + 5px empty 166 */ 167 public static Stroke getCustomizedStroke(String code) { 168 String[] s = code.trim().split("[^\\.0-9]+"); 169 170 if (s.length==0) return new BasicStroke(); 171 float w; 172 try { 173 w = Float.parseFloat(s[0]); 174 } catch (NumberFormatException ex) { 175 w = 1.0f; 176 } 177 if (s.length>1) { 178 float dash[]= new float[s.length-1]; 179 try { 180 for (int i=1; i<s.length; i++) { 181 dash[i-1] = Float.parseFloat(s[i]); 182 } 183 } catch (NumberFormatException ex) { 184 System.err.println("Error in stroke preference format: "+code); 185 dash = new float[]{5.0f}; 186 } 187 // dashed stroke 188 return new BasicStroke(w, BasicStroke.CAP_BUTT, 189 BasicStroke.JOIN_MITER, 10.0f, dash, 0.0f); 190 } else { 191 if (w>1) { 192 // thick stroke 193 return new BasicStroke(w, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND); 194 } else { 195 // thin stroke 196 return new BasicStroke(w); 197 } 198 } 199 } 200 158 201 }
Note:
See TracChangeset
for help on using the changeset viewer.