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
13
#include "
kis_fixed_paint_device.h
"
14
#include "
kis_types.h
"
15
16
struct
MaskProcessingData
{
17
MaskProcessingData
(
KisFixedPaintDeviceSP
_device,
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))
34
,
pixelSize
(
colorSpace
->
pixelSize
())
35
{
36
}
37
38
KisFixedPaintDeviceSP
device
;
39
const
KoColorSpace
*
colorSpace
;
40
const
quint8*
color
;
41
qreal
randomness
;
42
qreal
density
;
43
double
centerX
;
44
double
centerY
;
45
46
double
cosa
;
47
double
sina
;
48
49
quint32
pixelSize
;
50
};
51
52
class
KisBrushMaskApplicatorBase
53
{
54
public
:
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
62
protected
:
63
const
MaskProcessingData
*
m_d
=
nullptr
;
64
};
65
66
struct
OperatorWrapper
{
67
OperatorWrapper
(
KisBrushMaskApplicatorBase
*applicator)
68
:
m_applicator
(applicator) {}
69
70
inline
void
operator()
(
const
QRect &
rect
)
const
71
{
72
m_applicator
->
process
(
rect
);
73
}
74
75
KisBrushMaskApplicatorBase
*
m_applicator
;
76
};
77
78
#endif
/* __KIS_BRUSH_MASK_APPLICATOR_BASE_H */
KisBrushMaskApplicatorBase
Definition
kis_brush_mask_applicator_base.h:53
KisBrushMaskApplicatorBase::process
virtual void process(const QRect &rect)=0
KisBrushMaskApplicatorBase::~KisBrushMaskApplicatorBase
virtual ~KisBrushMaskApplicatorBase()=default
KisBrushMaskApplicatorBase::initializeData
void initializeData(const MaskProcessingData *data)
Definition
kis_brush_mask_applicator_base.h:58
KisBrushMaskApplicatorBase::m_d
const MaskProcessingData * m_d
Definition
kis_brush_mask_applicator_base.h:63
KisSharedPtr< KisFixedPaintDevice >
KoColorSpace
Definition
KoColorSpace.h:78
kis_fixed_paint_device.h
kis_types.h
std
Definition
propagate_const.h:43
MaskProcessingData
Definition
kis_brush_mask_applicator_base.h:16
MaskProcessingData::centerY
double centerY
Definition
kis_brush_mask_applicator_base.h:44
MaskProcessingData::randomness
qreal randomness
Definition
kis_brush_mask_applicator_base.h:41
MaskProcessingData::cosa
double cosa
Definition
kis_brush_mask_applicator_base.h:46
MaskProcessingData::MaskProcessingData
MaskProcessingData(KisFixedPaintDeviceSP _device, const KoColorSpace *_colorSpace, const quint8 *_color, qreal _randomness, qreal _density, double _centerX, double _centerY, double _angle)
Definition
kis_brush_mask_applicator_base.h:17
MaskProcessingData::density
qreal density
Definition
kis_brush_mask_applicator_base.h:42
MaskProcessingData::device
KisFixedPaintDeviceSP device
Definition
kis_brush_mask_applicator_base.h:38
MaskProcessingData::colorSpace
const KoColorSpace * colorSpace
Definition
kis_brush_mask_applicator_base.h:39
MaskProcessingData::pixelSize
quint32 pixelSize
Definition
kis_brush_mask_applicator_base.h:49
MaskProcessingData::sina
double sina
Definition
kis_brush_mask_applicator_base.h:47
MaskProcessingData::centerX
double centerX
Definition
kis_brush_mask_applicator_base.h:43
MaskProcessingData::color
const quint8 * color
Definition
kis_brush_mask_applicator_base.h:40
OperatorWrapper
Definition
kis_brush_mask_applicator_base.h:66
OperatorWrapper::operator()
void operator()(const QRect &rect) const
Definition
kis_brush_mask_applicator_base.h:70
OperatorWrapper::m_applicator
KisBrushMaskApplicatorBase * m_applicator
Definition
kis_brush_mask_applicator_base.h:75
OperatorWrapper::OperatorWrapper
OperatorWrapper(KisBrushMaskApplicatorBase *applicator)
Definition
kis_brush_mask_applicator_base.h:67
rect
Definition
xcftools.h:129
libs
image
kis_brush_mask_applicator_base.h
Generated at
2025-11-04 02:30:02+01:00
from
Krita
branch
master
, commit
c9dde2e79561a8aea4a7e8d9ac99c98a7bac9e52