partial patch for JAL-411 - text rendered above features
authorjprocter <jprocter@compbio.dundee.ac.uk>
Tue, 5 Jul 2011 14:00:19 +0000 (15:00 +0100)
committerjprocter <jprocter@compbio.dundee.ac.uk>
Tue, 5 Jul 2011 14:00:19 +0000 (15:00 +0100)
src/jalview/appletgui/SeqCanvas.java
src/jalview/appletgui/SequenceRenderer.java
src/jalview/gui/SeqCanvas.java
src/jalview/gui/SequenceRenderer.java

index fd9d768..1452bb7 100755 (executable)
@@ -581,14 +581,17 @@ public class SeqCanvas extends Panel
       {
         continue;
       }
-
+      // draw box background, possibly with sequence label.
       sr.drawSequence(nextSeq, av.alignment.findAllGroups(nextSeq),
-              startRes, endRes, offset + ((i - startSeq) * av.charHeight));
-
+              startRes, endRes, offset + ((i - startSeq) * av.charHeight), true, !av.showSequenceFeatures);
+      
       if (av.showSequenceFeatures)
       {
         fr.drawSequence(g, nextSeq, startRes, endRes, offset
                 + ((i - startSeq) * av.charHeight));
+        // draw sequence label
+        sr.drawSequence(nextSeq, av.alignment.findAllGroups(nextSeq),
+                startRes, endRes, offset + ((i - startSeq) * av.charHeight), false, true);
       }
 
       // / Highlight search Results once all sequences have been drawn
index 0215e55..b6eeba3 100755 (executable)
@@ -103,8 +103,19 @@ public class SequenceRenderer implements jalview.api.SequenceRenderer
     return resBoxColour;
   }
 
+  /**
+   * draw coloured sequence to the current graphics cursor
+   * @param seq
+   * @param sg
+   * @param start
+   * @param end
+   * @param y1
+   * @param drawBox - draw background
+   * @param drawText - draw text (if shading style permits)
+   */
+
   public void drawSequence(SequenceI seq, SequenceGroup[] sg, int start,
-          int end, int y1)
+          int end, int y1, boolean drawBox, boolean drawText)
   {
     if (seq == null)
     {
@@ -112,10 +123,11 @@ public class SequenceRenderer implements jalview.api.SequenceRenderer
     }
 
     allGroups = sg;
+    if (drawBox) {
+      drawBoxes(seq, start, end, y1);
+    }
 
-    drawBoxes(seq, start, end, y1);
-
-    if (av.validCharWidth)
+    if (av.validCharWidth && drawText)
     {
       drawText(seq, start, end, y1);
     }
index f625838..c8a6a75 100755 (executable)
@@ -697,13 +697,17 @@ public class SeqCanvas extends JComponent
         // empty
         continue;
       }
+      // draw box background, possibly with sequence label.
       sr.drawSequence(nextSeq, av.alignment.findAllGroups(nextSeq),
-              startRes, endRes, offset + ((i - startSeq) * av.charHeight));
-
+              startRes, endRes, offset + ((i - startSeq) * av.charHeight), true, !av.showSequenceFeatures);
+      
       if (av.showSequenceFeatures)
       {
         fr.drawSequence(g, nextSeq, startRes, endRes, offset
                 + ((i - startSeq) * av.charHeight));
+        // draw sequence label
+        sr.drawSequence(nextSeq, av.alignment.findAllGroups(nextSeq),
+                startRes, endRes, offset + ((i - startSeq) * av.charHeight), false, true);
       }
 
       // / Highlight search Results once all sequences have been drawn
index b15851c..f2eae2a 100755 (executable)
@@ -125,35 +125,25 @@ public class SequenceRenderer implements jalview.api.SequenceRenderer
   }
 
   /**
-   * DOCUMENT ME!
-   * 
-   * @param g
-   *          DOCUMENT ME!
+   * draw coloured sequence to the current graphics cursor
    * @param seq
-   *          DOCUMENT ME!
    * @param sg
-   *          DOCUMENT ME!
    * @param start
-   *          DOCUMENT ME!
    * @param end
-   *          DOCUMENT ME!
-   * @param x1
-   *          DOCUMENT ME!
    * @param y1
-   *          DOCUMENT ME!
-   * @param width
-   *          DOCUMENT ME!
-   * @param height
-   *          DOCUMENT ME!
+   * @param drawBox - draw background
+   * @param drawText - draw text (if shading style permits)
    */
   public void drawSequence(SequenceI seq, SequenceGroup[] sg, int start,
-          int end, int y1)
+          int end, int y1, boolean drawBox, boolean drawText)
   {
     allGroups = sg;
 
-    drawBoxes(seq, start, end, y1);
+    if (drawBox) {
+      drawBoxes(seq, start, end, y1);
+    }
 
-    if (av.validCharWidth)
+    if (av.validCharWidth && drawText)
     {
       drawText(seq, start, end, y1);
     }