KHTML
SVGPaintServerSolidQt.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 "SVGPaintServerSolid.h"
00027
00028 #include "GraphicsContext.h"
00029 #include "RenderPath.h"
00030
00031 #include <QPainter>
00032
00033 namespace WebCore {
00034
00035 bool SVGPaintServerSolid::setup(QPainter* painter, QPainterPath* painterPath, const RenderObject* object, SVGPaintTargetType type, bool isPaintingText) const
00036 {
00037
00038
00039
00040 RenderStyle* renderStyle = object->style();
00041
00042
00043 QColor c = color();
00044
00045 if ((type & ApplyToFillTargetType) && renderStyle->svgStyle()->hasFill()) {
00046 c.setAlphaF(renderStyle->svgStyle()->fillOpacity());
00047
00048 QBrush brush(c);
00049 painter->setBrush(brush);
00050 if (painterPath)
00051 painterPath->setFillRule(renderStyle->svgStyle()->fillRule() == RULE_EVENODD ? Qt::OddEvenFill : Qt::WindingFill);
00052
00053
00054
00055 }
00056
00057 if ((type & ApplyToStrokeTargetType) && renderStyle->svgStyle()->hasStroke()) {
00058 c.setAlphaF(renderStyle->svgStyle()->strokeOpacity());
00059
00060 QPen pen(c);
00061 setPenProperties(object, renderStyle, pen);
00062 painter->setPen(pen);
00063
00064
00065 }
00066
00067 return true;
00068 }
00069
00070 }
00071
00072 #endif
00073
00074