Author: jahewson Date: Wed Mar 5 20:00:47 2014 New Revision: 1574642 URL: http://svn.apache.org/r1574642 Log: PDFBOX-1939: tidy up PDLineDashPattern
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/documentinterchange/prepress/PDBoxStyle.java pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/PDLineDashPattern.java pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/state/PDExtendedGraphicsState.java Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/documentinterchange/prepress/PDBoxStyle.java URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/documentinterchange/prepress/PDBoxStyle.java?rev=1574642&r1=1574641&r2=1574642&view=diff ============================================================================== --- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/documentinterchange/prepress/PDBoxStyle.java (original) +++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/documentinterchange/prepress/PDBoxStyle.java Wed Mar 5 20:00:47 2014 @@ -183,8 +183,7 @@ public class PDBoxStyle implements COSOb COSArray lineArray = new COSArray(); lineArray.add( d ); //dash phase is not specified and assumed to be zero. - lineArray.add( COSInteger.ZERO ); - pattern = new PDLineDashPattern( lineArray ); + pattern = new PDLineDashPattern( lineArray, 0 ); return pattern; } Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/PDLineDashPattern.java URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/PDLineDashPattern.java?rev=1574642&r1=1574641&r2=1574642&view=diff ============================================================================== --- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/PDLineDashPattern.java (original) +++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/PDLineDashPattern.java Wed Mar 5 20:00:47 2014 @@ -49,17 +49,6 @@ public final class PDLineDashPattern imp } /** - * Creates a new line dash pattern from a COS array. - * @param dashPattern the COS line dash pattern - */ - // todo: get rid of this constructor? - public PDLineDashPattern(COSArray dashPattern) - { - array = dashPattern.toFloatArray(); - phase = 0; - } - - /** * Creates a new line dash pattern from a dash array and phase. * @param array the dash array * @param phase the phase @@ -90,17 +79,6 @@ public final class PDLineDashPattern imp } /** - * This will set the line dash pattern phase. - * - * @param phase The new line dash patter phase. - */ - // todo: make immutable? - /*public void setPhase(int phase) - { - this.phase = phase; - }*/ - - /** * Returns the dash array. * @return the dash array */ @@ -108,28 +86,4 @@ public final class PDLineDashPattern imp { return array.clone(); } - - /** - * Checks if the dashPattern is empty or all values equals 0. - * - * @return true if the dashPattern is empty or all values equals 0 - */ - public boolean isDashPatternEmpty() - { - /*float[] dashPattern = getCOSDashArray().toFloatArray(); - boolean dashPatternEmpty = true; - if (dashPattern != null) - { - for (float x : dashPattern) - { - if (x > 0) - { - dashPatternEmpty = false; - break; - } - } - } - return dashPatternEmpty;*/ - throw new UnsupportedOperationException(); // todo??? - } } Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/state/PDExtendedGraphicsState.java URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/state/PDExtendedGraphicsState.java?rev=1574642&r1=1574641&r2=1574642&view=diff ============================================================================== --- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/state/PDExtendedGraphicsState.java (original) +++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/state/PDExtendedGraphicsState.java Wed Mar 5 20:00:47 2014 @@ -266,7 +266,12 @@ public class PDExtendedGraphicsState imp COSArray dp = (COSArray)graphicsState.getDictionaryObject( COSName.D ); if( dp != null ) { - retval = new PDLineDashPattern( dp ); + COSArray array = new COSArray(); + dp.addAll(dp); + dp.remove(dp.size() - 1); + int phase = dp.getInt(dp.size() - 1); + + retval = new PDLineDashPattern( array, phase ); } return retval; }