SetLineDashPattern.java (pdfbox-2.0.23-src) | : | SetLineDashPattern.java (pdfbox-2.0.24-src) | ||
---|---|---|---|---|
skipping to change at line 61 | skipping to change at line 61 | |||
return; | return; | |||
} | } | |||
COSBase base1 = arguments.get(1); | COSBase base1 = arguments.get(1); | |||
if (!(base1 instanceof COSNumber)) | if (!(base1 instanceof COSNumber)) | |||
{ | { | |||
return; | return; | |||
} | } | |||
COSArray dashArray = (COSArray) base0; | COSArray dashArray = (COSArray) base0; | |||
int dashPhase = ((COSNumber) base1).intValue(); | int dashPhase = ((COSNumber) base1).intValue(); | |||
boolean allZero = true; | ||||
for (COSBase base : dashArray) | for (COSBase base : dashArray) | |||
{ | { | |||
if (base instanceof COSNumber) | if (base instanceof COSNumber) | |||
{ | { | |||
COSNumber num = (COSNumber) base; | COSNumber num = (COSNumber) base; | |||
if (num.floatValue() != 0) | if (num.floatValue() != 0) | |||
{ | { | |||
allZero = false; | ||||
break; | break; | |||
} | } | |||
} | } | |||
else | else | |||
{ | { | |||
LOG.warn("dash array has non number element " + base + ", ignore d"); | LOG.warn("dash array has non number element " + base + ", ignore d"); | |||
dashArray = new COSArray(); | dashArray = new COSArray(); | |||
break; | break; | |||
} | } | |||
} | } | |||
if (dashArray.size() > 0 && allZero) | ||||
{ | ||||
LOG.warn("dash lengths all zero, ignored"); | ||||
dashArray = new COSArray(); | ||||
} | ||||
context.setLineDashPattern(dashArray, dashPhase); | context.setLineDashPattern(dashArray, dashPhase); | |||
} | } | |||
@Override | @Override | |||
public String getName() | public String getName() | |||
{ | { | |||
return OperatorName.SET_LINE_DASHPATTERN; | return OperatorName.SET_LINE_DASHPATTERN; | |||
} | } | |||
} | } | |||
End of changes. 3 change blocks. | ||||
7 lines changed or deleted | 0 lines changed or added |