File indexing completed on 2024-05-19 08:24:42
0001 /* 0002 SPDX-FileCopyrightText: 2004 Duncan Mac-Vicar Prett <duncan@kde.org> 0003 SPDX-FileCopyrightText: 2004-2005 Olivier Goffart <ogoffart@kde.org> 0004 SPDX-FileCopyrightText: 2011 Niels Ole Salscheider 0005 <niels_ole@salscheider-online.de> 0006 0007 SPDX-License-Identifier: GPL-2.0-or-later 0008 */ 0009 0010 #ifndef LATEXRENDERER_H 0011 #define LATEXRENDERER_H 0012 0013 #include <QStringList> 0014 0015 class QString; 0016 class QColor; 0017 0018 namespace GuiUtils 0019 { 0020 class LatexRenderer 0021 { 0022 public: 0023 enum Error { NoError, LatexNotFound, DvipngNotFound, LatexFailed, DvipngFailed }; 0024 0025 LatexRenderer(); 0026 ~LatexRenderer(); 0027 0028 LatexRenderer(const LatexRenderer &) = delete; 0029 LatexRenderer &operator=(const LatexRenderer &) = delete; 0030 0031 Error renderLatexInHtml(QString &html, const QColor &textColor, int fontSize, int resolution, QString &latexOutput); 0032 static bool mightContainLatex(const QString &text); 0033 0034 private: 0035 Error handleLatex(QString &fileName, const QString &latexFormula, const QColor &textColor, int fontSize, int resolution, QString &latexOutput); 0036 static bool securityCheck(const QString &latexFormula); 0037 0038 QStringList m_fileList; 0039 }; 0040 0041 } 0042 0043 #endif // LATEXRENDERER_H