*/
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;
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
break;
}
- if (aa_annotations[column] == null
- || aa_annotations[column - 1] == null)
+ if (aa_annotations[column] == null)
{
x++;
continue;
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)