QGIS API Documentation 3.41.0-Master (64d82d4c163)
|
Contains pre-calculated metrics of a QgsTextDocument. More...
#include <qgstextdocumentmetrics.h>
Public Member Functions | |
double | ascentOffset () const |
Returns the ascent offset of the first block in the document. | |
double | baselineOffset (int blockIndex, Qgis::TextLayoutMode mode) const |
Returns the offset from the top of the document to the text baseline for the given block index. | |
double | blockHeight (int blockIndex) const |
Returns the height of the block at the specified index. | |
double | blockLeftMargin (int blockIndex) const |
Returns the margin for the left side of the specified block index. | |
double | blockMaximumAscent (int blockIndex) const |
Returns the maximum ascent encountered in the specified block. | |
double | blockMaximumCharacterWidth (int blockIndex) const |
Returns the maximum character width for the specified block. | |
double | blockMaximumDescent (int blockIndex) const |
Returns the maximum descent encountered in the specified block. | |
double | blockRightMargin (int blockIndex) const |
Returns the margin for the right side of the specified block index. | |
double | blockVerticalMargin (int blockIndex) const |
Returns the vertical margin for the specified block index. | |
double | blockWidth (int blockIndex) const |
Returns the width of the block at the specified index. | |
const QgsTextDocument & | document () const |
Returns the document associated with the calculated metrics. | |
QSizeF | documentSize (Qgis::TextLayoutMode mode, Qgis::TextOrientation orientation) const |
Returns the overall size of the document. | |
double | firstLineCapHeight () const |
Returns the cap height for the first line of text. | |
double | fragmentAscent (int blockIndex, int fragmentIndex, Qgis::TextLayoutMode mode) const |
Returns the ascent of the fragment at the specified block and fragment index. | |
double | fragmentDescent (int blockIndex, int fragmentIndex, Qgis::TextLayoutMode mode) const |
Returns the descent of the fragment at the specified block and fragment index. | |
double | fragmentFixedHeight (int blockIndex, int fragmentIndex, Qgis::TextLayoutMode mode) const |
Returns the fixed height of the fragment at the specified block and fragment index, or -1 if the fragment does not have a fixed height. | |
QFont | fragmentFont (int blockIndex, int fragmentIndex) const |
Returns the calculated font for the fragment at the specified block and fragment indices. | |
double | fragmentHorizontalAdvance (int blockIndex, int fragmentIndex, Qgis::TextLayoutMode mode) const |
Returns the horizontal advance of the fragment at the specified block and fragment index. | |
double | fragmentVerticalOffset (int blockIndex, int fragmentIndex, Qgis::TextLayoutMode mode) const |
Returns the vertical offset from a text block's baseline which should be applied to the fragment at the specified index within that block. | |
bool | isNullFontSize () const |
Returns true if the metrics could not be calculated because the text format has a null font size. | |
QRectF | outerBounds (Qgis::TextLayoutMode mode, Qgis::TextOrientation orientation) const |
Returns the outer bounds of the document, which is the documentSize() adjusted to account for any text elements which fall outside of the usual document margins (such as super or sub script elements) | |
double | verticalOrientationXOffset (int blockIndex) const |
Returns the vertical orientation x offset for the specified block. | |
Static Public Member Functions | |
static QgsTextDocumentMetrics | calculateMetrics (const QgsTextDocument &document, const QgsTextFormat &format, const QgsRenderContext &context, double scaleFactor=1.0, const QgsTextDocumentRenderContext &documentContext=QgsTextDocumentRenderContext()) |
Returns precalculated text metrics for a text document, when rendered using the given base format and render context. | |
Contains pre-calculated metrics of a QgsTextDocument.
Definition at line 96 of file qgstextdocumentmetrics.h.
|
inline |
Returns the ascent offset of the first block in the document.
Definition at line 243 of file qgstextdocumentmetrics.h.
double QgsTextDocumentMetrics::baselineOffset | ( | int | blockIndex, |
Qgis::TextLayoutMode | mode | ||
) | const |
Returns the offset from the top of the document to the text baseline for the given block index.
Definition at line 808 of file qgstextdocumentmetrics.cpp.
double QgsTextDocumentMetrics::blockHeight | ( | int | blockIndex | ) | const |
Returns the height of the block at the specified index.
Definition at line 798 of file qgstextdocumentmetrics.cpp.
double QgsTextDocumentMetrics::blockLeftMargin | ( | int | blockIndex | ) | const |
Returns the margin for the left side of the specified block index.
Definition at line 902 of file qgstextdocumentmetrics.cpp.
double QgsTextDocumentMetrics::blockMaximumAscent | ( | int | blockIndex | ) | const |
Returns the maximum ascent encountered in the specified block.
Definition at line 884 of file qgstextdocumentmetrics.cpp.
double QgsTextDocumentMetrics::blockMaximumCharacterWidth | ( | int | blockIndex | ) | const |
Returns the maximum character width for the specified block.
Definition at line 874 of file qgstextdocumentmetrics.cpp.
double QgsTextDocumentMetrics::blockMaximumDescent | ( | int | blockIndex | ) | const |
Returns the maximum descent encountered in the specified block.
Definition at line 879 of file qgstextdocumentmetrics.cpp.
double QgsTextDocumentMetrics::blockRightMargin | ( | int | blockIndex | ) | const |
Returns the margin for the right side of the specified block index.
Definition at line 907 of file qgstextdocumentmetrics.cpp.
double QgsTextDocumentMetrics::blockVerticalMargin | ( | int | blockIndex | ) | const |
Returns the vertical margin for the specified block index.
If blockIndex >= 0 then the returned value will be the margin to place after the block. If blockIndex < 0 then the returned value will be the margin to place before the first block.
Definition at line 894 of file qgstextdocumentmetrics.cpp.
double QgsTextDocumentMetrics::blockWidth | ( | int | blockIndex | ) | const |
Returns the width of the block at the specified index.
Definition at line 793 of file qgstextdocumentmetrics.cpp.
|
static |
Returns precalculated text metrics for a text document, when rendered using the given base format and render context.
The optional scaleFactor parameter can specify a font size scaling factor. It is recommended to set this to QgsTextRenderer::calculateScaleFactorForFormat() and then manually calculations based on the resultant font metrics. Failure to do so will result in poor quality text rendering at small font sizes.
Since QGIS 3.40 the optional documentContext argument can be used to pass text renderer context to change the logistics of the calculated metrics.
Definition at line 596 of file qgstextdocumentmetrics.cpp.
|
inline |
Returns the document associated with the calculated metrics.
Note that this may not exactly match the original document which was used in the call to calculateMetrics(), as certain settings (such as text wrapping) require restructuring the document.
Definition at line 130 of file qgstextdocumentmetrics.h.
QSizeF QgsTextDocumentMetrics::documentSize | ( | Qgis::TextLayoutMode | mode, |
Qgis::TextOrientation | orientation | ||
) | const |
Returns the overall size of the document.
Definition at line 736 of file qgstextdocumentmetrics.cpp.
double QgsTextDocumentMetrics::firstLineCapHeight | ( | ) | const |
Returns the cap height for the first line of text.
Definition at line 803 of file qgstextdocumentmetrics.cpp.
double QgsTextDocumentMetrics::fragmentAscent | ( | int | blockIndex, |
int | fragmentIndex, | ||
Qgis::TextLayoutMode | mode | ||
) | const |
Returns the ascent of the fragment at the specified block and fragment index.
Definition at line 859 of file qgstextdocumentmetrics.cpp.
double QgsTextDocumentMetrics::fragmentDescent | ( | int | blockIndex, |
int | fragmentIndex, | ||
Qgis::TextLayoutMode | mode | ||
) | const |
Returns the descent of the fragment at the specified block and fragment index.
Definition at line 864 of file qgstextdocumentmetrics.cpp.
double QgsTextDocumentMetrics::fragmentFixedHeight | ( | int | blockIndex, |
int | fragmentIndex, | ||
Qgis::TextLayoutMode | mode | ||
) | const |
Returns the fixed height of the fragment at the specified block and fragment index, or -1 if the fragment does not have a fixed height.
Definition at line 854 of file qgstextdocumentmetrics.cpp.
QFont QgsTextDocumentMetrics::fragmentFont | ( | int | blockIndex, |
int | fragmentIndex | ||
) | const |
Returns the calculated font for the fragment at the specified block and fragment indices.
Definition at line 889 of file qgstextdocumentmetrics.cpp.
double QgsTextDocumentMetrics::fragmentHorizontalAdvance | ( | int | blockIndex, |
int | fragmentIndex, | ||
Qgis::TextLayoutMode | mode | ||
) | const |
Returns the horizontal advance of the fragment at the specified block and fragment index.
Definition at line 833 of file qgstextdocumentmetrics.cpp.
double QgsTextDocumentMetrics::fragmentVerticalOffset | ( | int | blockIndex, |
int | fragmentIndex, | ||
Qgis::TextLayoutMode | mode | ||
) | const |
Returns the vertical offset from a text block's baseline which should be applied to the fragment at the specified index within that block.
Definition at line 838 of file qgstextdocumentmetrics.cpp.
|
inline |
Returns true
if the metrics could not be calculated because the text format has a null font size.
Definition at line 120 of file qgstextdocumentmetrics.h.
QRectF QgsTextDocumentMetrics::outerBounds | ( | Qgis::TextLayoutMode | mode, |
Qgis::TextOrientation | orientation | ||
) | const |
Returns the outer bounds of the document, which is the documentSize() adjusted to account for any text elements which fall outside of the usual document margins (such as super or sub script elements)
Definition at line 767 of file qgstextdocumentmetrics.cpp.
double QgsTextDocumentMetrics::verticalOrientationXOffset | ( | int | blockIndex | ) | const |
Returns the vertical orientation x offset for the specified block.
Definition at line 869 of file qgstextdocumentmetrics.cpp.