JAL-1807 test
[jalviewjs.git] / bin / jalview / appletgui / OverviewPanel.js
index cadd6b7..41baadd 100644 (file)
-Clazz.declarePackage ("jalview.appletgui");\r
-Clazz.load (["awt2swing.Panel", "java.awt.event.MouseListener", "$.MouseMotionListener"], "jalview.appletgui.OverviewPanel", ["awt2swing.Frame", "jalview.appletgui.FeatureRenderer", "$.SequenceRenderer", "java.awt.Color", "$.Dimension", "java.awt.event.ComponentAdapter", "java.lang.Thread"], function () {\r
-c$ = Clazz.decorateAsClass (function () {\r
-this.miniMe = null;\r
-this.offscreen = null;\r
-this.av = null;\r
-this.ap = null;\r
-this.scalew = 1;\r
-this.scaleh = 1;\r
-this.$width = 0;\r
-this.sequencesHeight = 0;\r
-this.graphHeight = 20;\r
-this.boxX = -1;\r
-this.boxY = -1;\r
-this.boxWidth = -1;\r
-this.boxHeight = -1;\r
-this.resizing = false;\r
-this.sr = null;\r
-this.fr = null;\r
-this.nullFrame = null;\r
-this.resizeAgain = false;\r
-Clazz.instantialize (this, arguments);\r
-}, jalview.appletgui, "OverviewPanel", awt2swing.Panel, [Runnable, java.awt.event.MouseMotionListener, java.awt.event.MouseListener]);\r
-Clazz.makeConstructor (c$, \r
-function (ap) {\r
-Clazz.superConstructor (this, jalview.appletgui.OverviewPanel, []);\r
-this.av = ap.av;\r
-this.ap = ap;\r
-this.setLayout (null);\r
-this.nullFrame =  new awt2swing.Frame ();\r
-this.nullFrame.addNotify ();\r
-this.sr =  new jalview.appletgui.SequenceRenderer (this.av);\r
-this.sr.graphics = this.nullFrame.getGraphics ();\r
-this.sr.renderGaps = false;\r
-this.sr.forOverview = true;\r
-this.fr =  new jalview.appletgui.FeatureRenderer (this.av);\r
-var initialScale = this.av.getAlignment ().getWidth () / this.av.getAlignment ().getHeight ();\r
-if (this.av.getSequenceConsensusHash () == null) {\r
-this.graphHeight = 0;\r
-}if (this.av.getAlignment ().getWidth () > this.av.getAlignment ().getHeight ()) {\r
-this.$width = 400;\r
-this.sequencesHeight = Clazz.floatToInt (400 / initialScale);\r
-if (this.sequencesHeight < 40) {\r
-this.sequencesHeight = 40;\r
-}} else {\r
-this.$width = Clazz.floatToInt (400 * initialScale);\r
-this.sequencesHeight = 300;\r
-if (this.$width < 120) {\r
-this.$width = 120;\r
-}}this.setSize ( new java.awt.Dimension (this.$width, this.sequencesHeight + this.graphHeight));\r
-this.addComponentListener (((Clazz.isClassDefined ("jalview.appletgui.OverviewPanel$1") ? 0 : jalview.appletgui.OverviewPanel.$OverviewPanel$1$ ()), Clazz.innerTypeInstance (jalview.appletgui.OverviewPanel$1, this, null)));\r
-this.addMouseMotionListener (this);\r
-this.addMouseListener (this);\r
-this.updateOverviewImage ();\r
-}, "jalview.appletgui.AlignmentPanel");\r
-Clazz.overrideMethod (c$, "mouseEntered", \r
-function (evt) {\r
-}, "java.awt.event.MouseEvent");\r
-Clazz.overrideMethod (c$, "mouseExited", \r
-function (evt) {\r
-}, "java.awt.event.MouseEvent");\r
-Clazz.overrideMethod (c$, "mouseClicked", \r
-function (evt) {\r
-}, "java.awt.event.MouseEvent");\r
-Clazz.overrideMethod (c$, "mouseMoved", \r
-function (evt) {\r
-}, "java.awt.event.MouseEvent");\r
-Clazz.overrideMethod (c$, "mousePressed", \r
-function (evt) {\r
-this.boxX = evt.getX ();\r
-this.boxY = evt.getY ();\r
-this.checkValid ();\r
-}, "java.awt.event.MouseEvent");\r
-Clazz.overrideMethod (c$, "mouseReleased", \r
-function (evt) {\r
-this.boxX = evt.getX ();\r
-this.boxY = evt.getY ();\r
-this.checkValid ();\r
-}, "java.awt.event.MouseEvent");\r
-Clazz.overrideMethod (c$, "mouseDragged", \r
-function (evt) {\r
-this.boxX = evt.getX ();\r
-this.boxY = evt.getY ();\r
-this.checkValid ();\r
-}, "java.awt.event.MouseEvent");\r
-Clazz.defineMethod (c$, "checkValid", \r
-function () {\r
-if (this.boxY < 0) {\r
-this.boxY = 0;\r
-}if (this.boxY > (this.sequencesHeight - this.boxHeight)) {\r
-this.boxY = this.sequencesHeight - this.boxHeight + 1;\r
-}if (this.boxX < 0) {\r
-this.boxX = 0;\r
-}if (this.boxX > (this.$width - this.boxWidth)) {\r
-if (this.av.hasHiddenColumns ()) {\r
-this.boxWidth = Clazz.floatToInt ((this.av.endRes - this.av.startRes + 1) * this.av.getCharWidth () * this.scalew);\r
-}this.boxX = this.$width - this.boxWidth;\r
-}var col = Clazz.floatToInt (this.boxX / this.scalew / this.av.getCharWidth ());\r
-var row = Clazz.floatToInt (this.boxY / this.scaleh / this.av.getCharHeight ());\r
-if (this.av.hasHiddenColumns ()) {\r
-if (!this.av.getColumnSelection ().isVisible (col)) {\r
-return;\r
-}col = this.av.getColumnSelection ().findColumnPosition (col);\r
-}if (this.av.hasHiddenRows ()) {\r
-row = this.av.getAlignment ().getHiddenSequences ().findIndexWithoutHiddenSeqs (row);\r
-}this.ap.setScrollValues (col, row);\r
-this.ap.paintAlignment (false);\r
-});\r
-Clazz.defineMethod (c$, "updateOverviewImage", \r
-function () {\r
-if (this.resizing) {\r
-this.resizeAgain = true;\r
-return;\r
-}if (this.av.isShowSequenceFeatures ()) {\r
-this.fr.transferSettings (this.ap.seqPanel.seqCanvas.fr);\r
-}this.resizing = true;\r
-if ((this.getSize ().width > 0) && (this.getSize ().height > 0)) {\r
-this.$width = this.getSize ().width;\r
-this.sequencesHeight = this.getSize ().height - this.graphHeight;\r
-}this.setSize ( new java.awt.Dimension (this.$width, this.sequencesHeight + this.graphHeight));\r
-var thread =  new Thread (this);\r
-thread.start ();\r
-this.repaint ();\r
-});\r
-Clazz.overrideMethod (c$, "run", \r
-function () {\r
-this.miniMe = null;\r
-var alwidth = this.av.getAlignment ().getWidth ();\r
-var alheight = this.av.getAlignment ().getHeight ();\r
-if (this.av.isShowSequenceFeatures ()) {\r
-this.fr.transferSettings (this.ap.seqPanel.seqCanvas.getFeatureRenderer ());\r
-}if (this.getSize ().width > 0 && this.getSize ().height > 0) {\r
-this.$width = this.getSize ().width;\r
-this.sequencesHeight = this.getSize ().height - this.graphHeight;\r
-}this.setSize ( new java.awt.Dimension (this.$width, this.sequencesHeight + this.graphHeight));\r
-var fullsizeWidth = alwidth * this.av.getCharWidth ();\r
-var fullsizeHeight = alheight * this.av.getCharHeight ();\r
-this.scalew = this.$width / fullsizeWidth;\r
-this.scaleh = this.sequencesHeight / fullsizeHeight;\r
-this.miniMe = this.nullFrame.createImage (this.$width, this.sequencesHeight + this.graphHeight);\r
-this.offscreen = this.nullFrame.createImage (this.$width, this.sequencesHeight + this.graphHeight);\r
-var mg = this.miniMe.getGraphics ();\r
-var sampleCol = alwidth / this.$width;\r
-var sampleRow = alheight / this.sequencesHeight;\r
-var lastcol = 0;\r
-var lastrow = 0;\r
-var xstart = 0;\r
-var ystart = 0;\r
-var color = java.awt.Color.yellow;\r
-var row;\r
-var col;\r
-var sameRow = 0;\r
-var sameCol = 0;\r
-var seq;\r
-var hasHiddenRows = this.av.hasHiddenRows ();\r
-var hasHiddenCols = this.av.hasHiddenColumns ();\r
-var hiddenRow = false;\r
-var alignment = this.av.getAlignment ();\r
-for (row = 0; row <= this.sequencesHeight; row++) {\r
-if (Clazz.floatToInt (row * sampleRow) == lastrow) {\r
-sameRow++;\r
-continue;\r
-}hiddenRow = false;\r
-if (hasHiddenRows) {\r
-seq = alignment.getHiddenSequences ().getHiddenSequence (lastrow);\r
-if (seq == null) {\r
-var index = alignment.getHiddenSequences ().findIndexWithoutHiddenSeqs (lastrow);\r
-seq = alignment.getSequenceAt (index);\r
-} else {\r
-hiddenRow = true;\r
-}} else {\r
-seq = alignment.getSequenceAt (lastrow);\r
-}for (col = 0; col < this.$width; col++) {\r
-if (Clazz.floatToInt (col * sampleCol) == lastcol && Clazz.floatToInt (row * sampleRow) == lastrow) {\r
-sameCol++;\r
-continue;\r
-}lastcol = Clazz.floatToInt (col * sampleCol);\r
-if (seq.getLength () > lastcol) {\r
-color = this.sr.getResidueBoxColour (seq, lastcol);\r
-if (this.av.isShowSequenceFeatures ()) {\r
-color = this.fr.findFeatureColour (color, seq, lastcol);\r
-}} else {\r
-color = java.awt.Color.white;\r
-}if (hiddenRow || (hasHiddenCols && !this.av.getColumnSelection ().isVisible (lastcol))) {\r
-color = color.darker ().darker ();\r
-}mg.setColor (color);\r
-if (sameCol == 1 && sameRow == 1) {\r
-mg.drawLine (xstart, ystart, xstart, ystart);\r
-} else {\r
-mg.fillRect (xstart, ystart, sameCol, sameRow);\r
-}xstart = col;\r
-sameCol = 1;\r
-}\r
-lastrow = Clazz.floatToInt (row * sampleRow);\r
-ystart = row;\r
-sameRow = 1;\r
-}\r
-if (this.av.getAlignmentConservationAnnotation () != null) {\r
-for (col = 0; col < this.$width; col++) {\r
-lastcol = Clazz.floatToInt (col * sampleCol);\r
-{\r
-mg.translate (col, this.sequencesHeight);\r
-this.ap.annotationPanel.renderer.drawGraph (mg, this.av.getAlignmentConservationAnnotation (), this.av.getAlignmentConservationAnnotation ().annotations, Clazz.floatToInt (sampleCol) + 1, this.graphHeight, Clazz.floatToInt (col * sampleCol), Clazz.floatToInt (col * sampleCol) + 1);\r
-mg.translate (-col, -this.sequencesHeight);\r
-}}\r
-}System.gc ();\r
-this.resizing = false;\r
-this.setBoxPosition ();\r
-if (this.resizeAgain) {\r
-this.resizeAgain = false;\r
-this.updateOverviewImage ();\r
-}});\r
-Clazz.defineMethod (c$, "setBoxPosition", \r
-function () {\r
-var fullsizeWidth = this.av.getAlignment ().getWidth () * this.av.getCharWidth ();\r
-var fullsizeHeight = (this.av.getAlignment ().getHeight () + this.av.getAlignment ().getHiddenSequences ().getSize ()) * this.av.getCharHeight ();\r
-var startRes = this.av.getStartRes ();\r
-var endRes = this.av.getEndRes ();\r
-if (this.av.hasHiddenColumns ()) {\r
-startRes = this.av.getColumnSelection ().adjustForHiddenColumns (startRes);\r
-endRes = this.av.getColumnSelection ().adjustForHiddenColumns (endRes);\r
-}var startSeq = this.av.startSeq;\r
-var endSeq = this.av.endSeq;\r
-if (this.av.hasHiddenRows ()) {\r
-startSeq = this.av.getAlignment ().getHiddenSequences ().adjustForHiddenSeqs (startSeq);\r
-endSeq = this.av.getAlignment ().getHiddenSequences ().adjustForHiddenSeqs (endSeq);\r
-}this.scalew = this.$width / fullsizeWidth;\r
-this.scaleh = this.sequencesHeight / fullsizeHeight;\r
-this.boxX = Clazz.floatToInt (startRes * this.av.getCharWidth () * this.scalew);\r
-this.boxY = Clazz.floatToInt (startSeq * this.av.getCharHeight () * this.scaleh);\r
-if (this.av.hasHiddenColumns ()) {\r
-this.boxWidth = Clazz.floatToInt ((endRes - startRes + 1) * this.av.getCharWidth () * this.scalew);\r
-} else {\r
-this.boxWidth = Clazz.floatToInt ((endRes - startRes + 1) * this.av.getCharWidth () * this.scalew);\r
-}this.boxHeight = Clazz.floatToInt ((endSeq - startSeq) * this.av.getCharHeight () * this.scaleh);\r
-this.repaint ();\r
-});\r
-Clazz.overrideMethod (c$, "update", \r
-function (g) {\r
-this.paint (g);\r
-}, "java.awt.Graphics");\r
-Clazz.overrideMethod (c$, "paintComponent", \r
-function (g) {\r
-var og = this.offscreen.getGraphics ();\r
-if (this.miniMe != null) {\r
-og.drawImage (this.miniMe, 0, 0, this);\r
-og.setColor (java.awt.Color.red);\r
-og.drawRect (this.boxX, this.boxY, this.boxWidth, this.boxHeight);\r
-og.drawRect (this.boxX + 1, this.boxY + 1, this.boxWidth - 2, this.boxHeight - 2);\r
-g.drawImage (this.offscreen, 0, 0, this);\r
-}}, "java.awt.Graphics");\r
-c$.$OverviewPanel$1$ = function () {\r
-Clazz.pu$h ();\r
-c$ = Clazz.declareAnonymous (jalview.appletgui, "OverviewPanel$1", java.awt.event.ComponentAdapter);\r
-Clazz.overrideMethod (c$, "componentResized", \r
-function (evt) {\r
-if (this.b$["jalview.appletgui.OverviewPanel"].getSize ().width != this.b$["jalview.appletgui.OverviewPanel"].$width || this.b$["jalview.appletgui.OverviewPanel"].getSize ().height != this.b$["jalview.appletgui.OverviewPanel"].sequencesHeight + this.b$["jalview.appletgui.OverviewPanel"].graphHeight) {\r
-this.b$["jalview.appletgui.OverviewPanel"].updateOverviewImage ();\r
-}}, "java.awt.event.ComponentEvent");\r
-c$ = Clazz.p0p ();\r
-};\r
-});\r
+Clazz.declarePackage ("jalview.appletgui");
+Clazz.load (["awt2swing.Panel", "java.awt.event.MouseListener", "$.MouseMotionListener"], "jalview.appletgui.OverviewPanel", ["awt2swing.Frame", "jalview.appletgui.FeatureRenderer", "$.SequenceRenderer", "java.awt.Color", "$.Dimension", "java.awt.event.ComponentAdapter", "java.lang.Thread"], function () {
+c$ = Clazz.decorateAsClass (function () {
+this.miniMe = null;
+this.offscreen = null;
+this.av = null;
+this.ap = null;
+this.scalew = 1;
+this.scaleh = 1;
+this.$width = 0;
+this.sequencesHeight = 0;
+this.graphHeight = 20;
+this.boxX = -1;
+this.boxY = -1;
+this.boxWidth = -1;
+this.boxHeight = -1;
+this.resizing = false;
+this.sr = null;
+this.fr = null;
+this.nullFrame = null;
+this.resizeAgain = false;
+Clazz.instantialize (this, arguments);
+}, jalview.appletgui, "OverviewPanel", awt2swing.Panel, [Runnable, java.awt.event.MouseMotionListener, java.awt.event.MouseListener]);
+Clazz.makeConstructor (c$, 
+function (ap) {
+Clazz.superConstructor (this, jalview.appletgui.OverviewPanel, []);
+this.av = ap.av;
+this.ap = ap;
+this.setLayout (null);
+this.nullFrame =  new awt2swing.Frame ();
+this.nullFrame.addNotify ();
+this.sr =  new jalview.appletgui.SequenceRenderer (this.av);
+this.sr.graphics = this.nullFrame.getGraphics ();
+this.sr.renderGaps = false;
+this.sr.forOverview = true;
+this.fr =  new jalview.appletgui.FeatureRenderer (this.av);
+var initialScale = this.av.getAlignment ().getWidth () / this.av.getAlignment ().getHeight ();
+if (this.av.getSequenceConsensusHash () == null) {
+this.graphHeight = 0;
+}if (this.av.getAlignment ().getWidth () > this.av.getAlignment ().getHeight ()) {
+this.$width = 400;
+this.sequencesHeight = Clazz.floatToInt (400 / initialScale);
+if (this.sequencesHeight < 40) {
+this.sequencesHeight = 40;
+}} else {
+this.$width = Clazz.floatToInt (400 * initialScale);
+this.sequencesHeight = 300;
+if (this.$width < 120) {
+this.$width = 120;
+}}this.setSize ( new java.awt.Dimension (this.$width, this.sequencesHeight + this.graphHeight));
+this.addComponentListener (((Clazz.isClassDefined ("jalview.appletgui.OverviewPanel$1") ? 0 : jalview.appletgui.OverviewPanel.$OverviewPanel$1$ ()), Clazz.innerTypeInstance (jalview.appletgui.OverviewPanel$1, this, null)));
+this.addMouseMotionListener (this);
+this.addMouseListener (this);
+this.updateOverviewImage ();
+}, "jalview.appletgui.AlignmentPanel");
+Clazz.overrideMethod (c$, "mouseEntered", 
+function (evt) {
+}, "java.awt.event.MouseEvent");
+Clazz.overrideMethod (c$, "mouseExited", 
+function (evt) {
+}, "java.awt.event.MouseEvent");
+Clazz.overrideMethod (c$, "mouseClicked", 
+function (evt) {
+}, "java.awt.event.MouseEvent");
+Clazz.overrideMethod (c$, "mouseMoved", 
+function (evt) {
+}, "java.awt.event.MouseEvent");
+Clazz.overrideMethod (c$, "mousePressed", 
+function (evt) {
+this.boxX = evt.getX ();
+this.boxY = evt.getY ();
+this.checkValid ();
+}, "java.awt.event.MouseEvent");
+Clazz.overrideMethod (c$, "mouseReleased", 
+function (evt) {
+this.boxX = evt.getX ();
+this.boxY = evt.getY ();
+this.checkValid ();
+}, "java.awt.event.MouseEvent");
+Clazz.overrideMethod (c$, "mouseDragged", 
+function (evt) {
+this.boxX = evt.getX ();
+this.boxY = evt.getY ();
+this.checkValid ();
+}, "java.awt.event.MouseEvent");
+Clazz.defineMethod (c$, "checkValid", 
+function () {
+if (this.boxY < 0) {
+this.boxY = 0;
+}if (this.boxY > (this.sequencesHeight - this.boxHeight)) {
+this.boxY = this.sequencesHeight - this.boxHeight + 1;
+}if (this.boxX < 0) {
+this.boxX = 0;
+}if (this.boxX > (this.$width - this.boxWidth)) {
+if (this.av.hasHiddenColumns ()) {
+this.boxWidth = Clazz.floatToInt ((this.av.endRes - this.av.startRes + 1) * this.av.getCharWidth () * this.scalew);
+}this.boxX = this.$width - this.boxWidth;
+}var col = Clazz.floatToInt (this.boxX / this.scalew / this.av.getCharWidth ());
+var row = Clazz.floatToInt (this.boxY / this.scaleh / this.av.getCharHeight ());
+if (this.av.hasHiddenColumns ()) {
+if (!this.av.getColumnSelection ().isVisible (col)) {
+return;
+}col = this.av.getColumnSelection ().findColumnPosition (col);
+}if (this.av.hasHiddenRows ()) {
+row = this.av.getAlignment ().getHiddenSequences ().findIndexWithoutHiddenSeqs (row);
+}this.ap.setScrollValues (col, row);
+this.ap.paintAlignment (false);
+});
+Clazz.defineMethod (c$, "updateOverviewImage", 
+function () {
+if (this.resizing) {
+this.resizeAgain = true;
+return;
+}if (this.av.isShowSequenceFeatures ()) {
+this.fr.transferSettings (this.ap.seqPanel.seqCanvas.fr);
+}this.resizing = true;
+if ((this.getSize ().width > 0) && (this.getSize ().height > 0)) {
+this.$width = this.getSize ().width;
+this.sequencesHeight = this.getSize ().height - this.graphHeight;
+}this.setSize ( new java.awt.Dimension (this.$width, this.sequencesHeight + this.graphHeight));
+var thread =  new Thread (this);
+thread.start ();
+this.repaint ();
+});
+Clazz.overrideMethod (c$, "run", 
+function () {
+this.miniMe = null;
+var alwidth = this.av.getAlignment ().getWidth ();
+var alheight = this.av.getAlignment ().getHeight ();
+if (this.av.isShowSequenceFeatures ()) {
+this.fr.transferSettings (this.ap.seqPanel.seqCanvas.getFeatureRenderer ());
+}if (this.getSize ().width > 0 && this.getSize ().height > 0) {
+this.$width = this.getSize ().width;
+this.sequencesHeight = this.getSize ().height - this.graphHeight;
+}this.setSize ( new java.awt.Dimension (this.$width, this.sequencesHeight + this.graphHeight));
+var fullsizeWidth = alwidth * this.av.getCharWidth ();
+var fullsizeHeight = alheight * this.av.getCharHeight ();
+this.scalew = this.$width / fullsizeWidth;
+this.scaleh = this.sequencesHeight / fullsizeHeight;
+this.miniMe = this.nullFrame.createImage (this.$width, this.sequencesHeight + this.graphHeight);
+this.offscreen = this.nullFrame.createImage (this.$width, this.sequencesHeight + this.graphHeight);
+var mg = this.miniMe.getGraphics ();
+var sampleCol = alwidth / this.$width;
+var sampleRow = alheight / this.sequencesHeight;
+var lastcol = 0;
+var lastrow = 0;
+var xstart = 0;
+var ystart = 0;
+var color = java.awt.Color.yellow;
+var row;
+var col;
+var sameRow = 0;
+var sameCol = 0;
+var seq;
+var hasHiddenRows = this.av.hasHiddenRows ();
+var hasHiddenCols = this.av.hasHiddenColumns ();
+var hiddenRow = false;
+var alignment = this.av.getAlignment ();
+for (row = 0; row <= this.sequencesHeight; row++) {
+if (Clazz.floatToInt (row * sampleRow) == lastrow) {
+sameRow++;
+continue;
+}hiddenRow = false;
+if (hasHiddenRows) {
+seq = alignment.getHiddenSequences ().getHiddenSequence (lastrow);
+if (seq == null) {
+var index = alignment.getHiddenSequences ().findIndexWithoutHiddenSeqs (lastrow);
+seq = alignment.getSequenceAt (index);
+} else {
+hiddenRow = true;
+}} else {
+seq = alignment.getSequenceAt (lastrow);
+}for (col = 0; col < this.$width; col++) {
+if (Clazz.floatToInt (col * sampleCol) == lastcol && Clazz.floatToInt (row * sampleRow) == lastrow) {
+sameCol++;
+continue;
+}lastcol = Clazz.floatToInt (col * sampleCol);
+if (seq.getLength () > lastcol) {
+color = this.sr.getResidueBoxColour (seq, lastcol);
+if (this.av.isShowSequenceFeatures ()) {
+color = this.fr.findFeatureColour (color, seq, lastcol);
+}} else {
+color = java.awt.Color.white;
+}if (hiddenRow || (hasHiddenCols && !this.av.getColumnSelection ().isVisible (lastcol))) {
+color = color.darker ().darker ();
+}mg.setColor (color);
+if (sameCol == 1 && sameRow == 1) {
+mg.drawLine (xstart, ystart, xstart, ystart);
+} else {
+mg.fillRect (xstart, ystart, sameCol, sameRow);
+}xstart = col;
+sameCol = 1;
+}
+lastrow = Clazz.floatToInt (row * sampleRow);
+ystart = row;
+sameRow = 1;
+}
+if (this.av.getAlignmentConservationAnnotation () != null) {
+for (col = 0; col < this.$width; col++) {
+lastcol = Clazz.floatToInt (col * sampleCol);
+{
+mg.translate (col, this.sequencesHeight);
+this.ap.annotationPanel.renderer.drawGraph (mg, this.av.getAlignmentConservationAnnotation (), this.av.getAlignmentConservationAnnotation ().annotations, Clazz.floatToInt (sampleCol) + 1, this.graphHeight, Clazz.floatToInt (col * sampleCol), Clazz.floatToInt (col * sampleCol) + 1);
+mg.translate (-col, -this.sequencesHeight);
+}}
+}System.gc ();
+this.resizing = false;
+this.setBoxPosition ();
+if (this.resizeAgain) {
+this.resizeAgain = false;
+this.updateOverviewImage ();
+}});
+Clazz.defineMethod (c$, "setBoxPosition", 
+function () {
+var fullsizeWidth = this.av.getAlignment ().getWidth () * this.av.getCharWidth ();
+var fullsizeHeight = (this.av.getAlignment ().getHeight () + this.av.getAlignment ().getHiddenSequences ().getSize ()) * this.av.getCharHeight ();
+var startRes = this.av.getStartRes ();
+var endRes = this.av.getEndRes ();
+if (this.av.hasHiddenColumns ()) {
+startRes = this.av.getColumnSelection ().adjustForHiddenColumns (startRes);
+endRes = this.av.getColumnSelection ().adjustForHiddenColumns (endRes);
+}var startSeq = this.av.startSeq;
+var endSeq = this.av.endSeq;
+if (this.av.hasHiddenRows ()) {
+startSeq = this.av.getAlignment ().getHiddenSequences ().adjustForHiddenSeqs (startSeq);
+endSeq = this.av.getAlignment ().getHiddenSequences ().adjustForHiddenSeqs (endSeq);
+}this.scalew = this.$width / fullsizeWidth;
+this.scaleh = this.sequencesHeight / fullsizeHeight;
+this.boxX = Clazz.floatToInt (startRes * this.av.getCharWidth () * this.scalew);
+this.boxY = Clazz.floatToInt (startSeq * this.av.getCharHeight () * this.scaleh);
+if (this.av.hasHiddenColumns ()) {
+this.boxWidth = Clazz.floatToInt ((endRes - startRes + 1) * this.av.getCharWidth () * this.scalew);
+} else {
+this.boxWidth = Clazz.floatToInt ((endRes - startRes + 1) * this.av.getCharWidth () * this.scalew);
+}this.boxHeight = Clazz.floatToInt ((endSeq - startSeq) * this.av.getCharHeight () * this.scaleh);
+this.repaint ();
+});
+Clazz.overrideMethod (c$, "update", 
+function (g) {
+this.paint (g);
+}, "java.awt.Graphics");
+Clazz.overrideMethod (c$, "paintComponent", 
+function (g) {
+var og = this.offscreen.getGraphics ();
+if (this.miniMe != null) {
+og.drawImage (this.miniMe, 0, 0, this);
+og.setColor (java.awt.Color.red);
+og.drawRect (this.boxX, this.boxY, this.boxWidth, this.boxHeight);
+og.drawRect (this.boxX + 1, this.boxY + 1, this.boxWidth - 2, this.boxHeight - 2);
+g.drawImage (this.offscreen, 0, 0, this);
+}}, "java.awt.Graphics");
+c$.$OverviewPanel$1$ = function () {
+Clazz.pu$h ();
+c$ = Clazz.declareAnonymous (jalview.appletgui, "OverviewPanel$1", java.awt.event.ComponentAdapter);
+Clazz.overrideMethod (c$, "componentResized", 
+function (evt) {
+if (this.b$["jalview.appletgui.OverviewPanel"].getSize ().width != this.b$["jalview.appletgui.OverviewPanel"].$width || this.b$["jalview.appletgui.OverviewPanel"].getSize ().height != this.b$["jalview.appletgui.OverviewPanel"].sequencesHeight + this.b$["jalview.appletgui.OverviewPanel"].graphHeight) {
+this.b$["jalview.appletgui.OverviewPanel"].updateOverviewImage ();
+}}, "java.awt.event.ComponentEvent");
+c$ = Clazz.p0p ();
+};
+});