예제 #1
0
 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;
 }