File indexing completed on 2024-05-19 04:24:54

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 KOSELECTIONPRIVATE_H
0007 #define KOSELECTIONPRIVATE_H
0008 
0009 #include <QSharedData>
0010 
0011 #include "kis_thread_safe_signal_compressor.h"
0012 
0013 class KoShapeGroup;
0014 
0015 class KoSelection::Private : public QSharedData
0016 {
0017 public:
0018     explicit Private()
0019         : QSharedData()
0020         , activeLayer(0)
0021         , selectionChangedCompressor(new KisThreadSafeSignalCompressor(1, KisSignalCompressor::FIRST_INACTIVE))
0022     {}
0023     explicit Private(const Private &)
0024         : QSharedData()
0025         , activeLayer(0)
0026         , selectionChangedCompressor(new KisThreadSafeSignalCompressor(1, KisSignalCompressor::FIRST_INACTIVE))
0027     {
0028     }
0029 
0030     ~Private() {
0031         selectionChangedCompressor->deleteLater();
0032     }
0033 
0034     QList<KoShape*> selectedShapes;
0035     KoShapeLayer *activeLayer;
0036 
0037     KisThreadSafeSignalCompressor *selectionChangedCompressor;
0038 };
0039 
0040 #endif