protected static void moveAnnotations()

in src/java/org/apache/fop/render/pdf/pdfbox/PDFBoxAdapterUtil.java [171:196]


    protected static void moveAnnotations(PDPage page, List pageAnnotations, AffineTransform at, Rectangle pos) {
        PDRectangle mediaBox = page.getMediaBox();
        PDRectangle cropBox = page.getCropBox();
        PDRectangle viewBox = cropBox != null ? cropBox : mediaBox;
        for (Object obj : pageAnnotations) {
            PDAnnotation annot = (PDAnnotation) obj;
            PDRectangle rect = annot.getRectangle();
            float translateX = (float) (at.getTranslateX() - viewBox.getLowerLeftX());
            float translateY = (float) (at.getTranslateY() - viewBox.getLowerLeftY());
            if (rect != null) {
                rect.setUpperRightX(rect.getUpperRightX() + translateX);
                rect.setLowerLeftX(rect.getLowerLeftX() + translateX);
                rect.setUpperRightY(rect.getUpperRightY() + translateY);
                rect.setLowerLeftY(rect.getLowerLeftY() + translateY);
                int rotation = PDFUtil.getNormalizedRotation(page);
                if (rotation > 0) {
                    AffineTransform transform = AffineTransform.getTranslateInstance(translateX, translateY);
                    float height = (float)pos.getHeight() / 1000f;
                    rotateStream(transform, rotation, height, annot);
                    transform.translate(-translateX, -translateY);
                    rect = applyTransform(rect, transform);
                }
                annot.setRectangle(rect);
            }
        }
    }