Update of /cvsroot/libwpg/perfectspot/src
In directory ddv4jf1.ch3.sourceforge.com:/tmp/cvs-serv12779/src
Modified Files:
renderer.cpp
Log Message:
committing work done in the train while having wireless access
Index: renderer.cpp
===================================================================
RCS file: /cvsroot/libwpg/perfectspot/src/renderer.cpp,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -d -r1.17 -r1.18
--- renderer.cpp 5 Dec 2008 00:55:48 -0000 1.17
+++ renderer.cpp 5 Dec 2008 15:18:24 -0000 1.18
@@ -27,6 +27,7 @@
#include <libwpg/libwpg.h>
+#include <libwpd/libwpd.h>
#include <libwpd-stream/libwpd-stream.h>
#include <QtGui>
@@ -51,7 +52,7 @@
void startEmbeddedGraphics(const ::WPXPropertyList& /*propList*/) {}
void endEmbeddedGraphics() {}
- void setStyle(const libwpg::WPGPen& pen, const libwpg::WPGBrush& brush, const ::WPXPropertyList &propList);
+ void setStyle(const libwpg::WPGDashArray& pen, const libwpg::WPGGradient& gradient, const ::WPXPropertyList &propList);
void drawRectangle(const ::WPXPropertyList &propList);
void drawEllipse(const ::WPXPropertyList& propList);
@@ -83,22 +84,26 @@
m_zoomY = m_target->viewport().height() / height;
}
-void Painter::setStyle(const libwpg::WPGPen& pen, const libwpg::WPGBrush& brush, const ::WPXPropertyList &propList)
+void Painter::setStyle(const libwpg::WPGDashArray& dashArray, const libwpg::WPGGradient& gradient, const ::WPXPropertyList &propList)
{
QPen ppen(Qt::SolidLine);
- ppen.setWidth((int)(pen.width * m_zoomX));
- if(pen.width == 0)
+ if (propList["svg:stroke-width"])
+ ppen.setWidth((int)((propList["svg:stroke-width"]->getDouble()) * m_zoomX));
+ if(!propList["svg:stroke-width"] || propList["svg:stroke-width"]->getDouble() == 0)
ppen.setStyle(Qt::NoPen);
- QColor cPen(pen.foreColor.cstr());
- ppen.setColor(cPen);
+ if (propList["svg:stroke-color"])
+ {
+ QColor cPen(propList["svg:stroke-color"]->getStr().cstr());
+ ppen.setColor(cPen);
+ }
- if(!pen.solid)
+ if(!propList["libwpg:stroke-solid"] || !propList["libwpg:stroke-solid"]->getInt())
{
QVector<qreal> dashes;
- for(unsigned i = 0; i < pen.dashArray.count(); i++)
- dashes.append(pen.dashArray.at(i));
+ for(unsigned i = 0; i < dashArray.count(); i++)
+ dashes.append(dashArray.at(i));
ppen.setDashPattern(dashes);
}
@@ -106,8 +111,11 @@
QBrush pbrush(Qt::SolidPattern);
- QColor cBrush(brush.foreColor.cstr());
- pbrush.setColor(cBrush);
+ if (propList["draw:fill-color"])
+ {
+ QColor cBrush(propList["draw:fill-color"]->getStr().cstr());
+ pbrush.setColor(cBrush);
+ }
if(propList["draw:fill"] && propList["draw:fill"]->getStr() == "none")
pbrush.setStyle(Qt::NoBrush);
@@ -117,8 +125,6 @@
if(propList["draw:fill"] && propList["draw:fill"]->getStr() == "gradient")
{
- WPGGradient gradient = brush.gradient;
-
QLinearGradient pgradient(0, 0, 0, 1);
for(unsigned c = 0; c < gradient.count(); c++)
pgradient.setColorAt(gradient.stopOffset(c), QColor(gradient.stopColor(c).cstr()));
|