If ellipsis is true, the characterIndex value is changed.
bool EllipsisLine ()
{
...
lineRun-> characterRun.characterIndex = ellipsisLayout.characterIndex;
}
In GetLineOfCharacter (), the line index we want is 0, but another value
is returned. ex) index = 1;
The lineRun.alignmentOffset value obtained through the wrong line index
may be wrong. Ex) lineRun.alignmentOffset:
16312432575010308096
So if ellipsis is true. then we should used index first position.
Change-Id: I7912e1ea6f94cc53c272ba7bf424f07a1174af20
return mCachedLineIndex;
}
- // 3) Is not in the cached line. Check in the other lines.
+ // 3) if ellipsis is true. then we should used index first position.
+ if( lineRun.ellipsis )
+ {
+ return 0u;
+ }
+
+ // 4) Is not in the cached line or ellipsis. Check in the other lines.
LineIndex index = characterIndex < lineRun.characterRun.characterIndex ? 0u : mCachedLineIndex + 1u;
for( Vector<LineRun>::ConstIterator it = mLines.Begin() + index,