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