Krita Source Code Documentation
Loading...
Searching...
No Matches
kis_brush_mask_applicator_base.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2012 Dmitry Kazakov <dimula73@gmail.com>
3 * SPDX-FileCopyrightText: 2022 L. E. Segovia <amy@amyspark.me>
4 *
5 * SPDX-License-Identifier: GPL-2.0-or-later
6 */
7
8#ifndef __KIS_BRUSH_MASK_APPLICATOR_BASE_H
9#define __KIS_BRUSH_MASK_APPLICATOR_BASE_H
10
11#include <cmath>
12
14#include "kis_types.h"
15
18 const KoColorSpace *_colorSpace,
19 const quint8 *_color,
20 qreal _randomness,
21 qreal _density,
22 double _centerX,
23 double _centerY,
24 double _angle)
25 : device(_device)
26 , colorSpace(_colorSpace)
27 , color(_color)
28 , randomness(_randomness)
29 , density(_density)
30 , centerX(_centerX)
31 , centerY(_centerY)
32 , cosa(std::cos(_angle))
33 , sina(std::sin(_angle))
35 {
36 }
37
40 const quint8* color;
42 qreal density;
43 double centerX;
44 double centerY;
45
46 double cosa;
47 double sina;
48
49 quint32 pixelSize;
50};
51
53{
54public:
55 virtual ~KisBrushMaskApplicatorBase() = default;
56 virtual void process(const QRect &rect) = 0;
57
58 inline void initializeData(const MaskProcessingData *data) {
59 m_d = data;
60 }
61
62protected:
63 const MaskProcessingData *m_d = nullptr;
64};
65
69
70 inline void operator()(const QRect &rect) const
71 {
73 }
74
76};
77
78#endif /* __KIS_BRUSH_MASK_APPLICATOR_BASE_H */
virtual void process(const QRect &rect)=0
virtual ~KisBrushMaskApplicatorBase()=default
void initializeData(const MaskProcessingData *data)
MaskProcessingData(KisFixedPaintDeviceSP _device, const KoColorSpace *_colorSpace, const quint8 *_color, qreal _randomness, qreal _density, double _centerX, double _centerY, double _angle)
void operator()(const QRect &rect) const
KisBrushMaskApplicatorBase * m_applicator
OperatorWrapper(KisBrushMaskApplicatorBase *applicator)