QGIS API Documentation 3.37.0-Master (fdefdf9c27f)
qgstextformat.h
Go to the documentation of this file.
1/***************************************************************************
2 qgstextformat.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 QGSTEXTFORMAT_H
17#define QGSTEXTFORMAT_H
18
19#include "qgis_sip.h"
20#include "qgis_core.h"
21#include "qgis.h"
25#include "qgstextmasksettings.h"
26#include "qgsstringutils.h"
27#include "qgsscreenproperties.h"
28
29#include <QSharedDataPointer>
30
31class QMimeData;
32class QgsTextSettingsPrivate;
33
40class CORE_EXPORT QgsTextFormat
41{
42 public:
43
49
54 QgsTextFormat( const QgsTextFormat &other );
55
56 QgsTextFormat &operator=( const QgsTextFormat &other );
57
59
60 bool operator==( const QgsTextFormat &other ) const;
61 bool operator!=( const QgsTextFormat &other ) const;
62
75 bool isValid() const;
76
83 void setValid();
84
89 QgsTextBufferSettings &buffer();
90
95 SIP_SKIP QgsTextBufferSettings buffer() const { return mBufferSettings; }
96
102 void setBuffer( const QgsTextBufferSettings &bufferSettings );
103
108 QgsTextBackgroundSettings &background();
109
114 SIP_SKIP QgsTextBackgroundSettings background() const { return mBackgroundSettings; }
115
121 void setBackground( const QgsTextBackgroundSettings &backgroundSettings );
122
127 QgsTextShadowSettings &shadow();
128
133 SIP_SKIP QgsTextShadowSettings shadow() const { return mShadowSettings; }
134
140 void setShadow( const QgsTextShadowSettings &shadowSettings );
141
146 QgsTextMaskSettings &mask();
147
154 SIP_SKIP QgsTextMaskSettings mask() const { return mMaskSettings; }
155
163 void setMask( const QgsTextMaskSettings &maskSettings );
164
174 QFont font() const;
175
189 QFont scaledFont( const QgsRenderContext &context, double scaleFactor = 1.0, bool *isZeroSize SIP_PYARGREMOVE = nullptr ) const;
190
200 void setFont( const QFont &font );
201
207 QString namedStyle() const;
208
215 void setNamedStyle( const QString &style );
216
228 bool forcedBold() const;
229
241 void setForcedBold( bool forced );
242
254 bool forcedItalic() const;
255
267 void setForcedItalic( bool forced );
268
278 QStringList families() const;
279
293 void setFamilies( const QStringList &families );
294
300 double size() const;
301
308 void setSize( double size );
309
316 Qgis::RenderUnit sizeUnit() const;
317
325 void setSizeUnit( Qgis::RenderUnit unit );
326
333 QgsMapUnitScale sizeMapUnitScale() const;
334
341 void setSizeMapUnitScale( const QgsMapUnitScale &scale );
342
347 QColor color() const;
348
354 void setColor( const QColor &color );
355
361 double opacity() const;
362
371 void multiplyOpacity( double opacityFactor );
372
379 void setOpacity( double opacity );
380
393 int stretchFactor() const;
394
407 void setStretchFactor( int factor );
408
413 QPainter::CompositionMode blendMode() const;
414
420 void setBlendMode( QPainter::CompositionMode mode );
421
432 double lineHeight() const;
433
444 void setLineHeight( double height );
445
454 Qgis::RenderUnit lineHeightUnit() const;
455
464 void setLineHeightUnit( Qgis::RenderUnit unit );
465
471 Qgis::TextOrientation orientation() const;
472
478 void setOrientation( Qgis::TextOrientation orientation );
479
486 Qgis::Capitalization capitalization() const;
487
494 void setCapitalization( Qgis::Capitalization capitalization );
495
510 bool allowHtmlFormatting() const;
511
526 void setAllowHtmlFormatting( bool allow );
527
533 QColor previewBackgroundColor() const;
534
540 void setPreviewBackgroundColor( const QColor &color );
541
546 void readFromLayer( QgsVectorLayer *layer );
547
552 void readXml( const QDomElement &elem, const QgsReadWriteContext &context );
553
558 QDomElement writeXml( QDomDocument &doc, const QgsReadWriteContext &context ) const;
559
565 QMimeData *toMimeData() const SIP_FACTORY;
566
574 static QgsTextFormat fromQFont( const QFont &font );
575
583 QFont toQFont() const;
584
590 static QgsTextFormat fromMimeData( const QMimeData *data, bool *ok SIP_OUT = nullptr );
591
596 bool containsAdvancedEffects() const;
597
603 bool fontFound() const { return mTextFontFound; }
604
611 QString resolvedFontFamily() const { return mTextFontFamily; }
612
618 QgsPropertyCollection &dataDefinedProperties();
619
626 const QgsPropertyCollection &dataDefinedProperties() const SIP_SKIP;
627
632 QSet<QString> referencedFields( const QgsRenderContext &context ) const;
633
640 void setDataDefinedProperties( const QgsPropertyCollection &collection );
641
646 void updateDataDefinedProperties( QgsRenderContext &context );
647
657 static QPixmap textFormatPreviewPixmap( const QgsTextFormat &format, QSize size, const QString &previewText = QString(), int padding = 0, const QgsScreenProperties &screen = QgsScreenProperties() );
658
668 QString asCSS( double pointToPixelMultiplier = 1.0 ) const;
669
670 private:
671
672 QgsTextBufferSettings mBufferSettings;
673 QgsTextBackgroundSettings mBackgroundSettings;
674 QgsTextShadowSettings mShadowSettings;
675 QgsTextMaskSettings mMaskSettings;
676
677 QString mTextFontFamily;
678 bool mTextFontFound = true;
679
680 QSharedDataPointer<QgsTextSettingsPrivate> d;
681
682};
683
685
686#endif // QGSTEXTFORMAT_H
Capitalization
String capitalization options.
Definition: qgis.h:2747
TextOrientation
Text orientations.
Definition: qgis.h:2368
RenderUnit
Rendering size units.
Definition: qgis.h:4255
Struct for storing maximum and minimum scales for measurements in map units.
A grouped map of multiple QgsProperty objects, each referenced by a integer key value.
The class is used as a container of context for various read/write operations on other objects.
Contains information about the context of a rendering operation.
Stores properties relating to a screen.
Container for settings relating to a text background object.
Container for settings relating to a text buffer.
Container for all settings relating to text rendering.
Definition: qgstextformat.h:41
QgsTextBufferSettings buffer() const
Returns a reference to the text buffer settings.
Definition: qgstextformat.h:95
QString resolvedFontFamily() const
Returns the family for the resolved font, ie if the specified font was not found on the system this w...
QgsTextMaskSettings mask() const
Returns a reference to the masking settings.
QgsTextBackgroundSettings background() const
Returns a reference to the text background settings.
QgsTextShadowSettings shadow() const
Returns a reference to the text drop shadow settings.
Container for settings relating to a selective masking around a text.
Container for settings relating to a text shadow.
Represents a vector layer which manages a vector based data sets.
#define SIP_SKIP
Definition: qgis_sip.h:126
#define SIP_PYARGREMOVE
Definition: qgis_sip.h:151
#define SIP_OUT
Definition: qgis_sip.h:58
#define SIP_FACTORY
Definition: qgis_sip.h:76
Q_DECLARE_METATYPE(QgsDatabaseQueryLogEntry)
bool operator==(const QgsFeatureIterator &fi1, const QgsFeatureIterator &fi2)
bool operator!=(const QgsFeatureIterator &fi1, const QgsFeatureIterator &fi2)