28 #ifndef __WPG2PARSER_H__ 29 #define __WPG2PARSER_H__ 34 #include <librevenge/librevenge.h> 64 librevenge::RVNGPropertyList
transformPoint(const ::librevenge::RVNGPropertyList &p)
const 66 librevenge::RVNGPropertyList propList;
67 propList.insert(
"svg:x", (
element[0][0]*p[
"svg:x"]->getDouble() +
element[1][0]*p[
"svg:y"]->getDouble() +
element[2][0]));
68 propList.insert(
"svg:y", (
element[0][1]*p[
"svg:x"]->getDouble() +
element[1][1]*p[
"svg:y"]->getDouble() +
element[2][1]));
72 librevenge::RVNGPropertyList
transformRect(const ::librevenge::RVNGPropertyList &r)
const 74 librevenge::RVNGPropertyList propList;
75 double oldx1 = r[
"svg:x"]->getDouble();
76 double oldy1 = r[
"svg:y"]->getDouble();
77 double oldx2 = r[
"svg:x"]->getDouble() + r[
"svg:width"]->getDouble();
78 double oldy2 = r[
"svg:y"]->getDouble() + r[
"svg:height"]->getDouble();
85 propList.insert(
"svg:x", (
double)newx1);
86 propList.insert(
"svg:y", (
double)newy1);
87 propList.insert(
"svg:width", (newx2-newx1));
88 propList.insert(
"svg:height", (newy2-newy1));
96 for (
int i = 0; i < 3; i++)
97 for (
int j = 0; j < 3; j++)
100 for (
int k = 0; k < 3; k++)
104 for (
int x = 0; x < 3; x++)
105 for (
int y = 0; y < 3; y++)
114 if (d >
double(std::numeric_limits<long>::max()))
115 return std::numeric_limits<long>::max();
116 else if (d <
double(std::numeric_limits<long>::min()))
117 return std::numeric_limits<long>::min();
187 WPG2Parser(librevenge::RVNGInputStream *input, librevenge::RVNGDrawingInterface *painter,
bool isEmbedded =
false);
188 bool parse()
override;
268 unsigned int m_layerId;
292 #endif // __WPG2PARSER_H__ libwpg::WPGColor m_brushForeColor
Definition: WPG2Parser.h:261
libwpg::WPGDashArray m_dashArray
Definition: WPG2Parser.h:263
bool checkRLESize(unsigned bytes) const
Definition: WPG2Parser.cpp:2459
Definition: WPG2Parser.cpp:194
unsigned int getRemainingRecordLength() const
Definition: WPG2Parser.cpp:2452
libwpg::WPGColor m_brushBackColor
Definition: WPG2Parser.h:262
void parseCharacterization(ObjectCharacterization *)
Definition: WPG2Parser.cpp:1347
long vres
Definition: WPG2Parser.h:160
WPG2Parser(librevenge::RVNGInputStream *input, librevenge::RVNGDrawingInterface *painter, bool isEmbedded=false)
Definition: WPG2Parser.cpp:254
void handleFormSettings()
Definition: WPG2Parser.cpp:670
void handleBrushGradient()
Definition: WPG2Parser.cpp:1019
libwpg::WPGColor m_penForeColor
Definition: WPG2Parser.h:259
int objectIndex
Definition: WPG2Parser.h:168
void handlePolyline()
Definition: WPG2Parser.cpp:1433
void handleBitmap()
Definition: WPG2Parser.cpp:1765
Definition: WPG2Parser.h:164
void resetPalette()
Definition: WPG2Parser.cpp:2439
void handlePenStyle()
Definition: WPG2Parser.cpp:929
Definition: WPG2Parser.h:173
double y1
Definition: WPG2Parser.h:167
double x2
Definition: WPG2Parser.h:159
int m_recordLength
Definition: WPG2Parser.h:246
void handleBitmapData()
Definition: WPG2Parser.cpp:1815
Definition: WPGDashArray.h:36
std::map< unsigned int, libwpg::WPGDashArray > m_dashArrayStyles
Definition: WPG2Parser.h:265
unsigned int m_yres
Definition: WPG2Parser.h:252
unsigned char horAlign
Definition: WPG2Parser.h:179
Definition: WPGColor.h:34
void transformXY(long &x, long &y) const
Definition: WPG2Parser.cpp:2471
void handleCompoundPolygon()
Definition: WPG2Parser.cpp:709
librevenge::RVNGPropertyList m_gradientRef
Definition: WPG2Parser.h:272
WPGBinaryDataContext()
Definition: WPG2Parser.h:170
bool compoundClosed
Definition: WPG2Parser.h:144
bool m_compoundFilled
Definition: WPG2Parser.h:276
double toDouble(long x) const
Definition: WPG2Parser.cpp:2466
std::stack< WPGGroupContext > m_groupStack
Definition: WPG2Parser.h:273
bool isFilled
Definition: WPG2Parser.h:127
bool isFramed
Definition: WPG2Parser.h:128
double x2
Definition: WPG2Parser.h:167
bool m_doublePrecision
Definition: WPG2Parser.h:257
WPGBitmapContext()
Definition: WPG2Parser.h:161
bool m_drawTextData
Definition: WPG2Parser.h:283
bool m_exit
Definition: WPG2Parser.h:249
void handleDPPenForeColor()
Definition: WPG2Parser.cpp:850
void handleBrushBackColor()
Definition: WPG2Parser.cpp:1280
void setPenStyle()
Definition: WPG2Parser.cpp:915
void handlePolycurve()
Definition: WPG2Parser.cpp:1540
unsigned short flags
Definition: WPG2Parser.h:177
void handleEndWPG()
Definition: WPG2Parser.cpp:657
bool m_layerOpened
Definition: WPG2Parser.h:266
bool isCompoundPolygon() const
Definition: WPG2Parser.h:150
double x2
Definition: WPG2Parser.h:176
void handlePenStyleDefinition()
Definition: WPG2Parser.cpp:756
WPG2TransformMatrix m_matrix
Definition: WPG2Parser.h:270
double y2
Definition: WPG2Parser.h:167
Definition: WPG2Parser.h:134
long m_yofs
Definition: WPG2Parser.h:254
bool m_success
Definition: WPG2Parser.h:248
void handleColorPalette()
Definition: WPG2Parser.cpp:791
WPGTextDataContext m_textData
Definition: WPG2Parser.h:282
WPG2TransformMatrix m_compoundMatrix
Definition: WPG2Parser.h:274
bool m_compoundClosed
Definition: WPG2Parser.h:278
libwpg::WPGColor m_penBackColor
Definition: WPG2Parser.h:260
double y1
Definition: WPG2Parser.h:159
void handleStartWPG()
Definition: WPG2Parser.cpp:550
WPG2TransformMatrix compoundMatrix
Definition: WPG2Parser.h:140
void handleTextData()
Definition: WPG2Parser.cpp:2405
void handleDPBrushBackColor()
Definition: WPG2Parser.cpp:1302
long m_width
Definition: WPG2Parser.h:255
WPG2TransformMatrix matrix
Definition: WPG2Parser.h:126
double y2
Definition: WPG2Parser.h:159
double x1
Definition: WPG2Parser.h:167
bool compoundWindingRule
Definition: WPG2Parser.h:141
bool parse() override
Definition: WPG2Parser.cpp:313
double m_gradientAngle
Definition: WPG2Parser.h:271
Definition: WPG2Parser.h:184
double x1
Definition: WPG2Parser.h:176
Definition: WPG2Parser.h:123
void handleRectangle()
Definition: WPG2Parser.cpp:1626
std::vector< librevenge::RVNGString > mimeTypes
Definition: WPG2Parser.h:169
unsigned subIndex
Definition: WPG2Parser.h:137
double y2
Definition: WPG2Parser.h:176
void handleDPBrushForeColor()
Definition: WPG2Parser.cpp:1184
void handleTextBlock()
Definition: WPG2Parser.cpp:2360
double x1
Definition: WPG2Parser.h:159
librevenge::RVNGPropertyListVector m_gradient
Definition: WPG2Parser.h:264
void handlePenBackColor()
Definition: WPG2Parser.cpp:874
bool m_graphicsStarted
Definition: WPG2Parser.h:250
bool m_compoundWindingRule
Definition: WPG2Parser.h:275
long m_recordEnd
Definition: WPG2Parser.h:247
bool isClosed
Definition: WPG2Parser.h:129
void handleBrushPattern()
Definition: WPG2Parser.cpp:1327
double y1
Definition: WPG2Parser.h:176
void handleDPPenSize()
Definition: WPG2Parser.cpp:972
librevenge::RVNGPropertyList m_style
Definition: WPG2Parser.h:258
long hres
Definition: WPG2Parser.h:160
unsigned int m_xres
Definition: WPG2Parser.h:251
void handleLayer()
Definition: WPG2Parser.cpp:692
void handleLineCap()
Definition: WPG2Parser.cpp:991
WPGCompoundPolygon()
Definition: WPG2Parser.h:131
void handleArc()
Definition: WPG2Parser.cpp:1679
bool m_compoundFramed
Definition: WPG2Parser.h:277
int parentType
Definition: WPG2Parser.h:138
Definition: WPGXParser.h:38
void handleTextPath()
Definition: WPG2Parser.cpp:2397
bool compoundFramed
Definition: WPG2Parser.h:143
long m_xofs
Definition: WPG2Parser.h:253
void handleBrushForeColor()
Definition: WPG2Parser.cpp:1089
void flushCompoundPolygon()
Definition: WPG2Parser.cpp:723
void handleDPColorPalette()
Definition: WPG2Parser.cpp:810
WPGTextDataContext()
Definition: WPG2Parser.h:181
void handlePenForeColor()
Definition: WPG2Parser.cpp:829
double baseLineAngle
Definition: WPG2Parser.h:180
void handlePolyspline()
Definition: WPG2Parser.cpp:1527
long m_height
Definition: WPG2Parser.h:256
void handleObjectImage()
Definition: WPG2Parser.cpp:2275
void handlePenSize()
Definition: WPG2Parser.cpp:954
librevenge::RVNGPropertyListVector compoundPath
Definition: WPG2Parser.h:139
int numObjects
Definition: WPG2Parser.h:168
Definition: WPG2Parser.h:156
void handleDPPenBackColor()
Definition: WPG2Parser.cpp:894
WPGBinaryDataContext m_binaryData
Definition: WPG2Parser.h:280
unsigned char vertAlign
Definition: WPG2Parser.h:178
void handleLineJoin()
Definition: WPG2Parser.cpp:1005
bool compoundFilled
Definition: WPG2Parser.h:142
void handleTextLine()
Definition: WPG2Parser.cpp:2323
void handleDPBrushGradient()
Definition: WPG2Parser.cpp:1054
bool m_hFlipped
Definition: WPG2Parser.h:281
WPGBitmapContext m_bitmap
Definition: WPG2Parser.h:279
bool m_vFlipped
Definition: WPG2Parser.h:281
WPGGroupContext()
Definition: WPG2Parser.h:146
void handleObjectCapsule()
Definition: WPG2Parser.cpp:2185