long time1 = _timeProvider.getTime1();\r
int nameWidth = _timeProvider.getNameSpace();\r
x -= nameWidth;\r
+ int timeWidth = size.x - nameWidth - RIGHT_MARGIN;\r
if (x >= 0 && size.x >= nameWidth) {\r
- if (time1 - time0 > size.x - nameWidth - RIGHT_MARGIN) {\r
+ if (time1 - time0 > timeWidth) {\r
// get the last possible time represented by the pixel position\r
- // by taking the time of the next pixel position minus 1\r
- // nanosecond\r
- hitTime = time0 + (long) ((time1 - time0) * ((double) (x + 1) / (size.x - nameWidth - RIGHT_MARGIN))) - 1;\r
+ // by taking the time of the next pixel position minus 1 nanosecond\r
+ hitTime = time0 + (long) ((time1 - time0) * ((double) (x + 1) / timeWidth)) - 1;\r
} else {\r
- hitTime = time0 + (long) ((time1 - time0) * ((double) (x) / (size.x - nameWidth - RIGHT_MARGIN)));\r
+ hitTime = time0 + Math.round((time1 - time0) * ((double) x / timeWidth));\r
}\r
}\r
return hitTime;\r