KisBrushSP KisPredefinedBrushFactory::getOrCreateBrush(const QDomElement& brushDefinition) { KoResourceServer<KisBrush> *rServer = KisBrushServer::instance()->brushServer(); QString brushFileName = brushDefinition.attribute("filename", ""); KisBrushSP brush = rServer->resourceByFilename(brushFileName); //Fallback for files that still use the old format if(!brush) { QFileInfo info(brushFileName); brush = rServer->resourceByFilename(info.fileName()); } if(!brush) { brush = rServer->resources().first(); } Q_ASSERT(brush); double spacing = brushDefinition.attribute("spacing", "0.25").toDouble(); brush->setSpacing(spacing); double angle = brushDefinition.attribute("angle", "0.0").toDouble(); brush->setAngle(angle); double scale = brushDefinition.attribute("scale", "1.0").toDouble(); brush->setScale(scale); return brush; }
static KoPattern* tryFetchPatternByFileName(const QString &fileName) { KoResourceServer<KoPattern> *server = KoResourceServerProvider::instance()->patternServer(); return server->resourceByFilename(fileName); }