/*\r
* Jalview - A Sequence Alignment Editor and Viewer\r
-* Copyright (C) 2005 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle\r
+* Copyright (C) 2006 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle\r
*\r
* This program is free software; you can redistribute it and/or\r
* modify it under the terms of the GNU General Public License\r
boolean pdbAction = false;\r
boolean seqColoursReady = false;\r
jalview.gui.FeatureRenderer fr;\r
+ Color backgroundColour = Color.black;\r
\r
public PDBCanvas(jalview.gui.SeqCanvas seqcanvas, Sequence seq)\r
{\r
\r
public void drawAll(Graphics g, int width, int height)\r
{\r
- g.setColor(Color.black);\r
+ g.setColor(backgroundColour);\r
g.fillRect(0, 0, width, height);\r
drawScene(g);\r
drawLabels(g);\r
fr.transferSettings( seqcanvas.getFeatureRenderer() );\r
}\r
\r
+ Bond tmp;\r
for (int i = 0; i < chain.bonds.size(); i++)\r
{\r
- Bond tmp = (Bond) chain.bonds.elementAt(i);\r
- tmp.startCol = Color.lightGray;\r
- tmp.endCol = Color.lightGray;\r
+ tmp = (Bond) chain.bonds.elementAt(i);\r
\r
if(chain!=mainchain)\r
continue;\r
{\r
tmp.startCol = seqcanvas.getSequenceRenderer().\r
getResidueBoxColour( sequence, index);\r
- if(tmp.startCol==null)\r
- tmp.startCol = Color.white;\r
\r
if(showFeatures)\r
tmp.startCol = fr.findFeatureColour(tmp.startCol, sequence, index);\r
+\r
+ if(tmp.startCol==null)\r
+ tmp.startCol = Color.white;\r
}\r
}\r
\r
{\r
tmp.endCol = seqcanvas.getSequenceRenderer().\r
getResidueBoxColour( sequence, index);\r
- if(tmp.endCol==null)\r
- tmp.endCol = Color.white;\r
+\r
if(showFeatures)\r
tmp.endCol = fr.findFeatureColour(tmp.endCol, sequence, index);\r
+\r
+ if(tmp.endCol==null)\r
+ tmp.endCol = Color.white;\r
}\r
}\r
}\r
Zsort zsort;\r
public void drawScene(Graphics g)\r
{\r
- if (zbuffer)\r
- {\r
- if(zsort==null)\r
- zsort = new Zsort();\r
+ if (zbuffer)\r
+ {\r
+ if (zsort == null)\r
+ zsort = new Zsort();\r
\r
- zsort.Zsort(visiblebonds);\r
- }\r
+ zsort.Zsort(visiblebonds);\r
+ }\r
\r
- Bond tmpBond=null;\r
- for (int i = 0; i < visiblebonds.size(); i++)\r
- {\r
- tmpBond = (Bond) visiblebonds.elementAt(i);\r
+ Bond tmpBond = null;\r
+ for (int i = 0; i < visiblebonds.size(); i++)\r
+ {\r
+ tmpBond = (Bond) visiblebonds.elementAt(i);\r
\r
- xstart = (int) (((tmpBond.start[0] - centre[0]) * scale) +\r
- (getWidth() / 2));\r
- ystart = (int) (((tmpBond.start[1] - centre[1]) * scale) +\r
- (getHeight() / 2));\r
+ xstart = (int) ( ( (tmpBond.start[0] - centre[0]) * scale) +\r
+ (getWidth() / 2));\r
+ ystart = (int) ( ( (tmpBond.start[1] - centre[1]) * scale) +\r
+ (getHeight() / 2));\r
\r
- xend = (int) (((tmpBond.end[0] - centre[0]) * scale) +\r
- (getWidth() / 2));\r
- yend = (int) (((tmpBond.end[1] - centre[1]) * scale) +\r
- (getHeight() / 2));\r
+ xend = (int) ( ( (tmpBond.end[0] - centre[0]) * scale) +\r
+ (getWidth() / 2));\r
+ yend = (int) ( ( (tmpBond.end[1] - centre[1]) * scale) +\r
+ (getHeight() / 2));\r
\r
- xmid = (xend + xstart) / 2;\r
- ymid = (yend + ystart) / 2;\r
+ xmid = (xend + xstart) / 2;\r
+ ymid = (yend + ystart) / 2;\r
+ if (depthcue && !bymolecule)\r
+ {\r
+ if (tmpBond.start[2] < (centre[2] - (maxwidth / 6)))\r
+ {\r
\r
- if (depthcue && !bymolecule)\r
- {\r
- if (tmpBond.start[2] < (centre[2] - (maxwidth / 6)))\r
- {\r
- g.setColor(tmpBond.startCol.darker().darker());\r
- drawLine(g, xstart, ystart, xmid, ymid);\r
- g.setColor(tmpBond.endCol.darker().darker());\r
- drawLine(g, xmid, ymid, xend, yend);\r
- } else if (tmpBond.start[2] < (centre[2] + (maxwidth / 6))) {\r
- g.setColor(tmpBond.startCol.darker());\r
- drawLine(g, xstart, ystart, xmid, ymid);\r
-\r
- g.setColor(tmpBond.endCol.darker());\r
- drawLine(g, xmid, ymid, xend, yend);\r
- } else {\r
- g.setColor(tmpBond.startCol);\r
- drawLine(g, xstart, ystart, xmid, ymid);\r
+ g.setColor(tmpBond.startCol.darker().darker());\r
+ drawLine(g, xstart, ystart, xmid, ymid);\r
+ g.setColor(tmpBond.endCol.darker().darker());\r
+ drawLine(g, xmid, ymid, xend, yend);\r
\r
- g.setColor(tmpBond.endCol);\r
- drawLine(g, xmid, ymid, xend, yend);\r
- }\r
- } else if (depthcue && bymolecule) {\r
- if (tmpBond.start[2] < (centre[2] - (maxwidth / 6))) {\r
- g.setColor(Color.green.darker().darker());\r
- drawLine(g, xstart, ystart, xend, yend);\r
- } else if (tmpBond.start[2] < (centre[2] + (maxwidth / 6))) {\r
- g.setColor(Color.green.darker());\r
- drawLine(g, xstart, ystart, xend, yend);\r
- } else {\r
- g.setColor(Color.green);\r
- drawLine(g, xstart, ystart, xend, yend);\r
- }\r
- } else if (!depthcue && !bymolecule) {\r
- g.setColor(tmpBond.startCol);\r
- drawLine(g, xstart, ystart, xmid, ymid);\r
- g.setColor(tmpBond.endCol);\r
- drawLine(g, xmid, ymid, xend, yend);\r
- } else {\r
- drawLine(g, xstart, ystart, xend, yend);\r
- }\r
+ }\r
+ else if (tmpBond.start[2] < (centre[2] + (maxwidth / 6)))\r
+ {\r
+ g.setColor(tmpBond.startCol.darker());\r
+ drawLine(g, xstart, ystart, xmid, ymid);\r
\r
- if(highlightBond1!=null && highlightBond1==tmpBond)\r
- {\r
- g.setColor(tmpBond.endCol.brighter().brighter().brighter().brighter());\r
- drawLine(g, xmid, ymid, xend, yend);\r
- }\r
+ g.setColor(tmpBond.endCol.darker());\r
+ drawLine(g, xmid, ymid, xend, yend);\r
+ }\r
+ else\r
+ {\r
+ g.setColor(tmpBond.startCol);\r
+ drawLine(g, xstart, ystart, xmid, ymid);\r
\r
- if(highlightBond2!=null && highlightBond2==tmpBond)\r
- {\r
- g.setColor(tmpBond.startCol.brighter().brighter().brighter().brighter());\r
- drawLine(g, xstart, ystart, xmid, ymid);\r
- }\r
+ g.setColor(tmpBond.endCol);\r
+ drawLine(g, xmid, ymid, xend, yend);\r
+ }\r
+ }\r
+ else if (depthcue && bymolecule)\r
+ {\r
+ if (tmpBond.start[2] < (centre[2] - (maxwidth / 6)))\r
+ {\r
+ g.setColor(Color.green.darker().darker());\r
+ drawLine(g, xstart, ystart, xend, yend);\r
+ }\r
+ else if (tmpBond.start[2] < (centre[2] + (maxwidth / 6)))\r
+ {\r
+ g.setColor(Color.green.darker());\r
+ drawLine(g, xstart, ystart, xend, yend);\r
+ }\r
+ else\r
+ {\r
+ g.setColor(Color.green);\r
+ drawLine(g, xstart, ystart, xend, yend);\r
+ }\r
+ }\r
+ else if (!depthcue && !bymolecule)\r
+ {\r
+ g.setColor(tmpBond.startCol);\r
+ drawLine(g, xstart, ystart, xmid, ymid);\r
+ g.setColor(tmpBond.endCol);\r
+ drawLine(g, xmid, ymid, xend, yend);\r
+ }\r
+ else\r
+ {\r
+ drawLine(g, xstart, ystart, xend, yend);\r
+ }\r
\r
+ if (highlightBond1 != null && highlightBond1 == tmpBond)\r
+ {\r
+ g.setColor(tmpBond.endCol.brighter().brighter().brighter().brighter());\r
+ drawLine(g, xmid, ymid, xend, yend);\r
}\r
\r
+ if (highlightBond2 != null && highlightBond2 == tmpBond)\r
+ {\r
+ g.setColor(tmpBond.startCol.brighter().brighter().brighter().brighter());\r
+ drawLine(g, xstart, ystart, xmid, ymid);\r
+ }\r
+\r
+ }\r
+\r
\r
}\r
\r