1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
|
/******************************************************************************
*
* Copyright (C) 1997-2019 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
* granted. No representations are made about the suitability of this software
* for any purpose. It is provided "as is" without express or implied warranty.
* See the GNU General Public License for more details.
*
* Documents produced by Doxygen are derivative works derived from the
* input used in their production; they are not affected by this license.
*
*/
#ifndef DOTFILEPATCHER_H
#define DOTFILEPATCHER_H
#include <vector>
#include <iostream>
#include "qcstring.h"
/** Helper class to insert a set of map file into an output file */
class DotFilePatcher
{
public:
DotFilePatcher(const char *patchFile);
int addMap(const QCString &mapFile,const QCString &relPath,
bool urlOnly,const QCString &context,const QCString &label);
int addFigure(const QCString &baseName,
const QCString &figureName,bool heightCheck);
int addSVGConversion(const QCString &relPath,bool urlOnly,
const QCString &context,bool zoomable,int graphId);
int addSVGObject(const QCString &baseName, const QCString &figureName,
const QCString &relPath);
bool run() const;
bool isSVGFile() const;
static bool convertMapFile(std::ostream &t,const char *mapName,
const QCString relPath, bool urlOnly=FALSE,
const QCString &context=QCString());
static bool writeSVGFigureLink(std::ostream &out,const QCString &relPath,
const QCString &baseName,const QCString &absImgName);
static bool writeVecGfxFigure(std::ostream& out, const QCString& baseName,
const QCString& figureName);
private:
struct Map
{
Map(const QCString &mf,const QCString &rp,bool uo,const QCString &ctx,
const QCString &lab,bool zoom=false,int gId=-1) :
mapFile(mf), relPath(rp), urlOnly(uo), context(ctx),
label(lab), zoomable(zoom), graphId(gId) {}
QCString mapFile;
QCString relPath;
bool urlOnly;
QCString context;
QCString label;
bool zoomable;
int graphId;
};
std::vector<Map> m_maps;
QCString m_patchFile;
};
#endif
|