File indexing completed on 2024-12-22 04:12:57

0001 /*
0002  *  SPDX-FileCopyrightText: 2017 Dmitry Kazakov <dimula73@gmail.com>
0003  *
0004  *  SPDX-License-Identifier: GPL-2.0-or-later
0005  */
0006 
0007 #ifndef KISMASKINGBRUSHRENDERER_H
0008 #define KISMASKINGBRUSHRENDERER_H
0009 
0010 #include "kis_types.h"
0011 
0012 class KisMaskingBrushCompositeOpBase;
0013 
0014 
0015 class KisMaskingBrushRenderer
0016 {
0017 public:
0018     KisMaskingBrushRenderer(KisPaintDeviceSP dstDevice, const QString &compositeOpId);
0019     ~KisMaskingBrushRenderer();
0020 
0021     KisPaintDeviceSP strokeDevice() const;
0022     KisPaintDeviceSP maskDevice() const;
0023 
0024     void updateProjection(const QRect &rc);
0025 
0026 
0027 private:
0028     KisPaintDeviceSP m_strokeDevice;
0029     KisPaintDeviceSP m_maskDevice;
0030     KisPaintDeviceSP m_dstDevice;
0031 
0032     QScopedPointer<KisMaskingBrushCompositeOpBase> m_compositeOp;
0033 };
0034 
0035 #endif // KISMASKINGBRUSHRENDERER_H