20 #ifndef OMNI_BLENDBRUSH_H_
21 #define OMNI_BLENDBRUSH_H_
42 float _feather = 1.0);
45 QVector2D
const&
size()
const;
50 void setSize(QVector2D
const& _size);
84 void setBrush(QVector2D
const& _size,
90 void stamp(
const QPointF& _pos,
104 float _leftOver = 0.0);
QVector2D const & size() const
Returns brush size.
Definition: BlendBrush.cpp:41
BlendBrush for drawing on the blendmask Holds an internal pixel buffer.
Definition: BlendBrush.h:33
void setFeather(float _feather)
Set feather value Value must be between 0.0 and 1.0 and is clamped if necessary. A value 0...
Definition: BlendBrush.cpp:79
friend bool operator==(BlendBrush const &, BlendBrush const &)
Test for equality, buffer is ignored.
Definition: BlendBrush.cpp:266
void generate()
Generate internal pixel buffer with given size and feather parameters.
Definition: BlendBrush.cpp:210
bool invert_
Definition: BlendBrush.h:131
static QVector2D clampBrushSize(QVector2D const &)
Keep brush size within certain limits.
Definition: BlendBrush.cpp:237
#define OMNI_DECL_STREAM_OPERATORS(CLASS)
Definition: Interface.h:53
void stamp(const QPointF &_pos, Buffer< uint8_t > &_buf) const
Draws internal pixel buffer in given blend buffer.
Definition: BlendBrush.cpp:124
void setSize(QVector2D const &_size)
Sets size of the brush. Minimum size is 2 pixels, maximum size is 512 pixels.
Definition: BlendBrush.cpp:46
QVector2D size_
Definition: BlendBrush.h:129
float feather() const
Return feather value.
Definition: BlendBrush.cpp:74
Buffer< float > const & buffer() const
Definition: BlendBrush.cpp:205
float feather_
Definition: BlendBrush.h:130
float drawLine(const QPointF &_p0, const QPointF &_p1, Buffer< uint8_t > &_buf, float _leftOver=0.0)
Draws a lot from point _p0 to _p1 on given pixel buffer.
Definition: BlendBrush.cpp:160
void setOpacity(float _opacity)
Set opacity value Value must be between 0.0 and 1.0 and is clamped if necessary. A value 0...
Definition: BlendBrush.cpp:61
void toStream(QDataStream &) const
Write blend brush to stream.
Definition: BlendBrush.cpp:245
float opacity() const
Return opacity value.
Definition: BlendBrush.cpp:57
BlendBrush()
Default constructor.
Definition: BlendBrush.cpp:29
bool invert() const
Returns true if the brush is inverted (aka eraser mode)
Definition: BlendBrush.cpp:89
void setBrush(QVector2D const &_size, float _feather, float _opacity, bool _invert)
Set brush settings and generate pixel buffer.
Definition: BlendBrush.cpp:100
float opacity_
Definition: BlendBrush.h:128
void setInvert(bool _invert)
Sets inverted flag of the brush.
Definition: BlendBrush.cpp:94
void changeSize(QVector2D const &_delta)
Increase/Decrease size of the brush with a certain delta value Minimum size is 2 pixels...
Definition: BlendBrush.cpp:52
Buffer< float > buffer_
Internal pixel buffer.
Definition: BlendBrush.h:126
void fromStream(QDataStream &)
Read blend brush from stream.
Definition: BlendBrush.cpp:256