Warning, file /office/calligra/libs/flake/KoShapeManagerPaintingStrategy.cpp was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).

0001 /* This file is part of the KDE project
0002 
0003    Copyright (C) 2007,2009 Thorsten Zachmann <zachmann@kde.org>
0004 
0005    This library is free software; you can redistribute it and/or
0006    modify it under the terms of the GNU Library General Public
0007    License as published by the Free Software Foundation; either
0008    version 2 of the License, or (at your option) any later version.
0009 
0010    This library is distributed in the hope that it will be useful,
0011    but WITHOUT ANY WARRANTY; without even the implied warranty of
0012    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
0013    Library General Public License for more details.
0014 
0015    You should have received a copy of the GNU Library General Public License
0016    along with this library; see the file COPYING.LIB.  If not, write to
0017    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
0018  * Boston, MA 02110-1301, USA.
0019 */
0020 
0021 #include "KoShapeManagerPaintingStrategy.h"
0022 
0023 #include "KoShape.h"
0024 #include "KoShapeManager.h"
0025 #include <QPainter>
0026 
0027 class Q_DECL_HIDDEN KoShapeManagerPaintingStrategy::Private
0028 {
0029 public:
0030     Private(KoShapeManager * manager)
0031     : shapeManager(manager)
0032     {}
0033 
0034     KoShapeManager * shapeManager;
0035 };
0036 
0037 KoShapeManagerPaintingStrategy::KoShapeManagerPaintingStrategy(KoShapeManager * shapeManager)
0038 : d(new KoShapeManagerPaintingStrategy::Private(shapeManager))
0039 {
0040 }
0041 
0042 KoShapeManagerPaintingStrategy::~KoShapeManagerPaintingStrategy()
0043 {
0044     delete d;
0045 }
0046 
0047 void KoShapeManagerPaintingStrategy::paint(KoShape * shape, QPainter &painter, const KoViewConverter &converter, KoShapePaintingContext &paintContext)
0048 {
0049     if (d->shapeManager) {
0050         painter.save();
0051         painter.setTransform(shape->absoluteTransformation(&converter) * painter.transform());
0052         d->shapeManager->paintShape(shape, painter, converter, paintContext);
0053         painter.restore();  // for the matrix
0054     }
0055 }
0056 
0057 void KoShapeManagerPaintingStrategy::adapt(KoShape * shape, QRectF & rect)
0058 {
0059     Q_UNUSED(shape);
0060     Q_UNUSED(rect);
0061 }
0062 
0063 void KoShapeManagerPaintingStrategy::setShapeManager(KoShapeManager * shapeManager)
0064 {
0065     d->shapeManager = shapeManager;
0066 }
0067 
0068 KoShapeManager * KoShapeManagerPaintingStrategy::shapeManager()
0069 {
0070     return d->shapeManager;
0071 }