- boxX = (int) (av.getStartRes() * av.getCharWidth() * scalew);\r
- boxY = (int) (av.getStartSeq() * av.getCharHeight() * scaleh);\r
- boxWidth = (int) ( (av.getEndRes() - av.getStartRes() + 1) *\r
- av.getCharWidth() * scalew);\r
- boxHeight = (int) (av.getEndSeq() * av.getCharHeight() * scaleh) - boxY;\r
+ int fullsizeWidth = av.alignment.getWidth() * av.getCharWidth();\r
+ int fullsizeHeight = (av.alignment.getHeight()\r
+ + av.alignment.getHiddenSequences().getSize()) *\r
+ av.getCharHeight();\r
+\r
+ int startRes = av.getStartRes();\r
+ int endRes = av.getEndRes();\r
+\r
+ if (av.hasHiddenColumns)\r
+ {\r
+ startRes = av.getColumnSelection().adjustForHiddenColumns(startRes);\r
+ endRes = av.getColumnSelection().adjustForHiddenColumns(endRes);\r
+ }\r
+\r
+ int startSeq = av.startSeq;\r
+ int endSeq = av.endSeq;\r
+\r
+ if (av.hasHiddenRows)\r
+ {\r
+ startSeq =\r
+ av.alignment.getHiddenSequences().adjustForHiddenSeqs(startSeq);\r
+\r
+ endSeq =\r
+ av.alignment.getHiddenSequences().adjustForHiddenSeqs(endSeq);\r
+\r
+ }\r
+\r
+ scalew = (float) width / (float) fullsizeWidth;\r
+ scaleh = (float) sequencesHeight / (float) fullsizeHeight;\r
+\r
+ boxX = (int) (startRes * av.getCharWidth() * scalew);\r
+ boxY = (int) (startSeq * av.getCharHeight() * scaleh);\r
+\r
+ if (av.hasHiddenColumns)\r
+ boxWidth = (int) ( (endRes - startRes + 1) * av.getCharWidth() * scalew);\r
+ else\r
+ boxWidth = (int) ( (endRes - startRes + 1) * av.getCharWidth() * scalew);\r
+\r
+ boxHeight = (int) ( (endSeq - startSeq) * av.getCharHeight() * scaleh);\r
+\r