From: amwaterhouse Date: Fri, 21 Jul 2006 13:21:31 +0000 (+0000) Subject: Corrected hidden row feature render bug X-Git-Tag: Release_2_1~235 X-Git-Url: http://source.jalview.org/gitweb/?a=commitdiff_plain;h=ef36c8bbd6c5eef95e4d1a2cff57ea772af5110b;p=jalview.git Corrected hidden row feature render bug --- diff --git a/src/jalview/gui/FeatureRenderer.java b/src/jalview/gui/FeatureRenderer.java index b06cace..7c60327 100755 --- a/src/jalview/gui/FeatureRenderer.java +++ b/src/jalview/gui/FeatureRenderer.java @@ -79,33 +79,30 @@ public class FeatureRenderer boolean offscreenRender = false; public Color findFeatureColour(Color initialCol, SequenceI seq, int res) { - int seqindex = av.alignment.findIndex(seq); - return new Color( findFeatureColour (initialCol.getRGB(), - seqindex, res )); + seq, res )); } /** - * This is used by the Molecule Viewer to get the accurate colour - * of the rendered sequence + * This is used by the Molecule Viewer and Overview to + * get the accurate colourof the rendered sequence */ - public int findFeatureColour(int initialCol, int seqIndex, int column) + public int findFeatureColour(int initialCol, SequenceI seq, int column) { if(!av.showSequenceFeatures) return initialCol; - if(seqIndex!=lastSequenceIndex) + if(seq!=lastSeq) { - lastSequence = av.alignment.getSequenceAt(seqIndex); - lastSequenceIndex = seqIndex; - sequenceFeatures = lastSequence.getDatasetSequence().getSequenceFeatures(); + lastSeq = seq; + sequenceFeatures = lastSeq.getDatasetSequence().getSequenceFeatures(); if(sequenceFeatures==null) return initialCol; sfSize = sequenceFeatures.length; } - if(jalview.util.Comparison.isGap(lastSequence.getCharAt(column))) + if(jalview.util.Comparison.isGap(lastSeq.getCharAt(column))) return Color.white.getRGB(); @@ -123,7 +120,7 @@ public class FeatureRenderer { offscreenImage.setRGB(0,0,initialCol); drawSequence(offscreenImage.getGraphics(), - lastSequence, + lastSeq, column,column,0); return offscreenImage.getRGB(0,0); @@ -131,8 +128,8 @@ public class FeatureRenderer else { drawSequence(null, - lastSequence, - lastSequence.findPosition(column), + lastSeq, + lastSeq.findPosition(column), -1, -1); if (currentColour == null) @@ -160,8 +157,7 @@ public class FeatureRenderer */ // String type; // SequenceFeature sf; - int lastSequenceIndex=-1; - SequenceI lastSequence; + SequenceI lastSeq; SequenceFeature [] sequenceFeatures; int sfSize, sfindex, spos, epos; @@ -189,9 +185,9 @@ public class FeatureRenderer sfSize = sequenceFeatures.length; } - if(lastSequence==null || seq!=lastSequence) + if(lastSeq==null || seq!=lastSeq) { - lastSequence = seq; + lastSeq = seq; sequenceFeatures = seq.getDatasetSequence().getSequenceFeatures(); sfSize = sequenceFeatures.length; } @@ -207,8 +203,8 @@ public class FeatureRenderer if(!offscreenRender) { - spos = lastSequence.findPosition(start); - epos = lastSequence.findPosition(end); + spos = lastSeq.findPosition(start); + epos = lastSeq.findPosition(end); } diff --git a/src/jalview/gui/OverviewPanel.java b/src/jalview/gui/OverviewPanel.java index 714eec6..2933841 100755 --- a/src/jalview/gui/OverviewPanel.java +++ b/src/jalview/gui/OverviewPanel.java @@ -281,11 +281,9 @@ public class OverviewPanel extends JPanel implements Runnable seq = av.alignment.getHiddenSequences().getHiddenSequence(lastrow); if (seq == null) { - int index = av.alignment.getHiddenSequences().findIndexWithoutHiddenSeqs(lastrow); - seq = av.alignment.getSequenceAt(index); } else @@ -319,7 +317,7 @@ public class OverviewPanel extends JPanel implements Runnable seq, lastcol).getRGB(); if (av.showSequenceFeatures) - color = fr.findFeatureColour(color, lastrow, lastcol); + color = fr.findFeatureColour(color, seq, lastcol); } else {