WPG1Parser.h
Go to the documentation of this file.
1/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */
2/* libwpg
3 * Version: MPL 2.0 / LGPLv2.1+
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 * Major Contributor(s):
10 * Copyright (C) 2006 Ariya Hidayat (ariya@kde.org)
11 * Copyright (C) 2005 Fridrich Strba (fridrich.strba@bluewin.ch)
12 * Copyright (C) 2004 Marc Oude Kotte (marc@solcon.nl)
13 *
14 * For minor contributions see the git repository.
15 *
16 * Alternatively, the contents of this file may be used under the terms
17 * of the GNU Lesser General Public License Version 2.1 or later
18 * (LGPLv2.1+), in which case the provisions of the LGPLv2.1+ are
19 * applicable instead of those above.
20 *
21 * For further information visit http://libwpg.sourceforge.net
22 */
23
24/* "This product is not manufactured, approved, or supported by
25 * Corel Corporation or Corel Corporation Limited."
26 */
27
28#ifndef __WPG1PARSER_H__
29#define __WPG1PARSER_H__
30
31#include <vector>
32
33#include <librevenge/librevenge.h>
34
35#include "WPGBitmap.h"
36#include "WPGDashArray.h"
37#include "WPGXParser.h"
38
39class WPG1Parser : public WPGXParser
40{
41public:
42 WPG1Parser(librevenge::RVNGInputStream *input, librevenge::RVNGDrawingInterface *painter);
43 bool parse() override;
44
45private:
46 void handleStartWPG();
47 void handleEndWPG();
48
51 void handleColormap();
52
53 void handleLine();
54 void handlePolyline();
55 void handleRectangle();
56 void handlePolygon();
57 void handleEllipse();
58
60
61 bool decodeRLE(std::vector<unsigned char> &buffer, unsigned width, unsigned height, unsigned depth);
62 void fillPixels(libwpg::WPGBitmap &bitmap, const unsigned char *buffer, unsigned width, unsigned height, unsigned depth);
67
72
73 void resetPalette();
74
75 // parsing context
79 bool m_exit;
83 librevenge::RVNGPropertyList m_style;
89 librevenge::RVNGPropertyListVector m_gradient;
90};
91
92#endif // __WPG1PARSER_H__
93/* vim:set shiftwidth=4 softtabstop=4 noexpandtab: */
Definition: WPG1Parser.h:40
void handleStartWPG()
Definition: WPG1Parser.cpp:286
libwpg::WPGDashArray m_dashArray
Definition: WPG1Parser.h:88
void handleEllipse()
Definition: WPG1Parser.cpp:510
void handleLine()
Definition: WPG1Parser.cpp:387
WPG1Parser(librevenge::RVNGInputStream *input, librevenge::RVNGDrawingInterface *painter)
Definition: WPG1Parser.cpp:145
void handlePostscriptTypeOne()
Definition: WPG1Parser.cpp:855
void handleEndWPG()
Definition: WPG1Parser.cpp:307
void resetPalette()
Definition: WPG1Parser.cpp:1008
void handleRectangle()
Definition: WPG1Parser.cpp:449
int m_width
Definition: WPG1Parser.h:81
libwpg::WPGColor m_penBackColor
Definition: WPG1Parser.h:85
librevenge::RVNGPropertyList m_style
Definition: WPG1Parser.h:83
void handleCurvedPolyline()
Definition: WPG1Parser.cpp:540
void fillPixels(libwpg::WPGBitmap &bitmap, const unsigned char *buffer, unsigned width, unsigned height, unsigned depth)
Definition: WPG1Parser.cpp:666
bool m_success
Definition: WPG1Parser.h:78
librevenge::RVNGPropertyListVector m_gradient
Definition: WPG1Parser.h:89
void handleGraphicsTextTypeTwo()
Definition: WPG1Parser.cpp:973
void handlePostscriptTypeTwo()
Definition: WPG1Parser.cpp:883
bool m_exit
Definition: WPG1Parser.h:79
libwpg::WPGColor m_brushForeColor
Definition: WPG1Parser.h:86
void handleGraphicsTextAttributes()
Definition: WPG1Parser.cpp:937
void handleFillAttributes()
Definition: WPG1Parser.cpp:339
bool parse() override
Definition: WPG1Parser.cpp:163
void handlePolygon()
Definition: WPG1Parser.cpp:478
void handlePolyline()
Definition: WPG1Parser.cpp:420
void handleGraphicsTextTypeOne()
Definition: WPG1Parser.cpp:943
void handleBitmapTypeTwo()
Definition: WPG1Parser.cpp:788
long m_recordEnd
Definition: WPG1Parser.h:77
libwpg::WPGColor m_penForeColor
Definition: WPG1Parser.h:84
void handleBitmapTypeOne()
Definition: WPG1Parser.cpp:737
void handleLineAttributes()
Definition: WPG1Parser.cpp:360
void handleColormap()
Definition: WPG1Parser.cpp:318
void handleGraphicsTextTypeThree()
bool decodeRLE(std::vector< unsigned char > &buffer, unsigned width, unsigned height, unsigned depth)
Definition: WPG1Parser.cpp:591
int m_recordLength
Definition: WPG1Parser.h:76
libwpg::WPGColor m_brushBackColor
Definition: WPG1Parser.h:87
bool m_graphicsStarted
Definition: WPG1Parser.h:80
int m_height
Definition: WPG1Parser.h:82
Definition: WPGXParser.h:40
Definition: WPGBitmap.h:40
Definition: WPGColor.h:35
Definition: WPGDashArray.h:37

Generated for libwpg by doxygen 1.9.3