summaryrefslogtreecommitdiffstats
path: root/src/docparser.cpp
diff options
context:
space:
mode:
authorDimitri van Heesch <dimitri@stack.nl>2017-12-28 09:13:43 (GMT)
committerDimitri van Heesch <dimitri@stack.nl>2017-12-28 09:13:43 (GMT)
commit989de07559a112c398da0bf3e7a1112ed5c8dbd7 (patch)
tree07e79b6c76dec9c20f6c0df3c6662d73dcade4ef /src/docparser.cpp
parent9538bfd15c99aceb619f426b30c87004c4820370 (diff)
parent3977359bd3fb5527a237c2c0cdb61407f2d85464 (diff)
downloadDoxygen-989de07559a112c398da0bf3e7a1112ed5c8dbd7.zip
Doxygen-989de07559a112c398da0bf3e7a1112ed5c8dbd7.tar.gz
Doxygen-989de07559a112c398da0bf3e7a1112ed5c8dbd7.tar.bz2
Merge branch 'master' of https://github.com/ahoogol/doxygen into ahoogol-master
Diffstat (limited to 'src/docparser.cpp')
-rw-r--r--src/docparser.cpp123
1 files changed, 122 insertions, 1 deletions
diff --git a/src/docparser.cpp b/src/docparser.cpp
index 25d4b0c..3d57c2e 100644
--- a/src/docparser.cpp
+++ b/src/docparser.cpp
@@ -7232,8 +7232,129 @@ static QCString processCopyDoc(const char *data,uint &len)
buf.addChar(0);
return buf.get();
}
+//---------------------------------------------------------------------------
+QString::Direction getTextDirByConfig(const QString &text)
+{
+ QCString configDir = Config_getEnum(OUTPUT_TEXT_DIRECTION);
+ if (configDir == "None")
+ return QString::DirNeutral;
+ if (configDir == "Context")
+ return text.basicDirection();
+ if (configDir == "LTR")
+ {
+ QString::Direction textDir = text.direction();
+ if (textDir == QString::DirMixed)
+ return QString::DirLTR;
+ return textDir;
+ }
+ if (configDir == "RTL")
+ {
+ QString::Direction textDir = text.direction();
+ if (textDir == QString::DirMixed)
+ return QString::DirRTL;
+ return textDir;
+ }
+ return QString::DirNeutral;
+}
-//--------------------------------------------------------------------------
+QString::Direction getTextDirByConfig(const DocNode *node)
+{
+ QCString configDir = Config_getEnum(OUTPUT_TEXT_DIRECTION);
+ if (configDir == "None")
+ return QString::DirNeutral;
+ if (configDir == "Context")
+ return node->getTextBasicDir();
+ if (configDir == "LTR")
+ {
+ QString::Direction textDir = node->getTextDir();
+ if (textDir == QString::DirMixed)
+ return QString::DirLTR;
+ return textDir;
+ }
+ if (configDir == "RTL")
+ {
+ QString::Direction textDir = node->getTextDir();
+ if (textDir == QString::DirMixed)
+ return QString::DirRTL;
+ return textDir;
+ }
+ return QString::DirNeutral;
+}
+
+QString::Direction getTextDirByConfig(const DocPara *para, int nodeIndex)
+{
+ QCString configDir = Config_getEnum(OUTPUT_TEXT_DIRECTION);
+ if (configDir == "None")
+ return QString::DirNeutral;
+ if (configDir == "Context")
+ return para->getTextBasicDir(nodeIndex);
+ if (configDir == "LTR")
+ {
+ QString::Direction textDir = para->getTextDir(nodeIndex);
+ if (textDir == QString::DirMixed)
+ return QString::DirLTR;
+ return textDir;
+ }
+ if (configDir == "RTL")
+ {
+ QString::Direction textDir = para->getTextDir(nodeIndex);
+ if (textDir == QString::DirMixed)
+ return QString::DirRTL;
+ return textDir;
+ }
+ return QString::DirNeutral;
+}
+
+QCString getDirHtmlClassOfNode(QString::Direction textDir, const char *initValue)
+{
+ QCString classFromDir;
+ if (textDir == QString::DirLTR)
+ classFromDir = "DocNodeLTR";
+ else if (textDir == QString::DirRTL)
+ classFromDir = "DocNodeRTL";
+ else
+ classFromDir = "";
+
+ if (initValue != NULL && !classFromDir.isEmpty())
+ return QCString(" class=\"") + initValue + " " + classFromDir + "\"";
+ if (initValue != NULL)
+ return QCString(" class=\"") + initValue + "\"";
+ if (!classFromDir.isEmpty())
+ return QCString(" class=\"") + classFromDir + "\"";
+ return "";
+}
+
+QCString getDirHtmlClassOfPage(QCString pageTitle)
+{
+ QCString result = "";
+ result += " class=\"PageDoc";
+ QString::Direction titleDir = getTextDirByConfig(pageTitle);
+ if (titleDir == QString::DirLTR)
+ result += " PageDocLTR-title";
+ else if (titleDir == QString::DirRTL)
+ result += " PageDocRTL-title";
+ result += "\"";
+ return result;
+}
+
+QCString getHtmlDirEmbedingChar(QString::Direction textDir)
+{
+ if (textDir == QString::DirLTR)
+ return "&#x202A;";
+ if (textDir == QString::DirRTL)
+ return "&#x202B;";
+ return "";
+}
+
+QCString getJsDirEmbedingChar(QString::Direction textDir)
+{
+ if (textDir == QString::DirLTR)
+ return "\\u202A";
+ if (textDir == QString::DirRTL)
+ return "\\u202B";
+ return "";
+}
+//---------------------------------------------------------------------------
DocRoot *validatingParseDoc(const char *fileName,int startLine,
Definition *ctx,MemberDef *md,