added commented out seqStrings comment.
[jalview.git] / src / jalview / appletgui / SeqCanvas.java
index 3e47139..980be96 100755 (executable)
@@ -243,6 +243,15 @@ public class SeqCanvas
   public void paint(Graphics g)\r
   {\r
 \r
+    if (img != null && (fastPaint\r
+                        || (getSize().width != g.getClipBounds().width)\r
+                        || (getSize().height != g.getClipBounds().height)))\r
+    {\r
+      g.drawImage(img, 0, 0, this);\r
+      fastPaint = false;\r
+      return;\r
+    }\r
+\r
     if (fastPaint)\r
     {\r
       g.drawImage(img, 0, 0, this);\r
@@ -294,6 +303,8 @@ public class SeqCanvas
   int LABEL_WEST, LABEL_EAST;\r
   public int getWrappedCanvasWidth(int cwidth)\r
   {\r
+      cwidth -= cwidth % av.charWidth;\r
+\r
       FontMetrics fm = getFontMetrics(av.getFont());\r
 \r
       LABEL_EAST = 0;\r
@@ -334,15 +345,12 @@ public class SeqCanvas
 \r
     FontMetrics fm = getFontMetrics(av.getFont());\r
 \r
-    int LABEL_EAST = 0;\r
 \r
     if (av.scaleRightWrapped)\r
     {\r
         LABEL_EAST = fm.stringWidth(getMask());\r
     }\r
 \r
-    int LABEL_WEST = 0;\r
-\r
     if (av.scaleLeftWrapped)\r
     {\r
         LABEL_WEST = fm.stringWidth(getMask());\r
@@ -434,7 +442,6 @@ public class SeqCanvas
 \r
   void drawPanel(Graphics g, int startRes, int endRes, int startSeq, int endSeq, int offset)\r
   {\r
-\r
     g.setFont(av.getFont());\r
     sr.renderGaps(av.renderGaps);\r
 \r
@@ -496,7 +503,7 @@ public class SeqCanvas
       groupIndex = 0;\r
   }\r
 \r
-  if ( group != null)\r
+  if ( group != null )\r
   {\r
       do\r
       {\r
@@ -505,6 +512,7 @@ public class SeqCanvas
           boolean inGroup = false;\r
           int top = -1;\r
           int bottom = -1;\r
+          int alHeight = av.alignment.getHeight()-1;\r
 \r
           for (i = startSeq; i < endSeq; i++)\r
           {\r
@@ -519,12 +527,13 @@ public class SeqCanvas
               }\r
 \r
               if ( (sx <= (endRes-startRes)*av.charWidth) &&\r
-                      group.sequences.contains(av.alignment.getSequenceAt(\r
+                      group.getSequences(false).contains(av.alignment.getSequenceAt(\r
                               i)))\r
               {\r
-                if ((bottom == -1) &&\r
-                        !group.sequences.contains(\r
-                            av.alignment.getSequenceAt(i + 1)))\r
+                if ( (bottom == -1) &&\r
+                    (i >= alHeight ||\r
+                     !group.getSequences(false).contains(\r
+                         av.alignment.getSequenceAt(i + 1))))\r
                 {\r
                     bottom = sy + av.charHeight;\r
                 }\r
@@ -532,7 +541,7 @@ public class SeqCanvas
                   if (!inGroup)\r
                   {\r
                       if (((top == -1) && (i == 0)) ||\r
-                              !group.sequences.contains(\r
+                              !group.getSequences(false).contains(\r
                                   av.alignment.getSequenceAt(i - 1)))\r
                       {\r
                           top = sy;\r