|
Packit Service |
db749c |
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
|
Packit Service |
db749c |
/*
|
|
Packit Service |
db749c |
* This file is part of the libfreehand project.
|
|
Packit Service |
db749c |
*
|
|
Packit Service |
db749c |
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
Packit Service |
db749c |
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
Packit Service |
db749c |
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
Packit Service |
db749c |
*/
|
|
Packit Service |
db749c |
|
|
Packit Service |
db749c |
#ifndef __FHPARSER_H__
|
|
Packit Service |
db749c |
#define __FHPARSER_H__
|
|
Packit Service |
db749c |
|
|
Packit Service |
db749c |
#include <map>
|
|
Packit Service |
db749c |
#include <vector>
|
|
Packit Service |
db749c |
#include <lcms2.h>
|
|
Packit Service |
db749c |
#include <librevenge/librevenge.h>
|
|
Packit Service |
db749c |
#include "FHTypes.h"
|
|
Packit Service |
db749c |
|
|
Packit Service |
db749c |
namespace libfreehand
|
|
Packit Service |
db749c |
{
|
|
Packit Service |
db749c |
|
|
Packit Service |
db749c |
class FHCollector;
|
|
Packit Service |
db749c |
|
|
Packit Service |
db749c |
class FHParser
|
|
Packit Service |
db749c |
{
|
|
Packit Service |
db749c |
public:
|
|
Packit Service |
db749c |
explicit FHParser();
|
|
Packit Service |
db749c |
virtual ~FHParser();
|
|
Packit Service |
db749c |
bool parse(librevenge::RVNGInputStream *input, librevenge::RVNGDrawingInterface *painter);
|
|
Packit Service |
db749c |
private:
|
|
Packit Service |
db749c |
FHParser(const FHParser &);
|
|
Packit Service |
db749c |
FHParser &operator=(const FHParser &);
|
|
Packit Service |
db749c |
|
|
Packit Service |
db749c |
void parseDictionary(librevenge::RVNGInputStream *input);
|
|
Packit Service |
db749c |
void parseRecordList(librevenge::RVNGInputStream *input);
|
|
Packit Service |
db749c |
void parseRecord(librevenge::RVNGInputStream *input, FHCollector *collector, int recordId);
|
|
Packit Service |
db749c |
void parseRecords(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void parseDocument(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
|
|
Packit Service |
db749c |
void readAGDFont(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readAGDSelection(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readArrowPath(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readAttributeHolder(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readBasicFill(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readBasicLine(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readBendFilter(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readBlendObject(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readBlock(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readBrush(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readBrushStroke(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readBrushTip(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readCalligraphicStroke(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readCharacterFill(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readClipGroup(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readCollector(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readColor6(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readCompositePath(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readConeFill(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readConnectorLine(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readContentFill(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readContourFill(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readCustomProc(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readDataList(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readData(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readDateTime(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readDisplayText(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readDuetFilter(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readElement(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readElemList(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readElemPropLst(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readEnvelope(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readExpandFilter(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readExtrusion(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readFHDocHeader(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readFHTail(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readFigure(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readFileDescriptor(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readFilterAttributeHolder(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readFWBevelFilter(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readFWBlurFilter(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readFWFeatherFilter(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readFWGlowFilter(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readFWShadowFilter(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readFWSharpenFilter(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readGradientMaskFilter(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readGraphicStyle(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readGroup(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readGuides(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readHalftone(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readImageFill(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readImageImport(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readImport(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readLayer(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readLensFill(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readLinearFill(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readLinePat(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readLineTable(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readList(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readMasterPageDocMan(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readMasterPageElement(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readMasterPageLayerElement(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readMasterPageLayerInstance(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readMasterPageSymbolClass(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readMasterPageSymbolInstance(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readMDict(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readMName(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readMpObject(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readMQuickDict(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readMString(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readMultiBlend(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readMultiColorList(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readNewBlend(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readNewContourFill(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readNewRadialFill(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readOpacityFilter(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readOval(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readPantoneColor(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readParagraph(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readPath(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readPathText(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readPathTextLineInfo(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readPatternFill(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readPatternLine(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readPerspectiveEnvelope(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readPerspectiveGrid(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readPolygonFigure(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readProcedure(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readProcessColor(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readPropLst(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readPSFill(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readPSLine(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readRadialFill(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readRadialFillX(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readRaggedFilter(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readRectangle(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readSketchFilter(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readSpotColor(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readSpotColor6(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readStylePropLst(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readSwfImport(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readSymbolClass(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readSymbolInstance(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readSymbolLibrary(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readTabTable(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readTaperedFill(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readTaperedFillX(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readTEffect(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readTextBlok(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readTextEffs(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readTextObject(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readTileFill(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readTintColor(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readTintColor6(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readTransformFilter(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readTString(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readUString(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readVDict(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readVMpObj(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
void readXform(librevenge::RVNGInputStream *input, FHCollector *collector);
|
|
Packit Service |
db749c |
|
|
Packit Service |
db749c |
unsigned _readRecordId(librevenge::RVNGInputStream *input);
|
|
Packit Service |
db749c |
|
|
Packit Service |
db749c |
unsigned _xformCalc(unsigned char var1, unsigned char var2);
|
|
Packit Service |
db749c |
|
|
Packit Service |
db749c |
double _readCoordinate(librevenge::RVNGInputStream *input);
|
|
Packit Service |
db749c |
FHRGBColor _readRGBColor(librevenge::RVNGInputStream *input);
|
|
Packit Service |
db749c |
FHRGBColor _readCMYKColor(librevenge::RVNGInputStream *input);
|
|
Packit Service |
db749c |
void _readPropLstElements(librevenge::RVNGInputStream *input, std::map<unsigned, unsigned> &properties, unsigned size);
|
|
Packit Service |
db749c |
void _readBlockInformation(librevenge::RVNGInputStream *input, unsigned i, unsigned &layerListId);
|
|
Packit Service |
db749c |
void _readFH3CharProperties(librevenge::RVNGInputStream *input, FH3CharProperties &charProps);
|
|
Packit Service |
db749c |
void _readFH3ParaProperties(librevenge::RVNGInputStream *input, FH3ParaProperties ¶Props);
|
|
Packit Service |
db749c |
|
|
Packit Service |
db749c |
librevenge::RVNGInputStream *m_input;
|
|
Packit Service |
db749c |
FHCollector *m_collector;
|
|
Packit Service |
db749c |
int m_version;
|
|
Packit Service |
db749c |
std::map<unsigned short, int> m_dictionary;
|
|
Packit Service |
db749c |
std::vector<unsigned short> m_records;
|
|
Packit Service |
db749c |
std::vector<unsigned short>::size_type m_currentRecord;
|
|
Packit Service |
db749c |
FHPageInfo m_pageInfo;
|
|
Packit Service |
db749c |
cmsHTRANSFORM m_colorTransform;
|
|
Packit Service |
db749c |
};
|
|
Packit Service |
db749c |
|
|
Packit Service |
db749c |
} // namespace libfreehand
|
|
Packit Service |
db749c |
|
|
Packit Service |
db749c |
#endif // __FHPARSER_H__
|
|
Packit Service |
db749c |
/* vim:set shiftwidth=2 softtabstop=2 expandtab: */
|