X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fappletgui%2FOverviewCanvas.java;h=e99c0212f4cdf909edc6939816aa95679e786794;hb=77b160b053c41a5d5c95bf1bbc0fbd066435f70d;hp=ffba5b953c44662dbd5c18c15851e21a8cf3f76e;hpb=af00f89579328012da26b151996997b1735265b4;p=jalview.git diff --git a/src/jalview/appletgui/OverviewCanvas.java b/src/jalview/appletgui/OverviewCanvas.java index ffba5b9..e99c021 100644 --- a/src/jalview/appletgui/OverviewCanvas.java +++ b/src/jalview/appletgui/OverviewCanvas.java @@ -21,18 +21,17 @@ package jalview.appletgui; import jalview.renderer.OverviewRenderer; -import jalview.renderer.seqfeatures.FeatureColourFinder; +import jalview.renderer.OverviewResColourFinder; import jalview.viewmodel.OverviewDimensions; import java.awt.Color; +import java.awt.Component; import java.awt.Dimension; import java.awt.Frame; import java.awt.Graphics; import java.awt.Image; -import javax.swing.JComponent; - -public class OverviewCanvas extends JComponent +public class OverviewCanvas extends Component { // This is set true if the alignment view changes whilst // the overview is being calculated @@ -42,16 +41,14 @@ public class OverviewCanvas extends JComponent private OverviewDimensions od; + private OverviewRenderer or = null; + private Image miniMe; private Image offscreen; private AlignViewport av; - // Can set different properties in this seqCanvas than - // main visible SeqCanvas - private SequenceRenderer sr; - private jalview.renderer.seqfeatures.FeatureRenderer fr; private Frame nullFrame; @@ -65,10 +62,6 @@ public class OverviewCanvas extends JComponent nullFrame = new Frame(); nullFrame.addNotify(); - sr = new SequenceRenderer(av); - sr.graphics = nullFrame.getGraphics(); - sr.renderGaps = false; - sr.forOverview = true; fr = new jalview.renderer.seqfeatures.FeatureRenderer(av); } @@ -94,6 +87,10 @@ public class OverviewCanvas extends JComponent if (updaterunning) { restart = true; + if (or != null) + { + or.setRedraw(true); + } } else { @@ -112,29 +109,28 @@ public class OverviewCanvas extends JComponent { fr.transferSettings(transferRenderer); } - FeatureColourFinder finder = new FeatureColourFinder(fr); setPreferredSize(new Dimension(od.getWidth(), od.getHeight())); - OverviewRenderer or = new OverviewRenderer(sr, finder, od); + or = new OverviewRenderer(fr, od, av.getAlignment(), + av.getResidueShading(), new OverviewResColourFinder()); miniMe = nullFrame.createImage(od.getWidth(), od.getHeight()); offscreen = nullFrame.createImage(od.getWidth(), od.getHeight()); miniMe = or.draw(od.getRows(av.getAlignment()), - od.getColumns(av.getAlignment().getHiddenColumns())); + od.getColumns(av.getAlignment())); Graphics mg = miniMe.getGraphics(); - // check for conservation annotation to make sure overview works for DNA too + // checks for conservation annotation to make sure overview works for DNA + // too if (showAnnotation) { mg.translate(0, od.getSequencesHeight()); or.drawGraph(mg, av.getAlignmentConservationAnnotation(), - av.getCharWidth(), od.getGraphHeight(), - od.getColumns(av.getAlignment().getHiddenColumns())); + od.getGraphHeight(), od.getColumns(av.getAlignment())); mg.translate(0, -od.getSequencesHeight()); } - System.gc(); if (restart) {