Skip to content
This repository has been archived by the owner on Nov 13, 2020. It is now read-only.

Parse Dash Pattern #44

Closed
wants to merge 3 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
10 changes: 1 addition & 9 deletions src/com/mxgraph/canvas/mxGraphicsCanvas2D.java
Expand Up @@ -352,15 +352,7 @@ public void setDashPattern(String value)
{
if (value != null && value.length() > 0)
{
String[] tokens = value.split(" ");
float[] dashpattern = new float[tokens.length];

for (int i = 0; i < tokens.length; i++)
{
dashpattern[i] = (float) (Float.parseFloat(tokens[i]));
}

state.dashPattern = dashpattern;
state.dashPattern = mxUtils.parseDashPattern(value);
}
}

Expand Down
39 changes: 39 additions & 0 deletions src/com/mxgraph/util/mxUtils.java
Expand Up @@ -1715,6 +1715,45 @@ public static String getHexColorString(Color color)
{
return mxHtmlColor.getHexColorString(color);
}

/**
* Convert a string representing a dash pattern into a float array.
* A valid dash pattern is a string of dash widths (floating point values)
* separated by space characters.
*
* @param dashPatternString
* the string representing the dash pattern
* @return float[]
* @exception NumberFormatException
* if any of the dash widths cannot be interpreted as a
* floating point number
*/
public static float[] parseDashPattern(String dashPatternString)
throws NumberFormatException
{
if (dashPatternString != null && dashPatternString.length() > 0)
{
String[] tokens = dashPatternString.split(" ");
float[] dashpattern = new float[tokens.length];
float dashWidth;

for (int i = 0; i < tokens.length; i++)
{
dashWidth = (float) (Float.parseFloat(tokens[i]));
if (dashWidth > 0)
{
dashpattern[i] = dashWidth;
}
else
{
throw NumberFormatException("Dash width must be positive");
}
}

return dashpattern;
}
return null;
}

/**
* Reads the given filename into a string.
Expand Down