Krita Source Code Documentation
Loading...
Searching...
No Matches
kis_dab_cache_base.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2012 Dmitry Kazakov <dimula73@gmail.com>
3 *
4 * SPDX-License-Identifier: GPL-2.0-or-later
5 */
6
7#ifndef __KIS_DAB_CACHE_BASE_H
8#define __KIS_DAB_CACHE_BASE_H
9
10#include "kritapaintop_export.h"
11#include "kis_brush.h"
12
13#include "KisDabCacheUtils.h"
14
15class KisColorSource;
18class KisMirrorOption;
20struct MirrorProperties;
21
22
42class PAINTOP_EXPORT KisDabCacheBase
43{
44public:
47
48 void setMirrorPostprocessing(KisMirrorOption *option);
49 void setPrecisionOption(KisPrecisionOption *option);
50
57 void disableSubpixelPrecision();
58
63 bool needSeparateOriginal(KisTextureOption *textureOption,
64 KisSharpnessOption *sharpnessOption) const;
65
66protected:
82 void fetchDabGenerationInfo(bool hasDabInCache,
85 /* out */
87 bool *shouldUseCache);
88
89private:
90 struct SavedDabParameters;
91 struct DabPosition;
92private:
93 inline SavedDabParameters getDabParameters(KisBrushSP brush, const KoColor& color,
94 KisDabShape const&,
95 const KisPaintInformation& info,
96 double subPixelX, double subPixelY,
97 qreal softnessFactor,
98 qreal lightnessStrength,
99 MirrorProperties mirrorProperties);
100
102 calculateDabRect(KisBrushSP brush, const QPointF &cursorPoint,
104 const KisPaintInformation& info,
105 const MirrorProperties &mirrorProperties, KisSharpnessOption *sharpnessOption);
106
107private:
108 struct Private;
109 Private * const m_d;
110};
111
112#endif /* __KIS_DAB_CACHE_BASE_H */
The KisDabCacheBase class provides caching for dabs into the brush paintop.