public void findSplitPoint(WrapItem info, String restOfText, int lineStart, int[] results) { int splitPoint=info.getAlternateFirstItemWrapPoint(); if (splitPoint<0) splitPoint=info.mStartPos; int lengthAtSplit=getColumnLength(0, restOfText, 0, splitPoint-lineStart); if (info.isBreakBefore()) { //look for whitespace before split point, that shouldn't be counted int removedWSCount=0; for (int i=splitPoint-lineStart-1;i>=0;i--) { char c = restOfText[i]; if (c==' ' || c=='\t') removedWSCount++; else break; } //if we found some whitespace to trim, then recalculate the split position if (removedWSCount>0) { lengthAtSplit=getColumnLength(0, restOfText, 0, (splitPoint-lineStart)-removedWSCount); splitPoint=splitPoint-removedWSCount; } } else { lengthAtSplit+=info.getText().Length; } results[0]=splitPoint; results[1]=lengthAtSplit; }