|
Krita Source Code Documentation
|
#include <kis_gradient_painter.h>
Inheritance diagram for KisGradientPainter:Classes | |
| struct | ProcessRegion |
Public Types | |
| enum | enumGradientRepeat { GradientRepeatNone , GradientRepeatForwards , GradientRepeatAlternate } |
| enum | enumGradientShape { GradientShapeLinear , GradientShapeBiLinear , GradientShapeRadial , GradientShapeSquare , GradientShapeConical , GradientShapeConicalSymetric , GradientShapeSpiral , GradientShapeReverseSpiral , GradientShapePolygonal } |
Public Types inherited from KisPainter | |
| enum | FillStyle { FillStyleNone , FillStyleForegroundColor , FillStyleBackgroundColor , FillStylePattern , FillStyleGenerator } |
| This enum contains the styles with which we can fill things like polygons and ellipses. More... | |
| enum | StrokeStyle { StrokeStyleNone , StrokeStyleBrush } |
| The style of the brush stroke around polygons and so. More... | |
Public Member Functions | |
| KisGradientPainter () | |
| KisGradientPainter (KisPaintDeviceSP device) | |
| KisGradientPainter (KisPaintDeviceSP device, KisSelectionSP selection) | |
| template<class T > | |
| bool | paintGradient (const QPointF &gradientVectorStart, const QPointF &gradientVectorEnd, enumGradientRepeat repeat, double antiAliasThreshold, bool reverseGradient, bool useDithering, const QRect &applyRect, T &paintPolicy) |
| bool | paintGradient (const QPointF &gradientVectorStart, const QPointF &gradientVectorEnd, enumGradientRepeat repeat, double antiAliasThreshold, bool reverseGradient, const QRect &applyRect, bool useDithering=false) |
| bool | paintGradient (const QPointF &gradientVectorStart, const QPointF &gradientVectorEnd, enumGradientRepeat repeat, double antiAliasThreshold, bool reverseGradient, qint32 startx, qint32 starty, qint32 width, qint32 height, bool useDithering=false) |
| void | precalculateShape () |
| void | setGradientShape (enumGradientShape shape) |
| ~KisGradientPainter () override | |
Public Member Functions inherited from Private | |
| Private (KisCanvas2 *c) | |
Public Member Functions inherited from KisPainter | |
| void | addDirtyRect (const QRect &r) |
| void | addDirtyRects (const QVector< QRect > &rects) |
| bool | antiAliasPolygonFill () |
| Return whether a polygon's filled area should be anti-aliased or not. | |
| void | applyDevice (const QRect &applyRect, const KisRenderedDab &dab, KisRandomAccessorSP dstIt, const KoColorSpace *srcColorSpace, KoCompositeOp::ParameterInfo &localParamInfo) |
| void | applyDeviceWithSelection (const QRect &applyRect, const KisRenderedDab &dab, KisRandomAccessorSP dstIt, KisRandomConstAccessorSP maskIt, const KoColorSpace *srcColorSpace, KoCompositeOp::ParameterInfo &localParamInfo) |
| const KoColor & | backgroundColor () const |
| Returns the current background color. | |
| void | begin (KisPaintDeviceSP device) |
| void | begin (KisPaintDeviceSP device, KisSelectionSP selection) |
| void | beginTransaction (const KUndo2MagicString &transactionName=KUndo2MagicString(), int timedID=-1) |
| Begin an undoable paint operation. | |
| void | bitBlt (const QPoint &pos, const KisPaintDeviceSP srcDev, const QRect &srcRect) |
| void | bitBlt (qint32 dstX, qint32 dstY, const KisPaintDeviceSP srcDev, qint32 srcX, qint32 srcY, qint32 srcWidth, qint32 srcHeight) |
| void | bitBltOldData (const QPoint &pos, const KisPaintDeviceSP srcDev, const QRect &srcRect) |
| void | bitBltOldData (qint32 dstX, qint32 dstY, const KisPaintDeviceSP srcDev, qint32 srcX, qint32 srcY, qint32 srcWidth, qint32 srcHeight) |
| void | bitBltWithFixedSelection (qint32 dstX, qint32 dstY, const KisPaintDeviceSP srcDev, const KisFixedPaintDeviceSP selection, qint32 selX, qint32 selY, qint32 srcX, qint32 srcY, qint32 srcWidth, qint32 srcHeight) |
| void | bitBltWithFixedSelection (qint32 dstX, qint32 dstY, const KisPaintDeviceSP srcDev, const KisFixedPaintDeviceSP selection, qint32 srcWidth, qint32 srcHeight) |
| void | bltFixed (const QPoint &pos, const KisFixedPaintDeviceSP srcDev, const QRect &srcRect) |
| void | bltFixed (const QRect &rc, const QList< KisRenderedDab > allSrcDevices) |
| void | bltFixed (qint32 dstX, qint32 dstY, const KisFixedPaintDeviceSP srcDev, qint32 srcX, qint32 srcY, qint32 srcWidth, qint32 srcHeight) |
| void | bltFixedWithFixedSelection (qint32 dstX, qint32 dstY, const KisFixedPaintDeviceSP srcDev, const KisFixedPaintDeviceSP selection, qint32 selX, qint32 selY, qint32 srcX, qint32 srcY, quint32 srcWidth, quint32 srcHeight) |
| void | bltFixedWithFixedSelection (qint32 dstX, qint32 dstY, const KisFixedPaintDeviceSP srcDev, const KisFixedPaintDeviceSP selection, quint32 srcWidth, quint32 srcHeight) |
| const QVector< QPair< QPointF, QPointF > > | calculateAllMirroredPoints (const QPair< QPointF, QPointF > &pair) |
| const QVector< QPointF > | calculateAllMirroredPoints (const QPointF &pos) |
| const QVector< QRect > | calculateAllMirroredRects (const QRect &rc) |
| template<class T > | |
| QVector< T > | calculateMirroredObjects (const T &object) |
| QBitArray | channelFlags () |
| const KoCompositeOp * | compositeOp (const KoColorSpace *srcCS) |
| QString | compositeOpId () |
| Returns the current composite op Id. | |
| void | copyMirrorInformationFrom (const KisPainter *other) |
| void | deleteTransaction () |
| KisPaintDeviceSP | device () |
| const KisPaintDeviceSP | device () const |
| Returns the current paint device. | |
| void | drawDDALine (const QPointF &start, const QPointF &end) |
| void | drawLine (const QPointF &start, const QPointF &end) |
| void | drawLine (const QPointF &start, const QPointF &end, qreal width, bool antialias) |
| void | drawPainterPath (const QPainterPath &path, const QPen &pen) |
| void | drawPainterPath (const QPainterPath &path, const QPen &pen, const QRect &requestedRect) |
| void | drawThickLine (const QPointF &start, const QPointF &end, int startWidth, int endWidth) |
| void | drawWobblyLine (const QPointF &start, const QPointF &end) |
| void | drawWuLine (const QPointF &start, const QPointF &end) |
| void | end () |
| KUndo2Command * | endAndTakeTransaction () |
| void | endTransaction (KisPostExecutionUndoAdapter *undoAdapter) |
| void | endTransaction (KisUndoAdapter *undoAdapter) |
| Finish the undoable paint operation. | |
| void | fill (qint32 x, qint32 y, qint32 width, qint32 height, const KoColor &color) |
| void | fillPainterPath (const QPainterPath &path) |
| void | fillPainterPath (const QPainterPath &path, const QRect &requestedRect) |
| void | fillPainterPathImpl (const QPainterPath &path, const QRect &requestedRect) |
| FillStyle | fillStyle () const |
| Returns the current fill style. | |
| qreal | flow () const |
| const KisFilterConfigurationSP | generator () const |
| void | getBezierCurvePoints (const QPointF &pos1, const QPointF &control1, const QPointF &control2, const QPointF &pos2, vQPointF &points) const |
| const KoAbstractGradientSP | gradient () const |
| bool | hasDirtyRegion () const |
| bool | hasHorizontalMirroring () const |
| bool | hasMirroring () const |
| bool | hasVerticalMirroring () const |
| bool | isOpacityUnit () const |
| KisPainter () | |
| Construct painter without a device. | |
| KisPainter (KisPaintDeviceSP device) | |
| Construct a painter, and begin painting on the device. | |
| KisPainter (KisPaintDeviceSP device, KisSelectionSP selection) | |
| Construct a painter, and begin painting on the device. All actions will be masked by the given selection. | |
| void | mirrorDab (Qt::Orientation direction, KisRenderedDab *dab, bool skipMirrorPixels=false) const |
| void | mirrorRect (Qt::Orientation direction, QRect *rc) const |
| qreal | opacityF () const |
| Returns the opacity that is used in painting. | |
| void | paintAt (const KisPaintInformation &pos, KisDistanceInformation *savedDist) |
| void | paintBezierCurve (const KisPaintInformation &pi1, const QPointF &control1, const QPointF &control2, const KisPaintInformation &pi2, KisDistanceInformation *currentDistance) |
| const KoColor & | paintColor () const |
| Returns the color that will be used to paint with. | |
| void | paintEllipse (const qreal x, const qreal y, const qreal w, const qreal h) |
| void | paintEllipse (const QRectF &rect) |
| void | paintLine (const KisPaintInformation &pi1, const KisPaintInformation &pi2, KisDistanceInformation *currentDistance) |
| KisPaintOp * | paintOp () const |
| void | paintPainterPath (const QPainterPath &path) |
| void | paintPolygon (const vQPointF &points) |
| void | paintPolyline (const QVector< QPointF > &points, int index=0, int numPoints=-1) |
| void | paintRect (const qreal x, const qreal y, const qreal w, const qreal h) |
| void | paintRect (const QRectF &rect) |
| const KoPatternSP | pattern () const |
| Returns the currently set pattern. | |
| QTransform | patternTransform () |
| get the current transform on the pattern. | |
| KisPaintOpPresetSP | preset () const |
| Return the paintop preset. | |
| Private (KisPainter *_q) | |
| Private (KisPainter *_q, const KoColorSpace *cs) | |
| void | putTransaction (KisTransaction *transaction) |
| continue a transaction started somewhere else | |
| void | renderDabWithMirroringNonIncremental (QRect rc, KisPaintDeviceSP dab) |
| void | renderMirrorMask (QRect rc, KisFixedPaintDeviceSP dab) |
| void | renderMirrorMask (QRect rc, KisFixedPaintDeviceSP dab, KisFixedPaintDeviceSP mask) |
| void | renderMirrorMask (QRect rc, KisPaintDeviceSP dab) |
| void | renderMirrorMask (QRect rc, KisPaintDeviceSP dab, int sx, int sy, KisFixedPaintDeviceSP mask) |
| void | renderMirrorMaskSafe (QRect rc, KisFixedPaintDeviceSP dab, bool preserveDab) |
| void | renderMirrorMaskSafe (QRect rc, KisFixedPaintDeviceSP dab, KisFixedPaintDeviceSP mask, bool preserveDab) |
| void | renderMirrorMaskSafe (QRect rc, KisPaintDeviceSP dab, int sx, int sy, KisFixedPaintDeviceSP mask, bool preserveMask) |
| void | revertTransaction () |
| Cancel all the changes made by the painter. | |
| KisRunnableStrokeJobsInterface * | runnableStrokeJobsInterface () const |
| KisSelectionSP | selection () |
| void | setAntiAliasPolygonFill (bool antiAliasPolygonFill) |
| Set whether a polygon's filled area should be anti-aliased or not. The default is true. | |
| void | setAverageOpacity (qreal averageOpacity) |
| void | setBackgroundColor (const KoColor &color) |
| void | setChannelFlags (QBitArray channelFlags) |
| void | setColorConversionFlags (KoColorConversionTransformation::ConversionFlags conversionFlags) |
| void | setCompositeOpId (const KoCompositeOp *op) |
| void | setCompositeOpId (const QString &op) |
| Set the composite op for this painter by string. | |
| void | setFillStyle (FillStyle fillStyle) |
| Set the current style with which to fill. | |
| void | setFlow (qreal flow) |
| void | setGenerator (KisFilterConfigurationSP generator) |
| Set the current generator (a generator can be used to fill an area. | |
| void | setGradient (const KoAbstractGradientSP gradient) |
| void | setMaskImageSize (qint32 width, qint32 height) |
| void | setMirrorInformation (const QPointF &axesCenter, bool mirrorHorizontally, bool mirrorVertically) |
| void | setOpacityF (qreal opacity) |
| void | setOpacityToUnit () |
| void | setOpacityU8 (quint8 opacity) |
| Set the opacity which is used in painting (like filling polygons) | |
| void | setOpacityUpdateAverage (qreal opacity) |
| void | setPaintColor (const KoColor &color) |
| void | setPaintOpPreset (KisPaintOpPresetSP preset, KisNodeSP node, KisImageSP image) |
| void | setPattern (const KoPatternSP pattern) |
| Set the current pattern. | |
| void | setPatternTransform (QTransform transform) |
| Set the transform on the pattern. | |
| void | setProgress (KoUpdater *progressUpdater) |
| void | setRenderingIntent (KoColorConversionTransformation::Intent intent) |
| void | setRunnableStrokeJobsInterface (KisRunnableStrokeJobsInterface *interface) |
| void | setSelection (KisSelectionSP selection) |
| void | setStrokeStyle (StrokeStyle strokeStyle) |
| Set the current brush stroke style. | |
| StrokeStyle | strokeStyle () const |
| Returns the current brush stroke style. | |
| QVector< QRect > | takeDirtyRegion () |
| KisTransaction * | takeTransaction () |
| take transaction out of the reach of KisPainter | |
| bool | tryReduceSourceRect (const KisPaintDevice *srcDev, QRect *srcRect, qint32 *srcX, qint32 *srcY, qint32 *srcWidth, qint32 *srcHeight, qint32 *dstX, qint32 *dstY) |
| virtual | ~KisPainter () |
Private Attributes | |
| const QScopedPointer< Private > | m_d |
Additional Inherited Members | |
Static Public Member Functions inherited from KisPainter | |
| static qreal | blendAverageOpacity (qreal opacity, qreal averageOpacity) |
| static bool | checkDeviceHasTransparency (KisPaintDeviceSP dev) |
| static KisPaintDeviceSP | convertToAlphaAsAlpha (KisPaintDeviceSP src) |
| static KisPaintDeviceSP | convertToAlphaAsGray (KisPaintDeviceSP src) |
| static KisPaintDeviceSP | convertToAlphaAsPureAlpha (KisPaintDeviceSP src) |
| static void | copyAreaOptimized (const QPoint &dstPt, KisPaintDeviceSP src, KisPaintDeviceSP dst, const QRect &originalSrcRect) |
| static void | copyAreaOptimized (const QPoint &dstPt, KisPaintDeviceSP src, KisPaintDeviceSP dst, const QRect &originalSrcRect, KisSelectionSP selection) |
| static void | copyAreaOptimizedOldData (const QPoint &dstPt, KisPaintDeviceSP src, KisPaintDeviceSP dst, const QRect &originalSrcRect) |
Protected Member Functions inherited from KisPainter | |
| void | fillPolygon (const vQPointF &points, FillStyle fillStyle) |
| Fill the polygon defined by points with the fillStyle. | |
| void | init () |
| Initialize, set everything to '0' or defaults. | |
| KoUpdater * | progressUpdater () |
XXX: Docs!
Definition at line 992 of file kis_gradient_painter.cc.
| Enumerator | |
|---|---|
| GradientRepeatNone | |
| GradientRepeatForwards | |
| GradientRepeatAlternate | |
Definition at line 46 of file kis_gradient_painter.h.
Definition at line 34 of file kis_gradient_painter.h.
| KisGradientPainter::KisGradientPainter | ( | ) |
Definition at line 1010 of file kis_gradient_painter.cc.
| KisGradientPainter::KisGradientPainter | ( | KisPaintDeviceSP | device | ) |
Definition at line 1015 of file kis_gradient_painter.cc.
| KisGradientPainter::KisGradientPainter | ( | KisPaintDeviceSP | device, |
| KisSelectionSP | selection ) |
Definition at line 1021 of file kis_gradient_painter.cc.
|
override |
Definition at line 1027 of file kis_gradient_painter.cc.
| bool KisGradientPainter::paintGradient | ( | const QPointF & | gradientVectorStart, |
| const QPointF & | gradientVectorEnd, | ||
| enumGradientRepeat | repeat, | ||
| double | antiAliasThreshold, | ||
| bool | reverseGradient, | ||
| bool | useDithering, | ||
| const QRect & | applyRect, | ||
| T & | paintPolicy ) |
Definition at line 1175 of file kis_gradient_painter.cc.
References KisPainter::bitBlt(), KoColorSpace::colorDepthId(), KoColorSpace::colorModelId(), KisPaintDevice::colorSpace(), KoColorSpaceRegistry::colorSpace(), KisPaintDevice::createCompositionSourceDevice(), KisPaintDevice::createRandomAccessorNG(), KisPaintDevice::defaultBounds(), KisPainter::device, KisDitherOp::dither(), DITHER_BEST, DITHER_NONE, KoColorSpace::ditherOp(), KisPainter::gradient, GradientRepeatAlternate, GradientRepeatForwards, GradientRepeatNone, GradientShapeBiLinear, GradientShapeConical, GradientShapeConicalSymetric, GradientShapeLinear, GradientShapePolygonal, GradientShapeRadial, GradientShapeReverseSpiral, GradientShapeSpiral, GradientShapeSquare, KoID::id(), KoColorSpaceRegistry::instance(), Integer16BitsColorDepthID, Integer8BitsColorDepthID, m_d, KisRandomConstAccessorNG::moveTo(), KisSequentialIteratorBase< IteratorPolicy, SourcePolicy, ProgressPolicy >::nextPixel(), KisRandomConstAccessorNG::numContiguousColumns(), KisRandomConstAccessorNG::numContiguousRows(), KoColorSpace::pixelSize(), precalculateShape(), KoColorSpace::profile(), KisPainter::progressUpdater, KisSequentialIteratorBase< IteratorPolicy, SourcePolicy, ProgressPolicy >::rawData(), KisBaseAccessor::rawData(), KisBaseConstAccessor::rawDataConst(), KisRandomConstAccessorNG::rowStride(), KisSelection::selectedExactRect(), KisPainter::selection, toQShared(), KisSequentialIteratorBase< IteratorPolicy, SourcePolicy, ProgressPolicy >::x(), and KisSequentialIteratorBase< IteratorPolicy, SourcePolicy, ProgressPolicy >::y().
| bool KisGradientPainter::paintGradient | ( | const QPointF & | gradientVectorStart, |
| const QPointF & | gradientVectorEnd, | ||
| enumGradientRepeat | repeat, | ||
| double | antiAliasThreshold, | ||
| bool | reverseGradient, | ||
| const QRect & | applyRect, | ||
| bool | useDithering = false ) |
Definition at line 1109 of file kis_gradient_painter.cc.
References GradientRepeatForwards, GradientRepeatNone, GradientShapeBiLinear, GradientShapeConical, GradientShapeLinear, GradientShapeRadial, GradientShapeReverseSpiral, GradientShapeSpiral, GradientShapeSquare, m_d, and paintGradient().
| bool KisGradientPainter::paintGradient | ( | const QPointF & | gradientVectorStart, |
| const QPointF & | gradientVectorEnd, | ||
| enumGradientRepeat | repeat, | ||
| double | antiAliasThreshold, | ||
| bool | reverseGradient, | ||
| qint32 | startx, | ||
| qint32 | starty, | ||
| qint32 | width, | ||
| qint32 | height, | ||
| bool | useDithering = false ) |
Paint a gradient in the rect between startx, starty, width and height.
Definition at line 1089 of file kis_gradient_painter.cc.
References paintGradient().
| void KisGradientPainter::precalculateShape | ( | ) |
TODO: make this call happen asynchronously when the user does nothing
Definition at line 1055 of file kis_gradient_painter.cc.
References bounds, createPolygonShapeStrategy(), KisPainter::device, KIS_ASSERT_RECOVER_RETURN, kisGrowRect(), m_d, KisSelection::outlineCache(), KisSelection::recalculateOutlineCache(), KisPainter::selection, KritaUtils::splitDisjointPaths(), and toQShared().
| void KisGradientPainter::setGradientShape | ( | enumGradientShape | shape | ) |
Definition at line 1031 of file kis_gradient_painter.cc.
|
private |
Definition at line 91 of file kis_gradient_painter.h.
| QVector<ProcessRegion> KisGradientPainter::processRegions |
Definition at line 1007 of file kis_gradient_painter.cc.
| enumGradientShape KisGradientPainter::shape |
Definition at line 994 of file kis_gradient_painter.cc.