/// Returns the size required by a call to RenderText if it were to be done now. Vector2f TextFont::CalculateRenderSizeUnits(Text & text) { if (text.Length() < 1) { return Vector2f(scale[0], scale[1]); } // Set starting variables. NewText(text); // Go up to and include the NULL-sign! for (int i = 0; i < text.ArraySize(); ++i) { currentCharIndex = i; currentChar = text.c_str()[i]; if (currentChar == '\0') { EndText(); break; } nextChar = text.c_str()[i + 1]; if (EvaluateSpecialChar()) continue; StartChar(); // RenderChar(); EndChar(); lastChar = currentChar; } return Vector2f (maxRowSizeX, AbsoluteValue(pivotPoint.y)); }