28 #ifndef __WPG2PARSER_H__
29 #define __WPG2PARSER_H__
34 #include <librevenge/librevenge.h>
63 ::librevenge::RVNGPropertyList
transformPoint(const ::librevenge::RVNGPropertyList &p)
const
65 ::librevenge::RVNGPropertyList propList;
66 propList.insert(
"svg:x", (
element[0][0]*p[
"svg:x"]->getDouble() +
element[1][0]*p[
"svg:y"]->getDouble() +
element[2][0]));
67 propList.insert(
"svg:y", (
element[0][1]*p[
"svg:x"]->getDouble() +
element[1][1]*p[
"svg:y"]->getDouble() +
element[2][1]));
71 ::librevenge::RVNGPropertyList
transformRect(const ::librevenge::RVNGPropertyList &r)
const
73 ::librevenge::RVNGPropertyList propList;
74 double oldx1 = r[
"svg:x"]->getDouble();
75 double oldy1 = r[
"svg:y"]->getDouble();
76 double oldx2 = r[
"svg:x"]->getDouble() + r[
"svg:width"]->getDouble();
77 double oldy2 = r[
"svg:y"]->getDouble() + r[
"svg:height"]->getDouble();
80 double newy1 = element[0][1]*oldx1 + element[1][1]*oldy1 + element[2][1];
81 double newx2 = element[0][0]*oldx2 + element[1][0]*oldy2 + element[2][0];
82 double newy2 = element[0][1]*oldx2 + element[1][1]*oldy2 + element[2][1];
84 propList.insert(
"svg:x", (
double)newx1);
85 propList.insert(
"svg:y", (
double)newy1);
86 propList.insert(
"svg:width", (newx2-newx1));
87 propList.insert(
"svg:height", (newy2-newy1));
95 for (
int i = 0; i < 3; i++)
96 for (
int j = 0; j < 3; j++)
99 for (
int k = 0; k < 3; k++)
103 for (
int x = 0; x < 3; x++)
104 for (
int y = 0; y < 3; y++)
175 WPG2Parser(librevenge::RVNGInputStream *input, librevenge::RVNGDrawingInterface *painter,
bool isEmbedded =
false);
250 unsigned int m_layerId;
274 #endif // __WPG2PARSER_H__
libwpg::WPGColor m_brushForeColor
Definition: WPG2Parser.h:243
libwpg::WPGDashArray m_dashArray
Definition: WPG2Parser.h:245
Definition: WPG2Parser.cpp:170
libwpg::WPGColor m_brushBackColor
Definition: WPG2Parser.h:244
void parseCharacterization(ObjectCharacterization *)
Definition: WPG2Parser.cpp:1311
long vres
Definition: WPG2Parser.h:148
WPG2Parser(librevenge::RVNGInputStream *input, librevenge::RVNGDrawingInterface *painter, bool isEmbedded=false)
Definition: WPG2Parser.cpp:230
void handleFormSettings()
Definition: WPG2Parser.cpp:642
void handleBrushGradient()
Definition: WPG2Parser.cpp:987
libwpg::WPGColor m_penForeColor
Definition: WPG2Parser.h:241
int objectIndex
Definition: WPG2Parser.h:156
void handlePolyline()
Definition: WPG2Parser.cpp:1397
void handleBitmap()
Definition: WPG2Parser.cpp:1723
Definition: WPG2Parser.h:152
void resetPalette()
Definition: WPG2Parser.cpp:2375
void handlePenStyle()
Definition: WPG2Parser.cpp:897
Definition: WPG2Parser.h:161
double y1
Definition: WPG2Parser.h:155
double x2
Definition: WPG2Parser.h:147
int m_recordLength
Definition: WPG2Parser.h:228
void handleBitmapData()
Definition: WPG2Parser.cpp:1773
Definition: WPGDashArray.h:34
std::map< unsigned int, libwpg::WPGDashArray > m_dashArrayStyles
Definition: WPG2Parser.h:247
unsigned int m_yres
Definition: WPG2Parser.h:234
::librevenge::RVNGPropertyListVector m_gradient
Definition: WPG2Parser.h:246
unsigned char horAlign
Definition: WPG2Parser.h:167
Definition: WPGColor.h:34
void handleCompoundPolygon()
Definition: WPG2Parser.cpp:681
WPGBinaryDataContext()
Definition: WPG2Parser.h:158
bool compoundClosed
Definition: WPG2Parser.h:132
bool m_compoundFilled
Definition: WPG2Parser.h:258
std::stack< WPGGroupContext > m_groupStack
Definition: WPG2Parser.h:255
bool isFilled
Definition: WPG2Parser.h:115
bool isFramed
Definition: WPG2Parser.h:116
double x2
Definition: WPG2Parser.h:155
bool m_doublePrecision
Definition: WPG2Parser.h:239
WPGBitmapContext()
Definition: WPG2Parser.h:149
bool m_drawTextData
Definition: WPG2Parser.h:265
bool m_exit
Definition: WPG2Parser.h:231
::librevenge::RVNGPropertyList m_style
Definition: WPG2Parser.h:240
void handleDPPenForeColor()
Definition: WPG2Parser.cpp:818
void handleBrushBackColor()
Definition: WPG2Parser.cpp:1244
void setPenStyle()
Definition: WPG2Parser.cpp:883
void handlePolycurve()
Definition: WPG2Parser.cpp:1501
unsigned short flags
Definition: WPG2Parser.h:165
void handleEndWPG()
Definition: WPG2Parser.cpp:629
bool m_layerOpened
Definition: WPG2Parser.h:248
double x2
Definition: WPG2Parser.h:164
void handlePenStyleDefinition()
Definition: WPG2Parser.cpp:728
WPG2TransformMatrix m_matrix
Definition: WPG2Parser.h:252
double y2
Definition: WPG2Parser.h:155
Definition: WPG2Parser.h:122
long m_yofs
Definition: WPG2Parser.h:236
bool m_success
Definition: WPG2Parser.h:230
void handleColorPalette()
Definition: WPG2Parser.cpp:759
WPGTextDataContext m_textData
Definition: WPG2Parser.h:264
WPG2TransformMatrix m_compoundMatrix
Definition: WPG2Parser.h:256
::librevenge::RVNGPropertyListVector compoundPath
Definition: WPG2Parser.h:127
bool m_compoundClosed
Definition: WPG2Parser.h:260
libwpg::WPGColor m_penBackColor
Definition: WPG2Parser.h:242
bool isCompoundPolygon() const
Definition: WPG2Parser.h:138
double y1
Definition: WPG2Parser.h:147
void handleStartWPG()
Definition: WPG2Parser.cpp:520
WPG2TransformMatrix compoundMatrix
Definition: WPG2Parser.h:128
void handleTextData()
Definition: WPG2Parser.cpp:2344
void handleDPBrushBackColor()
Definition: WPG2Parser.cpp:1266
long m_width
Definition: WPG2Parser.h:237
WPG2TransformMatrix matrix
Definition: WPG2Parser.h:114
double y2
Definition: WPG2Parser.h:147
double x1
Definition: WPG2Parser.h:155
bool compoundWindingRule
Definition: WPG2Parser.h:129
double m_gradientAngle
Definition: WPG2Parser.h:253
Definition: WPG2Parser.h:172
double x1
Definition: WPG2Parser.h:164
Definition: WPG2Parser.h:111
void handleRectangle()
Definition: WPG2Parser.cpp:1584
std::vector< librevenge::RVNGString > mimeTypes
Definition: WPG2Parser.h:157
unsigned subIndex
Definition: WPG2Parser.h:125
double y2
Definition: WPG2Parser.h:164
void handleDPBrushForeColor()
Definition: WPG2Parser.cpp:1150
void handleTextBlock()
Definition: WPG2Parser.cpp:2299
double x1
Definition: WPG2Parser.h:147
void handlePenBackColor()
Definition: WPG2Parser.cpp:842
bool m_graphicsStarted
Definition: WPG2Parser.h:232
bool m_compoundWindingRule
Definition: WPG2Parser.h:257
long m_recordEnd
Definition: WPG2Parser.h:229
bool isClosed
Definition: WPG2Parser.h:117
void handleBrushPattern()
Definition: WPG2Parser.cpp:1291
double y1
Definition: WPG2Parser.h:164
void handleDPPenSize()
Definition: WPG2Parser.cpp:940
bool parse()
Definition: WPG2Parser.cpp:289
long hres
Definition: WPG2Parser.h:148
unsigned int m_xres
Definition: WPG2Parser.h:233
void handleLayer()
Definition: WPG2Parser.cpp:664
void handleLineCap()
Definition: WPG2Parser.cpp:959
WPGCompoundPolygon()
Definition: WPG2Parser.h:119
void handleArc()
Definition: WPG2Parser.cpp:1637
bool m_compoundFramed
Definition: WPG2Parser.h:259
::librevenge::RVNGPropertyList m_gradientRef
Definition: WPG2Parser.h:254
int parentType
Definition: WPG2Parser.h:126
Definition: WPGXParser.h:38
void handleTextPath()
Definition: WPG2Parser.cpp:2336
bool compoundFramed
Definition: WPG2Parser.h:131
long m_xofs
Definition: WPG2Parser.h:235
void handleBrushForeColor()
Definition: WPG2Parser.cpp:1057
void flushCompoundPolygon()
Definition: WPG2Parser.cpp:695
void handleDPColorPalette()
Definition: WPG2Parser.cpp:778
WPGTextDataContext()
Definition: WPG2Parser.h:169
void handlePenForeColor()
Definition: WPG2Parser.cpp:797
double baseLineAngle
Definition: WPG2Parser.h:168
void handlePolyspline()
Definition: WPG2Parser.cpp:1488
long m_height
Definition: WPG2Parser.h:238
void handleObjectImage()
Definition: WPG2Parser.cpp:2218
void handlePenSize()
Definition: WPG2Parser.cpp:922
int numObjects
Definition: WPG2Parser.h:156
Definition: WPG2Parser.h:144
void handleDPPenBackColor()
Definition: WPG2Parser.cpp:862
WPGBinaryDataContext m_binaryData
Definition: WPG2Parser.h:262
unsigned char vertAlign
Definition: WPG2Parser.h:166
void handleLineJoin()
Definition: WPG2Parser.cpp:973
bool compoundFilled
Definition: WPG2Parser.h:130
void handleTextLine()
Definition: WPG2Parser.cpp:2262
void handleDPBrushGradient()
Definition: WPG2Parser.cpp:1022
bool m_hFlipped
Definition: WPG2Parser.h:263
WPGBitmapContext m_bitmap
Definition: WPG2Parser.h:261
bool m_vFlipped
Definition: WPG2Parser.h:263
WPGGroupContext()
Definition: WPG2Parser.h:134
void handleObjectCapsule()
Definition: WPG2Parser.cpp:2128