本文整理汇总了C++中WideString类的典型用法代码示例。如果您正苦于以下问题:C++ WideString类的具体用法?C++ WideString怎么用?C++ WideString使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了WideString类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: GetString
WideString CFX_BreakPiece::GetString() const {
WideString ret;
ret.Reserve(m_iChars);
for (int32_t i = m_iStartChar; i < m_iStartChar + m_iChars; i++)
ret += static_cast<wchar_t>((*m_pChars)[i].char_code());
return ret;
}
示例2: WideString
WideString CPDF_TextPage::GetTextByPredicate(
const std::function<bool(const PAGECHAR_INFO&)>& predicate) const {
if (!m_bIsParsed)
return WideString();
float posy = 0;
bool IsContainPreChar = false;
bool IsAddLineFeed = false;
WideString strText;
for (const auto& charinfo : m_CharList) {
if (predicate(charinfo)) {
if (fabs(posy - charinfo.m_Origin.y) > 0 && !IsContainPreChar &&
IsAddLineFeed) {
posy = charinfo.m_Origin.y;
if (!strText.IsEmpty())
strText += L"\r\n";
}
IsContainPreChar = true;
IsAddLineFeed = false;
if (charinfo.m_Unicode)
strText += charinfo.m_Unicode;
} else if (charinfo.m_Unicode == L' ') {
if (IsContainPreChar) {
strText += L' ';
IsContainPreChar = false;
IsAddLineFeed = false;
}
} else {
IsContainPreChar = false;
IsAddLineFeed = true;
}
}
return strText;
}
示例3:
PyObject *
PyIMEngine::py_get_surrounding_text (PyIMEngineObject *self, PyObject *args)
{
PyObject *tuple;
int maxlen_before = -1;
int maxlen_after = -1;
if (!PyArg_ParseTuple (args, "|ii:get_surrounding_text", &maxlen_before, &maxlen_after))
return NULL;
WideString text;
int cursor;
int provided = self->engine.get_surrounding_text(text, cursor, maxlen_before, maxlen_after);
tuple = PyTuple_New (2);
if (!provided) {
text = L"";
cursor = 0;
}
#if Py_UNICODE_SIZE == 4
PyTuple_SET_ITEM (tuple, 0, PyUnicode_FromUnicode ((Py_UNICODE *)text.c_str(), text.length()));
#else
gunichar2 *utf16_str = g_ucs4_to_utf16 (text.c_str(), -1, NULL, NULL, NULL);
PyTuple_SET_ITEM (tuple, 0, PyUnicode_FromUnicode ((Py_UNICODE *)utf16_str, text.length()));
#endif
PyTuple_SET_ITEM (tuple, 1, PyInt_FromLong ((long) cursor));
return tuple;
}
示例4: if
ScValue *SXString::scGetProperty(const Common::String &name) {
_scValue->setNULL();
//////////////////////////////////////////////////////////////////////////
// Type (RO)
//////////////////////////////////////////////////////////////////////////
if (name == "Type") {
_scValue->setString("string");
return _scValue;
}
//////////////////////////////////////////////////////////////////////////
// Length (RO)
//////////////////////////////////////////////////////////////////////////
else if (name == "Length") {
if (_gameRef->_textEncoding == TEXT_UTF8) {
WideString wstr = StringUtil::utf8ToWide(_string);
_scValue->setInt(wstr.size());
} else {
_scValue->setInt(strlen(_string));
}
return _scValue;
}
//////////////////////////////////////////////////////////////////////////
// Capacity
//////////////////////////////////////////////////////////////////////////
else if (name == "Capacity") {
_scValue->setInt(_capacity);
return _scValue;
} else {
return _scValue;
}
}
示例5: TEST_F
TEST_F(CFGAS_FormatStringTest, DateTimeFormat) {
struct {
const wchar_t* locale;
const wchar_t* input;
const wchar_t* pattern;
const wchar_t* output;
} tests[] = {
{L"en", L"1999-07-16T10:30Z",
L"'At' time{HH:MM Z} 'on' date{MMM DD, YYYY}",
L"At 10:30 GMT on Jul 16, 1999"},
{L"en", L"1999-07-16T10:30", L"'At' time{HH:MM} 'on' date{MMM DD, YYYY}",
L"At 10:30 on Jul 16, 1999"},
{L"en", L"1999-07-16T10:30Z",
L"time{'At' HH:MM Z} date{'on' MMM DD, YYYY}",
L"At 10:30 GMT on Jul 16, 1999"},
{L"en", L"1999-07-16T10:30Z",
L"time{'At 'HH:MM Z}date{' on 'MMM DD, YYYY}",
L"At 10:30 GMT on Jul 16, 1999"}};
for (size_t i = 0; i < FX_ArraySize(tests); ++i) {
WideString result;
EXPECT_TRUE(fmt(tests[i].locale)
->FormatDateTime(tests[i].input, tests[i].pattern,
FX_DATETIMETYPE_TimeDate, &result));
EXPECT_STREQ(tests[i].output, result.c_str()) << " TEST: " << i;
}
}
示例6: Render
void CRespawn::Render()
{
position2d<s32> pos;
for ( int i = 0; i < points.size(); i++ )
{
WideString wstr = "(S) ";
wstr += points[i]->getActorName().c_str();
pos = IRR.smgr->getSceneCollisionManager()->getScreenCoordinatesFrom3DPosition( points[i]->getPosition(), IRR.smgr->getActiveCamera() );
IRR.gui->getBuiltInFont()->draw( wstr.c_str(), core::rect<s32>( pos.X, pos.Y, pos.X + 100, pos.Y + 50 ), irr::video::SColor( 255, 15, 85, 10 ), false, true );
}
// draw 3d stuff
IRR.video->setTransform( ETS_WORLD, matrix4() );
SMaterial m;
m.Lighting = false;
m.BackfaceCulling = false;
IRR.video->setMaterial( m );
vector3df vP;
for ( int i = 0; i < points.size(); i++ )
{
vP = points[i]->getPosition();
IRR.video->draw3DBox( aabbox3df( vP - vector3df( points[i]->radius, points[i]->radius, points[i]->radius ), vP + vector3df( points[i]->radius, points[i]->radius, points[i]->radius ) ), SColor( 255, 105, 22, 90 ) );
}
}
示例7: TEST
TEST(cpdf_nametree, GetUnicodeNameWithBOM) {
// Set up the root dictionary with a Names array.
auto pRootDict = pdfium::MakeUnique<CPDF_Dictionary>();
CPDF_Array* pNames = pRootDict->SetNewFor<CPDF_Array>("Names");
// Add the key "1" (with BOM) and value 100 into the array.
std::ostringstream buf;
constexpr char kData[] = "\xFE\xFF\x00\x31";
for (size_t i = 0; i < sizeof(kData); ++i)
buf.put(kData[i]);
pNames->AddNew<CPDF_String>(ByteString(buf), true);
pNames->AddNew<CPDF_Number>(100);
// Check that the key is as expected.
CPDF_NameTree nameTree(pRootDict.get());
WideString storedName;
nameTree.LookupValueAndName(0, &storedName);
EXPECT_STREQ(L"1", storedName.c_str());
// Check that the correct value object can be obtained by looking up "1".
WideString matchName = L"1";
CPDF_Object* pObj = nameTree.LookupValue(matchName);
ASSERT_TRUE(pObj->IsNumber());
EXPECT_EQ(100, pObj->AsNumber()->GetInteger());
}
示例8:
CScValue *CScValue::GetProp(char *Name) {
if (m_Type == VAL_VARIABLE_REF) return m_ValRef->GetProp(Name);
if (m_Type == VAL_STRING && strcmp(Name, "Length") == 0) {
Game->m_ScValue->m_Type = VAL_INT;
if (Game->m_TextEncoding == TEXT_ANSI) {
Game->m_ScValue->SetInt(strlen(m_ValString));
} else {
WideString wstr = StringUtil::Utf8ToWide(m_ValString);
Game->m_ScValue->SetInt(wstr.length());
}
return Game->m_ScValue;
}
CScValue *ret = NULL;
if (m_Type == VAL_NATIVE && m_ValNative) ret = m_ValNative->ScGetProperty(Name);
if (ret == NULL) {
m_ValIter = m_ValObject.find(Name);
if (m_ValIter != m_ValObject.end()) ret = m_ValIter->second;
}
return ret;
}
示例9: if
WideString CPDF_FileSpec::GetFileName() const {
WideString csFileName;
if (const CPDF_Dictionary* pDict = m_pObj->AsDictionary()) {
csFileName = pDict->GetUnicodeTextFor("UF");
if (csFileName.IsEmpty()) {
csFileName = WideString::FromDefANSI(
pDict->GetStringFor(pdfium::stream::kF).AsStringView());
}
if (pDict->GetStringFor("FS") == "URL")
return csFileName;
if (csFileName.IsEmpty()) {
constexpr const char* keys[] = {"DOS", "Mac", "Unix"};
for (const auto* key : keys) {
if (pDict->KeyExist(key)) {
csFileName =
WideString::FromDefANSI(pDict->GetStringFor(key).AsStringView());
break;
}
}
}
} else if (m_pObj->IsString()) {
csFileName = WideString::FromDefANSI(m_pObj->GetString().AsStringView());
}
return DecodeFileName(csFileName);
}
示例10: TextFieldKeyPressed
bool LodDistanceControl::TextFieldKeyPressed(UITextField * textField, int32 replacementLocation, int32 replacementLength, const WideString & replacementString)
{
if (replacementLength < 0)
{
return true;
}
WideString newText = textField->GetAppliedChanges(replacementLocation, replacementLength, replacementString);
bool allOk;
int pointsCount = 0;
for (int i = 0; i < newText.length(); i++)
{
allOk = false;
if (newText[i] == L'-' && i == 0)
{
allOk = true;
}
else if(newText[i] >= L'0' && newText[i] <= L'9')
{
allOk = true;
}
else if(newText[i] == L'.' && pointsCount == 0)
{
allOk = true;
pointsCount++;
}
if (!allOk)
{
return false;
}
}
return true;
};
示例11: GetUnicodeFromCharCode
WideString CPDF_CIDFont::UnicodeFromCharCode(uint32_t charcode) const {
WideString str = CPDF_Font::UnicodeFromCharCode(charcode);
if (!str.IsEmpty())
return str;
wchar_t ret = GetUnicodeFromCharCode(charcode);
return ret ? ret : WideString();
}
示例12: ASSERT
void ButtonBuildStructure::onRender( RenderContext & context, const RectInt & window )
{
WindowButton::onRender( context, window );
if ( enabled() && m_Build.valid() )
{
DisplayDevice * pDisplay = context.display();
ASSERT( pDisplay );
// draw the eta to build this structure
Font * pFont = windowStyle()->font();
if ( pFont != NULL )
{
WideString eta;
GameDocument * pDoc = (GameDocument *)document();
if ( pDoc != NULL )
{
NounShip::Ref pShip = pDoc->ship();
if ( pShip.valid() )
{
int buildTime = m_Build->buildTime()* pShip->calculateModifier(MT_BUILD_SPEED,true);
eta.format( "%d:%2.2d", buildTime / 60, buildTime % 60);
SizeInt etaSize( pFont->size( eta ) );
PointInt etaPos( window.right - etaSize.width, window.bottom - etaSize.height );
Font::push( context.display(), pFont, etaPos, eta, WHITE );
}
}
}
}
}
示例13:
ScValue *ScValue::getProp(const char *name) {
if (_type == VAL_VARIABLE_REF) {
return _valRef->getProp(name);
}
if (_type == VAL_STRING && strcmp(name, "Length") == 0) {
_gameRef->_scValue->_type = VAL_INT;
if (_gameRef->_textEncoding == TEXT_ANSI) {
_gameRef->_scValue->setInt(strlen(_valString));
} else {
WideString wstr = StringUtil::utf8ToWide(_valString);
_gameRef->_scValue->setInt(wstr.size());
}
return _gameRef->_scValue;
}
ScValue *ret = nullptr;
if (_type == VAL_NATIVE && _valNative) {
ret = _valNative->scGetProperty(name);
}
if (ret == nullptr) {
_valIter = _valObject.find(name);
if (_valIter != _valObject.end()) {
ret = _valIter->_value;
}
}
return ret;
}
示例14: WideString2QStrint
QString WideString2QStrint(const WideString& str)
{
#ifdef __DAVAENGINE_MACOS__
return QString::fromStdWString(str);
#else
return QString((const QChar*)str.c_str(), str.length());
#endif
}
示例15: GetOnedCode39Writer
bool CBC_Code39::RenderDevice(CFX_RenderDevice* device,
const CFX_Matrix* matrix) {
auto* pWriter = GetOnedCode39Writer();
WideString renderCon;
if (!pWriter->encodedContents(m_renderContents.AsStringView(), &renderCon))
return false;
return pWriter->RenderDeviceResult(device, matrix, renderCon.AsStringView());
}