int wrappedBlock = -1;
+ MousePos findMousePosition(MouseEvent evt)
+ {
+ return findMousePosition(evt, false);
+ }
+
/**
* Computes the column and sequence row (and possibly annotation row when in
* wrapped mode) for the given mouse position
* @param evt
* @return
*/
- MousePos findMousePosition(MouseEvent evt)
+ MousePos findMousePosition(MouseEvent evt, boolean debug)
{
- int col = findColumn(evt);
+ int col = findColumn(evt, debug);
int seqIndex = -1;
int annIndex = -1;
int y = evt.getY();
int charHeight = av.getCharHeight();
int alignmentHeight = av.getAlignment().getHeight();
+ if (debug)
+ {
+ System.out.println(String.format(
+ "charHeight %d alHeight %d canvasWidth %d canvasHeight %d",
+ charHeight, alignmentHeight, seqCanvas.getWidth(),
+ seqCanvas.getHeight()));
+ }
if (av.getWrapAlignment())
{
seqCanvas.calculateWrappedGeometry(seqCanvas.getWidth(),
*/
int findColumn(MouseEvent evt)
{
+ return findColumn(evt, true);
+ }
+
+ int findColumn(MouseEvent evt, boolean debug)
+ {
int res = 0;
int x = evt.getX();
int y = evt.getY();
y = Math.max(0, y - hgap);
x -= seqCanvas.getLabelWidthWest();
+ if (debug)
+ {
+ System.out.println(
+ String.format("findColumn: x %d labelWest %d charWidth %d ",
+ x, seqCanvas.getLabelWidthWest(), charWidth));
+ }
if (x < 0)
{
// mouse is over left scale
}
if (x >= cwidth * charWidth)
{
+ if (debug)
+ {
+ System.out.println("findColumn: cwidth = " + cwidth);
+ }
// mouse is over right scale
return -1;
}