Krita Source Code Documentation
Loading...
Searching...
No Matches
KoShapeManager_p.h
Go to the documentation of this file.
1/* This file is part of the KDE project
2
3 SPDX-FileCopyrightText: 2006-2008 Thorsten Zachmann <zachmann@kde.org>
4 SPDX-FileCopyrightText: 2006-2010 Thomas Zander <zander@kde.org>
5 SPDX-FileCopyrightText: 2009-2010 Jan Hambrecht <jaham@gmx.net>
6
7 SPDX-License-Identifier: LGPL-2.0-or-later
8*/
9#ifndef KoShapeManager_p_h
10#define KoShapeManager_p_h
11
12#include "KoSelection.h"
13#include "KoShape.h"
14#include "KoShape_p.h"
15#include "KoShapeContainer.h"
16#include "KoShapeManager.h"
17#include <KoRTree.h>
18#include <QMutex>
20
21class KoCanvasBase;
22class KoShapeGroup;
23class QPainter;
24
25class Q_DECL_HIDDEN KoShapeManager::Private
26{
27public:
29 : selection(new KoSelection(shapeManager)),
30 canvas(c),
31 tree(4, 2),
32 q(shapeManager),
33 shapeInterface(shapeManager)
34 {
35 }
36
38 delete selection;
39 }
40
45 void updateTree();
46
48
49
54
59 QSet<KoShape *> aggregate4update;
60 QHash<KoShape*, int> shapeIndexesBeforeUpdate;
64 QMutex treeMutex;
65
67 QSet<const KoShape*> compressedUpdatedShapes;
68
69 bool updatesBlocked = false;
70};
71
72#endif
The KoRTree class is a template class that provides a R-tree.
Definition KoRTree.h:39
Private(KoShapeManager *shapeManager, KoCanvasBase *c)
QList< KoShape * > shapes
QSet< const KoShape * > compressedUpdatedShapes
KoShapeManager::ShapeInterface shapeInterface
void forwardCompressedUpdate()
QHash< KoShape *, int > shapeIndexesBeforeUpdate
KoRTree< KoShape * > tree
KoCanvasBase * canvas
void unlinkFromShapesRecursively(const QList< KoShape * > &shapes)
KoSelection * selection
KoShapeManager * q
QSet< KoShape * > aggregate4update