Blame src/lib/FHParser.h

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 &paraProps);
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: */