X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Frenderer%2FContactMapRenderer.java;fp=src%2Fjalview%2Frenderer%2FContactMapRenderer.java;h=9a295f98262d597ea7f6c86cca77e6c0f73e2899;hb=8b5ae15a094b5a90238bfe39ce10310ed92184d1;hp=9f0cc3507590a848c250cea77f9b99419455fb38;hpb=cc90bba10bcf8748d174520f9aecac80a2ff4550;p=jalview.git diff --git a/src/jalview/renderer/ContactMapRenderer.java b/src/jalview/renderer/ContactMapRenderer.java index 9f0cc35..9a295f9 100644 --- a/src/jalview/renderer/ContactMapRenderer.java +++ b/src/jalview/renderer/ContactMapRenderer.java @@ -20,8 +20,12 @@ */ package jalview.renderer; +import java.awt.BasicStroke; import java.awt.Color; import java.awt.Graphics; +import java.awt.Graphics2D; +import java.awt.RenderingHints; +import java.awt.Stroke; import jalview.api.AlignViewportI; import jalview.datamodel.AlignmentAnnotation; @@ -134,7 +138,7 @@ public abstract class ContactMapRenderer implements AnnotationRowRendererI boolean hasHiddenColumns, AlignViewportI viewport, HiddenColumns hiddenColumns, ColumnSelection columnSelection, AlignmentAnnotation _aa, Annotation[] aa_annotations, int sRes, - int eRes, float min, float max, int y) + int eRes, float min, float max, int y, boolean isVectorRendering) { if (sRes > aa_annotations.length) { @@ -157,6 +161,10 @@ public abstract class ContactMapRenderer implements AnnotationRowRendererI { return; } + Graphics2D g2d = (Graphics2D) g; + g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, + RenderingHints.VALUE_ANTIALIAS_OFF); + g2d.setStroke(thinRectangularLineStroke); while (x < eRes - sRes) { column = sRes + x; @@ -251,14 +259,14 @@ public abstract class ContactMapRenderer implements AnnotationRowRendererI (int) ((col.getBlue() + gpcol.getBlue()) / 2f)); } g.setColor(col); - if (cgeom.pixels_step > 1) + if (isVectorRendering || cgeom.pixels_step > 1) { - g.fillRect(x * charWidth, botY + ht, charWidth, + g2d.fillRect(x * charWidth, botY + ht, charWidth, cgeom.pixels_step); } else { - g.drawLine(x * charWidth, botY + ht, (x + 1) * charWidth, + g2d.drawLine(x * charWidth, botY + ht, (x + 1) * charWidth - 1, botY + ht); } } @@ -267,6 +275,9 @@ public abstract class ContactMapRenderer implements AnnotationRowRendererI } + private static Stroke thinRectangularLineStroke = new BasicStroke(1, + BasicStroke.CAP_BUTT, BasicStroke.JOIN_BEVEL); + Color shadeFor(float min, float max, float value) { return jalview.util.ColorUtils.getGraduatedColour(value, 0,