Changeset View
Changeset View
Standalone View
Standalone View
libs/image/kis_curve_circle_mask_generator.cpp
Context not available. | |||||
32 | #include "kis_curve_circle_mask_generator.h" | 32 | #include "kis_curve_circle_mask_generator.h" | ||
---|---|---|---|---|---|
33 | #include "kis_cubic_curve.h" | 33 | #include "kis_cubic_curve.h" | ||
34 | #include "kis_antialiasing_fade_maker.h" | 34 | #include "kis_antialiasing_fade_maker.h" | ||
35 | #include "kis_brush_mask_applicator_factories.h" | ||||
36 | #include "kis_brush_mask_applicator_base.h" | ||||
35 | 37 | | |||
36 | 38 | | |||
37 | struct Q_DECL_HIDDEN KisCurveCircleMaskGenerator::Private | 39 | struct Q_DECL_HIDDEN KisCurveCircleMaskGenerator::Private | ||
Context not available. | |||||
60 | 62 | | |||
61 | KisAntialiasingFadeMaker1D<Private> fadeMaker; | 63 | KisAntialiasingFadeMaker1D<Private> fadeMaker; | ||
62 | inline quint8 value(qreal dist) const; | 64 | inline quint8 value(qreal dist) const; | ||
65 | | ||||
66 | QScopedPointer<KisBrushMaskApplicatorBase> applicator; | ||||
63 | }; | 67 | }; | ||
64 | 68 | | |||
65 | KisCurveCircleMaskGenerator::KisCurveCircleMaskGenerator(qreal diameter, qreal ratio, qreal fh, qreal fv, int spikes, const KisCubicCurve &curve, bool antialiasEdges) | 69 | KisCurveCircleMaskGenerator::KisCurveCircleMaskGenerator(qreal diameter, qreal ratio, qreal fh, qreal fv, int spikes, const KisCubicCurve &curve, bool antialiasEdges) | ||
Context not available. | |||||
73 | d->dirty = false; | 77 | d->dirty = false; | ||
74 | 78 | | |||
75 | setScale(1.0, 1.0); | 79 | setScale(1.0, 1.0); | ||
80 | | ||||
81 | d->applicator.reset(createOptimizedClass<MaskApplicatorFactory<KisCurveCircleMaskGenerator, KisBrushMaskVectorApplicator> >(this)); | ||||
76 | } | 82 | } | ||
77 | 83 | | |||
78 | KisCurveCircleMaskGenerator::KisCurveCircleMaskGenerator(const KisCurveCircleMaskGenerator &rhs) | 84 | KisCurveCircleMaskGenerator::KisCurveCircleMaskGenerator(const KisCurveCircleMaskGenerator &rhs) | ||
79 | : KisMaskGenerator(rhs), | 85 | : KisMaskGenerator(rhs), | ||
80 | d(new Private(*rhs.d)) | 86 | d(new Private(*rhs.d)) | ||
81 | { | 87 | { | ||
88 | d->applicator.reset(createOptimizedClass<MaskApplicatorFactory<KisCurveCircleMaskGenerator, KisBrushMaskVectorApplicator> >(this)); | ||||
82 | } | 89 | } | ||
83 | 90 | | |||
84 | KisCurveCircleMaskGenerator::~KisCurveCircleMaskGenerator() | 91 | KisCurveCircleMaskGenerator::~KisCurveCircleMaskGenerator() | ||
Context not available. | |||||
121 | return (1.0 - alpha) * 255; | 128 | return (1.0 - alpha) * 255; | ||
122 | } | 129 | } | ||
123 | 130 | | |||
131 | KisBrushMaskApplicatorBase* KisCurveCircleMaskGenerator::applicator() { | ||||
132 | | ||||
133 | return d->applicator.data(); | ||||
134 | } | ||||
135 | | ||||
124 | quint8 KisCurveCircleMaskGenerator::valueAt(qreal x, qreal y) const | 136 | quint8 KisCurveCircleMaskGenerator::valueAt(qreal x, qreal y) const | ||
125 | { | 137 | { | ||
126 | if (isEmpty()) return 255; | 138 | if (isEmpty()) return 255; | ||
Context not available. |