newOffset= startPixel; float index= ((float)newOffset) / ((float)getAverageCharWidth());
newOffset= startPixel; float index= ((float)newOffset) / ((float)getAverageCharWidth());
int startX= bounds.x - clientAreaX; int endX= bounds.x + bounds.width - clientAreaX; int avgCharWidth= getAverageCharWidth(); int startVirtuals= computeVirtualChars(startOffset, startX, avgCharWidth); int endVirtuals= computeVirtualChars(endOffset, endX, avgCharWidth);
int startX= bounds.x - clientAreaX; int endX= bounds.x + bounds.width - clientAreaX; int avgCharWidth= getAverageCharWidth(); int startVirtuals= computeVirtualChars(startOffset, startX, avgCharWidth); int endVirtuals= computeVirtualChars(endOffset, endX, avgCharWidth);
Point clientAreaOrigin= new Point(fTextWidget.getHorizontalPixel(), fTextWidget.getTopPixel()); Point startLocation= Geometry.add(clientAreaOrigin, fTextWidget.getLocationAtOffset(startOffset)); int averageCharWidth= getAverageCharWidth(); startLocation.x += startVirtuals * averageCharWidth; Point endLocation= Geometry.add(clientAreaOrigin, fTextWidget.getLocationAtOffset(endOffset));
Point clientAreaOrigin= new Point(fTextWidget.getHorizontalPixel(), fTextWidget.getTopPixel()); Point startLocation= Geometry.add(clientAreaOrigin, fTextWidget.getLocationAtOffset(startOffset)); int averageCharWidth= getAverageCharWidth(); startLocation.x += startVirtuals * averageCharWidth; Point endLocation= Geometry.add(clientAreaOrigin, fTextWidget.getLocationAtOffset(endOffset));