consistent percentage gaps filter for conservation calculation.
[jalview.git] / src / jalview / gui / AnnotationPanel.java
index f14b199..420e369 100755 (executable)
@@ -31,6 +31,8 @@ public class AnnotationPanel extends JPanel implements MouseListener, MouseMotio
 \r
   boolean fastPaint = false;\r
 \r
+  public static int GRAPH_HEIGHT = 40;\r
+\r
 \r
 \r
   public AnnotationPanel(AlignmentPanel ap)\r
@@ -70,7 +72,7 @@ public class AnnotationPanel extends JPanel implements MouseListener, MouseMotio
         aa[i].height += 16;\r
 \r
       if (aa[i].isGraph)\r
-        aa[i].height += 50;\r
+        aa[i].height += GRAPH_HEIGHT;\r
 \r
       if(aa[i].height==0)\r
         aa[i].height = 20;\r
@@ -334,21 +336,22 @@ public class AnnotationPanel extends JPanel implements MouseListener, MouseMotio
                                 ap.annotationPanel.getHeight(),\r
                                 BufferedImage.TYPE_INT_RGB);\r
       gg = (Graphics2D) image.getGraphics();\r
-      gg.setColor(Color.white);\r
-      gg.fillRect(0, 0, imgWidth, getHeight());\r
       gg.setRenderingHint(RenderingHints.KEY_ANTIALIASING,\r
                           RenderingHints.VALUE_ANTIALIAS_ON);\r
       fm = gg.getFontMetrics();\r
       gg.setFont(av.getFont());\r
 \r
-\r
     drawComponent( gg, av.startRes, av.endRes+1);\r
     g.drawImage( image, 0, 0, this);\r
+\r
   }\r
 \r
   public void fastPaint(int horizontal)\r
 {\r
-  if(image==null || horizontal ==0)\r
+  if( horizontal == 0\r
+     || av.alignment.getAlignmentAnnotation()==null\r
+     || av.alignment.getAlignmentAnnotation().length<1\r
+    )\r
   {\r
     repaint();\r
     return;\r
@@ -385,6 +388,8 @@ public class AnnotationPanel extends JPanel implements MouseListener, MouseMotio
     g.fillRect(0,0,(endRes-startRes) *av.charWidth, getHeight());\r
     if(av.alignment.getAlignmentAnnotation()==null || av.alignment.getAlignmentAnnotation().length<1)\r
     {\r
+      g.setColor(Color.white);\r
+      g.fillRect(0,0,getWidth(), getHeight());\r
       g.setColor(Color.black);\r
       g.drawString("Alignment has no annotations",20,15);\r
       return;\r
@@ -398,6 +403,7 @@ public class AnnotationPanel extends JPanel implements MouseListener, MouseMotio
     int iconOffset = av.charHeight/2;\r
     boolean validRes = false;\r
     //\u03B2 \u03B1\r
+\r
     for(int i=0; i<aa.length; i++)\r
     {\r
       AlignmentAnnotation row = aa[i];\r
@@ -497,7 +503,7 @@ public class AnnotationPanel extends JPanel implements MouseListener, MouseMotio
        if (validRes && row.isGraph)\r
        {\r
          g.setColor(new Color(0,0,180));\r
-         int height = (int)((row.annotations[j].value / row.graphMax)*50);\r
+         int height = (int)((row.annotations[j].value / row.graphMax)*GRAPH_HEIGHT);\r
 \r
          if(row.windowLength>1)\r
          {\r
@@ -511,10 +517,10 @@ public class AnnotationPanel extends JPanel implements MouseListener, MouseMotio
            }\r
 \r
            total/=row.windowLength;\r
-           height = (int)( (total / row.graphMax) *50);\r
+           height = (int)( (total / row.graphMax) *GRAPH_HEIGHT);\r
 \r
          }\r
-\r
+         g.setColor(row.annotations[j].colour);\r
          g.fillRect(x, y-height, av.charWidth, height );\r
        }\r
 \r
@@ -565,7 +571,7 @@ public class AnnotationPanel extends JPanel implements MouseListener, MouseMotio
     for(int j=0; j<aa.annotations.length; j++)\r
     {\r
       g.setColor(new Color(0, 0, 180));\r
-      int height = (int) ( (aa.annotations[j].value / aa.graphMax) * 50);\r
+      int height = (int) ( (aa.annotations[j].value / aa.graphMax) * GRAPH_HEIGHT );\r
       g.fillRect(x, y - height, av.charWidth, height);\r
       x+=av.charWidth;\r
     }\r