From 40e177b5974522c9a058b4fd2f1aeed280327cd1 Mon Sep 17 00:00:00 2001
From: tjc <tjc@ee4ac58c-ac51-4696-9907-e4b3aa274f04>
Date: Wed, 6 Jan 2010 15:06:28 +0000
Subject: [PATCH] fix for drawing SNPs on a linear plot

git-svn-id: svn+ssh://svn.internal.sanger.ac.uk/repos/svn/pathsoft/artemis/trunk@12825 ee4ac58c-ac51-4696-9907-e4b3aa274f04
---
 uk/ac/sanger/artemis/circular/Block.java | 27 +++++++++++++++++++-----
 1 file changed, 22 insertions(+), 5 deletions(-)

diff --git a/uk/ac/sanger/artemis/circular/Block.java b/uk/ac/sanger/artemis/circular/Block.java
index 355e96695..3473de501 100644
--- a/uk/ac/sanger/artemis/circular/Block.java
+++ b/uk/ac/sanger/artemis/circular/Block.java
@@ -373,7 +373,27 @@ public class Block implements Transferable
     int xstart = (int) ((bstart-(lineNumberStart*basesPerLine))*singleBaseWidth)+borderWidth2;
     int xend   = (int) ((bend-(lineNumberEnd*basesPerLine))*singleBaseWidth)+borderWidth2;
     
-    BasicStroke basicstroke = new BasicStroke(
+    if(rect == null)
+      rect = new Vector();
+    
+    BasicStroke basicstroke;
+    if(bstart == bend)
+    {
+      // SNP / variation feature
+      basicstroke = new BasicStroke(
+          1.f,
+          BasicStroke.CAP_BUTT, 
+          BasicStroke.JOIN_MITER);
+      g2.setStroke(basicstroke);
+      g2.drawLine(xstart,ypos,xstart,(int) (ypos+strokeSize));
+      Rectangle r = new Rectangle();
+      r.setLocation(xstart,ypos);
+      r.setSize(current_dna.getWidth()-borderWidth2-xstart,2);
+      rect.add(r);
+      return;
+    }
+    
+    basicstroke = new BasicStroke(
         strokeSize,
         BasicStroke.CAP_BUTT, 
         BasicStroke.JOIN_MITER);
@@ -386,10 +406,7 @@ public class Block implements Transferable
       xstart+=strokeSize/2;
       g2.fillPolygon(xPoints,yPoints,3);
     }
-    
-    
-    if(rect == null)
-      rect = new Vector();
+
 
     Rectangle r;
     
-- 
GitLab