File indexing completed on 2024-05-12 15:56:44

0001 /* This file is part of the KDE project
0002  * SPDX-FileCopyrightText: 2009 Thomas Zander <zander@kde.org>
0003  *
0004  * SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006 #ifndef KOPATHSHAPEPRIVATE_H
0007 #define KOPATHSHAPEPRIVATE_H
0008 
0009 #include "KoPathShape.h"
0010 #include "KoMarker.h"
0011 
0012 #include <QSharedData>
0013 
0014 class KoPathShape::Private
0015 {
0016 public:
0017     explicit Private();
0018     explicit Private(const Private &rhs);
0019 
0020     QRectF handleRect(const QPointF &p, qreal radius) const;
0021 
0022     void map(const QTransform &matrix);
0023 
0024     /**
0025      * @brief Returns subpath at given index
0026      * @param subpathIndex the index of the subpath to return
0027      * @return subPath on success, or 0 when subpathIndex is out of bounds
0028      */
0029     KoSubpath *subPath(int subpathIndex) const;
0030 #ifndef NDEBUG
0031     /// \internal
0032     void paintDebug(QPainter &painter);
0033     /**
0034      * @brief print debug information about a the points of the path
0035      */
0036     void debugPath() const;
0037 #endif
0038 
0039     Qt::FillRule fillRule;
0040 
0041     KoSubpathList subpaths;
0042 
0043     QMap<KoFlake::MarkerPosition, QExplicitlySharedDataPointer<KoMarker>> markersNew;
0044     bool autoFillMarkers;
0045 };
0046 
0047 #endif