|
Krita Source Code Documentation
|
#include <spray_brush.h>
Public Member Functions | |
| void | paint (KisPaintDeviceSP dab, KisPaintDeviceSP source, const KisPaintInformation &info, qreal rotation, qreal scale, qreal additionalScale, const KoColor &color, const KoColor &bgColor) |
| void | setFixedDab (KisFixedPaintDeviceSP dab) |
| void | setProperties (KisSprayOpOptionData *properties, KisColorOptionData *colorProperties, KisSprayShapeOptionData *shapeProperties, KisSprayShapeDynamicsOptionData *shapeDynamicsProperties, KisBrushSP brush) |
| SprayBrush () | |
| ~SprayBrush () | |
Private Member Functions | |
| qreal | deg2rad (quint16 deg) const |
| convert degrees to radians | |
| qreal | linearInterpolation (qreal a, qreal b, qreal weight) const |
| mix a with b.b mix with weight and a with 1.0 - weight | |
| void | paintCircle (KisPainter *painter, qreal x, qreal y, qreal radius) |
| void | paintEllipse (KisPainter *painter, qreal x, qreal y, qreal a, qreal b, qreal angle) |
| template<typename AngularDistribution > | |
| void | paintImpl (KisPaintDeviceSP dab, KisPaintDeviceSP source, const KisPaintInformation &info, qreal rotation, qreal scale, qreal additionalScale, const KoColor &color, const KoColor &bgColor, const AngularDistribution &angularDistribution) |
| template<typename AngularDistribution , typename RadialDistribution > | |
| void | paintImpl (KisPaintDeviceSP dab, KisPaintDeviceSP source, const KisPaintInformation &info, qreal rotation, qreal scale, qreal additionalScale, const KoColor &color, const KoColor &bgColor, const AngularDistribution &angularDistribution, const RadialDistribution &radialDistribution) |
| void | paintOutline (KisPaintDeviceSP dev, const KoColor &painterColor, qreal posX, qreal posY, qreal radius) |
| void | paintParticle (KisRandomAccessorSP &writeAccessor, const KoColor &color, qreal rx, qreal ry) |
| Paints Wu Particle. | |
| void | paintRectangle (KisPainter *painter, qreal x, qreal y, qreal width, qreal height, qreal angle) |
| qreal | rad2deg (qreal rad) const |
| convert radians to degrees | |
| qreal | rotationAngle (KisRandomSourceSP randomSource) |
| rotation in radians according the settings (gauss distribution, uniform distribution or fixed angle) | |
Private Attributes | |
| KisBrushSP | m_brush |
| QImage | m_brushQImage |
| const KisColorOptionData * | m_colorProperties {nullptr} |
| quint8 | m_dabPixelSize {1} |
| int | m_dabSeqNo {0} |
| KisFixedPaintDeviceSP | m_fixedDab |
| KisPaintDeviceSP | m_imageDevice |
| KoColor | m_inkColor |
| KisPainter * | m_painter {nullptr} |
| quint32 | m_particlesCount {1} |
| qreal | m_radius {1.0} |
| const KisSprayShapeDynamicsOptionData * | m_shapeDynamicsProperties {nullptr} |
| const KisSprayShapeOptionData * | m_shapeProperties {nullptr} |
| KisSprayOpOption * | m_sprayOpOption {nullptr} |
| const KisSprayOpOptionData * | m_sprayOpOptionData {nullptr} |
| KoColorTransformation * | m_transfo {nullptr} |
| QImage | m_transformed |
Definition at line 31 of file spray_brush.h.
| SprayBrush::SprayBrush | ( | ) |
Definition at line 39 of file spray_brush.cpp.
| SprayBrush::~SprayBrush | ( | ) |
|
inlineprivate |
|
inlineprivate |
mix a with b.b mix with weight and a with 1.0 - weight
Definition at line 110 of file spray_brush.h.
| void SprayBrush::paint | ( | KisPaintDeviceSP | dab, |
| KisPaintDeviceSP | source, | ||
| const KisPaintInformation & | info, | ||
| qreal | rotation, | ||
| qreal | scale, | ||
| qreal | additionalScale, | ||
| const KoColor & | color, | ||
| const KoColor & | bgColor ) |
Definition at line 92 of file spray_brush.cpp.
References KisSprayOpOptionData::angularDistributionType, KisSprayOpOption::data, KisSprayOpOption::m_angularCurveBasedDistribution, m_sprayOpOption, KisSprayOpOption::m_uniformDistribution, paintImpl(), KisSprayOpOptionData::ParticleDistribution_Uniform, and source().
|
private |
Definition at line 456 of file spray_brush.cpp.
References KisPainter::fillPainterPath().
|
private |
Definition at line 464 of file spray_brush.cpp.
References KisPainter::fillPainterPath().
|
private |
Definition at line 106 of file spray_brush.cpp.
References KisSprayOpOption::data, KisSprayOpOption::m_clusterBasedDistributionPolarDistance, KisSprayOpOption::m_normalDistribution, KisSprayOpOption::m_normalDistributionPolarDistance, KisSprayOpOption::m_radialCurveBasedDistributionPolarDistance, m_sprayOpOption, KisSprayOpOption::m_uniformDistribution, KisSprayOpOption::m_uniformDistributionPolarDistance, paintImpl(), KisSprayOpOptionData::ParticleDistribution_ClusterBased, KisSprayOpOptionData::ParticleDistribution_Gaussian, KisSprayOpOptionData::ParticleDistribution_Uniform, KisSprayOpOptionData::radialDistributionCenterBiased, KisSprayOpOptionData::radialDistributionType, and source().
|
private |
Definition at line 140 of file spray_brush.cpp.
References KisSprayOpOptionData::aspect, KisPainter::bitBlt(), KisPainter::bltFixed(), KisFixedPaintDevice::bounds(), KisSprayOpOptionData::brushRotation, KisPaintDevice::clear(), KisColorOptionData::colorPerParticle, KisFixedPaintDevice::colorSpace(), KisPaintDevice::colorSpace(), KoColor::colorSpace(), KisPaintDevice::convertFromQImage(), KisSprayOpOptionData::coverage, KoColorSpace::createColorTransformation(), KisPaintDevice::createRandomAccessorNG(), KisFixedPaintDevice::data(), KoColor::data(), KisSprayOpOption::data, deg2rad(), KisSprayOpOptionData::diameter, KisPaintInformation::drawingAngle(), KisSprayShapeOptionData::effectiveSize(), KisSprayShapeDynamicsOptionData::enabled, KisSprayShapeOptionData::enabled, KisColorOptionData::fillBackground, KisPainter::FillStyleForegroundColor, KisSprayShapeDynamicsOptionData::followCursor, KisSprayShapeDynamicsOptionData::followCursorWeight, KisSprayShapeDynamicsOptionData::followDrawingAngle, KisSprayShapeDynamicsOptionData::followDrawingAngleWeight, KisRandomSource::generateNormalized(), KisColorOptionData::hue, KisSprayShapeOptionData::image, IMAGESTAMP, KisSprayOpOptionData::jitterAmount, KisSprayOpOptionData::jitterMovement, length(), linearInterpolation(), m_brush, m_brushQImage, m_colorProperties, m_dabPixelSize, m_dabSeqNo, m_fixedDab, m_imageDevice, m_inkColor, m_painter, m_particlesCount, M_PI, m_radius, m_shapeDynamicsProperties, m_shapeProperties, m_sprayOpOption, m_sprayOpOptionData, m_transfo, m_transformed, KisColorOptionData::mixBgColor, KoMixColorsOp::mixColors(), KoColorSpace::mixColorsOp, KisRandomConstAccessorNG::moveTo(), paintCircle(), paintEllipse(), paintParticle(), paintRectangle(), KisSprayOpOptionData::particleCount, KisPaintDevice::pixelSize(), KoColorSpace::pixelSize(), KisPaintInformation::pos(), pow2(), KisPaintInformation::pressure(), rad2deg, KisSprayShapeDynamicsOptionData::randomSize, KisPaintInformation::randomSource(), KisBaseAccessor::rawData(), rotationAngle(), KisColorOptionData::sampleInputColor, KisCrossDeviceColorSamplerImpl< Traits >::sampleOldColor(), KisColorOptionData::saturation, KisSprayOpOptionData::scale, KisPainter::setFillStyle(), KisPainter::setMaskImageSize(), KoColor::setOpacity(), KisPainter::setOpacityF(), KisPainter::setPaintColor(), KoColorTransformation::setParameter(), KoColorTransformation::setParameters(), KisSprayShapeOptionData::shape, source(), KisPaintOp::splitCoordinate(), KoColorTransformation::transform(), KisSprayOpOptionData::useDensity, KisColorOptionData::useRandomHSV, KisColorOptionData::useRandomOpacity, and KisColorOptionData::value.
|
private |
Definition at line 487 of file spray_brush.cpp.
References KisPaintDevice::colorSpace(), KisPaintDevice::createRandomAccessorNG(), KoColor::data(), KisRandomConstAccessorNG::moveTo(), KoColorSpace::opacityU8(), KoColorSpace::pixelSize(), and KisBaseAccessor::rawData().
|
private |
Paints Wu Particle.
Definition at line 419 of file spray_brush.cpp.
References KoColor::data(), m_dabPixelSize, KisRandomConstAccessorNG::moveTo(), KisBaseAccessor::rawData(), and KoColor::setOpacity().
|
private |
Definition at line 475 of file spray_brush.cpp.
References KisPainter::fillPainterPath().
|
inlineprivate |
|
private |
rotation in radians according the settings (gauss distribution, uniform distribution or fixed angle)
Definition at line 69 of file spray_brush.cpp.
References deg2rad(), KisSprayShapeDynamicsOptionData::fixedAngle, KisSprayShapeDynamicsOptionData::fixedRotation, KisRandomSource::generateNormalized(), linearInterpolation(), M_PI, m_shapeDynamicsProperties, KisSprayShapeDynamicsOptionData::randomRotation, and KisSprayShapeDynamicsOptionData::randomRotationWeight.
| void SprayBrush::setFixedDab | ( | KisFixedPaintDeviceSP | dab | ) |
Definition at line 566 of file spray_brush.cpp.
References m_fixedDab.
| void SprayBrush::setProperties | ( | KisSprayOpOptionData * | properties, |
| KisColorOptionData * | colorProperties, | ||
| KisSprayShapeOptionData * | shapeProperties, | ||
| KisSprayShapeDynamicsOptionData * | shapeDynamicsProperties, | ||
| KisBrushSP | brush ) |
Definition at line 51 of file spray_brush.cpp.
References m_brush, m_colorProperties, m_shapeDynamicsProperties, m_shapeProperties, m_sprayOpOption, m_sprayOpOptionData, and KisSprayOpOption::updateDistributions().
|
private |
Definition at line 74 of file spray_brush.h.
|
private |
Definition at line 63 of file spray_brush.h.
|
private |
Definition at line 70 of file spray_brush.h.
|
private |
Definition at line 59 of file spray_brush.h.
|
private |
Definition at line 55 of file spray_brush.h.
|
private |
Definition at line 75 of file spray_brush.h.
|
private |
Definition at line 62 of file spray_brush.h.
|
private |
Definition at line 56 of file spray_brush.h.
|
private |
Definition at line 61 of file spray_brush.h.
|
private |
Definition at line 58 of file spray_brush.h.
|
private |
Definition at line 57 of file spray_brush.h.
|
private |
Definition at line 72 of file spray_brush.h.
|
private |
Definition at line 71 of file spray_brush.h.
|
private |
Definition at line 69 of file spray_brush.h.
|
private |
Definition at line 68 of file spray_brush.h.
|
private |
Definition at line 66 of file spray_brush.h.
|
private |
Definition at line 64 of file spray_brush.h.