+ * Answers the index in the annotations array of the visible annotation at the
+ * given y position. This is done by adding the heights of visible annotations
+ * until the y position has been exceeded. Answers -1 if no annotations are
+ * visible, or the y position is below all annotations.
+ *
+ * @param yPos
+ * @param aa
+ * @return
+ */
+ static int getRowIndex(int yPos, AlignmentAnnotation[] aa)
+ {
+ if (aa == null)
+ {
+ return -1;
+ }
+ int row = -1;
+ int height = 0;
+
+ for (int i = 0; i < aa.length; i++)
+ {
+ if (aa[i].visible)
+ {
+ height += aa[i].height;
+ }
+
+ if (height > yPos)
+ {
+ row = i;
+ break;
+ }
+ }
+ return row;
+ }
+
+ /**
+ * Answers a tooltip for the annotation at the current mouse position