QGIS API Documentation 3.37.0-Master (fdefdf9c27f)
qgscoloreffect.h
Go to the documentation of this file.
1/***************************************************************************
2 qgscoloreffect.h
3 ----------------
4 begin : March 2015
5 copyright : (C) 2015 Nyall Dawson
6 email : nyall dot dawson at gmail dot com
7 ***************************************************************************/
8
9/***************************************************************************
10 * *
11 * This program is free software; you can redistribute it and/or modify *
12 * it under the terms of the GNU General Public License as published by *
13 * the Free Software Foundation; either version 2 of the License, or *
14 * (at your option) any later version. *
15 * *
16 ***************************************************************************/
17#ifndef QGSCOLOREFFECT_H
18#define QGSCOLOREFFECT_H
19
20#include "qgis_core.h"
21#include "qgspainteffect.h"
22#include "qgsimageoperation.h"
23#include "qgis_sip.h"
24#include <QPainter>
25
35{
36
37 public:
38
44 static QgsPaintEffect *create( const QVariantMap &map ) SIP_FACTORY;
45
47
48 QString type() const override { return QStringLiteral( "color" ); }
49 QVariantMap properties() const override;
50 void readProperties( const QVariantMap &props ) override;
51 QgsColorEffect *clone() const override SIP_FACTORY;
52
60 void setBrightness( int brightness );
61
69 int brightness() const { return mBrightness; }
70
78 void setContrast( int contrast );
79
87 int contrast() const { return mContrast; }
88
96 void setSaturation( double saturation ) { mSaturation = saturation; }
97
105 double saturation() const { return mSaturation; }
106
112 void setGrayscaleMode( QgsImageOperation::GrayscaleMode grayscaleMode ) { mGrayscaleMode = grayscaleMode; }
113
119 QgsImageOperation::GrayscaleMode grayscaleMode() const { return mGrayscaleMode; }
120
128 void setColorizeOn( bool colorizeOn ) { mColorizeOn = colorizeOn; }
129
137 bool colorizeOn() const { return mColorizeOn; }
138
147 void setColorizeColor( const QColor &colorizeColor );
148
157 QColor colorizeColor() const { return mColorizeColor; }
158
167 void setColorizeStrength( int colorizeStrength ) { mColorizeStrength = colorizeStrength; }
168
177 int colorizeStrength() const { return mColorizeStrength; }
178
185 void setOpacity( const double opacity ) { mOpacity = opacity; }
186
193 double opacity() const { return mOpacity; }
194
201 void setBlendMode( const QPainter::CompositionMode mode ) { mBlendMode = mode; }
202
209 QPainter::CompositionMode blendMode() const { return mBlendMode; }
210
211 protected:
212
213 void draw( QgsRenderContext &context ) override;
214
215 private:
216
217 double mOpacity = 1.0;
218 QPainter::CompositionMode mBlendMode = QPainter::CompositionMode_SourceOver;
219 int mBrightness = 0;
220 int mContrast = 0;
221 double mSaturation = 1.0;
223 bool mColorizeOn = false;
224 QColor mColorizeColor;
225 int mColorizeStrength = 100;
226};
227
228#endif // QGSBLUREFFECT_H
229
A paint effect which alters the colors (e.g., brightness, contrast) in a source picture.
bool colorizeOn() const
Returns whether the effect will colorize a picture.
QgsImageOperation::GrayscaleMode grayscaleMode() const
Returns whether the effect will convert a picture to grayscale.
double opacity() const
Returns the opacity for the effect.
void setOpacity(const double opacity)
Sets the opacity for the effect.
QString type() const override
Returns the effect type.
void setSaturation(double saturation)
Sets the saturation modification for the effect.
void setColorizeStrength(int colorizeStrength)
Sets the strength for colorizing a picture.
int colorizeStrength() const
Returns the strength used for colorizing a picture.
void setColorizeOn(bool colorizeOn)
Sets whether the effect should colorize a picture.
int contrast() const
Returns the contrast modification for the effect.
void setBlendMode(const QPainter::CompositionMode mode)
Sets the blend mode for the effect.
double saturation() const
Returns the saturation modification for the effect.
QColor colorizeColor() const
Returns the color used for colorizing a picture.
QPainter::CompositionMode blendMode() const
Returns the blend mode for the effect.
void setGrayscaleMode(QgsImageOperation::GrayscaleMode grayscaleMode)
Sets whether the effect should convert a picture to grayscale.
GrayscaleMode
Modes for converting a QImage to grayscale.
@ GrayscaleOff
No change.
Base class for visual effects which can be applied to QPicture drawings.
virtual void readProperties(const QVariantMap &props)=0
Reads a string map of an effect's properties and restores the effect to the state described by the pr...
virtual QgsPaintEffect * clone() const =0
Duplicates an effect by creating a deep copy of the effect.
virtual QVariantMap properties() const =0
Returns the properties describing the paint effect encoded in a string format.
virtual void draw(QgsRenderContext &context)=0
Handles drawing of the effect's result on to the specified render context.
Contains information about the context of a rendering operation.
#define SIP_FACTORY
Definition: qgis_sip.h:76
#define SIP_NODEFAULTCTORS
Definition: qgis_sip.h:101