KHtml

SVGPaintServerPatternQt.cpp
1 /*
2  Copyright (C) 2006 Nikolas Zimmermann <[email protected]>
3 
4  This file is part of the KDE project
5 
6  This library is free software; you can redistribute it and/or
7  modify it under the terms of the GNU Library General Public
8  License as published by the Free Software Foundation; either
9  version 2 of the License, or (at your option) any later version.
10 
11  This library is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14  Library General Public License for more details.
15 
16  You should have received a copy of the GNU Library General Public License
17  aint with this library; see the file COPYING.LIB. If not, write to
18  the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
19  Boston, MA 02110-1301, USA.
20 */
21 
22 #if ENABLE(SVG)
23 #include "SVGPaintServerPattern.h"
24 
25 namespace WebCore
26 {
27 
28 bool SVGPaintServerPattern::setup(QPainter *painter, QPainterPath *painterPath, const RenderObject *object, SVGPaintTargetType type, bool isPaintingText) const
29 {
30  // FIXME: Reactivate old pattern code
31 
32  /*
33  QPainter* painter(context ? context->platformContext() : 0);
34  Q_ASSERT(painter);
35 
36  QPainterPath* _path = static_cast<QPainterPath*>(qtContext->path());
37  Q_ASSERT(_path != 0);
38 
39  RenderStyle* renderStyle = object->style();
40 
41  painter->setPen(Qt::NoPen);
42  painter->setBrush(Qt::NoBrush);
43  QImage* patternimage = new QImage(tile()->bits(), tile()->width(), tile()->height(), QImage::Format_ARGB32_Premultiplied);
44  patternimage->setAlphaBuffer(true);
45  if (type & APPLY_TO_FILL) {
46  //QColor c = color();
47  //c.setAlphaF(style->fillPainter()->opacity() * style->opacity() * opacity());
48  KRenderingFillPainter fillPainter = KSVGPainterFactory::fillPainter(renderStyle, object);
49  QBrush brush(QPixmap::fromImage(*patternimage));
50  _path->setFillRule(fillPainter.fillRule() == RULE_EVENODD ? Qt::OddEvenFill : Qt::WindingFill);
51  painter->setBrush(brush);
52  }
53  if (type & APPLY_TO_STROKE) {
54  //QColor c = color();
55  //c.setAlphaF(style->strokePainter()->opacity() * style->opacity() * opacity());
56  KRenderingStrokePainter strokePainter = KSVGPainterFactory::strokePainter(renderStyle, object);
57 
58  QPen pen;
59  QBrush brush(QPixmap::fromImage(*patternimage));
60 
61  setPenProperties(strokePainter, pen);
62  pen.setBrush(brush);
63  painter->setPen(pen);
64  }
65 
66  painter->drawPath(*_path);
67 
68  delete patternimage;
69  */
70 
71  return true;
72 }
73 
74 } // namespace WebCore
75 
76 #endif
77 
This file is part of the KDE documentation.
Documentation copyright © 1996-2021 The KDE developers.
Generated on Tue Oct 26 2021 22:48:10 by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.