diff options
author | Fridrich Štrba <fridrich.strba@bluewin.ch> | 2013-10-21 15:32:11 +0200 |
---|---|---|
committer | Fridrich Štrba <fridrich.strba@bluewin.ch> | 2013-10-21 15:32:11 +0200 |
commit | 0bc4a498e03e4fdbcb04d8ac2083c9e0fdfdbcab (patch) | |
tree | c6510db7290b211b6670c627016de151c5d22022 | |
parent | 4d8fbbf5db7f921022675adc1d509ae230c6272f (diff) |
Some more things that don't matterlibfreehand-0.0.0
-rw-r--r-- | src/lib/FHParser.cpp | 710 | ||||
-rw-r--r-- | src/lib/FHParser.h | 1 |
2 files changed, 359 insertions, 352 deletions
diff --git a/src/lib/FHParser.cpp b/src/lib/FHParser.cpp index 3fd2204..6bd1014 100644 --- a/src/lib/FHParser.cpp +++ b/src/lib/FHParser.cpp @@ -128,6 +128,363 @@ void libfreehand::FHParser::parseRecordList(WPXInputStream *input) } } +void libfreehand::FHParser::parseRecord(WPXInputStream *input, libfreehand::FHCollector *collector, int recordId) +{ + FH_DEBUG_MSG(("Parsing record number 0x%x: %s Offset 0x%lx\n", (unsigned)m_currentRecord+1, getTokenName(recordId), input->tell())); + switch (recordId) + { + case FH_AGDFONT: + readAGDFont(input, collector); + break; + case FH_AGDSELECTION: + readAGDSelection(input, collector); + break; + case FH_ARROWPATH: + readArrowPath(input, collector); + break; + case FH_ATTRIBUTEHOLDER: + readAttributeHolder(input, collector); + break; + case FH_BASICFILL: + readBasicFill(input, collector); + break; + case FH_BASICLINE: + readBasicLine(input, collector); + break; + case FH_BENDFILTER: + readBendFilter(input, collector); + break; + case FH_BLOCK: + readBlock(input, collector); + break; + case FH_BRUSHLIST: + readBrushList(input, collector); + break; + case FH_BRUSH: + readBrush(input, collector); + break; + case FH_BRUSHSTROKE: + readBrushStroke(input, collector); + break; + case FH_BRUSHTIP: + readBrushTip(input, collector); + break; + case FH_CALLIGRAPHICSTROKE: + readCalligraphicStroke(input, collector); + break; + case FH_CHARACTERFILL: + readCharacterFill(input, collector); + break; + case FH_CLIPGROUP: + readClipGroup(input, collector); + break; + case FH_COLLECTOR: + readCollector(input, collector); + break; + case FH_COLOR6: + readColor6(input, collector); + break; + case FH_COMPOSITEPATH: + readCompositePath(input, collector); + break; + case FH_CONEFILL: + readConeFill(input, collector); + break; + case FH_CONNECTORLINE: + readConnectorLine(input, collector); + break; + case FH_CONTENTFILL: + readContentFill(input, collector); + break; + case FH_CONTOURFILL: + readContourFill(input, collector); + break; + case FH_CUSTOMPROC: + readCustomProc(input, collector); + break; + case FH_DATALIST: + readDataList(input, collector); + break; + case FH_DATA: + readData(input, collector); + break; + case FH_DATETIME: + readDateTime(input, collector); + break; + case FH_DUETFILTER: + readDuetFilter(input, collector); + break; + case FH_ELEMENT: + readElement(input, collector); + break; + case FH_ELEMLIST: + readElemList(input, collector); + break; + case FH_ELEMPROPLST: + readElemPropLst(input, collector); + break; + case FH_ENVELOPE: + readEnvelope(input, collector); + break; + case FH_EXPANDFILTER: + readExpandFilter(input, collector); + break; + case FH_EXTRUSION: + readExtrusion(input, collector); + break; + case FH_FHDOCHEADER: + readFHDocHeader(input, collector); + break; + case FH_FIGURE: + readFigure(input, collector); + break; + case FH_FILEDESCRIPTOR: + readFileDescriptor(input, collector); + break; + case FH_FILTERATTRIBUTEHOLDER: + readFilterAttributeHolder(input, collector); + break; + case FH_FWBEVELFILTER: + readFWBevelFilter(input, collector); + break; + case FH_FWBLURFILTER: + readFWBlurFilter(input, collector); + break; + case FH_FWFEATHERFILTER: + readFWFeatherFilter(input, collector); + break; + case FH_FWGLOWFILTER: + readFWGlowFilter(input, collector); + break; + case FH_FWSHADOWFILTER: + readFWShadowFilter(input, collector); + break; + case FH_FWSHARPENFILTER: + readFWSharpenFilter(input, collector); + break; + case FH_GRADIENTMASKFILTER: + readGradientMaskFilter(input, collector); + break; + case FH_GRAPHICSTYLE: + readGraphicStyle(input, collector); + break; + case FH_GROUP: + readGroup(input, collector); + break; + case FH_GUIDES: + readGuides(input, collector); + break; + case FH_HALFTONE: + readHalftone(input, collector); + break; + case FH_IMAGEFILL: + readImageFill(input, collector); + break; + case FH_IMAGEIMPORT: + readImageImport(input, collector); + break; + case FH_LAYER: + readLayer(input, collector); + break; + case FH_LENSFILL: + readLensFill(input, collector); + break; + case FH_LINEARFILL: + readLinearFill(input, collector); + break; + case FH_LINEPAT: + readLinePat(input, collector); + break; + case FH_LINETABLE: + readLineTable(input, collector); + break; + case FH_LIST: + readList(input, collector); + break; + case FH_MASTERPAGEDOCMAN: + readMasterPageDocMan(input, collector); + break; + case FH_MASTERPAGEELEMENT: + readMasterPageElement(input, collector); + break; + case FH_MASTERPAGELAYERELEMENT: + readMasterPageLayerElement(input, collector); + break; + case FH_MASTERPAGELAYERINSTANCE: + readMasterPageLayerInstance(input, collector); + break; + case FH_MASTERPAGESYMBOLCLASS: + readMasterPageSymbolClass(input, collector); + break; + case FH_MASTERPAGESYMBOLINSTANCE: + readMasterPageSymbolInstance(input, collector); + break; + case FH_MDICT: + readMDict(input, collector); + break; + case FH_MLIST: + readMList(input, collector); + break; + case FH_MNAME: + readMName(input, collector); + break; + case FH_MPOBJECT: + readMpObject(input, collector); + break; + case FH_MQUICKDICT: + readMQuickDict(input, collector); + break; + case FH_MSTRING: + readMString(input, collector); + break; + case FH_MULTIBLEND: + readMultiBlend(input, collector); + break; + case FH_MULTICOLORLIST: + readMultiColorList(input, collector); + break; + case FH_NEWBLEND: + readNewBlend(input, collector); + break; + case FH_NEWCONTOURFILL: + readNewContourFill(input, collector); + break; + case FH_NEWRADIALFILL: + readNewRadialFill(input, collector); + break; + case FH_OPACITYFILTER: + readOpacityFilter(input, collector); + break; + case FH_OVAL: + readOval(input, collector); + break; + case FH_PARAGRAPH: + readParagraph(input, collector); + break; + case FH_PATH: + readPath(input, collector); + break; + case FH_PATHTEXTLINEINFO: + readPathTextLineInfo(input, collector); + break; + case FH_PATTERNFILL: + readPatternFill(input, collector); + break; + case FH_PATTERNLINE: + readPatternLine(input, collector); + break; + case FH_PERSPECTIVEENVELOPE: + readPerspectiveEnvelope(input, collector); + break; + case FH_PERSPECTIVEGRID: + readPerspectiveGrid(input, collector); + break; + case FH_POLYGONFIGURE: + readPolygonFigure(input, collector); + break; + case FH_PROCEDURE: + readProcedure(input, collector); + break; + case FH_PROPLST: + readPropLst(input, collector); + break; + case FH_PSLINE: + readPSLine(input, collector); + break; + case FH_RADIALFILL: + readRadialFill(input, collector); + break; + case FH_RADIALFILLX: + readRadialFillX(input, collector); + break; + case FH_RAGGEDFILTER: + readRaggedFilter(input, collector); + break; + case FH_RECTANGLE: + readRectangle(input, collector); + break; + case FH_SKETCHFILTER: + readSketchFilter(input, collector); + break; + case FH_SPOTCOLOR: + readSpotColor(input, collector); + break; + case FH_SPOTCOLOR6: + readSpotColor6(input, collector); + break; + case FH_STYLEPROPLST: + readStylePropLst(input, collector); + break; + case FH_SWFIMPORT: + readSwfImport(input, collector); + break; + case FH_SYMBOLCLASS: + readSymbolClass(input, collector); + break; + case FH_SYMBOLINSTANCE: + readSymbolInstance(input, collector); + break; + case FH_SYMBOLLIBRARY: + readSymbolLibrary(input, collector); + break; + case FH_TABTABLE: + readTabTable(input, collector); + break; + case FH_TAPEREDFILL: + readTaperedFill(input, collector); + break; + case FH_TAPEREDFILLX: + readTaperedFillX(input, collector); + break; + case FH_TEFFECT: + readTEffect(input, collector); + break; + case FH_TEXTBLOK: + readTextBlok(input, collector); + break; + case FH_TEXTCOLUMN: + readTextColumn(input, collector); + break; + case FH_TEXTINPATH: + readTextInPath(input, collector); + break; + case FH_TFONPATH: + readTFOnPath(input, collector); + break; + case FH_TILEFILL: + readTileFill(input, collector); + break; + case FH_TINTCOLOR: + readTintColor(input, collector); + break; + case FH_TINTCOLOR6: + readTintColor6(input, collector); + break; + case FH_TRANSFORMFILTER: + readTransformFilter(input, collector); + break; + case FH_TSTRING: + readTString(input, collector); + break; + case FH_USTRING: + readUString(input, collector); + break; + case FH_VDICT: + readVDict(input, collector); + break; + case FH_VMPOBJ: + readVMpObj(input, collector); + break; + case FH_XFORM: + readXform(input, collector); + break; + default: + FH_DEBUG_MSG(("FHParser::parseRecords UNKNOWN TOKEN\n")); + return; + } + +} + void libfreehand::FHParser::parseRecords(WPXInputStream *input, libfreehand::FHCollector *collector) { for (m_currentRecord = 0; m_currentRecord < m_records.size() && !input->atEOS(); ++m_currentRecord) @@ -137,358 +494,7 @@ void libfreehand::FHParser::parseRecords(WPXInputStream *input, libfreehand::FHC { if (!collector) m_offsets.push_back(input->tell()); - FH_DEBUG_MSG(("Parsing record number 0x%x: %s Offset 0x%lx\n", (unsigned)m_currentRecord+1, getTokenName(iterDict->second), input->tell())); - switch (iterDict->second) - { - case FH_AGDFONT: - readAGDFont(input, collector); - break; - case FH_AGDSELECTION: - readAGDSelection(input, collector); - break; - case FH_ARROWPATH: - readArrowPath(input, collector); - break; - case FH_ATTRIBUTEHOLDER: - readAttributeHolder(input, collector); - break; - case FH_BASICFILL: - readBasicFill(input, collector); - break; - case FH_BASICLINE: - readBasicLine(input, collector); - break; - case FH_BENDFILTER: - readBendFilter(input, collector); - break; - case FH_BLOCK: - readBlock(input, collector); - break; - case FH_BRUSHLIST: - readBrushList(input, collector); - break; - case FH_BRUSH: - readBrush(input, collector); - break; - case FH_BRUSHSTROKE: - readBrushStroke(input, collector); - break; - case FH_BRUSHTIP: - readBrushTip(input, collector); - break; - case FH_CALLIGRAPHICSTROKE: - readCalligraphicStroke(input, collector); - break; - case FH_CHARACTERFILL: - readCharacterFill(input, collector); - break; - case FH_CLIPGROUP: - readClipGroup(input, collector); - break; - case FH_COLLECTOR: - readCollector(input, collector); - break; - case FH_COLOR6: - readColor6(input, collector); - break; - case FH_COMPOSITEPATH: - readCompositePath(input, collector); - break; - case FH_CONEFILL: - readConeFill(input, collector); - break; - case FH_CONNECTORLINE: - readConnectorLine(input, collector); - break; - case FH_CONTENTFILL: - readContentFill(input, collector); - break; - case FH_CONTOURFILL: - readContourFill(input, collector); - break; - case FH_CUSTOMPROC: - readCustomProc(input, collector); - break; - case FH_DATALIST: - readDataList(input, collector); - break; - case FH_DATA: - readData(input, collector); - break; - case FH_DATETIME: - readDateTime(input, collector); - break; - case FH_DUETFILTER: - readDuetFilter(input, collector); - break; - case FH_ELEMENT: - readElement(input, collector); - break; - case FH_ELEMLIST: - readElemList(input, collector); - break; - case FH_ELEMPROPLST: - readElemPropLst(input, collector); - break; - case FH_ENVELOPE: - readEnvelope(input, collector); - break; - case FH_EXPANDFILTER: - readExpandFilter(input, collector); - break; - case FH_EXTRUSION: - readExtrusion(input, collector); - break; - case FH_FHDOCHEADER: - readFHDocHeader(input, collector); - break; - case FH_FIGURE: - readFigure(input, collector); - break; - case FH_FILEDESCRIPTOR: - readFileDescriptor(input, collector); - break; - case FH_FILTERATTRIBUTEHOLDER: - readFilterAttributeHolder(input, collector); - break; - case FH_FWBEVELFILTER: - readFWBevelFilter(input, collector); - break; - case FH_FWBLURFILTER: - readFWBlurFilter(input, collector); - break; - case FH_FWFEATHERFILTER: - readFWFeatherFilter(input, collector); - break; - case FH_FWGLOWFILTER: - readFWGlowFilter(input, collector); - break; - case FH_FWSHADOWFILTER: - readFWShadowFilter(input, collector); - break; - case FH_FWSHARPENFILTER: - readFWSharpenFilter(input, collector); - break; - case FH_GRADIENTMASKFILTER: - readGradientMaskFilter(input, collector); - break; - case FH_GRAPHICSTYLE: - readGraphicStyle(input, collector); - break; - case FH_GROUP: - readGroup(input, collector); - break; - case FH_GUIDES: - readGuides(input, collector); - break; - case FH_HALFTONE: - readHalftone(input, collector); - break; - case FH_IMAGEFILL: - readImageFill(input, collector); - break; - case FH_IMAGEIMPORT: - readImageImport(input, collector); - break; - case FH_LAYER: - readLayer(input, collector); - break; - case FH_LENSFILL: - readLensFill(input, collector); - break; - case FH_LINEARFILL: - readLinearFill(input, collector); - break; - case FH_LINEPAT: - readLinePat(input, collector); - break; - case FH_LINETABLE: - readLineTable(input, collector); - break; - case FH_LIST: - readList(input, collector); - break; - case FH_MASTERPAGEDOCMAN: - readMasterPageDocMan(input, collector); - break; - case FH_MASTERPAGEELEMENT: - readMasterPageElement(input, collector); - break; - case FH_MASTERPAGELAYERELEMENT: - readMasterPageLayerElement(input, collector); - break; - case FH_MASTERPAGELAYERINSTANCE: - readMasterPageLayerInstance(input, collector); - break; - case FH_MASTERPAGESYMBOLCLASS: - readMasterPageSymbolClass(input, collector); - break; - case FH_MASTERPAGESYMBOLINSTANCE: - readMasterPageSymbolInstance(input, collector); - break; - case FH_MDICT: - readMDict(input, collector); - break; - case FH_MLIST: - readMList(input, collector); - break; - case FH_MNAME: - readMName(input, collector); - break; - case FH_MPOBJECT: - readMpObject(input, collector); - break; - case FH_MQUICKDICT: - readMQuickDict(input, collector); - break; - case FH_MSTRING: - readMString(input, collector); - break; - case FH_MULTIBLEND: - readMultiBlend(input, collector); - break; - case FH_MULTICOLORLIST: - readMultiColorList(input, collector); - break; - case FH_NEWBLEND: - readNewBlend(input, collector); - break; - case FH_NEWCONTOURFILL: - readNewContourFill(input, collector); - break; - case FH_NEWRADIALFILL: - readNewRadialFill(input, collector); - break; - case FH_OPACITYFILTER: - readOpacityFilter(input, collector); - break; - case FH_OVAL: - readOval(input, collector); - break; - case FH_PARAGRAPH: - readParagraph(input, collector); - break; - case FH_PATH: - readPath(input, collector); - break; - case FH_PATHTEXTLINEINFO: - readPathTextLineInfo(input, collector); - break; - case FH_PATTERNFILL: - readPatternFill(input, collector); - break; - case FH_PATTERNLINE: - readPatternLine(input, collector); - break; - case FH_PERSPECTIVEENVELOPE: - readPerspectiveEnvelope(input, collector); - break; - case FH_PERSPECTIVEGRID: - readPerspectiveGrid(input, collector); - break; - case FH_POLYGONFIGURE: - readPolygonFigure(input, collector); - break; - case FH_PROCEDURE: - readProcedure(input, collector); - break; - case FH_PROPLST: - readPropLst(input, collector); - break; - case FH_PSLINE: - readPSLine(input, collector); - break; - case FH_RADIALFILL: - readRadialFill(input, collector); - break; - case FH_RADIALFILLX: - readRadialFillX(input, collector); - break; - case FH_RAGGEDFILTER: - readRaggedFilter(input, collector); - break; - case FH_RECTANGLE: - readRectangle(input, collector); - break; - case FH_SKETCHFILTER: - readSketchFilter(input, collector); - break; - case FH_SPOTCOLOR: - readSpotColor(input, collector); - break; - case FH_SPOTCOLOR6: - readSpotColor6(input, collector); - break; - case FH_STYLEPROPLST: - readStylePropLst(input, collector); - break; - case FH_SWFIMPORT: - readSwfImport(input, collector); - break; - case FH_SYMBOLCLASS: - readSymbolClass(input, collector); - break; - case FH_SYMBOLINSTANCE: - readSymbolInstance(input, collector); - break; - case FH_SYMBOLLIBRARY: - readSymbolLibrary(input, collector); - break; - case FH_TABTABLE: - readTabTable(input, collector); - break; - case FH_TAPEREDFILL: - readTaperedFill(input, collector); - break; - case FH_TAPEREDFILLX: - readTaperedFillX(input, collector); - break; - case FH_TEFFECT: - readTEffect(input, collector); - break; - case FH_TEXTBLOK: - readTextBlok(input, collector); - break; - case FH_TEXTCOLUMN: - readTextColumn(input, collector); - break; - case FH_TEXTINPATH: - readTextInPath(input, collector); - break; - case FH_TFONPATH: - readTFOnPath(input, collector); - break; - case FH_TILEFILL: - readTileFill(input, collector); - break; - case FH_TINTCOLOR: - readTintColor(input, collector); - break; - case FH_TINTCOLOR6: - readTintColor6(input, collector); - break; - case FH_TRANSFORMFILTER: - readTransformFilter(input, collector); - break; - case FH_TSTRING: - readTString(input, collector); - break; - case FH_USTRING: - readUString(input, collector); - break; - case FH_VDICT: - readVDict(input, collector); - break; - case FH_VMPOBJ: - readVMpObj(input, collector); - break; - case FH_XFORM: - readXform(input, collector); - break; - default: - FH_DEBUG_MSG(("FHParser::parseRecords UNKNOWN TOKEN\n")); - return; - } + parseRecord(input, collector, iterDict->second); } else { diff --git a/src/lib/FHParser.h b/src/lib/FHParser.h index 50b16c0..e267bb8 100644 --- a/src/lib/FHParser.h +++ b/src/lib/FHParser.h @@ -39,6 +39,7 @@ private: void parseDictionary(WPXInputStream *input); void parseRecordList(WPXInputStream *input); + void parseRecord(WPXInputStream *input, FHCollector *collector, int recordId); void parseRecords(WPXInputStream *input, FHCollector *collector = 0); void parseDocument(WPXInputStream *input, FHCollector *collector); |