Krita Source Code Documentation
Loading...
Searching...
No Matches
kis_sketch_paintop.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2010 Lukáš Tvrdý <lukast.dev@gmail.com>
3 *
4 * SPDX-License-Identifier: GPL-2.0-or-later
5 */
6
7#ifndef KIS_SKETCH_PAINTOP_H_
8#define KIS_SKETCH_PAINTOP_H_
9
11#include <kis_types.h>
12
16
17#include "kis_painter.h"
18#include <kis_brush_option.h>
19#include <KisStandardOptions.h>
20#include "KisRotationOption.h"
21#include "KisOpacityOption.h"
23
24class KisDabCache;
25
26
28{
29
30public:
31
33 ~KisSketchPaintOp() override;
34
35 void paintLine(const KisPaintInformation &pi1, const KisPaintInformation &pi2, KisDistanceInformation *currentDistance) override;
36
38
39protected:
41
43
45
46private:
47 // pixel buffer
49
50 // mask detection area
53 QPointF m_hotSpot;
54
55 // simple mode
56 qreal m_radius {1.0};
57
66
69
71 int m_count {0};
72 KisPainter * m_painter {nullptr};
75
76private:
77 void drawConnection(const QPointF &start, const QPointF &end, double lineWidth);
78 void updateBrushMask(const KisPaintInformation& info, qreal scale, qreal rotation);
79 void doPaintLine(const KisPaintInformation &pi1, const KisPaintInformation &pi2);
80};
81
82#endif // KIS_SKETCH_PAINTOP_H_
The KisDabCache class provides caching for dabs into the brush paintop.
KisSpacingInformation paintAt(const KisPaintInformation &info) override
KisOffsetScaleOption m_offsetScaleOption
KisRotationOption m_rotationOption
KisSketchPaintOp(const KisPaintOpSettingsSP settings, KisPainter *painter, KisNodeSP node, KisImageSP image)
void paintLine(const KisPaintInformation &pi1, const KisPaintInformation &pi2, KisDistanceInformation *currentDistance) override
KisDensityOption m_densityOption
KisDabCache * m_dabCache
void drawConnection(const QPointF &start, const QPointF &end, double lineWidth)
KisSizeOption m_sizeOption
KisTimingInformation updateTimingImpl(const KisPaintInformation &info) const override
KisSpacingInformation updateSpacingImpl(const KisPaintInformation &info) const override
KisRateOption m_rateOption
KisFixedPaintDeviceSP m_maskDab
KisOpacityOption m_opacityOption
KisSketchOpOptionData m_sketchProperties
KisAirbrushOptionData m_airbrushOption
void doPaintLine(const KisPaintInformation &pi1, const KisPaintInformation &pi2)
void updateBrushMask(const KisPaintInformation &info, qreal scale, qreal rotation)
KisPaintDeviceSP m_dab
static QList< KoResourceLoadResult > prepareLinkedResources(const KisPaintOpSettingsSP settings, KisResourcesInterfaceSP resourcesInterface)
QVector< QPointF > m_points
KisBrushOptionProperties m_brushOption
KisLineWidthOption m_lineWidthOption
KisPainter * painter