JAL-2965 graduate brightness on z-axis from centre of display
[jalview.git] / src / jalview / gui / RotatableCanvas.java
index 2053f94..da48dd6 100755 (executable)
@@ -27,6 +27,7 @@ import jalview.datamodel.SequenceI;
 import jalview.datamodel.SequencePoint;
 import jalview.math.RotatableMatrix;
 import jalview.math.RotatableMatrix.Axis;
+import jalview.util.ColorUtils;
 import jalview.util.MessageManager;
 import jalview.viewmodel.AlignmentViewport;
 
@@ -436,9 +437,20 @@ public class RotatableCanvas extends JPanel implements MouseListener,
         sequenceColour = Color.gray;
       }
     }
-    if (sp.coord.z < 0f)
+
+    /*
+     * graduate brighter for point in front of centre, darker if behind centre
+     */
+    float zCentre = (seqMin[2] + seqMax[2]) / 2f;
+    if (sp.coord.z > zCentre)
+    {
+      sequenceColour = ColorUtils.getGraduatedColour(sp.coord.z, 0,
+              sequenceColour, seqMax[2], sequenceColour.brighter());
+    }
+    else if (sp.coord.z < zCentre)
     {
-      sequenceColour = sequenceColour.darker();
+      sequenceColour = ColorUtils.getGraduatedColour(sp.coord.z, seqMin[2],
+              sequenceColour.darker(), 0, sequenceColour);
     }
 
     return sequenceColour;