WPG2Parser.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 __WPG2PARSER_H__
29 #define __WPG2PARSER_H__
30 
31 #include <limits>
32 #include <map>
33 #include <stack>
34 #include <vector>
35 
36 #include <librevenge/librevenge.h>
37 
38 #include "WPGBitmap.h"
39 #include "WPGDashArray.h"
40 #include "WPGXParser.h"
41 
43 {
44 public:
45  double element[3][3];
46 
48  {
49  // identity transformation
50  element[0][0] = element[1][1] = 1;
51  element[2][2] = 1;
52  element[0][1] = element[0][2] = 0;
53  element[1][0] = element[1][2] = 0;
54  element[2][0] = element[2][1] = 0;
55  }
56 
57  void transform(long &x, long &y) const
58  {
59  const double rx = element[0][0]*x + element[1][0]*y + element[2][0];
60  const double ry = element[0][1]*x + element[1][1]*y + element[2][1];
61  x = toLong(rx);
62  y = toLong(ry);
63  }
64 
65  librevenge::RVNGPropertyList transformPoint(const ::librevenge::RVNGPropertyList &p) const
66  {
67  librevenge::RVNGPropertyList propList;
68  propList.insert("svg:x", (element[0][0]*p["svg:x"]->getDouble() + element[1][0]*p["svg:y"]->getDouble() + element[2][0]));
69  propList.insert("svg:y", (element[0][1]*p["svg:x"]->getDouble() + element[1][1]*p["svg:y"]->getDouble() + element[2][1]));
70  return propList;
71  }
72 
73  librevenge::RVNGPropertyList transformRect(const ::librevenge::RVNGPropertyList &r) const
74  {
75  librevenge::RVNGPropertyList propList;
76  double oldx1 = r["svg:x"]->getDouble();
77  double oldy1 = r["svg:y"]->getDouble();
78  double oldx2 = r["svg:x"]->getDouble() + r["svg:width"]->getDouble();
79  double oldy2 = r["svg:y"]->getDouble() + r["svg:height"]->getDouble();
80 
81  double newx1 = element[0][0]*oldx1 + element[1][0]*oldy1 + element[2][0];
82  double newy1 = element[0][1]*oldx1 + element[1][1]*oldy1 + element[2][1];
83  double newx2 = element[0][0]*oldx2 + element[1][0]*oldy2 + element[2][0];
84  double newy2 = element[0][1]*oldx2 + element[1][1]*oldy2 + element[2][1];
85 
86  propList.insert("svg:x", (double)newx1);
87  propList.insert("svg:y", (double)newy1);
88  propList.insert("svg:width", (newx2-newx1));
89  propList.insert("svg:height", (newy2-newy1));
90  return propList;
91  }
92 
94  {
95  double result[3][3];
96 
97  for (int i = 0; i < 3; i++)
98  for (int j = 0; j < 3; j++)
99  {
100  result[i][j] = 0;
101  for (int k = 0; k < 3; k++)
102  result[i][j] += m.element[i][k]*element[k][j];
103  }
104 
105  for (int x = 0; x < 3; x++)
106  for (int y = 0; y < 3; y++)
107  element[x][y] = result[x][y];
108 
109  return *this;
110  }
111 
112 private:
113  static long toLong(double d)
114  {
115  if (d > double(std::numeric_limits<long>::max()))
116  return std::numeric_limits<long>::max();
117  else if (d < double(std::numeric_limits<long>::min()))
118  return std::numeric_limits<long>::min();
119  else
120  return long(d);
121  }
122 };
123 
125 {
126 public:
128  bool isFilled;
129  bool isFramed;
130  bool isClosed;
131 
132  WPGCompoundPolygon(): matrix(), isFilled(true), isFramed(true), isClosed(true) {}
133 };
134 
136 {
137 public:
138  unsigned subIndex;
140  librevenge::RVNGPropertyListVector compoundPath;
146 
149  compoundFilled(false), compoundFramed(true), compoundClosed(false) {}
150 
151  bool isCompoundPolygon() const
152  {
153  return parentType == 0x1a;
154  }
155 };
156 
158 {
159 public:
160  double x1, y1, x2, y2;
161  long hres, vres;
162  WPGBitmapContext(): x1(0), y1(0), x2(0), y2(0), hres(100), vres(100) {}
163 };
164 
166 {
167 public:
168  double x1, y1, x2, y2;
170  std::vector<librevenge::RVNGString> mimeTypes;
171  WPGBinaryDataContext(): x1(0), y1(0), x2(0), y2(0), numObjects(0), objectIndex(0), mimeTypes() {}
172 };
173 
175 {
176 public:
177  double x1, y1, x2, y2;
178  unsigned short flags;
179  unsigned char vertAlign;
180  unsigned char horAlign;
182  WPGTextDataContext(): x1(0), y1(0), x2(0), y2(0), flags(), vertAlign(), horAlign(), baseLineAngle(0.0) {}
183 };
184 
185 class WPG2Parser : public WPGXParser
186 {
187 public:
188  WPG2Parser(librevenge::RVNGInputStream *input, librevenge::RVNGDrawingInterface *painter, bool isEmbedded = false);
189  bool parse() override;
190 
191 private:
192  void handleStartWPG();
193  void handleEndWPG();
194  void handleFormSettings();
195  void handleLayer();
196  void handleCompoundPolygon();
197 
199 // void handlePatternDefinition();
200  void handleColorPalette();
201  void handleDPColorPalette();
202  void handlePenForeColor();
203  void handleDPPenForeColor();
204  void handlePenBackColor();
205  void handleDPPenBackColor();
206  void handlePenStyle();
207  void handlePenSize();
208  void handleDPPenSize();
209  void handleLineCap();
210  void handleLineJoin();
211  void handleBrushGradient();
212  void handleDPBrushGradient();
213  void handleBrushForeColor();
214  void handleDPBrushForeColor();
215  void handleBrushBackColor();
216  void handleDPBrushBackColor();
217  void handleBrushPattern();
218 
219  void handlePolyline();
220  void handlePolyspline();
221  void handlePolycurve();
222  void handleRectangle();
223  void handleArc();
224 
225  void handleBitmap();
226  void handleBitmapData();
227 
228  void handleTextData();
229  void handleTextLine();
230  void handleTextBlock();
231  void handleTextPath();
232 
233  void handleObjectCapsule();
234  void handleObjectImage();
235 
236  void resetPalette();
237  void flushCompoundPolygon();
238  void setPenStyle();
239 
240  unsigned int getRemainingRecordLength() const;
241  bool checkRLESize(unsigned bytes) const;
242 
243  double toDouble(long x) const;
244  void transformXY(long &x, long &y) const;
245 
246  // parsing context
249  bool m_success;
250  bool m_exit;
252  unsigned int m_xres;
253  unsigned int m_yres;
254  long m_xofs;
255  long m_yofs;
256  long m_width;
257  long m_height;
259  librevenge::RVNGPropertyList m_style;
265  librevenge::RVNGPropertyListVector m_gradient;
266  std::map<unsigned int,libwpg::WPGDashArray> m_dashArrayStyles;
268 #ifdef DEBUG
269  unsigned int m_layerId;
270 #endif
273  librevenge::RVNGPropertyList m_gradientRef;
274  std::stack<WPGGroupContext> m_groupStack;
285 
288 #if DUMP_BINARY_DATA
289  unsigned m_binaryId;
290 #endif
291 };
292 
293 #endif // __WPG2PARSER_H__
294 /* vim:set shiftwidth=4 softtabstop=4 noexpandtab: */
WPGGroupContext::compoundWindingRule
bool compoundWindingRule
Definition: WPG2Parser.h:142
WPG2Parser::m_success
bool m_success
Definition: WPG2Parser.h:249
WPGBinaryDataContext::objectIndex
int objectIndex
Definition: WPG2Parser.h:169
WPG2Parser::handlePenStyleDefinition
void handlePenStyleDefinition()
Definition: WPG2Parser.cpp:760
WPG2Parser::ObjectCharacterization::filled
bool filled
Definition: WPG2Parser.cpp:209
WPGGroupContext::compoundFilled
bool compoundFilled
Definition: WPG2Parser.h:143
WPGBitmap.h
WPG2Parser::handleStartWPG
void handleStartWPG()
Definition: WPG2Parser.cpp:554
WPGTextDataContext::x1
double x1
Definition: WPG2Parser.h:177
WPGBitmapContext::y1
double y1
Definition: WPG2Parser.h:160
WPG2Parser::ObjectCharacterization::translate
bool translate
Definition: WPG2Parser.cpp:202
WPG2Parser::ObjectCharacterization::txinteger
long txinteger
Definition: WPG2Parser.cpp:220
WPGBinaryDataContext::y1
double y1
Definition: WPG2Parser.h:168
WPG2Parser::m_width
long m_width
Definition: WPG2Parser.h:256
WPGBitmapContext::x1
double x1
Definition: WPG2Parser.h:160
WPG2Parser::handleDPBrushForeColor
void handleDPBrushForeColor()
Definition: WPG2Parser.cpp:1188
libwpg::WPGDashArray::getDots1
int getDots1() const
Definition: WPGDashArray.cpp:117
WPG2Parser::m_compoundFramed
bool m_compoundFramed
Definition: WPG2Parser.h:278
WPG2Parser::handleColorPalette
void handleColorPalette()
Definition: WPG2Parser.cpp:795
WPG2Parser
Definition: WPG2Parser.h:186
defaultWPG2PaletteBlue
static const unsigned char defaultWPG2PaletteBlue[]
Definition: WPG2Parser.cpp:162
WPG2Parser::m_textData
WPGTextDataContext m_textData
Definition: WPG2Parser.h:283
WPG2Parser::m_penBackColor
libwpg::WPGColor m_penBackColor
Definition: WPG2Parser.h:261
libwpg::WPGColor
Definition: WPGColor.h:35
defaultWPG2PaletteGreen
static const unsigned char defaultWPG2PaletteGreen[]
Definition: WPG2Parser.cpp:126
WPGBinaryDataContext::mimeTypes
std::vector< librevenge::RVNGString > mimeTypes
Definition: WPG2Parser.h:170
WPG2Parser::handleDPPenSize
void handleDPPenSize()
Definition: WPG2Parser.cpp:976
WPGGroupContext::compoundClosed
bool compoundClosed
Definition: WPG2Parser.h:145
WPGXParser::readVariableLengthInteger
unsigned int readVariableLengthInteger()
Definition: WPGXParser.cpp:79
WPG2Parser::handleTextData
void handleTextData()
Definition: WPG2Parser.cpp:2411
WPG2Parser::m_xofs
long m_xofs
Definition: WPG2Parser.h:254
WPGTextDataContext::y2
double y2
Definition: WPG2Parser.h:177
WPG2Parser::m_gradient
librevenge::RVNGPropertyListVector m_gradient
Definition: WPG2Parser.h:265
WPG2Parser::handleBrushForeColor
void handleBrushForeColor()
Definition: WPG2Parser.cpp:1093
WPG2Parser::parse
bool parse() override
Definition: WPG2Parser.cpp:317
WPG2Parser::flushCompoundPolygon
void flushCompoundPolygon()
Definition: WPG2Parser.cpp:727
WPG2Parser::ObjectCharacterization::taper
bool taper
Definition: WPG2Parser.cpp:201
WPG2Parser::m_gradientAngle
double m_gradientAngle
Definition: WPG2Parser.h:272
WPG2Parser::handlePenBackColor
void handlePenBackColor()
Definition: WPG2Parser.cpp:878
WPGGroupContext::compoundPath
librevenge::RVNGPropertyListVector compoundPath
Definition: WPG2Parser.h:140
WPG2Parser::m_graphicsStarted
bool m_graphicsStarted
Definition: WPG2Parser.h:251
WPG2Parser::ObjectCharacterization::hasObjectId
bool hasObjectId
Definition: WPG2Parser.cpp:206
WPGTextDataContext::x2
double x2
Definition: WPG2Parser.h:177
WPGTextDataContext::WPGTextDataContext
WPGTextDataContext()
Definition: WPG2Parser.h:182
WPG2TransformMatrix::transformRect
librevenge::RVNGPropertyList transformRect(const ::librevenge::RVNGPropertyList &r) const
Definition: WPG2Parser.h:73
WPG2Parser::ObjectCharacterization::skew
bool skew
Definition: WPG2Parser.cpp:203
WPG2Parser::handleObjectImage
void handleObjectImage()
Definition: WPG2Parser.cpp:2281
WPG2Parser::handleRectangle
void handleRectangle()
Definition: WPG2Parser.cpp:1630
WPG2Parser::m_recordEnd
long m_recordEnd
Definition: WPG2Parser.h:248
libwpg::WPGColor::getColorString
const librevenge::RVNGString getColorString() const
Definition: WPGColor.cpp:68
WPG2Parser::handleTextPath
void handleTextPath()
Definition: WPG2Parser.cpp:2403
WPG2Parser::handleBrushPattern
void handleBrushPattern()
Definition: WPG2Parser.cpp:1331
WPG2Parser::ObjectCharacterization::scale
bool scale
Definition: WPG2Parser.cpp:204
WPGBitmapContext::hres
long hres
Definition: WPG2Parser.h:161
WPG2Parser::ObjectCharacterization::framed
bool framed
Definition: WPG2Parser.cpp:211
WPGGroupContext
Definition: WPG2Parser.h:136
WPG2Parser::handleTextBlock
void handleTextBlock()
Definition: WPG2Parser.cpp:2366
WPG2Parser::handleLayer
void handleLayer()
Definition: WPG2Parser.cpp:696
libwpg::WPGBitmap
Definition: WPGBitmap.h:40
WPGXParser::m_painter
librevenge::RVNGDrawingInterface * m_painter
Definition: WPGXParser.h:57
libwpg::WPGDashArray::add
void add(double p)
Definition: WPGDashArray.cpp:142
WPG2Parser::handleArc
void handleArc()
Definition: WPG2Parser.cpp:1683
WPG2Parser::ObjectCharacterization::kxsin
long kxsin
Definition: WPG2Parser.cpp:218
WPGXParser
Definition: WPGXParser.h:40
WPG2Parser::ObjectCharacterization::sxcos
long sxcos
Definition: WPG2Parser.cpp:216
WPG2Parser::handleTextLine
void handleTextLine()
Definition: WPG2Parser.cpp:2329
WPG2Parser::handleLineJoin
void handleLineJoin()
Definition: WPG2Parser.cpp:1009
WPG2Parser::m_compoundWindingRule
bool m_compoundWindingRule
Definition: WPG2Parser.h:276
WPG2Parser::handlePolyspline
void handlePolyspline()
Definition: WPG2Parser.cpp:1531
WPG2Parser::m_vFlipped
bool m_vFlipped
Definition: WPG2Parser.h:282
WPG2Parser::handleObjectCapsule
void handleObjectCapsule()
Definition: WPG2Parser.cpp:2191
WPG2Parser::ObjectCharacterization::windingRule
bool windingRule
Definition: WPG2Parser.cpp:208
WPGBitmapContext
Definition: WPG2Parser.h:158
WPG2Parser::handlePenSize
void handlePenSize()
Definition: WPG2Parser.cpp:958
WPG2Parser::m_dashArray
libwpg::WPGDashArray m_dashArray
Definition: WPG2Parser.h:264
WPG2Parser::ObjectCharacterization::closed
bool closed
Definition: WPG2Parser.cpp:210
WPG2Parser::handleLineCap
void handleLineCap()
Definition: WPG2Parser.cpp:995
WPG2Parser::checkRLESize
bool checkRLESize(unsigned bytes) const
Definition: WPG2Parser.cpp:2465
DUMP_BINARY_DATA
#define DUMP_BINARY_DATA
Definition: WPG2Parser.cpp:42
WPG2Parser::m_style
librevenge::RVNGPropertyList m_style
Definition: WPG2Parser.h:259
WPG2Parser::m_xres
unsigned int m_xres
Definition: WPG2Parser.h:252
WPGTextDataContext
Definition: WPG2Parser.h:175
defaultWPG2PaletteRed
static const unsigned char defaultWPG2PaletteRed[]
Definition: WPG2Parser.cpp:90
WPG2Parser::getRemainingRecordLength
unsigned int getRemainingRecordLength() const
Definition: WPG2Parser.cpp:2458
libwpg_utils.h
WPGDashArray.h
WPG2Parser::ObjectCharacterization::matrix
WPG2TransformMatrix matrix
Definition: WPG2Parser.cpp:227
libwpg::WPGDashArray::getDots2Length
double getDots2Length() const
Definition: WPGDashArray.cpp:132
WPGTextDataContext::flags
unsigned short flags
Definition: WPG2Parser.h:178
WPG2TransformMatrix::WPG2TransformMatrix
WPG2TransformMatrix()
Definition: WPG2Parser.h:47
WPGBinaryDataContext::y2
double y2
Definition: WPG2Parser.h:168
WPG2TransformMatrix::transformPoint
librevenge::RVNGPropertyList transformPoint(const ::librevenge::RVNGPropertyList &p) const
Definition: WPG2Parser.h:65
WPG2Parser::m_height
long m_height
Definition: WPG2Parser.h:257
WPGCompoundPolygon::matrix
WPG2TransformMatrix matrix
Definition: WPG2Parser.h:127
WPGCompoundPolygon::WPGCompoundPolygon
WPGCompoundPolygon()
Definition: WPG2Parser.h:132
WPG2Parser.h
WPGTextDataContext::vertAlign
unsigned char vertAlign
Definition: WPG2Parser.h:179
libwpg::getRemainingLength
unsigned long getRemainingLength(librevenge::RVNGInputStream *const input)
Definition: libwpg_utils.cpp:71
WPG2Parser::ObjectCharacterization::py
long py
Definition: WPG2Parser.cpp:225
WPG2Parser::ObjectCharacterization::ObjectCharacterization
ObjectCharacterization()
Definition: WPG2Parser.cpp:229
WPG2Parser::resetPalette
void resetPalette()
Definition: WPG2Parser.cpp:2445
WPG2Parser::handleDPPenBackColor
void handleDPPenBackColor()
Definition: WPG2Parser.cpp:898
WPG2TransformMatrix
Definition: WPG2Parser.h:43
WPG2Parser::m_binaryData
WPGBinaryDataContext m_binaryData
Definition: WPG2Parser.h:281
WPG2Parser::ObjectCharacterization::px
long px
Definition: WPG2Parser.cpp:224
WPGGroupContext::WPGGroupContext
WPGGroupContext()
Definition: WPG2Parser.h:147
WPG2Parser::handleDPColorPalette
void handleDPColorPalette()
Definition: WPG2Parser.cpp:814
WPGXParser::readU16
unsigned short readU16()
Definition: WPGXParser.cpp:53
WPG2Parser::handlePenForeColor
void handlePenForeColor()
Definition: WPG2Parser.cpp:833
WPG2Parser::m_recordLength
int m_recordLength
Definition: WPG2Parser.h:247
WPG2Parser::handleBitmapData
void handleBitmapData()
Definition: WPG2Parser.cpp:1819
WPG2Parser::ObjectCharacterization::txfraction
unsigned short txfraction
Definition: WPG2Parser.cpp:221
WPG2Parser::m_penForeColor
libwpg::WPGColor m_penForeColor
Definition: WPG2Parser.h:260
WPG2Parser::handleBrushGradient
void handleBrushGradient()
Definition: WPG2Parser.cpp:1023
WPGXParser::m_input
librevenge::RVNGInputStream * m_input
Definition: WPGXParser.h:56
WPG2Parser::ObjectCharacterization::tyinteger
long tyinteger
Definition: WPG2Parser.cpp:222
WPG2Parser::handlePolyline
void handlePolyline()
Definition: WPG2Parser.cpp:1437
WPGBinaryDataContext::WPGBinaryDataContext
WPGBinaryDataContext()
Definition: WPG2Parser.h:171
WPGCompoundPolygon::isFilled
bool isFilled
Definition: WPG2Parser.h:128
WPG2Parser::handleBitmap
void handleBitmap()
Definition: WPG2Parser.cpp:1769
WPG2Parser::m_brushBackColor
libwpg::WPGColor m_brushBackColor
Definition: WPG2Parser.h:263
WPGBinaryDataContext::x1
double x1
Definition: WPG2Parser.h:168
WPG2TransformMatrix::transformBy
WPG2TransformMatrix & transformBy(const WPG2TransformMatrix &m)
Definition: WPG2Parser.h:93
WPGGroupContext::compoundMatrix
WPG2TransformMatrix compoundMatrix
Definition: WPG2Parser.h:141
WPG2TransformMatrix::element
double element[3][3]
Definition: WPG2Parser.h:45
WPGBitmapContext::vres
long vres
Definition: WPG2Parser.h:161
WPG2Parser::ObjectCharacterization::rotationAngle
double rotationAngle
Definition: WPG2Parser.cpp:215
WPG2Parser::WPG2Parser
WPG2Parser(librevenge::RVNGInputStream *input, librevenge::RVNGDrawingInterface *painter, bool isEmbedded=false)
Definition: WPG2Parser.cpp:258
WPG2Parser::handleDPBrushGradient
void handleDPBrushGradient()
Definition: WPG2Parser.cpp:1058
WPGTextDataHandler.h
WPG2Parser::m_groupStack
std::stack< WPGGroupContext > m_groupStack
Definition: WPG2Parser.h:274
WPG2Parser::handleFormSettings
void handleFormSettings()
Definition: WPG2Parser.cpp:674
WPG2Parser::m_hFlipped
bool m_hFlipped
Definition: WPG2Parser.h:282
WPG2Parser::m_bitmap
WPGBitmapContext m_bitmap
Definition: WPG2Parser.h:280
libwpg::WPGBitmap::getDIB
const librevenge::RVNGBinaryData & getDIB() const
Definition: WPGBitmap.cpp:149
WPG2Parser::m_doublePrecision
bool m_doublePrecision
Definition: WPG2Parser.h:258
WPG2Parser::m_dashArrayStyles
std::map< unsigned int, libwpg::WPGDashArray > m_dashArrayStyles
Definition: WPG2Parser.h:266
WPGTextDataHandler
Definition: WPGTextDataHandler.h:34
WPG2Parser::m_brushForeColor
libwpg::WPGColor m_brushForeColor
Definition: WPG2Parser.h:262
WPGXParser.h
WPG2Parser::m_exit
bool m_exit
Definition: WPG2Parser.h:250
WPGXParser::readS32
int readS32()
Definition: WPGXParser.cpp:74
WPGCompoundPolygon
Definition: WPG2Parser.h:125
WPGTextDataContext::y1
double y1
Definition: WPG2Parser.h:177
WPGBinaryDataContext
Definition: WPG2Parser.h:166
WPG2Parser::ObjectCharacterization::tyfraction
unsigned short tyfraction
Definition: WPG2Parser.cpp:223
WPG2Parser::parseCharacterization
void parseCharacterization(ObjectCharacterization *)
Definition: WPG2Parser.cpp:1351
WPG2TransformMatrix::toLong
static long toLong(double d)
Definition: WPG2Parser.h:113
WPGGroupContext::subIndex
unsigned subIndex
Definition: WPG2Parser.h:138
WPG2Parser::m_gradientRef
librevenge::RVNGPropertyList m_gradientRef
Definition: WPG2Parser.h:273
WPGBitmapContext::x2
double x2
Definition: WPG2Parser.h:160
WPG2Parser::ObjectCharacterization::sycos
long sycos
Definition: WPG2Parser.cpp:217
WPGBitmapContext::WPGBitmapContext
WPGBitmapContext()
Definition: WPG2Parser.h:162
WPGTextDataContext::baseLineAngle
double baseLineAngle
Definition: WPG2Parser.h:181
WPGCompoundPolygon::isFramed
bool isFramed
Definition: WPG2Parser.h:129
libwpg::WPGDashArray::getDots2
int getDots2() const
Definition: WPGDashArray.cpp:127
WPGBinaryDataContext::x2
double x2
Definition: WPG2Parser.h:168
libwpg::WPGDashArray
Definition: WPGDashArray.h:37
WPG2Parser::m_drawTextData
bool m_drawTextData
Definition: WPG2Parser.h:284
WPG2Parser::transformXY
void transformXY(long &x, long &y) const
Definition: WPG2Parser.cpp:2477
WPGCompoundPolygon::isClosed
bool isClosed
Definition: WPG2Parser.h:130
libwpg::WPGDashArray::getDots1Length
double getDots1Length() const
Definition: WPGDashArray.cpp:122
WPG2Parser::ObjectCharacterization
Definition: WPG2Parser.cpp:199
WPG2Parser::handlePenStyle
void handlePenStyle()
Definition: WPG2Parser.cpp:933
libwpg::WPGBitmap::setPixel
void setPixel(int x, int y, const WPGColor &color)
Definition: WPGBitmap.cpp:141
WPG2Parser::handlePolycurve
void handlePolycurve()
Definition: WPG2Parser.cpp:1544
WPG2Parser::handleCompoundPolygon
void handleCompoundPolygon()
Definition: WPG2Parser.cpp:713
WPG2Parser::setPenStyle
void setPenStyle()
Definition: WPG2Parser.cpp:919
WPGXParser::readU8
unsigned char readU8()
Definition: WPGXParser.cpp:41
WPGBinaryDataContext::numObjects
int numObjects
Definition: WPG2Parser.h:169
libwpg::WPGColor::getOpacity
double getOpacity() const
Definition: WPGColor.cpp:75
WPG2Parser::ObjectCharacterization::lockFlags
unsigned long lockFlags
Definition: WPG2Parser.cpp:214
WPG2Parser::m_compoundMatrix
WPG2TransformMatrix m_compoundMatrix
Definition: WPG2Parser.h:275
WPG2TransformMatrix::transform
void transform(long &x, long &y) const
Definition: WPG2Parser.h:57
WPG2Parser::m_yres
unsigned int m_yres
Definition: WPG2Parser.h:253
WPGTextDataContext::horAlign
unsigned char horAlign
Definition: WPG2Parser.h:180
WPG2Parser::m_compoundClosed
bool m_compoundClosed
Definition: WPG2Parser.h:279
libwpg::WPGDashArray::getDistance
double getDistance() const
Definition: WPGDashArray.cpp:137
WPG_DEBUG_MSG
#define WPG_DEBUG_MSG(M)
Definition: libwpg_utils.h:56
WPGGroupContext::compoundFramed
bool compoundFramed
Definition: WPG2Parser.h:144
WPG2Parser::m_compoundFilled
bool m_compoundFilled
Definition: WPG2Parser.h:277
WPGXParser::readS16
short readS16()
Definition: WPGXParser.cpp:69
WPG2Parser::m_yofs
long m_yofs
Definition: WPG2Parser.h:255
WPG2Parser::toDouble
double toDouble(long x) const
Definition: WPG2Parser.cpp:2472
WPG2Parser::handleDPBrushBackColor
void handleDPBrushBackColor()
Definition: WPG2Parser.cpp:1306
WPGGroupContext::parentType
int parentType
Definition: WPG2Parser.h:139
M_PI
#define M_PI
Definition: WPG2Parser.cpp:50
WPGGroupContext::isCompoundPolygon
bool isCompoundPolygon() const
Definition: WPG2Parser.h:151
WPG2Parser::ObjectCharacterization::editLock
bool editLock
Definition: WPG2Parser.cpp:207
WPG2Parser::m_matrix
WPG2TransformMatrix m_matrix
Definition: WPG2Parser.h:271
WPGXParser::m_colorPalette
std::map< int, libwpg::WPGColor > m_colorPalette
Definition: WPGXParser.h:58
WPGXParser::readU32
unsigned int readU32()
Definition: WPGXParser.cpp:60
WPG2Parser::ObjectCharacterization::rotate
bool rotate
Definition: WPG2Parser.cpp:205
WPG2Parser::handleBrushBackColor
void handleBrushBackColor()
Definition: WPG2Parser.cpp:1284
WPG2Parser::handleDPPenForeColor
void handleDPPenForeColor()
Definition: WPG2Parser.cpp:854
WPG2Parser::m_layerOpened
bool m_layerOpened
Definition: WPG2Parser.h:267
WPG2Parser::ObjectCharacterization::objectId
unsigned long objectId
Definition: WPG2Parser.cpp:213
WPG2Parser::ObjectCharacterization::kysin
long kysin
Definition: WPG2Parser.cpp:219
WPG2Parser::handleEndWPG
void handleEndWPG()
Definition: WPG2Parser.cpp:661
WPGBitmapContext::y2
double y2
Definition: WPG2Parser.h:160

Generated for libwpg by doxygen 1.8.18