QGIS API Documentation 3.39.0-Master (47f7b3a4989)
Loading...
Searching...
No Matches
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
474 double tabStopDistance() const;
475
484 void setTabStopDistance( double distance );
485
494 Qgis::RenderUnit tabStopDistanceUnit() const;
495
504 void setTabStopDistanceUnit( Qgis::RenderUnit unit );
505
515 QgsMapUnitScale tabStopDistanceMapUnitScale() const;
516
526 void setTabStopDistanceMapUnitScale( const QgsMapUnitScale &scale );
527
533 Qgis::TextOrientation orientation() const;
534
540 void setOrientation( Qgis::TextOrientation orientation );
541
548 Qgis::Capitalization capitalization() const;
549
556 void setCapitalization( Qgis::Capitalization capitalization );
557
572 bool allowHtmlFormatting() const;
573
588 void setAllowHtmlFormatting( bool allow );
589
595 QColor previewBackgroundColor() const;
596
602 void setPreviewBackgroundColor( const QColor &color );
603
608 void readFromLayer( QgsVectorLayer *layer );
609
614 void readXml( const QDomElement &elem, const QgsReadWriteContext &context );
615
620 QDomElement writeXml( QDomDocument &doc, const QgsReadWriteContext &context ) const;
621
627 QMimeData *toMimeData() const SIP_FACTORY;
628
636 static QgsTextFormat fromQFont( const QFont &font );
637
645 QFont toQFont() const;
646
652 static QgsTextFormat fromMimeData( const QMimeData *data, bool *ok SIP_OUT = nullptr );
653
658 bool containsAdvancedEffects() const;
659
665 bool fontFound() const { return mTextFontFound; }
666
673 QString resolvedFontFamily() const { return mTextFontFamily; }
674
680 QgsPropertyCollection &dataDefinedProperties();
681
688 const QgsPropertyCollection &dataDefinedProperties() const SIP_SKIP;
689
694 QSet<QString> referencedFields( const QgsRenderContext &context ) const;
695
702 void setDataDefinedProperties( const QgsPropertyCollection &collection );
703
708 void updateDataDefinedProperties( QgsRenderContext &context );
709
719 static QPixmap textFormatPreviewPixmap( const QgsTextFormat &format, QSize size, const QString &previewText = QString(), int padding = 0, const QgsScreenProperties &screen = QgsScreenProperties() );
720
730 QString asCSS( double pointToPixelMultiplier = 1.0 ) const;
731
732 private:
733
734 QgsTextBufferSettings mBufferSettings;
735 QgsTextBackgroundSettings mBackgroundSettings;
736 QgsTextShadowSettings mShadowSettings;
737 QgsTextMaskSettings mMaskSettings;
738
739 QString mTextFontFamily;
740 bool mTextFontFound = true;
741
742 QSharedDataPointer<QgsTextSettingsPrivate> d;
743
744};
745
747
748#endif // QGSTEXTFORMAT_H
Capitalization
String capitalization options.
Definition qgis.h:2889
TextOrientation
Text orientations.
Definition qgis.h:2468
RenderUnit
Rendering size units.
Definition qgis.h:4494
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.
QgsTextBufferSettings buffer() const
Returns a reference to the text buffer settings.
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)