\r
boolean fastPaint = false;\r
\r
- boolean isOverview = false;\r
\r
public SeqCanvas(AlignViewport av)\r
{\r
fr = new FeatureRenderer(av);\r
sr = new SequenceRenderer(av);\r
PaintRefresher.Register(this, av.alignment);\r
+ }\r
\r
+ public AlignViewport getViewport()\r
+ {\r
+ return av;\r
+ }\r
+\r
+ public FeatureRenderer getFeatureRenderer()\r
+ {\r
+ return fr;\r
}\r
\r
+ MCview.AppletPDBCanvas pdbCanvas;\r
+ public SequenceRenderer getSequenceRenderer()\r
+ {\r
+ return sr;\r
+ }\r
+\r
+ public void setPDBCanvas(MCview.AppletPDBCanvas pc)\r
+ {\r
+ pdbCanvas = pc;\r
+ }\r
+\r
+\r
void drawNorthScale(Graphics g, int startx, int endx, int ypos)\r
{\r
int scalestartx = startx - startx % 10 + 10;\r
\r
g.drawImage(img, 0, 0, this);\r
\r
+ if (pdbCanvas != null)\r
+ {\r
+ pdbCanvas.updateSeqColours();\r
+ }\r
}\r
\r
int LABEL_WEST, LABEL_EAST;\r
\r
if(av.showAnnotation)\r
{\r
- g.translate(0, cHeight + ypos);\r
+ g.translate(0, cHeight + ypos+4);\r
if(annotations==null)\r
annotations = new AnnotationPanel(av);\r
\r
annotations.drawComponent( g, startRes, endx + 1);\r
- g.translate(0, -cHeight - ypos);\r
+ g.translate(0, -cHeight - ypos-4);\r
}\r
g.translate(-LABEL_WEST, 0);\r
\r
group = (SequenceGroup) groups.elementAt(0);\r
groupIndex = 0;\r
}\r
- if (group != null && !isOverview)\r
+ if (group != null)\r
{\r
do\r
{\r
group.sequences.contains(av.alignment.getSequenceAt(\r
i)))\r
{\r
- if ((bottom == -1) &&\r
- !group.sequences.contains(\r
- av.alignment.getSequenceAt(i + 1)))\r
- {\r
+\r
+ if (bottom == -1)\r
+ {\r
+ if(i == y2-1 || // Dont check for i+1 if on the bottom row\r
+ !group.sequences.contains(av.alignment.getSequenceAt(i+1 )))\r
+\r
bottom = sy + av.charHeight;\r
}\r
\r