|
Krita Source Code Documentation
|
#include <kis_roundmarkerop.h>
Inheritance diagram for KisRoundMarkerOp:Public Member Functions | |
| KisRoundMarkerOp (KisPaintOpSettingsSP settings, KisPainter *painter, KisNodeSP node, KisImageSP image) | |
| ~KisRoundMarkerOp () override | |
Public Member Functions inherited from KisPaintOp | |
| virtual bool | canPaint () const |
| virtual std::pair< int, bool > | doAsynchronousUpdate (QVector< KisRunnableStrokeJobData * > &jobs) |
| KisPaintOp (KisPainter *painter) | |
| void | paintAt (const KisPaintInformation &info, KisDistanceInformation *currentDistance) |
| virtual void | paintBezierCurve (const KisPaintInformation &pi1, const QPointF &control1, const QPointF &control2, const KisPaintInformation &pi2, KisDistanceInformation *currentDistance) |
| virtual void | paintLine (const KisPaintInformation &pi1, const KisPaintInformation &pi2, KisDistanceInformation *currentDistance) |
| Private (KisPaintOp *_q) | |
| void | updateSpacing (const KisPaintInformation &info, KisDistanceInformation ¤tDistance) const |
| void | updateTiming (const KisPaintInformation &info, KisDistanceInformation ¤tDistance) const |
| virtual | ~KisPaintOp () |
Public Member Functions inherited from Private | |
| Private (KisCanvas2 *c) | |
Public Member Functions inherited from KisShared | |
| bool | deref () |
| bool | ref () |
| int | refCount () |
| QAtomicInt * | sharedWeakReference () |
Protected Member Functions | |
| KisSpacingInformation | paintAt (const KisPaintInformation &info) override |
| KisSpacingInformation | updateSpacingImpl (const KisPaintInformation &info) const override |
Protected Member Functions inherited from KisPaintOp | |
| KisFixedPaintDeviceSP | cachedDab () |
| KisFixedPaintDeviceSP | cachedDab (const KoColorSpace *cs) |
| KisPainter * | painter () const |
| KisPaintDeviceSP | source () const |
| virtual KisTimingInformation | updateTimingImpl (const KisPaintInformation &info) const |
Protected Member Functions inherited from KisShared | |
| KisShared () | |
| ~KisShared () | |
Private Member Functions | |
| KisSpacingInformation | computeSpacing (const KisPaintInformation &info, qreal diameter) const |
Private Attributes | |
| bool | m_firstRun |
| QPointF | m_lastPaintPos |
| qreal | m_lastRadius |
| KisRoundMarkerOpOptionData | m_markerOption |
| KisSizeOption | m_sizeOption |
| KisSpacingOption | m_spacingOption |
| KisPaintDeviceSP | m_tempDev |
Additional Inherited Members | |
Static Public Member Functions inherited from KisPaintOp | |
| static void | splitCoordinate (qreal coordinate, qint32 *whole, qreal *fraction) |
Public Attributes inherited from KisPaintOp | |
| KisFixedPaintDeviceSP | dab |
| bool | fanCornersEnabled {false} |
| qreal | fanCornersStep {1.0} |
| KisPainter * | painter {nullptr} |
| KisPaintOp * | q {nullptr} |
Public Attributes inherited from Private | |
| KisCanvas2 * | canvas |
| int | displayedFrame |
| int | intendedFrame |
Definition at line 22 of file kis_roundmarkerop.h.
| KisRoundMarkerOp::KisRoundMarkerOp | ( | KisPaintOpSettingsSP | settings, |
| KisPainter * | painter, | ||
| KisNodeSP | node, | ||
| KisImageSP | image ) |
Definition at line 34 of file kis_roundmarkerop.cpp.
References KisSharedPtr< T >::data(), m_firstRun, m_lastRadius, m_markerOption, KisPaintOp::painter, and KisRoundMarkerOpOptionData::read().
|
override |
Definition at line 50 of file kis_roundmarkerop.cpp.
|
private |
Definition at line 154 of file kis_roundmarkerop.cpp.
References KisSpacingOption::apply(), KisRoundMarkerOpOptionData::autoSpacingCoeff, KisPaintOpUtils::effectiveSpacing(), KisCurveOption::isChecked(), KisLodTransformBase::lodToScale(), m_markerOption, m_spacingOption, KisPaintOp::painter, KisRoundMarkerOpOptionData::spacing, and KisRoundMarkerOpOptionData::useAutoSpacing.
|
overrideprotectedvirtual |
The implementation of painting of a dab and updating spacing. This does NOT need to update the timing information.
Save the center of the current dab to know where to read the data during the next pass. We do not save scatteredPos here, because it may differ slightly from the real center of the brush (due to rounding effects), which will result in a really weird quality.
Implements KisPaintOp.
Definition at line 54 of file kis_roundmarkerop.cpp.
References KisPainter::addDirtyRects(), KisStandardOption< Data >::apply(), KisPainter::calculateAllMirroredPoints(), KisPainter::calculateAllMirroredRects(), KisPaintOpUtils::checkSizeTooSmall(), computeSpacing(), KisRoundMarkerOpOptionData::diameter, KisMarkerPainter::fillCirclesDiff(), KisMarkerPainter::fillFullCircle(), kisGrowRect(), KisLodTransformBase::lodToScale(), m_firstRun, m_lastPaintPos, m_lastRadius, m_markerOption, m_sizeOption, KisPaintOp::painter, and KisPaintInformation::pos().
|
overrideprotectedvirtual |
Implementation of a spacing update
Implements KisPaintOp.
Definition at line 146 of file kis_roundmarkerop.cpp.
References KisStandardOption< Data >::apply(), computeSpacing(), KisRoundMarkerOpOptionData::diameter, KisLodTransformBase::lodToScale(), m_markerOption, m_sizeOption, and KisPaintOp::painter.
|
private |
Definition at line 38 of file kis_roundmarkerop.h.
|
private |
Definition at line 42 of file kis_roundmarkerop.h.
|
private |
Definition at line 43 of file kis_roundmarkerop.h.
|
private |
Definition at line 44 of file kis_roundmarkerop.h.
|
private |
Definition at line 40 of file kis_roundmarkerop.h.
|
private |
Definition at line 41 of file kis_roundmarkerop.h.
|
private |
Definition at line 39 of file kis_roundmarkerop.h.