tahoma2d/toonz/sources/toonzqt/fxiconmanager.cpp

32 lines
974 B
C++

#include "toonzqt/fxiconmanager.h"
#include <QPixmap>
FxIconPixmapManager::FxIconPixmapManager() {}
FxIconPixmapManager::~FxIconPixmapManager() {}
FxIconPixmapManager *FxIconPixmapManager::instance() {
static FxIconPixmapManager _instance;
return &_instance;
}
const QPixmap &FxIconPixmapManager::getFxIconPm(std::string type) {
std::map<std::string, QPixmap>::iterator it;
it = m_pms.find(type);
if (it != m_pms.end()) return it->second;
int i;
for (i = 0; fxTypeInfo[i].pixmapFilename; i++)
if (strcmp(type.c_str(), fxTypeInfo[i].fxType) == 0) {
QString path = QString(":Resources/fxicons/") +
fxTypeInfo[i].pixmapFilename + ".png";
it = m_pms.insert(std::make_pair(type, QPixmap(path))).first;
return it->second;
}
static const QPixmap unidentifiedFxPixmap(
":Resources/fxicons/fx_unidentified.png");
it = m_pms.insert(std::make_pair(type, unidentifiedFxPixmap)).first;
return it->second;
}