コード例 #1
0
ファイル: CEGUITextUtils.cpp プロジェクト: gitrider/wxsj2
	/*************************************************************************
	Return the index of the first character of the word at 'idx'.	
	*************************************************************************/
	String32::size_type TextUtils::getWordStartIdx(const String32& str, String32::size_type idx)
	{
		String32 temp = str.substr(0, idx);

		trimTrailingChars(temp, DefaultWhitespace);

		if (temp.length() <= 1) {
			return 0;
		}

		// identify the type of character at 'pos'
		if (String32::npos != DefaultAlphanumerical.find(temp[temp.length() - 1]))
		{
			idx = temp.find_last_not_of(DefaultAlphanumerical);
		}
		// since whitespace was stripped, character must be a symbol
		else
		{
			idx = temp.find_last_of(DefaultAlphanumerical + DefaultWhitespace);
		}

		// make sure we do not go past end of string (+1)
		if (idx == String32::npos)
		{
			return 0;
		}
		else
		{
			return idx + 1;
		}

	}
コード例 #2
0
void FalagardActionButton::setCornerChar(int nPos, const String32& strChar)
{
    String32 strCharSafe="  ";
    if(strChar.size() > 3)
    {
        strCharSafe += strChar.substr(0, 3);
    }
    else strCharSafe += strChar;
    strCharSafe[0] = 0XFBFFFFFF;
    strCharSafe[1] = 0XFC010101;

    switch(nPos)
    {
    case 0:
        d_CornerChar_TopLeft.d_Char		= strCharSafe;
        break;
    case 1:
        d_CornerChar_TopRight.d_Char	= strCharSafe;
        break;
    case 2:
        d_CornerChar_BotLeft.d_Char		= strCharSafe;
        break;
    case 3:
        d_CornerChar_BotRight.d_Char	= strCharSafe;
        break;
    default:
        break;
    }

    requestRedraw();
}
コード例 #3
0
ファイル: CEGUITextUtils.cpp プロジェクト: gitrider/wxsj2
	/*************************************************************************
	return a String32 containing the the next word in a String32.
	*************************************************************************/
	String32 TextUtils::getNextWord(const String32& str, String32::size_type start_idx, const String32& delimiters)
	{
		String32::size_type	word_start = str.find_first_not_of(delimiters, start_idx);

		if (word_start == String32::npos)
		{
			word_start = start_idx;
		}

		//String32::size_type	word_end = str.find_first_of(delimiters, word_start);

		//if (word_end == String32::npos)
		//{
		//	word_end = str.length();
		//}

		//return str.substr(start_idx, (word_end - start_idx));
		return str.substr(start_idx, 1);
	}