Update of /cvsroot/libwpg/libwpg/src/lib
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4774/src/lib
Modified Files:
Tag: STABLE-0-1-0
WPG1Parser.cpp
Log Message:
fix path coordinates + fill attributes
Index: WPG1Parser.cpp
===================================================================
RCS file: /cvsroot/libwpg/libwpg/src/lib/WPG1Parser.cpp,v
retrieving revision 1.33.2.5
retrieving revision 1.33.2.6
diff -u -d -r1.33.2.5 -r1.33.2.6
--- WPG1Parser.cpp 16 Jul 2008 09:51:07 -0000 1.33.2.5
+++ WPG1Parser.cpp 16 Jul 2008 10:47:38 -0000 1.33.2.6
@@ -447,6 +447,10 @@
int cy = readS16();
int rx = readS16();
int ry = readS16();
+ int rotation = readS16();
+ int beginAngle = readS16();
+ int endAngle = readS16();
+ unsigned flags = readU16();
libwpg::WPGPoint center;
center.x = (double)cx/1200.0;
@@ -477,7 +481,7 @@
path.closed = false;
long xInitial = readS16();
long yInitial = readS16();
- path.moveTo(libwpg::WPGPoint((double)xInitial/1200.0, (double)yInitial/1200.0));
+ path.moveTo(libwpg::WPGPoint((double)xInitial/1200.0, (double)(m_height-yInitial)/1200.0));
for (unsigned i = 1; i < (count-1)/3; i++)
{
long xControl1 = readS16();
@@ -486,12 +490,12 @@
long yControl2 = readS16();
long xCoordinate = readS16();
long yCoordinate = readS16();
- path.curveTo(libwpg::WPGPoint((double)xControl1/1200.0, (double)yControl1/1200.0),
- libwpg::WPGPoint((double)xControl2/1200.0, (double)yControl2/1200.0),
- libwpg::WPGPoint((double)xCoordinate/1200.0, (double)yCoordinate/1200.0));
+ path.curveTo(libwpg::WPGPoint((double)xControl1/1200.0, (double)(m_height-yControl1)/1200.0),
+ libwpg::WPGPoint((double)xControl2/1200.0, (double)(m_height-yControl2)/1200.0),
+ libwpg::WPGPoint((double)xCoordinate/1200.0, (double)(m_height-yCoordinate)/1200.0));
}
- m_painter->setBrush(m_brush);
+ m_painter->setBrush(path.closed ? m_brush : libwpg::WPGBrush());
m_painter->setPen(m_pen);
m_painter->drawPath(path);
|