void GuiText::SetText(const char * t) { if(origText) free(origText); if(text) delete[] text; if(textDynNum > 0) { for(int i=0; i < textDynNum; i++) if(textDyn[i]) delete[] textDyn[i]; } origText = NULL; text = NULL; textDynNum = 0; textScrollPos = 0; textScrollInitialDelay = TEXT_SCROLL_INITIAL_DELAY; if(t) { origText = strdup(t); text = charToWideChar(t); } }
/** * Constructor for the GuiText class, uses presets */ GuiText::GuiText(const char * t) { origText = NULL; text = NULL; size = presetSize; color = presetColor; alpha = presetColor.a; style = presetStyle; maxWidth = presetMaxWidth; wrap = false; textDynNum = 0; textScroll = SCROLL_NONE; textScrollPos = 0; textScrollInitialDelay = TEXT_SCROLL_INITIAL_DELAY; textScrollDelay = TEXT_SCROLL_DELAY; alignmentHor = presetAlignmentHor; alignmentVert = presetAlignmentVert; if(t) { origText = strdup(t); text = charToWideChar(t); } for(int i=0; i < 20; i++) textDyn[i] = NULL; }
/** * Constructor for the GuiText class. */ GuiText::GuiText(const char * t, int s, GXColor c) { origText = NULL; text = NULL; size = s; color = c; alpha = c.a; style = FTGX_JUSTIFY_CENTER | FTGX_ALIGN_MIDDLE; maxWidth = 0; wrap = false; textDynNum = 0; textScroll = SCROLL_NONE; textScrollPos = 0; textScrollInitialDelay = TEXT_SCROLL_INITIAL_DELAY; textScrollDelay = TEXT_SCROLL_DELAY; alignmentHor = ALIGN_CENTRE; alignmentVert = ALIGN_MIDDLE; if(t) { origText = strdup(t); text = charToWideChar(t); } for(int i=0; i < 20; i++) textDyn[i] = NULL; }
void GuiText::SetText(const char * t) { if (origText) free(origText); if (text) delete[] text; if (textDynNum > 0) { for (int i = 0; i < textDynNum; i++) if (textDyn[i]) delete[] textDyn[i]; } origText = NULL; text = NULL; textDynNum = 0; textScrollPos = 0; textScrollInitialDelay = TEXT_SCROLL_INITIAL_DELAY; if (t) { origText = strdup(t); text = charToWideChar(gettext(t)); } if (xe_texture) { TR; Xe_DestroyTexture(g_pVideoDevice, xe_texture); } }
void Text::SetText(const char * t) { wchar_t * tmp = charToWideChar(t); if (!tmp) return; if (wText) delete wText; wText = new (std::nothrow) wString(tmp); if (!wText) { return; } if (wText->size() == 0) { wText->push_back(L' '); wText->push_back(0); } textWidth = (font ? font : fontSystem)->getWidth(wText->data(), currentSize); delete[] tmp; ClearDynamicText(); CalcLineOffsets(); }
void FT_DrawText( int16_t x, int16_t y, FT_UInt pixelSize, char *text, GXColor color, uint16_t textStyle ) { if( currFontSize != pixelSize ) { ChangeFontSize( pixelSize ); if( !fontSystem[pixelSize] ) { fontSystem[pixelSize] = new FreeTypeGX( pixelSize ); } currFontSize = pixelSize; } fontSystem[pixelSize]->setVertexFormat( GX_VTXFMT1 ); wchar_t* wtext = charToWideChar( text ); fontSystem[pixelSize]->drawText( x, y, wtext, color, textStyle ); delete [] wtext; }
void GuiKeyboard::MoveText(int n) { int LettDiff; LettDiff = CalcMaxLine(kbtextstr) - CurrentFirstLetter + n; CurrentFirstLetter = CalcMaxLine(kbtextstr); kbText->SetText(GetDisplayText(kbtextstr)); TextPointerBtn->UpdateWidth(); wchar_t *wstr = charToWideChar(kbtextstr); int strlength = fontSystem[20]->getWidth(wstr); delete(wstr); if(strlength > MAX_KEYBOARD_DISPLAY) TextPointerBtn->SetLetterPosition(TextPointerBtn->GetCurrentLetter()); else TextPointerBtn->SetLetterPosition(TextPointerBtn->GetCurrentLetter()+LettDiff); }
int CalcMaxLine(char * t) { int len = strlen(t); wchar_t *wt = charToWideChar(t); int w, startPos = 0; for(int i = 0; i < len; i++) { w = fontSystem[20]->getWidth(&wt[i]); if(w < MAX_KEYBOARD_DISPLAY) break; startPos++; } delete wt; return startPos; }
void GuiText::ResetText() { if(!origText) return; if(text) delete[] text; text = charToWideChar(origText); for(int i=0; i < textDynNum; i++) { if(textDyn[i]) { delete[] textDyn[i]; textDyn[i] = NULL; } } textDynNum = 0; currentSize = 0; }
void GuiText::ResetText() { if (!origText) return; if (text) delete[] text; text = charToWideChar(gettext(origText)); for (int i = 0; i < textDynNum; i++) { if (textDyn[i]) { delete[] textDyn[i]; textDyn[i] = NULL; } } textDynNum = 0; currentSize = 0; if (xe_texture) { TR; Xe_DestroyTexture(g_pVideoDevice, xe_texture); } }
int CEmuMiiList::FilterList(const wchar_t * miiFilter) { int cnt = 0; ResetFiltered(); if (EmuMiisFull.empty() || need_refresh) Get(); if (miiFilter) MiiFilter.assign(miiFilter); EmuMiisFiltered.clear(); AvailableSearchChars.clear(); for (u32 i = 0; i < EmuMiisFull.size(); ++i) { wchar_t *MiiName = charToWideChar((EmuMiisFull[i]->name).c_str()); if (MiiName && *MiiFilter.c_str()) { if (wcsnicmp(MiiName, MiiFilter.c_str(), MiiFilter.size()) != 0) { delete [] MiiName; continue; } } if (MiiName) { if (wcslen(MiiName) > MiiFilter.size() && AvailableSearchChars.find(towupper(MiiName[MiiFilter.size()])) == std::string::npos && AvailableSearchChars.find(towlower(MiiName[MiiFilter.size()])) == std::string::npos) { AvailableSearchChars.push_back(MiiName[MiiFilter.size()]); } delete [] MiiName; } if(i >= EmuMiisFiltered.size()) { AddFilteredMii(); } cnt = EmuMiisFiltered.size()-1; EmuMiisFiltered[cnt]->name.assign(EmuMiisFull[i]->name); EmuMiisFiltered[cnt]->creator.assign(EmuMiisFull[i]->creator); EmuMiisFiltered[cnt]->position = EmuMiisFull[i]->position; EmuMiisFiltered[cnt]->female = EmuMiisFull[i]->female; EmuMiisFiltered[cnt]->month = EmuMiisFull[i]->month; EmuMiisFiltered[cnt]->day = EmuMiisFull[i]->day; EmuMiisFiltered[cnt]->favColor = EmuMiisFull[i]->favColor; } AvailableSearchChars.push_back(L'\0'); if (EmuMiisFiltered.size() < 2) AvailableSearchChars.clear(); if (AvailableSearchChars.size() > 1) std::sort(AvailableSearchChars.begin(), AvailableSearchChars.end(), WCharSortCallback); return EmuMiisFiltered.size(); }
void CustomBrowser::ParseDirEntries() { if(!dir) return; char filename[MAXPATHLEN]; struct stat filestat; struct dirent * dirent = NULL; int i = 0; std::string Path = currentpath; if(Path[Path.size()-1] == '/') Path.erase(Path.size()-1, 1); while ((dirent = readdir(dir)) != 0) { snprintf(filename, sizeof(filename), "%s/%s", Path.c_str(), dirent->d_name); if(stat(filename, &filestat) != 0) continue; //! Filter Files if((Filter & FILTER_PATH) && !(filestat.st_mode & S_IFDIR)) continue; snprintf(filename, sizeof(filename), dirent->d_name); if(strcmp(filename,".") == 0) continue; //! Hide System Files if(filename[0] == '.' && strcmp(filename,"..") != 0) continue; else if(filename[0] == '$') continue; else if(strcasecmp(filename,"thumb.db") == 0) continue; char *fileext = strrchr(filename, '.'); //! Other Filters if((Filter & FILTER_FONT) && !(filestat.st_mode & S_IFDIR) && (Settings.FileExtensions.CompareFont(fileext) != 0)) continue; if((Filter & FILTER_LANG) && !(filestat.st_mode & S_IFDIR) && (Settings.FileExtensions.CompareLanguageFiles(fileext) != 0)) continue; if(i >= (int)browserList.size()) AddEntry(); (browserList.at(i)->filename).assign(filename); (browserList.at(i)->displayname).assign(charToWideChar(filename)); browserList.at(i)->ismii = (!(filestat.st_mode & S_IFDIR) && !(Settings.FileExtensions.CompareMiiFiles(fileext))) ? true : false; browserList.at(i)->issave = false; browserList.at(i)->isdatabin = false; browserList.at(i)->isNotInstalled = false; browserList.at(i)->isdir = (filestat.st_mode & S_IFDIR) ? true : false; //! flag this as a dir i++; } closedir(dir); //! close directory dir = NULL; std::sort(browserList.begin(), browserList.end(), FileSortCallback); }