QGIS API Documentation 3.29.0-Master (006c3c0232)
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
36{
37
38 public:
39
45 static QgsPaintEffect *create( const QVariantMap &map ) SIP_FACTORY;
46
48
49 QString type() const override { return QStringLiteral( "color" ); }
50 QVariantMap properties() const override;
51 void readProperties( const QVariantMap &props ) override;
52 QgsColorEffect *clone() const override SIP_FACTORY;
53
61 void setBrightness( int brightness );
62
70 int brightness() const { return mBrightness; }
71
79 void setContrast( int contrast );
80
88 int contrast() const { return mContrast; }
89
97 void setSaturation( double saturation ) { mSaturation = saturation; }
98
106 double saturation() const { return mSaturation; }
107
113 void setGrayscaleMode( QgsImageOperation::GrayscaleMode grayscaleMode ) { mGrayscaleMode = grayscaleMode; }
114
120 QgsImageOperation::GrayscaleMode grayscaleMode() const { return mGrayscaleMode; }
121
129 void setColorizeOn( bool colorizeOn ) { mColorizeOn = colorizeOn; }
130
138 bool colorizeOn() const { return mColorizeOn; }
139
148 void setColorizeColor( const QColor &colorizeColor );
149
158 QColor colorizeColor() const { return mColorizeColor; }
159
168 void setColorizeStrength( int colorizeStrength ) { mColorizeStrength = colorizeStrength; }
169
178 int colorizeStrength() const { return mColorizeStrength; }
179
186 void setOpacity( const double opacity ) { mOpacity = opacity; }
187
194 double opacity() const { return mOpacity; }
195
202 void setBlendMode( const QPainter::CompositionMode mode ) { mBlendMode = mode; }
203
210 QPainter::CompositionMode blendMode() const { return mBlendMode; }
211
212 protected:
213
214 void draw( QgsRenderContext &context ) override;
215
216 private:
217
218 double mOpacity = 1.0;
219 QPainter::CompositionMode mBlendMode = QPainter::CompositionMode_SourceOver;
220 int mBrightness = 0;
221 int mContrast = 0;
222 double mSaturation = 1.0;
224 bool mColorizeOn = false;
225 QColor mColorizeColor;
226 int mColorizeStrength = 100;
227};
228
229#endif // QGSBLUREFFECT_H
230
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