QGIS API Documentation  3.21.0-Master (5b68dc587e)
qgstextmasksettings.h
Go to the documentation of this file.
1 /***************************************************************************
2  qgstextmasksettings.h
3  -----------------
4  begin : May 2020
5  copyright : (C) Nyall Dawson
6  email : nyall dot dawson at gmail dot com
7  ***************************************************************************
8  * *
9  * This program is free software; you can redistribute it and/or modify *
10  * it under the terms of the GNU General Public License as published by *
11  * the Free Software Foundation; either version 2 of the License, or *
12  * (at your option) any later version. *
13  * *
14  ***************************************************************************/
15 
16 #ifndef QGSTEXTMASKSETTINGS_H
17 #define QGSTEXTMASKSETTINGS_H
18 
19 #include "qgis_sip.h"
20 #include "qgis_core.h"
21 #include "qgsunittypes.h"
22 #include "qgsmapunitscale.h"
23 
24 #include <QSharedDataPointer>
25 #include <QDomElement>
26 
27 class QgsTextMaskSettingsPrivate;
28 class QgsPaintEffect;
31 
41 class CORE_EXPORT QgsTextMaskSettings
42 {
43  public:
44 
48  enum MaskType
49  {
50  MaskBuffer = 0
51  };
52 
54 
60 
65  QgsTextMaskSettings &operator=( const QgsTextMaskSettings &other );
66 
68 
69  bool operator==( const QgsTextMaskSettings &other ) const;
70  bool operator!=( const QgsTextMaskSettings &other ) const;
71 
75  bool enabled() const;
76 
80  void setEnabled( bool );
81 
86  MaskType type() const;
87 
93  void setType( MaskType type );
94 
100  double size() const;
101 
108  void setSize( double size );
109 
115  QgsUnitTypes::RenderUnit sizeUnit() const;
116 
123  void setSizeUnit( QgsUnitTypes::RenderUnit unit );
124 
131  QgsMapUnitScale sizeMapUnitScale() const;
132 
140  void setSizeMapUnitScale( const QgsMapUnitScale &scale );
141 
146  Qt::PenJoinStyle joinStyle() const;
147 
153  void setJoinStyle( Qt::PenJoinStyle style );
154 
160  double opacity() const;
161 
168  void setOpacity( double opacity );
169 
175  QgsPaintEffect *paintEffect() const;
176 
182  void setPaintEffect( QgsPaintEffect *effect SIP_TRANSFER );
183 
188  void readXml( const QDomElement &elem );
189 
194  QDomElement writeXml( QDomDocument &doc ) const;
195 
201  QList<QgsSymbolLayerReference> maskedSymbolLayers() const;
202 
208  void setMaskedSymbolLayers( const QList<QgsSymbolLayerReference> &maskedLayers );
209 
213  void updateDataDefinedProperties( QgsRenderContext &context, const QgsPropertyCollection &properties );
214 
219  QSet<QString> referencedFields( const QgsRenderContext &context ) const;
220 
221  private:
222 
223  QSharedDataPointer<QgsTextMaskSettingsPrivate> d;
224 };
225 
226 #endif // QGSTEXTMASKSETTINGS_H
Struct for storing maximum and minimum scales for measurements in map units.
Base class for visual effects which can be applied to QPicture drawings.
A grouped map of multiple QgsProperty objects, each referenced by a integer key value.
Contains information about the context of a rendering operation.
Type used to refer to a specific symbol layer in a symbol of a layer.
Container for settings relating to a selective masking around a text.
MaskType
Mask shape types.
RenderUnit
Rendering size units.
Definition: qgsunittypes.h:168
#define SIP_TRANSFER
Definition: qgis_sip.h:36
bool operator==(const QgsFeatureIterator &fi1, const QgsFeatureIterator &fi2)
bool operator!=(const QgsFeatureIterator &fi1, const QgsFeatureIterator &fi2)