Warning, file /office/calligra/filters/karbon/xfig/XFigParser.h was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001 /* 0002 This file is part of the Calligra project, made within the KDE community. 0003 0004 SPDX-FileCopyrightText: 2012 Friedrich W. H. Kossebau <kossebau@kde.org> 0005 0006 SPDX-License-Identifier: LGPL-2.0-or-later 0007 */ 0008 0009 #ifndef XFIGPARSER_H 0010 #define XFIGPARSER_H 0011 0012 // filter 0013 #include "XFigStreamLineReader.h" 0014 0015 class XFigDocument; 0016 class XFigAbstractObject; 0017 class XFigArrowHead; 0018 class QTextDecoder; 0019 class QIODevice; 0020 struct XFigPoint; 0021 0022 template<typename T> class QVector; 0023 0024 0025 class XFigParser 0026 { 0027 public: 0028 static XFigDocument* parse( QIODevice* device ); 0029 0030 private: 0031 explicit XFigParser( QIODevice* device ); 0032 ~XFigParser(); 0033 0034 XFigDocument* takeDocument() { XFigDocument* result = m_Document; m_Document = 0; return result; } 0035 0036 bool parseHeader(); 0037 0038 void parseColorObject(); 0039 0040 XFigAbstractObject* parseArc(); 0041 XFigAbstractObject* parseEllipse(); 0042 XFigAbstractObject* parsePolyline(); 0043 XFigAbstractObject* parseSpline(); 0044 XFigAbstractObject* parseText(); 0045 XFigAbstractObject* parseCompoundObject(); 0046 0047 XFigArrowHead* parseArrowHead(); 0048 QVector<XFigPoint> parsePoints(int pointCount); 0049 QVector<double> parseFactors(int pointCount); 0050 0051 private: 0052 XFigDocument* m_Document; 0053 0054 int m_XFigVersion; 0055 0056 QTextDecoder* m_TextDecoder; 0057 XFigStreamLineReader m_XFigStreamLineReader; 0058 }; 0059 0060 #endif