diff options
author | Dimitri van Heesch <dimitri@stack.nl> | 2015-02-21 19:49:14 (GMT) |
---|---|---|
committer | Dimitri van Heesch <dimitri@stack.nl> | 2015-02-21 19:49:14 (GMT) |
commit | a59571d7ad956270bb6459c17e0268c2b745a55e (patch) | |
tree | 2188e2ce6e3c8297a37a3957c0519ff52cebcb5b /src/dot.cpp | |
parent | fd72338cdf62e341d9846c6adf557175b30b760f (diff) | |
parent | a09ffed2f603699955c18c19e0d3e782fb61d93f (diff) | |
download | Doxygen-a59571d7ad956270bb6459c17e0268c2b745a55e.zip Doxygen-a59571d7ad956270bb6459c17e0268c2b745a55e.tar.gz Doxygen-a59571d7ad956270bb6459c17e0268c2b745a55e.tar.bz2 |
Merge pull request #297 from albert-github/feature/dot_index_png
Support generating index-color PNG files
Diffstat (limited to 'src/dot.cpp')
-rw-r--r-- | src/dot.cpp | 46 |
1 files changed, 28 insertions, 18 deletions
diff --git a/src/dot.cpp b/src/dot.cpp index cc81c44..05379c8 100644 --- a/src/dot.cpp +++ b/src/dot.cpp @@ -661,7 +661,8 @@ static bool writeSVGFigureLink(FTextStream &out,const QCString &relPath, // support the PNG format, we need to check the result. static void checkDotResult(const QCString &imgName) { - if (Config_getEnum("DOT_IMAGE_FORMAT")=="png") + QCString imgExt = getDotImageExtension(); + if (imgExt=="png") { FILE *f = portable_fopen(imgName,"rb"); if (f) @@ -2278,7 +2279,8 @@ void DotGfxHierarchyTable::createGraph(DotNode *n,FTextStream &out, { QDir d(path); QCString baseName; - QCString imgExt = Config_getEnum("DOT_IMAGE_FORMAT"); + QCString imgExt = getDotImageExtension(); + QCString imgFmt = Config_getEnum("DOT_IMAGE_FORMAT"); baseName.sprintf("inherit_graph_%d",id); QCString imgName = baseName+"."+ imgExt; QCString mapName = baseName+".map"; @@ -2328,7 +2330,7 @@ void DotGfxHierarchyTable::createGraph(DotNode *n,FTextStream &out, resetReNumbering(); DotRunner *dotRun = new DotRunner(dotName,d.absPath().data(),TRUE,absImgName); - dotRun->addJob(imgExt,absImgName); + dotRun->addJob(imgFmt,absImgName); dotRun->addJob(MAP_CMD,absMapName); DotManager::instance()->addRun(dotRun); } @@ -3167,7 +3169,8 @@ QCString DotClassGraph::writeGraph(FTextStream &out, baseName = convertNameToFile(diskName()); // derive target file names from baseName - QCString imgExt = Config_getEnum("DOT_IMAGE_FORMAT"); + QCString imgExt = getDotImageExtension(); + QCString imgFmt = Config_getEnum("DOT_IMAGE_FORMAT"); QCString absBaseName = d.absPath().utf8()+"/"+baseName; QCString absDotName = absBaseName+".dot"; QCString absMapName = absBaseName+".map"; @@ -3195,7 +3198,7 @@ QCString DotClassGraph::writeGraph(FTextStream &out, { DotRunner *dotRun = new DotRunner(absDotName, d.absPath().data(),TRUE,absImgName); - dotRun->addJob(imgExt,absImgName); + dotRun->addJob(imgFmt,absImgName); if (generateImageMap) dotRun->addJob(MAP_CMD,absMapName); DotManager::instance()->addRun(dotRun); @@ -3523,7 +3526,8 @@ QCString DotInclDepGraph::writeGraph(FTextStream &out, QCString mapName=escapeCharsInString(m_startNode->m_label,FALSE); if (m_inverse) mapName+="dep"; - QCString imgExt = Config_getEnum("DOT_IMAGE_FORMAT"); + QCString imgExt = getDotImageExtension(); + QCString imgFmt = Config_getEnum("DOT_IMAGE_FORMAT"); QCString absBaseName = d.absPath().utf8()+"/"+baseName; QCString absDotName = absBaseName+".dot"; QCString absMapName = absBaseName+".map"; @@ -3551,7 +3555,7 @@ QCString DotInclDepGraph::writeGraph(FTextStream &out, { // run dot to create a bitmap image DotRunner *dotRun = new DotRunner(absDotName,d.absPath().data(),TRUE,absImgName); - dotRun->addJob(imgExt,absImgName); + dotRun->addJob(imgFmt,absImgName); if (generateImageMap) dotRun->addJob(MAP_CMD,absMapName); DotManager::instance()->addRun(dotRun); } @@ -3835,7 +3839,8 @@ QCString DotCallGraph::writeGraph(FTextStream &out, GraphOutputFormat graphForma QCString baseName = m_diskName + (m_inverse ? "_icgraph" : "_cgraph"); QCString mapName = baseName; - QCString imgExt = Config_getEnum("DOT_IMAGE_FORMAT"); + QCString imgExt = getDotImageExtension(); + QCString imgFmt = Config_getEnum("DOT_IMAGE_FORMAT"); QCString absBaseName = d.absPath().utf8()+"/"+baseName; QCString absDotName = absBaseName+".dot"; QCString absMapName = absBaseName+".map"; @@ -3863,7 +3868,7 @@ QCString DotCallGraph::writeGraph(FTextStream &out, GraphOutputFormat graphForma { // run dot to create a bitmap image DotRunner *dotRun = new DotRunner(absDotName,d.absPath().data(),TRUE,absImgName); - dotRun->addJob(imgExt,absImgName); + dotRun->addJob(imgFmt,absImgName); if (generateImageMap) dotRun->addJob(MAP_CMD,absMapName); DotManager::instance()->addRun(dotRun); @@ -3989,7 +3994,8 @@ QCString DotDirDeps::writeGraph(FTextStream &out, QCString baseName=m_dir->getOutputFileBase()+"_dep"; QCString mapName=escapeCharsInString(baseName,FALSE); - QCString imgExt = Config_getEnum("DOT_IMAGE_FORMAT"); + QCString imgExt = getDotImageExtension(); + QCString imgFmt = Config_getEnum("DOT_IMAGE_FORMAT"); QCString absBaseName = d.absPath().utf8()+"/"+baseName; QCString absDotName = absBaseName+".dot"; QCString absMapName = absBaseName+".map"; @@ -4027,7 +4033,7 @@ QCString DotDirDeps::writeGraph(FTextStream &out, { // run dot to create a bitmap image DotRunner *dotRun = new DotRunner(absDotName,d.absPath().data(),TRUE,absImgName); - dotRun->addJob(imgExt,absImgName); + dotRun->addJob(imgFmt,absImgName); if (generateImageMap) dotRun->addJob(MAP_CMD,absMapName); DotManager::instance()->addRun(dotRun); } @@ -4152,7 +4158,8 @@ void generateGraphLegend(const char *path) MD5SigToString(md5_sig,sigStr.rawData(),33); QCString absBaseName = (QCString)path+"/graph_legend"; QCString absDotName = absBaseName+".dot"; - QCString imgExt = Config_getEnum("DOT_IMAGE_FORMAT"); + QCString imgExt = getDotImageExtension(); + QCString imgFmt = Config_getEnum("DOT_IMAGE_FORMAT"); QCString imgName = "graph_legend."+imgExt; QCString absImgName = absBaseName+"."+imgExt; if (checkAndUpdateMd5Signature(absBaseName,sigStr) || @@ -4172,7 +4179,7 @@ void generateGraphLegend(const char *path) // run dot to generate the a bitmap image from the graph DotRunner *dotRun = new DotRunner(absDotName,d.absPath().data(),TRUE,absImgName); - dotRun->addJob(imgExt,absImgName); + dotRun->addJob(imgFmt,absImgName); DotManager::instance()->addRun(dotRun); } else @@ -4200,14 +4207,15 @@ void writeDotGraphFromFile(const char *inFile,const char *outDir, err("Output dir %s does not exist!\n",outDir); exit(1); } - QCString imgExt = Config_getEnum("DOT_IMAGE_FORMAT"); + QCString imgExt = getDotImageExtension(); + QCString imgFmt = Config_getEnum("DOT_IMAGE_FORMAT"); QCString imgName = (QCString)outFile+"."+imgExt; QCString absImgName = d.absPath().utf8()+"/"+imgName; QCString absOutFile = d.absPath().utf8()+"/"+outFile; DotRunner dotRun(inFile,d.absPath().data(),FALSE,absImgName); if (format==GOF_BITMAP) - dotRun.addJob(imgExt,absImgName); + dotRun.addJob(imgFmt,absImgName); else // format==GOF_EPS { if (Config_getBool("USE_PDFLATEX")) @@ -4255,7 +4263,8 @@ void writeDotImageMapFromFile(FTextStream &t, } QCString mapName = baseName+".map"; - QCString imgExt = Config_getEnum("DOT_IMAGE_FORMAT"); + QCString imgExt = getDotImageExtension(); + QCString imgFmt = Config_getEnum("DOT_IMAGE_FORMAT"); QCString imgName = baseName+"."+imgExt; QCString absOutFile = d.absPath().utf8()+"/"+mapName; @@ -4550,7 +4559,8 @@ QCString DotGroupCollaboration::writeGraph( FTextStream &t, QCString sigStr(33); MD5Buffer((const unsigned char *)theGraph.data(),theGraph.length(),md5_sig); MD5SigToString(md5_sig,sigStr.rawData(),33); - QCString imgExt = Config_getEnum("DOT_IMAGE_FORMAT"); + QCString imgExt = getDotImageExtension(); + QCString imgFmt = Config_getEnum("DOT_IMAGE_FORMAT"); QCString baseName = m_diskName; QCString imgName = baseName+"."+imgExt; QCString absPath = d.absPath().data(); @@ -4580,7 +4590,7 @@ QCString DotGroupCollaboration::writeGraph( FTextStream &t, if (graphFormat==GOF_BITMAP) // run dot to create a bitmap image { DotRunner *dotRun = new DotRunner(absDotName,d.absPath().data(),FALSE); - dotRun->addJob(imgExt,absImgName); + dotRun->addJob(imgFmt,absImgName); if (writeImageMap) dotRun->addJob(MAP_CMD,absMapName); DotManager::instance()->addRun(dotRun); |