JAL-1807 still testing
[jalviewjs.git] / bin / jalview / appletgui / OverviewPanel.js
index 41baadd..cadd6b7 100644 (file)
-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 ();
-};
-});
+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