Warning, file /graphics/krita/plugins/paintops/tangentnormal/kis_tangent_normal_paintop.h was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001 /* 0002 * SPDX-FileCopyrightText: 2015 Wolthera van Hövell tot Westerflier <griffinvalley@gmail.com> 0003 * 0004 * SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #ifndef _KIS_TANGENTNORMALPAINTOP_H_ 0008 #define _KIS_TANGENTNORMALPAINTOP_H_ 0009 0010 #include <QRect> 0011 0012 #include <kis_brush_based_paintop.h> 0013 #include <kis_types.h> 0014 0015 #include <KisTangentTiltOption.h> 0016 #include <KisTangentTiltOptionData.h> 0017 0018 #include <KisStandardOptions.h> 0019 #include <KisFlowOpacityOption.h> 0020 #include <KisSpacingOption.h> 0021 #include <KisSharpnessOption.h> 0022 #include <KisScatterOption.h> 0023 #include <KisRotationOption.h> 0024 #include <KisAirbrushOptionData.h> 0025 0026 class KisBrushBasedPaintOpSettings; 0027 class KisPainter; 0028 0029 class KisTangentNormalPaintOp: public KisBrushBasedPaintOp 0030 { 0031 public: 0032 //public functions// 0033 0034 /* Create a Tangent Normal Brush Operator*/ 0035 KisTangentNormalPaintOp(const KisPaintOpSettingsSP settings, KisPainter* painter, KisNodeSP node, KisImageSP image); 0036 ~KisTangentNormalPaintOp() override; 0037 0038 void paintLine(const KisPaintInformation &pi1, const KisPaintInformation &pi2, KisDistanceInformation *currentDistance) override; 0039 0040 protected: 0041 /*paint the dabs*/ 0042 KisSpacingInformation paintAt(const KisPaintInformation& info) override; 0043 0044 KisSpacingInformation updateSpacingImpl(const KisPaintInformation &info) const override; 0045 0046 KisTimingInformation updateTimingImpl(const KisPaintInformation &info) const override; 0047 0048 private: 0049 KisSpacingInformation computeSpacing(const KisPaintInformation &info, qreal scale, 0050 qreal rotation) const; 0051 0052 private: 0053 //private functions// 0054 KisTangentTiltOption m_tangentTiltOption; 0055 0056 KisFlowOpacityOption2 m_opacityOption; 0057 KisFlowOption m_flowOption; 0058 KisSizeOption m_sizeOption; 0059 KisSpacingOption m_spacingOption; 0060 KisSoftnessOption m_softnessOption; 0061 KisSharpnessOption m_sharpnessOption; 0062 KisScatterOption m_scatterOption; 0063 KisRotationOption m_rotationOption; 0064 KisAirbrushOptionData m_airbrushData; 0065 KisRateOption m_rateOption; 0066 0067 KisFixedPaintDeviceSP m_maskDab; 0068 KisPaintDeviceSP m_tempDev; 0069 QRect m_dstDabRect; 0070 0071 KisPaintDeviceSP m_lineCacheDevice; 0072 }; 0073 #endif // _KIS_TANGENTNORMALPAINTOP_H_