X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FOverviewPanel.java;h=7ffac1e9da0eab40d69def91c86ddd147cc832ae;hb=9807ea8cc4e867378c52d51b832168d4bc611d29;hp=e20084c21334c035b3c8f65952dbfd0258aeb088;hpb=d03971168d7f0192862cf5b57602ecf3e341b457;p=jalview.git diff --git a/src/jalview/gui/OverviewPanel.java b/src/jalview/gui/OverviewPanel.java index e20084c..7ffac1e 100755 --- a/src/jalview/gui/OverviewPanel.java +++ b/src/jalview/gui/OverviewPanel.java @@ -65,8 +65,10 @@ public class OverviewPanel extends JPanel implements Runnable sr = new SequenceRenderer(av); sr.renderGaps( false ); + sr.forOverview = true; fr = new FeatureRenderer(av); - fr.transparency = ap.seqPanel.seqCanvas.getFeatureRenderer().transparency; + fr.overview = true; + // scale the initial size of overviewpanel to shape of alignment float initialScale = (float) av.alignment.getWidth() / (float) av.alignment.getHeight(); @@ -243,6 +245,14 @@ public class OverviewPanel extends JPanel implements Runnable { miniMe = null; + if (av.showSequenceFeatures) + { + fr.featureGroups = ap.seqPanel.seqCanvas.getFeatureRenderer().featureGroups; + fr.featureColours = ap.seqPanel.seqCanvas.getFeatureRenderer().featureColours; + fr.transparency = ap.seqPanel.seqCanvas.getFeatureRenderer().transparency; + fr.sequenceFeatures = ap.seqPanel.seqCanvas.getFeatureRenderer().sequenceFeatures; + } + int alwidth = av.alignment.getWidth(); int alheight = av.alignment.getHeight(); @@ -266,14 +276,15 @@ public class OverviewPanel extends JPanel implements Runnable float sampleRow = (float) alheight / (float) sequencesHeight; int lastcol=-1, lastrow=-1; - Color color = Color.white; - for (int col = 0; col < width; col++) + int color = Color.white.getRGB(); + int row, col; + for (row = 0; row < sequencesHeight; row++) { - for (int row = 0; row < sequencesHeight; row++) - { + for (col = 0; col < width; col++) + { if((int)(col*sampleCol) == lastcol && (int)(row*sampleRow)==lastrow) { - miniMe.setRGB(col,row,color.getRGB()); + miniMe.setRGB(col,row,color); continue; } @@ -283,17 +294,28 @@ public class OverviewPanel extends JPanel implements Runnable if(av.alignment.getSequenceAt(lastrow).getLength()>lastcol) { color = sr.getResidueBoxColour( - av.alignment.getSequenceAt(lastrow), lastcol); + av.alignment.getSequenceAt(lastrow), lastcol).getRGB(); if(av.showSequenceFeatures) - color = fr.findFeatureColour(color, av.alignment.getSequenceAt(lastrow), - lastcol); + color = fr.findFeatureColour(color, lastrow, lastcol); - } + } + else + { + color = -1; //White + } + + miniMe.setRGB(col,row,color); - miniMe.setRGB(col,row,color.getRGB()); - if (av.conservation != null) + } + } + + if (av.conservation != null) + { + for (col = 0; col < width; col++) + { + lastcol = (int) (col * sampleCol); { mg.translate(col, sequencesHeight); ap.annotationPanel.drawGraph(mg, av.conservation, @@ -301,11 +323,10 @@ public class OverviewPanel extends JPanel implements Runnable graphHeight, (int) (col * sampleCol), (int) (col * sampleCol) + 1); - mg.translate(-col, -sequencesHeight); + mg.translate( -col, -sequencesHeight); } } } - System.gc(); resizing = false;