- if(!row.hasIcons)\r
- g.drawString(row.annotations[j].displayCharacter, x + charOffset,\r
- y + iconOffset + 2);\r
- }\r
-\r
- if(row.hasIcons)\r
- if(!validRes || row.annotations[j].secondaryStructure!=lastSS[i])\r
- {\r
- switch (lastSS[i])\r
- {\r
- case 'H':\r
- g.setColor(HELIX_COLOUR);\r
- g.fillRoundRect(lastSSX[i], y+4 + iconOffset, x-lastSSX[i], 7, 8, 8);\r
- break;\r
- case 'E':\r
- g.setColor(SHEET_COLOUR);\r
- g.fillRect(lastSSX[i], y + 4 + iconOffset, x-lastSSX[i]-4, 7);\r
- g.fillPolygon(new int[] {x - 4, x- 4, x }\r
- , new int[]{y+ iconOffset, y + 14+ iconOffset, y + 8+ iconOffset}, 3);\r
- break;\r
- case 'C':\r
- break;\r
- default :\r
- g.setColor(Color.gray);\r
- g.fillRect(lastSSX[i], y+6+ iconOffset, x-lastSSX[i], 2);\r
- break;\r
- }\r
-\r
- if(validRes)\r
- lastSS[i] = row.annotations[j].secondaryStructure;\r
- else\r
- lastSS[i] = ' ';\r
- lastSSX[i] = x;\r
- }\r
-\r
- if (validRes && row.isGraph)\r
- {\r
- g.setColor(new Color(0,0,180));\r
- int height = (int)((row.annotations[j].value / row.graphMax)*50);\r
-\r
- if(row.windowLength>1)\r
- {\r
- int total =0;\r
- for(int i2=j- (row.windowLength/2); i2<j+(row.windowLength/2); i2++)\r
- {\r
- if(i2<0 || i2>=av.alignment.getWidth())\r
- continue;\r
-\r
- total += row.annotations[i2].value;\r
- }\r
-\r
- total/=row.windowLength;\r
- height = (int)( (total / row.graphMax) *50);\r
-\r
- }\r
-\r
- g.fillRect(x, y-height, av.charWidth, height );\r
- }\r