X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FOverviewPanel.java;h=ac2138f6c37b9cda4f06eaf9344659a9fb9cb60f;hb=6e5286721b2711415a80d34364ae24b7a81fe2f9;hp=67cdbc2791b7d10b99a7ffbfc6234af1300a4b3e;hpb=32f013e4de40a95ac786d49a30e802a00bb8f1ba;p=jalview.git diff --git a/src/jalview/gui/OverviewPanel.java b/src/jalview/gui/OverviewPanel.java index 67cdbc2..ac2138f 100755 --- a/src/jalview/gui/OverviewPanel.java +++ b/src/jalview/gui/OverviewPanel.java @@ -22,6 +22,7 @@ package jalview.gui; import jalview.datamodel.SequenceI; import jalview.renderer.AnnotationRenderer; +import jalview.renderer.seqfeatures.FeatureColourFinder; import jalview.viewmodel.OverviewDimensions; import java.awt.Color; @@ -70,7 +71,7 @@ public class OverviewPanel extends JPanel implements Runnable // main visible SeqCanvas private SequenceRenderer sr; - private jalview.renderer.seqfeatures.FeatureRenderer fr; + jalview.renderer.seqfeatures.FeatureRenderer fr; /** * Creates a new OverviewPanel object. @@ -87,7 +88,7 @@ public class OverviewPanel extends JPanel implements Runnable sr = new SequenceRenderer(av); sr.renderGaps = false; sr.forOverview = true; - fr = new FeatureRenderer(alPanel); + fr = new FeatureRenderer(ap); od = new OverviewDimensions(av.getRanges(), av.isShowAnnotation()); @@ -238,9 +239,10 @@ public class OverviewPanel extends JPanel implements Runnable { int lastcol = -1; int lastrow = -1; - int color = Color.white.getRGB(); + int rgbColour = Color.white.getRGB(); SequenceI seq = null; + FeatureColourFinder finder = new FeatureColourFinder(fr); final boolean hasHiddenCols = av.hasHiddenColumns(); boolean hiddenRow = false; @@ -267,18 +269,18 @@ public class OverviewPanel extends JPanel implements Runnable { if (doCopy) { - color = miniMe.getRGB(col, row - 1); + rgbColour = miniMe.getRGB(col, row - 1); } else if ((int) (col * sampleCol) != lastcol || (int) (row * sampleRow) != lastrow) { lastcol = (int) (col * sampleCol); - color = getColumnColourFromSequence(seq, hiddenRow, hasHiddenCols, - lastcol); + rgbColour = getColumnColourFromSequence(seq, hiddenRow, + hasHiddenCols, lastcol, finder); } // else we just use the color we already have , so don't need to set it - miniMe.setRGB(col, row, color); + miniMe.setRGB(col, row, rgbColour); } } } @@ -286,37 +288,26 @@ public class OverviewPanel extends JPanel implements Runnable /* * Find the colour of a sequence at a specified column position */ - private int getColumnColourFromSequence(jalview.datamodel.SequenceI seq, - boolean hiddenRow, boolean hasHiddenCols, int lastcol) + private int getColumnColourFromSequence( + jalview.datamodel.SequenceI seq, + boolean hiddenRow, boolean hasHiddenCols, int lastcol, + FeatureColourFinder finder) { - int color; + Color color = Color.white; - if (seq == null) + if ((seq != null) && (seq.getLength() > lastcol)) { - color = Color.white.getRGB(); - } - else if (seq.getLength() > lastcol) - { - color = sr.getResidueBoxColour(seq, lastcol).getRGB(); - - if (av.isShowSequenceFeatures()) - { - color = fr.findFeatureColour(color, seq, lastcol); - } - } - else - { - color = Color.white.getRGB(); + color = sr.getResidueColour(seq, lastcol, finder); } if (hiddenRow || (hasHiddenCols && !av.getColumnSelection() .isVisible(lastcol))) { - color = new Color(color).darker().darker().getRGB(); + color = color.darker().darker(); } - return color; + return color.getRGB(); } /**