X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fappletgui%2FOverviewCanvas.java;h=a0466d3c85174e2f9a3969c30aaa20079d566149;hb=21fb81914f40016a2860c71948a4a2759c9e153c;hp=ede3b94d89d02f2b533e31a771dbc7ff10af96c0;hpb=e4bc7e3c94320f057b6015ba6262ac84edb6788d;p=jalview.git diff --git a/src/jalview/appletgui/OverviewCanvas.java b/src/jalview/appletgui/OverviewCanvas.java index ede3b94..a0466d3 100644 --- a/src/jalview/appletgui/OverviewCanvas.java +++ b/src/jalview/appletgui/OverviewCanvas.java @@ -21,17 +21,16 @@ package jalview.appletgui; import jalview.renderer.OverviewRenderer; -import jalview.renderer.seqfeatures.FeatureColourFinder; 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 java.awt.Panel; -public class OverviewCanvas extends Panel +public class OverviewCanvas extends Component { // This is set true if the alignment view changes whilst // the overview is being calculated @@ -41,6 +40,8 @@ public class OverviewCanvas extends Panel private OverviewDimensions od; + private OverviewRenderer or = null; + private Image miniMe; private Image offscreen; @@ -93,6 +94,10 @@ public class OverviewCanvas extends Panel if (updaterunning) { restart = true; + if (or != null) + { + or.setRedraw(true); + } } else { @@ -102,16 +107,6 @@ public class OverviewCanvas extends Panel } } - /** - * Draw the overview sequences - * - * @param showSequenceFeatures - * true if sequence features are to be shown - * @param showAnnotation - * true if the annotation is to be shown - * @param transferRenderer - * the renderer to transfer feature colouring from - */ public void draw(boolean showSequenceFeatures, boolean showAnnotation, FeatureRenderer transferRenderer) { @@ -121,16 +116,15 @@ public class OverviewCanvas extends Panel { 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(sr, fr, od); 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(); @@ -141,7 +135,7 @@ public class OverviewCanvas extends Panel mg.translate(0, od.getSequencesHeight()); or.drawGraph(mg, av.getAlignmentConservationAnnotation(), av.getCharWidth(), od.getGraphHeight(), - od.getColumns(av.getAlignment().getHiddenColumns())); + od.getColumns(av.getAlignment())); mg.translate(0, -od.getSequencesHeight()); } System.gc();