diff options
author | Thomas Haller <thomas.haller@redheads.de> | 2019-05-24 06:33:33 (GMT) |
---|---|---|
committer | Dimitri van Heesch <doxygen@gmail.com> | 2019-06-13 18:55:20 (GMT) |
commit | 7bae1f4e7c1f7b38e205f158cc5cbe0e4b956b75 (patch) | |
tree | 5706bc2223336c5068366d74e8478efe268af634 /src/dotcallgraph.h | |
parent | 182a5e8af049289e8bdad30e5a25ad444d17dffd (diff) | |
download | Doxygen-7bae1f4e7c1f7b38e205f158cc5cbe0e4b956b75.zip Doxygen-7bae1f4e7c1f7b38e205f158cc5cbe0e4b956b75.tar.gz Doxygen-7bae1f4e7c1f7b38e205f158cc5cbe0e4b956b75.tar.bz2 |
refactoring dot.cpp
Diffstat (limited to 'src/dotcallgraph.h')
-rw-r--r-- | src/dotcallgraph.h | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/src/dotcallgraph.h b/src/dotcallgraph.h new file mode 100644 index 0000000..c96b9cf --- /dev/null +++ b/src/dotcallgraph.h @@ -0,0 +1,52 @@ +/****************************************************************************** +* +* 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 DOTCALLGRAPH_H +#define DOTCALLGRAPH_H + +#include "dotgraph.h" +#include "ftextstream.h" +#include "memberdef.h" + +/** Representation of an call graph */ +class DotCallGraph : public DotGraph +{ + public: + DotCallGraph(const MemberDef *md,bool inverse); + ~DotCallGraph(); + bool isTrivial() const; + bool isTooBig() const; + QCString writeGraph(FTextStream &t, GraphOutputFormat gf, EmbeddedOutputFormat ef, + const char *path,const char *fileName, + const char *relPath,bool writeImageMap=TRUE, + int graphId=-1); + + protected: + virtual QCString getBaseName() const; + virtual QCString getMapLabel() const; + virtual void computeTheGraph(); + + private: + void buildGraph(DotNode *n,const MemberDef *md,int distance); + void determineVisibleNodes(QList<DotNode> &queue, int &maxNodes); + void determineTruncatedNodes(QList<DotNode> &queue); + DotNode *m_startNode; + QDict<DotNode> *m_usedNodes; + bool m_inverse; + QCString m_diskName; + const Definition * m_scope; +}; + +#endif |