28#ifndef __WPG2PARSER_H__
29#define __WPG2PARSER_H__
36#include <librevenge/librevenge.h>
65 librevenge::RVNGPropertyList
transformPoint(const ::librevenge::RVNGPropertyList &p)
const
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]));
73 librevenge::RVNGPropertyList
transformRect(const ::librevenge::RVNGPropertyList &r)
const
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();
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));
97 for (
int i = 0; i < 3; i++)
98 for (
int j = 0; j < 3; j++)
101 for (
int k = 0; k < 3; k++)
105 for (
int x = 0; x < 3; x++)
106 for (
int y = 0; y < 3; y++)
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();
188 WPG2Parser(librevenge::RVNGInputStream *input, librevenge::RVNGDrawingInterface *painter,
bool isEmbedded =
false);
189 bool parse()
override;
269 unsigned int m_layerId;
Definition WPG2Parser.cpp:199
void handleDPBrushForeColor()
Definition WPG2Parser.cpp:1190
WPGTextDataContext m_textData
Definition WPG2Parser.h:283
bool m_compoundFramed
Definition WPG2Parser.h:278
WPGBitmapContext m_bitmap
Definition WPG2Parser.h:280
void handleLineCap()
Definition WPG2Parser.cpp:997
long m_width
Definition WPG2Parser.h:256
void handleRectangle()
Definition WPG2Parser.cpp:1630
void handleObjectCapsule()
Definition WPG2Parser.cpp:2191
void parseCharacterization(ObjectCharacterization *)
Definition WPG2Parser.cpp:1351
long m_xofs
Definition WPG2Parser.h:254
void handleBrushGradient()
Definition WPG2Parser.cpp:1025
void handleBrushBackColor()
Definition WPG2Parser.cpp:1286
WPG2Parser(librevenge::RVNGInputStream *input, librevenge::RVNGDrawingInterface *painter, bool isEmbedded=false)
Definition WPG2Parser.cpp:258
librevenge::RVNGPropertyList m_style
Definition WPG2Parser.h:259
WPG2TransformMatrix m_matrix
Definition WPG2Parser.h:271
void handlePolyline()
Definition WPG2Parser.cpp:1437
void handleDPColorPalette()
Definition WPG2Parser.cpp:812
bool m_vFlipped
Definition WPG2Parser.h:282
std::stack< WPGGroupContext > m_groupStack
Definition WPG2Parser.h:274
void flushCompoundPolygon()
Definition WPG2Parser.cpp:727
librevenge::RVNGPropertyListVector m_gradient
Definition WPG2Parser.h:265
void handleDPPenForeColor()
Definition WPG2Parser.cpp:855
unsigned int m_xres
Definition WPG2Parser.h:252
void handleTextLine()
Definition WPG2Parser.cpp:2329
void handlePolyspline()
Definition WPG2Parser.cpp:1531
bool m_graphicsStarted
Definition WPG2Parser.h:251
void handleBitmap()
Definition WPG2Parser.cpp:1769
void handlePenSize()
Definition WPG2Parser.cpp:960
void handleBrushForeColor()
Definition WPG2Parser.cpp:1095
void handleTextData()
Definition WPG2Parser.cpp:2411
void handleEndWPG()
Definition WPG2Parser.cpp:661
int m_recordLength
Definition WPG2Parser.h:247
void handleArc()
Definition WPG2Parser.cpp:1683
void handleStartWPG()
Definition WPG2Parser.cpp:554
void handlePenStyleDefinition()
Definition WPG2Parser.cpp:760
void handlePenStyle()
Definition WPG2Parser.cpp:935
bool m_layerOpened
Definition WPG2Parser.h:267
bool m_drawTextData
Definition WPG2Parser.h:284
bool m_compoundWindingRule
Definition WPG2Parser.h:276
void handleCompoundPolygon()
Definition WPG2Parser.cpp:713
void handleDPBrushGradient()
Definition WPG2Parser.cpp:1060
void transformXY(long &x, long &y) const
Definition WPG2Parser.cpp:2477
bool m_success
Definition WPG2Parser.h:249
void handlePenForeColor()
Definition WPG2Parser.cpp:831
void handleTextPath()
Definition WPG2Parser.cpp:2403
unsigned int m_yres
Definition WPG2Parser.h:253
bool parse() override
Definition WPG2Parser.cpp:317
libwpg::WPGDashArray m_dashArray
Definition WPG2Parser.h:264
void handleLayer()
Definition WPG2Parser.cpp:696
libwpg::WPGColor m_brushBackColor
Definition WPG2Parser.h:263
long m_yofs
Definition WPG2Parser.h:255
unsigned int getRemainingRecordLength() const
Definition WPG2Parser.cpp:2458
bool m_compoundFilled
Definition WPG2Parser.h:277
libwpg::WPGColor m_brushForeColor
Definition WPG2Parser.h:262
void handleBrushPattern()
Definition WPG2Parser.cpp:1331
void handleLineJoin()
Definition WPG2Parser.cpp:1011
void handlePatternDefinition()
Definition WPG2Parser.cpp:786
void handleBitmapData()
Definition WPG2Parser.cpp:1819
void handleDPPenSize()
Definition WPG2Parser.cpp:978
long m_recordEnd
Definition WPG2Parser.h:248
bool m_compoundClosed
Definition WPG2Parser.h:279
double toDouble(long x) const
Definition WPG2Parser.cpp:2472
void resetPalette()
Definition WPG2Parser.cpp:2445
double m_gradientAngle
Definition WPG2Parser.h:272
void setPenStyle()
Definition WPG2Parser.cpp:921
void handleTextBlock()
Definition WPG2Parser.cpp:2366
void handleColorPalette()
Definition WPG2Parser.cpp:793
WPGBinaryDataContext m_binaryData
Definition WPG2Parser.h:281
bool m_doublePrecision
Definition WPG2Parser.h:258
void handlePolycurve()
Definition WPG2Parser.cpp:1544
libwpg::WPGColor m_penForeColor
Definition WPG2Parser.h:260
long m_height
Definition WPG2Parser.h:257
void handleFormSettings()
Definition WPG2Parser.cpp:674
WPG2TransformMatrix m_compoundMatrix
Definition WPG2Parser.h:275
void handleDPPenBackColor()
Definition WPG2Parser.cpp:900
void handleDPBrushBackColor()
Definition WPG2Parser.cpp:1308
bool m_hFlipped
Definition WPG2Parser.h:282
std::map< unsigned int, libwpg::WPGDashArray > m_dashArrayStyles
Definition WPG2Parser.h:266
libwpg::WPGColor m_penBackColor
Definition WPG2Parser.h:261
void handleObjectImage()
Definition WPG2Parser.cpp:2281
bool m_exit
Definition WPG2Parser.h:250
bool checkRLESize(unsigned bytes) const
Definition WPG2Parser.cpp:2465
void handlePenBackColor()
Definition WPG2Parser.cpp:880
librevenge::RVNGPropertyList m_gradientRef
Definition WPG2Parser.h:273
Definition WPG2Parser.h:166
int numObjects
Definition WPG2Parser.h:169
double y1
Definition WPG2Parser.h:168
double x2
Definition WPG2Parser.h:168
double x1
Definition WPG2Parser.h:168
std::vector< librevenge::RVNGString > mimeTypes
Definition WPG2Parser.h:170
WPGBinaryDataContext()
Definition WPG2Parser.h:171
double y2
Definition WPG2Parser.h:168
int objectIndex
Definition WPG2Parser.h:169
Definition WPG2Parser.h:158
double y2
Definition WPG2Parser.h:160
double y1
Definition WPG2Parser.h:160
long vres
Definition WPG2Parser.h:161
double x1
Definition WPG2Parser.h:160
double x2
Definition WPG2Parser.h:160
WPGBitmapContext()
Definition WPG2Parser.h:162
long hres
Definition WPG2Parser.h:161
bool isFilled
Definition WPG2Parser.h:128
WPGCompoundPolygon()
Definition WPG2Parser.h:132
bool isClosed
Definition WPG2Parser.h:130
WPG2TransformMatrix matrix
Definition WPG2Parser.h:127
bool isFramed
Definition WPG2Parser.h:129
WPG2TransformMatrix compoundMatrix
Definition WPG2Parser.h:141
bool compoundFilled
Definition WPG2Parser.h:143
librevenge::RVNGPropertyListVector compoundPath
Definition WPG2Parser.h:140
bool isCompoundPolygon() const
Definition WPG2Parser.h:151
unsigned subIndex
Definition WPG2Parser.h:138
bool compoundWindingRule
Definition WPG2Parser.h:142
bool compoundFramed
Definition WPG2Parser.h:144
WPGGroupContext()
Definition WPG2Parser.h:147
bool compoundClosed
Definition WPG2Parser.h:145
int parentType
Definition WPG2Parser.h:139
Definition WPG2Parser.h:175
double baseLineAngle
Definition WPG2Parser.h:181
double y2
Definition WPG2Parser.h:177
double x1
Definition WPG2Parser.h:177
double y1
Definition WPG2Parser.h:177
unsigned char horAlign
Definition WPG2Parser.h:180
double x2
Definition WPG2Parser.h:177
unsigned char vertAlign
Definition WPG2Parser.h:179
WPGTextDataContext()
Definition WPG2Parser.h:182
unsigned short flags
Definition WPG2Parser.h:178
WPGXParser(librevenge::RVNGInputStream *input, librevenge::RVNGDrawingInterface *painter)
Definition WPGXParser.cpp:30
Definition WPGDashArray.h:37