CommonParser.h
Go to the documentation of this file.
1/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2/*
3 * This file is part of the libcdr project.
4 *
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 */
9
10#ifndef __COMMONPARSER_H__
11#define __COMMONPARSER_H__
12
13#include <utility>
14#include <vector>
15
16#include <librevenge-stream/librevenge-stream.h>
17
18namespace libcdr
19{
20
21class CDRCollector;
22class CDRPath;
23
26
28{
29public:
30 CommonParser(CDRCollector *collector);
31 virtual ~CommonParser();
32
33private:
37
38
39protected:
40 double readCoordinate(librevenge::RVNGInputStream *input, bool bigEndian = false);
41 unsigned readUnsigned(librevenge::RVNGInputStream *input, bool bigEndian = false);
42 unsigned short readUnsignedShort(librevenge::RVNGInputStream *input, bool bigEndian = false);
43 int readInteger(librevenge::RVNGInputStream *input, bool bigEndian = false);
44 double readAngle(librevenge::RVNGInputStream *input, bool bigEndian = false);
45 void readRImage(unsigned &colorModel, unsigned &width, unsigned &height, unsigned &bpp,
46 std::vector<unsigned> &palette, std::vector<unsigned char> &bitmap,
47 librevenge::RVNGInputStream *input, bool bigEndian = false);
48 void readBmpPattern(unsigned &width, unsigned &height, std::vector<unsigned char> &pattern,
49 unsigned length, librevenge::RVNGInputStream *input, bool bigEndian = false);
50
51 void processPath(const std::vector<std::pair<double, double> > &points, const std::vector<unsigned char> &types, CDRPath &path);
52 void outputPath(const std::vector<std::pair<double, double> > &points, const std::vector<unsigned char> &types);
53
56};
57} // namespace libcdr
58
59#endif // __COMMONPARSER_H__
60/* vim:set shiftwidth=2 softtabstop=2 expandtab: */
Definition CDRCollector.h:62
Definition CDRPath.h:37
double readCoordinate(librevenge::RVNGInputStream *input, bool bigEndian=false)
Definition CommonParser.cpp:25
CoordinatePrecision m_precision
Definition CommonParser.h:55
double readAngle(librevenge::RVNGInputStream *input, bool bigEndian=false)
Definition CommonParser.cpp:61
int readInteger(librevenge::RVNGInputStream *input, bool bigEndian=false)
Definition CommonParser.cpp:52
virtual ~CommonParser()
Definition CommonParser.cpp:21
CommonParser(CDRCollector *collector)
Definition CommonParser.cpp:18
void readRImage(unsigned &colorModel, unsigned &width, unsigned &height, unsigned &bpp, std::vector< unsigned > &palette, std::vector< unsigned char > &bitmap, librevenge::RVNGInputStream *input, bool bigEndian=false)
Definition CommonParser.cpp:135
CDRCollector * m_collector
Definition CommonParser.h:54
void readBmpPattern(unsigned &width, unsigned &height, std::vector< unsigned char > &pattern, unsigned length, librevenge::RVNGInputStream *input, bool bigEndian=false)
Definition CommonParser.cpp:175
CommonParser(const CommonParser &)
unsigned readUnsigned(librevenge::RVNGInputStream *input, bool bigEndian=false)
Definition CommonParser.cpp:34
unsigned short readUnsignedShort(librevenge::RVNGInputStream *input, bool bigEndian=false)
Definition CommonParser.cpp:43
void outputPath(const std::vector< std::pair< double, double > > &points, const std::vector< unsigned char > &types)
Definition CommonParser.cpp:70
CommonParser & operator=(const CommonParser &)
void processPath(const std::vector< std::pair< double, double > > &points, const std::vector< unsigned char > &types, CDRPath &path)
Definition CommonParser.cpp:78
Definition CDRCollector.h:25
CoordinatePrecision
Definition CommonParser.h:25
@ PRECISION_32BIT
Definition CommonParser.h:25
@ PRECISION_16BIT
Definition CommonParser.h:25
@ PRECISION_UNKNOWN
Definition CommonParser.h:25

Generated for libcdr by doxygen 1.13.2