Krita Source Code Documentation
Loading...
Searching...
No Matches
kis_brushop.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2002 Patrick Julien <freak@codepimps.org>
3 * SPDX-FileCopyrightText: 2004-2008 Boudewijn Rempt <boud@valdyas.org>
4 * SPDX-FileCopyrightText: 2004 Clarence Dang <dang@kde.org>
5 * SPDX-FileCopyrightText: 2004 Adrian Page <adrian@pagenet.plus.com>
6 * SPDX-FileCopyrightText: 2004 Cyrille Berger <cberger@cberger.net>
7 *
8 * SPDX-License-Identifier: GPL-2.0-or-later
9 */
10
11#ifndef KIS_BRUSHOP_H_
12#define KIS_BRUSHOP_H_
13
16#include <KisStandardOptions.h>
18#include <KisSpacingOption.h>
19#include <KisScatterOption.h>
20#include <KisSharpnessOption.h>
21#include <KisRotationOption.h>
23
25
26
27class KisPainter;
28class KisColorSource;
30struct KisRenderedDab;
32
34{
35
36public:
37
39 ~KisBrushOp() override;
40
41 void paintLine(const KisPaintInformation &pi1, const KisPaintInformation &pi2, KisDistanceInformation *currentDistance) override;
42 std::pair<int, bool> doAsynchronousUpdate(QVector<KisRunnableStrokeJobData *> &jobs) override;
43
44
45protected:
47
49
51
52 struct UpdateSharedState;
54
55 void addMirroringJobs(Qt::Orientation direction,
56 QVector<QRect> &rects,
59
61
62
63private:
65
76
77
79
80 QScopedPointer<KisDabRenderingExecutor> m_dabExecutor;
85
86 const int m_idealNumRects;
87
90};
91
92#endif // KIS_BRUSHOP_H_
KisScatterOption m_scatterOption
Definition kis_brushop.h:72
KisSoftnessOption m_softnessOption
Definition kis_brushop.h:69
KisRateOption m_rateOption
Definition kis_brushop.h:68
KisSpacingOption m_spacingOption
Definition kis_brushop.h:71
KisRotationOption m_rotationOption
Definition kis_brushop.h:74
KisRatioOption m_ratioOption
Definition kis_brushop.h:67
QScopedPointer< KisDabRenderingExecutor > m_dabExecutor
Definition kis_brushop.h:80
KisLightnessStrengthOption m_lightnessStrengthOption
Definition kis_brushop.h:70
const int m_idealNumRects
Definition kis_brushop.h:86
KisRollingMeanAccumulatorWrapper m_avgSpacing
Definition kis_brushop.h:82
KisSizeOption m_sizeOption
Definition kis_brushop.h:66
UpdateSharedStateSP m_updateSharedState
Definition kis_brushop.h:60
KisPaintDeviceSP m_lineCacheDevice
Definition kis_brushop.h:78
KisSharpnessOption m_sharpnessOption
Definition kis_brushop.h:73
qreal m_currentUpdatePeriod
Definition kis_brushop.h:81
void addMirroringJobs(Qt::Orientation direction, QVector< QRect > &rects, UpdateSharedStateSP state, QVector< KisRunnableStrokeJobData * > &jobs)
std::pair< int, bool > doAsynchronousUpdate(QVector< KisRunnableStrokeJobData * > &jobs) override
KisSpacingInformation paintAt(const KisPaintInformation &info) override
KisRollingMeanAccumulatorWrapper m_avgNumDabs
Definition kis_brushop.h:83
KisFlowOpacityOption2 m_opacityOption
Definition kis_brushop.h:75
void paintLine(const KisPaintInformation &pi1, const KisPaintInformation &pi2, KisDistanceInformation *currentDistance) override
KisSpacingInformation updateSpacingImpl(const KisPaintInformation &info) const override
const int m_minUpdatePeriod
Definition kis_brushop.h:88
KisRollingMeanAccumulatorWrapper m_avgUpdateTimePerDab
Definition kis_brushop.h:84
KisBrushOp(const KisPaintOpSettingsSP settings, KisPainter *painter, KisNodeSP node, KisImageSP image)
QSharedPointer< UpdateSharedState > UpdateSharedStateSP
Definition kis_brushop.h:53
KisTimingInformation updateTimingImpl(const KisPaintInformation &info) const override
const int m_maxUpdatePeriod
Definition kis_brushop.h:89
~KisBrushOp() override
KisAirbrushOptionData m_airbrushData
Definition kis_brushop.h:64
A simple wrapper class that hides boost includes from QtCreator preventing it from crashing when one ...
KisPainter * painter