Krita Source Code Documentation
Loading...
Searching...
No Matches
particle_brush.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2010 Lukáš Tvrdý <lukast.dev@gmail.com>
3 *
4 * SPDX-License-Identifier: GPL-2.0-or-later
5 */
6
7
8#ifndef _PARTICLE_BRUSH_H_
9#define _PARTICLE_BRUSH_H_
10
11#include "kis_paint_device.h"
12#include "kis_debug.h"
13#include <QPointF>
14
16
17
19{
20public:
22 quint16 iterations;
23 qreal weight;
24 qreal gravity;
25 QPointF scale;
26};
27
28class KisRandomAccessor;
29class KoColorSpace;
30class KoColor;
31
33{
34
35public:
36
39 void initParticles();
40 void draw(KisPaintDeviceSP dab, const KoColor& color, const QPointF &pos);
41
42 void setInitialPosition(const QPointF &pos);
44 m_properties = properties;
45 }
46
47private:
50 void paintParticle(KisRandomAccessorSP writeAccessor, const KoColorSpace *cs,const QPointF &pos, const KoColor& color, qreal weight, bool respectOpacity);
51
55
57};
58
59#endif
void setProperties(KisParticleOpOptionData *properties)
QVector< qreal > m_acceleration
KisParticleOpOptionData * m_properties
QVector< QPointF > m_particleNextPos
QVector< QPointF > m_particlePos
void draw(KisPaintDeviceSP dab, const KoColor &color, const QPointF &pos)
void setInitialPosition(const QPointF &pos)
void paintParticle(KisRandomAccessorSP writeAccessor, const KoColorSpace *cs, const QPointF &pos, const KoColor &color, qreal weight, bool respectOpacity)