in pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/state/PDExtendedGraphicsState.java [67:175]
public void copyIntoGraphicsState( PDGraphicsState gs ) throws IOException
{
for( COSName key : dict.keySet() )
{
if( key.equals( COSName.LW ) )
{
gs.setLineWidth( defaultIfNull( getLineWidth(), 1 ) );
}
else if( key.equals( COSName.LC ) )
{
gs.setLineCap( getLineCapStyle() );
}
else if( key.equals( COSName.LJ ) )
{
gs.setLineJoin( getLineJoinStyle() );
}
else if( key.equals( COSName.ML ) )
{
gs.setMiterLimit( defaultIfNull( getMiterLimit(), 10 ) );
}
else if( key.equals( COSName.D ) )
{
gs.setLineDashPattern( getLineDashPattern() );
}
else if( key.equals( COSName.RI ) )
{
gs.setRenderingIntent( getRenderingIntent() );
}
else if( key.equals( COSName.OPM ) )
{
Integer overprintMode = getOverprintMode();
gs.setOverprintMode(overprintMode != null ? overprintMode : 0);
}
else if( key.equals( COSName.OP ) )
{
gs.setOverprint( getStrokingOverprintControl());
}
else if( key.equals( COSName.OP_NS ) )
{
gs.setNonStrokingOverprint(getNonStrokingOverprintControl());
}
else if( key.equals( COSName.FONT ) )
{
PDFontSetting setting = getFontSetting();
if (setting != null)
{
gs.getTextState().setFont( setting.getFont() );
gs.getTextState().setFontSize( setting.getFontSize() );
}
}
else if( key.equals( COSName.FL ) )
{
gs.setFlatness( defaultIfNull( getFlatnessTolerance(), 1.0f ) );
}
else if( key.equals( COSName.SM ) )
{
gs.setSmoothness( defaultIfNull( getSmoothnessTolerance(), 0 ) );
}
else if( key.equals( COSName.SA ) )
{
gs.setStrokeAdjustment( getAutomaticStrokeAdjustment() );
}
else if( key.equals( COSName.CA ) )
{
gs.setAlphaConstant( defaultIfNull( getStrokingAlphaConstant(), 1.0f ) );
}
else if( key.equals( COSName.CA_NS ) )
{
gs.setNonStrokeAlphaConstant( defaultIfNull( getNonStrokingAlphaConstant(), 1.0f ) );
}
else if( key.equals( COSName.AIS ) )
{
gs.setAlphaSource( getAlphaSourceFlag() );
}
else if( key.equals( COSName.TK ) )
{
gs.getTextState().setKnockoutFlag( getTextKnockoutFlag() );
}
else if( key.equals( COSName.SMASK ) )
{
PDSoftMask softmask = getSoftMask();
if (softmask != null)
{
// Softmask must know the CTM at the time the ExtGState is activated. Read
// https://bugs.ghostscript.com/show_bug.cgi?id=691157#c7 for a good explanation.
softmask.setInitialTransformationMatrix(gs.getCurrentTransformationMatrix().clone());
}
gs.setSoftMask(softmask);
}
else if( key.equals( COSName.BM ) )
{
gs.setBlendMode( getBlendMode() );
}
else if (key.equals(COSName.TR))
{
if (dict.containsKey(COSName.TR2))
{
// "If both TR and TR2 are present in the same graphics state parameter dictionary,
// TR2 shall take precedence."
continue;
}
gs.setTransfer(getTransfer());
}
else if (key.equals(COSName.TR2))
{
gs.setTransfer(getTransfer2());
}
}
}