diff --git a/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/cyannotator/annotations/ArrowAnnotationImpl.java b/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/cyannotator/annotations/ArrowAnnotationImpl.java index 523f42e60d..15e502378d 100644 --- a/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/cyannotator/annotations/ArrowAnnotationImpl.java +++ b/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/cyannotator/annotations/ArrowAnnotationImpl.java @@ -283,7 +283,7 @@ public void setSource(Annotation source) { if (source != null) source.addArrow(this); - updateBounds(); + // updateBounds(); update(); } @@ -292,14 +292,14 @@ public void setSource(Annotation source) { @Override public void setTarget(Annotation target) { this.target = target; - updateBounds(); + // updateBounds(); update(); } @Override public void setTarget(CyNode target) { this.target = target; - updateBounds(); + // updateBounds(); update(); } @@ -307,7 +307,7 @@ public void setTarget(CyNode target) { public void setTarget(Point2D target) { // Convert target to node coordinates this.target = ViewUtils.getNodeCoordinates(view, target.getX(), target.getY()); - updateBounds(); + // updateBounds(); update(); } @@ -504,7 +504,7 @@ public void drawArrow(Graphics g, boolean isPrinting) { if ((source == null || target == null) && !usedForPreviews) return; - if (!usedForPreviews) + if (!usedForPreviews && !isPrinting) updateBounds(); else arrowLine = getArrowLine(target, source); @@ -596,6 +596,7 @@ private Line2D getRelativeLine(Line2D line, double x, double y, } private void updateBounds() { + xOffset = 0.0; yOffset = 0.0; // We need to take into account our arrows diff --git a/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/cyannotator/annotations/GroupAnnotationImpl.java b/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/cyannotator/annotations/GroupAnnotationImpl.java index b53acd1a5e..853833eb69 100644 --- a/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/cyannotator/annotations/GroupAnnotationImpl.java +++ b/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/cyannotator/annotations/GroupAnnotationImpl.java @@ -346,11 +346,12 @@ public void drawAnnotation(Graphics g, double x, double y, double scaleFactor) { @Override public void paint(Graphics g) { super.paint(g); - updateBounds(); + if (!canvas.isPrinting()) + updateBounds(); Graphics2D g2 = (Graphics2D) g; - if (isSelected()) { + if (isSelected() && !canvas.isPrinting()) { g2.setColor(Color.YELLOW); g2.setStroke(new BasicStroke(2.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER, 10.0f, dash1, 0.0f)); g2.drawRect(0, 0, getWidth(), getHeight());