KHTML
SVGPaintServerLinearGradientQt.cpp
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #include "config.h"
00023 #include "wtf/Platform.h"
00024
00025 #if ENABLE(SVG)
00026 #include "SVGPaintServerLinearGradient.h"
00027 #include "SVGGradientElement.h"
00028
00029
00030 #include "RenderPath.h"
00031
00032 #include <QLinearGradient>
00033 #include <QPainter>
00034 #include <QPainterPath>
00035
00036 namespace WebCore {
00037
00038 QGradient SVGPaintServerLinearGradient::setupGradient(QPainter* painter, QPainterPath* painterPath, const RenderObject* object) const
00039 {
00040
00041
00042
00043 double x1, x2, y1, y2;
00044 if (boundingBoxMode()) {
00045 QRectF bbox = painterPath->boundingRect();
00046 x1 = bbox.x();
00047 y1 = bbox.y();
00048 x2 = bbox.x() + bbox.width();
00049 y2 = bbox.y() + bbox.height();
00050 } else {
00051 x1 = gradientStart().x();
00052 y1 = gradientStart().y();
00053 x2 = gradientEnd().x();
00054 y2 = gradientEnd().y();
00055 }
00056
00057 QLinearGradient gradient(QPointF(x1, y1), QPointF(x2, y2));
00058
00059 return gradient;
00060 }
00061
00062 }
00063
00064 #endif
00065
00066