QGIS API Documentation 3.41.0-Master (092dc69654e)
Loading...
Searching...
No Matches
qgstextblockformat.h
Go to the documentation of this file.
1/***************************************************************************
2 qgstextblockformat.h
3 -----------------
4 begin : September 2024
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 QGSTEXTBLOCKFORMAT_H
17#define QGSTEXTBLOCKFORMAT_H
18
19#include "qgis_sip.h"
20#include "qgis_core.h"
21#include "qgis.h"
22
23#include <QFont>
24#include <QColor>
25
26class QTextBlockFormat;
28
41class CORE_EXPORT QgsTextBlockFormat
42{
43 public:
44
45 QgsTextBlockFormat() = default;
46
50 QgsTextBlockFormat( const QTextBlockFormat &format );
51
53 enum class BooleanValue
54 {
55 NotSet,
56 SetTrue,
57 SetFalse,
58 };
59
71 void overrideWith( const QgsTextBlockFormat &other );
72
81 bool hasHorizontalAlignmentSet() const { return mHasHorizontalAlignSet; }
82
91 void setHasHorizontalAlignmentSet( bool set ) { mHasHorizontalAlignSet = set; }
92
101 Qgis::TextHorizontalAlignment horizontalAlignment() const { return mHorizontalAlign; }
102
111 void setHorizontalAlignment( Qgis::TextHorizontalAlignment alignment ) { mHorizontalAlign = alignment; }
112
124 double lineHeight() const;
125
139 void setLineHeight( double height );
140
151 double lineHeightPercentage() const;
152
165 void setLineHeightPercentage( double height );
166
176 void updateFontForFormat( QFont &font, const QgsRenderContext &context, double scaleFactor = 1.0 ) const;
177
178 private:
179
180 double mLineHeight = std::numeric_limits< double >::quiet_NaN();
181 double mLineHeightPercentage = std::numeric_limits< double >::quiet_NaN();
182
183 bool mHasHorizontalAlignSet = false;
185
186};
187
188#endif // QGSTEXTBLOCKFORMAT_H
TextHorizontalAlignment
Text horizontal alignment.
Definition qgis.h:2732
Contains information about the context of a rendering operation.
Stores information relating to individual block formatting.
Qgis::TextHorizontalAlignment horizontalAlignment() const
Returns the format horizontal alignment.
void setHasHorizontalAlignmentSet(bool set)
Sets whether the format has an explicit horizontal alignment set.
void setHorizontalAlignment(Qgis::TextHorizontalAlignment alignment)
Sets the format horizontal alignment.
bool hasHorizontalAlignmentSet() const
Returns true if the format has an explicit horizontal alignment set.
BooleanValue
Status values for boolean format properties.
QgsTextBlockFormat()=default