本文整理汇总了C++中Text::c_str方法的典型用法代码示例。如果您正苦于以下问题:C++ Text::c_str方法的具体用法?C++ Text::c_str怎么用?C++ Text::c_str使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Text
的用法示例。
在下文中一共展示了Text::c_str方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: CalculateRenderSizeUnits
/// 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));
}
示例2: set_param
static void set_param(row r, const Text& val, int index)
{
#if defined(_UNICODE) || defined(UNICODE)
int nResult = sqlite3_bind_text16(r, index + 1, val.c_str(), -1, SQLITE_TRANSIENT);
#else
int nResult = sqlite3_bind_text(r, index + 1, val.c_str(), -1, SQLITE_TRANSIENT);
#endif
assert(SQLITE_OK == nResult);
}
示例3: RenderText
/// Renders text ^^
void TextFont::RenderText(Text & text, GraphicsState & graphicsState)
{
// Set starting variables.
NewText(text);
/// One color for all text?
this->SetColor(text.color);
/// Save old shader!
Shader * oldShader = ActiveShader();
// Load shader, set default uniform values, etc.
if (!PrepareForRender())
return;
/// Sort the carets in order to render selected text properly.
int min, max;
if (text.caretPosition < text.previousCaretPosition)
{
min = text.caretPosition;
max = text.previousCaretPosition;
}
else
{
max = text.caretPosition;
min = text.previousCaretPosition;
}
bool shouldRenderCaret = Timer::GetCurrentTimeMs() % 1000 > 500;
if (text.Length() == 0 && shouldRenderCaret)
RenderChar('|');
for (i = 0; i < text.Length(); ++i)
{
if (text.caretPosition == i && shouldRenderCaret)
{
RenderChar('|');
}
currentCharIndex = i;
currentChar = text.c_str()[i];
if (currentChar == 0)
break;
nextChar = text.c_str()[i + 1];
if (EvaluateSpecialChar())
continue;
StartChar(); // Move in.
RenderChar(currentChar); // Render
/// If we are between the 2 active carets, render the region the char covers over with a white quad ?
if (text.previousCaretPosition != -1 && i >= min && i < max)
{
RenderSelection(currentChar);
}
EndChar(); // Move out.
lastChar = currentChar;
}
// Caret at the end?
if (text.caretPosition >= text.Length() && shouldRenderCaret)
{
RenderChar('|');
}
OnEndRender(graphicsState);
/// Revert to old shader!
ShadeMan.SetActiveShader(oldShader);
}