internal int GetNumberOfVerticesToDraw(Camera camera, double startY, double startX, double maxWidth, int numDeep, ref int itemNum, ref int numDrawn, int startAt, int numToDraw)
{
int numToReturn = 0;
#region count the number of vertices for the text
if (Text != null && itemNum > startAt - 1)
{
string textToUse = Text.Replace('\n', ' ') ;
int numOfChars = TextManager.GetNumberOfCharsIn((float)(maxWidth - numDeep * .7f), textToUse, GuiManager.TextSpacing);
numDrawn++;
numToReturn += numOfChars * 6;
numToReturn += this.icons.Count * 6;
}
#endregion
itemNum++;
if(numDrawn > numToDraw - 1)
return numToReturn;
if (mExpanded)
{
foreach (CollapseItem ci in this.mItems)
{
numToReturn += ci.GetNumberOfVerticesToDraw(camera, startY, startX, maxWidth, numDeep, ref itemNum, ref numDrawn, startAt, numToDraw);
if (numDrawn > numToDraw - 1)
return numToReturn;
}
}
return numToReturn;
}