From: Fridrich S. <str...@us...> - 2008-12-05 15:18:31
|
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())); |