Author: tilman Date: Fri Apr 12 17:06:07 2019 New Revision: 1857413 URL: http://svn.apache.org/viewvc?rev=1857413&view=rev Log: PDFBOX-4071: split long method
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/AppearanceGeneratorHelper.java Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/AppearanceGeneratorHelper.java URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/AppearanceGeneratorHelper.java?rev=1857413&r1=1857412&r2=1857413&view=diff ============================================================================== --- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/AppearanceGeneratorHelper.java (original) +++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/AppearanceGeneratorHelper.java Fri Apr 12 17:06:07 2019 @@ -204,25 +204,7 @@ class AppearanceGeneratorHelper } else { - appearanceStream = new PDAppearanceStream(field.getAcroForm().getDocument()); - - // Calculate the entries for the bounding box and the transformation matrix - // settings for the appearance stream - int rotation = resolveRotation(widget); - Matrix matrix = Matrix.getRotateInstance(Math.toRadians(rotation), 0, 0); - Point2D.Float point2D = matrix.transformPoint(rect.getWidth(), rect.getHeight()); - - PDRectangle bbox = new PDRectangle(Math.abs((float) point2D.getX()), Math.abs((float) point2D.getY())); - appearanceStream.setBBox(bbox); - - AffineTransform at = calculateMatrix(bbox, rotation); - if (!at.isIdentity()) - { - appearanceStream.setMatrix(at); - } - appearanceStream.setFormType(1); - - appearanceStream.setResources(new PDResources()); + appearanceStream = prepareNormalAppearanceStream(widget); appearanceDict.setNormalAppearance(appearanceStream); // TODO support appearances other than "normal" @@ -246,6 +228,30 @@ class AppearanceGeneratorHelper defaultAppearance = acroFormAppearance; } } + + private PDAppearanceStream prepareNormalAppearanceStream(PDAnnotationWidget widget) + { + PDAppearanceStream appearanceStream = new PDAppearanceStream(field.getAcroForm().getDocument()); + + // Calculate the entries for the bounding box and the transformation matrix + // settings for the appearance stream + int rotation = resolveRotation(widget); + PDRectangle rect = widget.getRectangle(); + Matrix matrix = Matrix.getRotateInstance(Math.toRadians(rotation), 0, 0); + Point2D.Float point2D = matrix.transformPoint(rect.getWidth(), rect.getHeight()); + + PDRectangle bbox = new PDRectangle(Math.abs((float) point2D.getX()), Math.abs((float) point2D.getY())); + appearanceStream.setBBox(bbox); + + AffineTransform at = calculateMatrix(bbox, rotation); + if (!at.isIdentity()) + { + appearanceStream.setMatrix(at); + } + appearanceStream.setFormType(1); + appearanceStream.setResources(new PDResources()); + return appearanceStream; + } private PDDefaultAppearanceString getWidgetDefaultAppearanceString(PDAnnotationWidget widget) throws IOException {