|
Krita Source Code Documentation
|
#include <particle_brush.h>
Public Member Functions | |
| void | draw (KisPaintDeviceSP dab, const KoColor &color, const QPointF &pos) |
| void | initParticles () |
| ParticleBrush () | |
| void | setInitialPosition (const QPointF &pos) |
| void | setProperties (KisParticleOpOptionData *properties) |
| ~ParticleBrush () | |
Private Member Functions | |
| void | paintParticle (KisRandomAccessorSP writeAccessor, const KoColorSpace *cs, const QPointF &pos, const KoColor &color, qreal weight, bool respectOpacity) |
Private Attributes | |
| QVector< qreal > | m_acceleration |
| QVector< QPointF > | m_particleNextPos |
| QVector< QPointF > | m_particlePos |
| KisParticleOpOptionData * | m_properties |
Definition at line 32 of file particle_brush.h.
| ParticleBrush::ParticleBrush | ( | ) |
Definition at line 21 of file particle_brush.cpp.
References m_properties.
| ParticleBrush::~ParticleBrush | ( | ) |
Definition at line 26 of file particle_brush.cpp.
| void ParticleBrush::draw | ( | KisPaintDeviceSP | dab, |
| const KoColor & | color, | ||
| const QPointF & | pos ) |
When the scale is negative the equation becomes unstable, and the point coordinates grow to infinity, so just limit them in that case.
Generally, the effect of instability might be quite interesting for the painters.
Definition at line 84 of file particle_brush.cpp.
References KisDefaultBoundsBase::bounds(), KisPaintDevice::colorSpace(), KisPaintDevice::createRandomAccessorNG(), KisPaintDevice::defaultBounds(), m_acceleration, m_particleNextPos, m_particlePos, m_properties, paintParticle(), KisParticleOpOptionData::particleCount, KisParticleOpOptionData::particleGravity, KisParticleOpOptionData::particleIterations, KisParticleOpOptionData::particleScaleX, KisParticleOpOptionData::particleScaleY, KisParticleOpOptionData::particleWeight, and TIME.
| void ParticleBrush::initParticles | ( | ) |
Definition at line 31 of file particle_brush.cpp.
References m_acceleration, m_particleNextPos, m_particlePos, m_properties, and KisParticleOpOptionData::particleCount.
|
private |
paints wu particle, similar to spray version but you can turn on respecting opacity of the tool and add weight to opacity also the particle respects opacity in the destination pixel buffer
Definition at line 48 of file particle_brush.cpp.
References KoColor::data(), KisRandomConstAccessorNG::moveTo(), OPACITY_OPAQUE_U8, OPACITY_TRANSPARENT_U8, KoColor::opacityU8(), KoColorSpace::opacityU8(), KoColorSpace::pixelSize(), KisBaseAccessor::rawData(), and KoColor::setOpacity().
| void ParticleBrush::setInitialPosition | ( | const QPointF & | pos | ) |
Definition at line 38 of file particle_brush.cpp.
References m_acceleration, m_particleNextPos, m_particlePos, m_properties, KisParticleOpOptionData::particleCount, and KisParticleOpOptionData::particleIterations.
|
inline |
Definition at line 43 of file particle_brush.h.
References m_properties.
|
private |
Definition at line 54 of file particle_brush.h.
|
private |
Definition at line 53 of file particle_brush.h.
|
private |
Definition at line 52 of file particle_brush.h.
|
private |
Definition at line 56 of file particle_brush.h.