X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Frenderer%2FAnnotationRenderer.java;h=ad1fa4ae64eb15056f0060fec2c2b696a3712384;hb=8b18316e038b82c3f0f5472859cbd7732ed9478b;hp=95e320fe71efca0e37a354e294e99af8e770397e;hpb=2e8825511b435aa511396c5a2bdcbc600b91340b;p=jalview.git diff --git a/src/jalview/renderer/AnnotationRenderer.java b/src/jalview/renderer/AnnotationRenderer.java index 95e320f..ad1fa4a 100644 --- a/src/jalview/renderer/AnnotationRenderer.java +++ b/src/jalview/renderer/AnnotationRenderer.java @@ -20,6 +20,18 @@ */ package jalview.renderer; +import java.awt.BasicStroke; +import java.awt.Color; +import java.awt.Font; +import java.awt.FontMetrics; +import java.awt.Graphics; +import java.awt.Graphics2D; +import java.awt.Image; +import java.awt.geom.AffineTransform; +import java.awt.image.ImageObserver; +import java.util.BitSet; +import java.util.Hashtable; + import jalview.analysis.AAFrequency; import jalview.analysis.CodingUtils; import jalview.analysis.Rna; @@ -38,18 +50,6 @@ import jalview.schemes.ResidueProperties; import jalview.schemes.ZappoColourScheme; import jalview.util.Platform; -import java.awt.BasicStroke; -import java.awt.Color; -import java.awt.Font; -import java.awt.FontMetrics; -import java.awt.Graphics; -import java.awt.Graphics2D; -import java.awt.Image; -import java.awt.geom.AffineTransform; -import java.awt.image.ImageObserver; -import java.util.BitSet; -import java.util.Hashtable; - public class AnnotationRenderer { private static final int UPPER_TO_LOWER = 'a' - 'A'; // 32 @@ -468,8 +468,8 @@ public class AnnotationRenderer boolean validRes = false; boolean validEnd = false; boolean labelAllCols = false; -// boolean centreColLabels; -// boolean centreColLabelsDef = av.isCentreColumnLabels(); + // boolean centreColLabels; + // boolean centreColLabelsDef = av.isCentreColumnLabels(); boolean scaleColLabel = false; final AlignmentAnnotation consensusAnnot = av .getAlignmentConsensusAnnotation(); @@ -515,7 +515,7 @@ public class AnnotationRenderer { continue; } -// centreColLabels = row.centreColLabels || centreColLabelsDef; + // centreColLabels = row.centreColLabels || centreColLabelsDef; labelAllCols = row.showAllColLabels; scaleColLabel = row.scaleColLabel; lastSS = ' '; @@ -1077,22 +1077,22 @@ public class AnnotationRenderer .getRendererFor(row); if (renderer != null) { - renderer.renderRow(g, charWidth, charHeight, - hasHiddenColumns, av, hiddenColumns, columnSelection, - row, row_annotations, startRes, endRes, row.graphMin, + renderer.renderRow(g, charWidth, charHeight, hasHiddenColumns, + av, hiddenColumns, columnSelection, row, + row_annotations, startRes, endRes, row.graphMin, row.graphMax, y); } if (debugRedraw) { if (renderer == null) { - System.err.println("No renderer found for " - + row.toString()); + System.err + .println("No renderer found for " + row.toString()); } else { - System.err.println("rendered with " - + renderer.getClass().toString()); + System.err.println( + "rendered with " + renderer.getClass().toString()); } } @@ -1300,8 +1300,7 @@ public class AnnotationRenderer break; } - if (aa_annotations[column] == null - || aa_annotations[column - 1] == null) + if (aa_annotations[column] == null) { x++; continue; @@ -1316,6 +1315,25 @@ public class AnnotationRenderer g.setColor(aa_annotations[column].colour); } + if (aa_annotations[column - 1] == null + && aa_annotations.length > column + 1 + && aa_annotations[column + 1] == null) + { + // standalone value + y1 = y - (int) (((aa_annotations[column].value - min) / range) + * graphHeight); + g.drawLine(x * charWidth + charWidth / 4, y1, + x * charWidth + 3 * charWidth / 4, y1); + x++; + continue; + } + + if (aa_annotations[column - 1] == null) + { + x++; + continue; + } + y1 = y - (int) (((aa_annotations[column - 1].value - min) / range) * graphHeight); y2 = y - (int) (((aa_annotations[column].value - min) / range) @@ -1550,6 +1568,8 @@ public class AnnotationRenderer .deriveFont(AffineTransform.getScaleInstance(sx, sy)); g.setFont(font); g.drawChars(dc, 0, dc.length, x * charWidth, hght); + g.setFont(ofont); + ht += newHeight; } }