[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: kdenonbeta/ksvg2/impl
From: Rob Buis <rwlbuis () xs4all ! nl>
Date: 2005-01-15 20:26:33
Message-ID: 20050115202633.0B21F1BC19 () office ! kde ! org
[Download RAW message or body]
CVS commit by buis:
Handle gradientTransforms, like in gradPatt-transfrm.svg.
M +13 -1 SVGLinearGradientElementImpl.cc 1.9
M +12 -0 SVGRadialGradientElementImpl.cc 1.9
--- kdenonbeta/ksvg2/impl/SVGLinearGradientElementImpl.cc #1.8:1.9
@@ -32,6 +32,11 @@
#include "SVGAnimatedEnumerationImpl.h"
#include "SVGAnimatedStringImpl.h"
+#include "SVGAnimatedTransformListImpl.h"
+#include "SVGTransformListImpl.h"
+#include "SVGTransformImpl.h"
+#include "SVGMatrixImpl.h"
#include <kcanvas/KCanvas.h>
+#include <kcanvas/KCanvasMatrix.h>
#include <kcanvas/device/KRenderingDevice.h>
#include <kcanvas/device/KRenderingPaintServerGradient.h>
@@ -127,4 +132,7 @@ void SVGLinearGradientElementImpl::build
bool bbox = (gradientUnits()->baseVal() == SVG_UNIT_TYPE_OBJECTBOUNDINGBOX);
KRenderingPaintServerLinearGradient *grad = \
static_cast<KRenderingPaintServerLinearGradient *>(_grad); + KCanvasMatrix \
mat; + if(gradientTransform()->baseVal()->numberOfItems() > 0)
+ mat = \
KCanvasMatrix(gradientTransform()->baseVal()->consolidate()->matrix()->qmatrix());
KRenderingPaintServer *lin = 0;
@@ -149,4 +157,7 @@ void SVGLinearGradientElementImpl::build
bbox = pserver->boundingBoxMode();
+ if(!hasAttribute("gradientTransform"))
+ mat = pserver->gradientTransform();
+
// Inherit color stops if empty
if(grad->gradientStops().count() == 0)
@@ -177,4 +188,5 @@ void SVGLinearGradientElementImpl::build
}
+ grad->setGradientTransform(mat);
grad->setBoundingBoxMode(bbox);
grad->setGradientStart(QPoint(qRound(_x1), qRound(_y1)));
@@ -182,5 +194,5 @@ void SVGLinearGradientElementImpl::build
}
-KCanvasItem *SVGLinearGradientElementImpl::createCanvasItem(KCanvas *canvas, \
KAbstractRenderingStyle *style) const +KCanvasItem \
*SVGLinearGradientElementImpl::createCanvasItem(KCanvas *canvas, \
KAbstractRenderingStyle *) const {
KRenderingPaintServer *temp = \
canvas->renderingDevice()->createPaintServer(KCPaintServerType(PS_LINEAR_GRADIENT));
--- kdenonbeta/ksvg2/impl/SVGRadialGradientElementImpl.cc #1.8:1.9
@@ -34,6 +34,11 @@
#include "SVGAnimatedEnumerationImpl.h"
#include "SVGRadialGradientElementImpl.h"
+#include "SVGAnimatedTransformListImpl.h"
+#include "SVGTransformListImpl.h"
+#include "SVGTransformImpl.h"
+#include "SVGMatrixImpl.h"
#include <kcanvas/KCanvas.h>
+#include <kcanvas/KCanvasMatrix.h>
#include <kcanvas/device/KRenderingDevice.h>
#include <kcanvas/device/KRenderingPaintServerGradient.h>
@@ -152,4 +157,7 @@ void SVGRadialGradientElementImpl::build
bool bbox = (gradientUnits()->baseVal() == SVG_UNIT_TYPE_OBJECTBOUNDINGBOX);
KRenderingPaintServerRadialGradient *grad = \
static_cast<KRenderingPaintServerRadialGradient *>(_grad); + KCanvasMatrix \
mat; + if(gradientTransform()->baseVal()->numberOfItems() > 0)
+ mat = \
KCanvasMatrix(gradientTransform()->baseVal()->consolidate()->matrix()->qmatrix());
KRenderingPaintServer *radial = 0;
@@ -177,4 +185,7 @@ void SVGRadialGradientElementImpl::build
bbox = pserver->boundingBoxMode();
+ if(!hasAttribute("gradientTransform"))
+ mat = pserver->gradientTransform();
+
// Inherit color stops if empty
if(grad->gradientStops().count() == 0)
@@ -206,4 +217,5 @@ void SVGRadialGradientElementImpl::build
}
+ grad->setGradientTransform(mat);
grad->setBoundingBoxMode(bbox);
grad->setGradientCenter(QPoint(qRound(_cx), qRound(_cy)));
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic