1 #include "toonzqt/fxiconmanager.h" 2 3 #include <QPixmap> 4 FxIconPixmapManager()5FxIconPixmapManager::FxIconPixmapManager() {} 6 instance()7FxIconPixmapManager *FxIconPixmapManager::instance() { 8 static FxIconPixmapManager _instance; 9 return &_instance; 10 } 11 getFxIconPm(std::string type)12const QPixmap &FxIconPixmapManager::getFxIconPm(std::string type) { 13 std::map<std::string, QPixmap>::iterator it; 14 it = m_pms.find(type); 15 if (it != m_pms.end()) return it->second; 16 17 int i; 18 for (i = 0; fxTypeInfo[i].pixmapFilename; i++) 19 if (strcmp(type.c_str(), fxTypeInfo[i].fxType) == 0) { 20 QString path = QString(":Resources/fxicons/") + 21 fxTypeInfo[i].pixmapFilename + ".png"; 22 it = m_pms.insert(std::make_pair(type, QPixmap(path))).first; 23 return it->second; 24 } 25 26 static const QPixmap unidentifiedFxPixmap( 27 ":Resources/fxicons/fx_unidentified.png"); 28 it = m_pms.insert(std::make_pair(type, unidentifiedFxPixmap)).first; 29 return it->second; 30 } 31