Krita Source Code Documentation
Loading...
Searching...
No Matches
kis_brush_based_paintop_settings.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2010 Sven Langkamp <sven.langkamp@gmail.com>
3 *
4 * SPDX-License-Identifier: GPL-2.0-or-later
5 */
6
7#ifndef KIS_BRUSH_BASED_PAINTOP_SETTINGS_H
8#define KIS_BRUSH_BASED_PAINTOP_SETTINGS_H
9
11#include <kritapaintop_export.h>
13#include <kis_brush.h>
14#include <kis_shared.h>
15#include <kis_shared_ptr.h>
16
17
18class PAINTOP_EXPORT KisBrushBasedPaintOpSettings : public KisOutlineGenerationPolicy<KisPaintOpSettings>
19{
20public:
23
25 bool paintIncremental() override;
26
28 KisOptimizedBrushOutline brushOutline(const KisPaintInformation &info, const OutlineMode &mode, qreal alignForZoom) override;
29
30 KisBrushSP brush() const;
31
32 KisPaintOpSettingsSP clone() const override;
33
34 void setSpacing(qreal spacing);
35 qreal spacing();
36
37 void setAutoSpacing(bool active, qreal coeff);
38
39 bool autoSpacingActive();
40 qreal autoSpacingCoeff();
41
42 void setPaintOpSize(qreal value) override;
43 qreal paintOpSize() const override;
44
45 void setPaintOpAngle(qreal value) override;
46 qreal paintOpAngle() const override;
47
49
50 virtual bool hasPatternSettings() const override;
51
52 QList<int> requiredCanvasResources() const override;
53
54 void setResourceCacheInterface(KoResourceCacheInterfaceSP cacheInterface) override;
55 void regenerateResourceCache(KoResourceCacheInterfaceSP cacheInterface) override;
56
57protected:
58
59 void onPropertyChanged() override;
60 KisOptimizedBrushOutline brushOutlineImpl(const KisPaintInformation &info, const OutlineMode &mode, qreal alignForZoom, qreal additionalScale);
63
64private:
65
66 Q_DISABLE_COPY(KisBrushBasedPaintOpSettings)
67
68};
69
72
73#endif // KIS_BRUSH_BASED_PAINTOP_SETTINGS_H
float value(const T *src, size_t ch)
QList< KisUniformPaintOpPropertyWSP > m_uniformProperties
KisPinnedSharedPtr< KisBrushBasedPaintOpSettings > KisBrushBasedPaintOpSettingsSP
virtual KisOptimizedBrushOutline brushOutline(const KisPaintInformation &info, const OutlineMode &mode, qreal alignForZoom)