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
private OverviewDimensions od;
+ private OverviewRenderer or = null;
+
private Image miniMe;
private Image offscreen;
if (updaterunning)
{
restart = true;
+ if (or != null)
+ {
+ or.setRedraw(true);
+ }
}
else
{
}
}
- /**
- * 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)
{
setPreferredSize(new Dimension(od.getWidth(), od.getHeight()));
- OverviewRenderer or = new OverviewRenderer(sr, fr, 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();
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();