QGIS/python/core/auto_generated/textrenderer/qgstextfragment.sip.in
Nyall Dawson ad29a505e1 Fix text wrapping stability for small text
Adjust the QgsTextRenderer::calculateScaleFactorForFormat logic
so that small text is scaled up to at least 50 pixels when
calculating text metrics

This avoids tiny differences in calculated text metrics for small
text from affecting how text wrapping is calculated, which can
otherwise result in words at the end of lines "bouncing" from line
to line as layouts and maps are zoomed out
2024-07-25 04:02:33 +10:00

112 lines
3.6 KiB
Plaintext

/************************************************************************
* This file has been generated automatically from *
* *
* src/core/textrenderer/qgstextfragment.h *
* *
* Do not edit manually ! Edit header and run scripts/sipify.pl again *
************************************************************************/
class QgsTextFragment
{
%Docstring(signature="appended")
Stores a fragment of text along with formatting overrides to be used when rendering the fragment.
.. warning::
This API is not considered stable and may change in future QGIS versions.
.. versionadded:: 3.14
%End
%TypeHeaderCode
#include "qgstextfragment.h"
%End
public:
explicit QgsTextFragment( const QString &text = QString(), const QgsTextCharacterFormat &format = QgsTextCharacterFormat() );
%Docstring
Constructor for QgsTextFragment, with the specified ``text`` and optional character ``format``.
%End
explicit QgsTextFragment( const QTextFragment &fragment );
%Docstring
Constructor for QgsTextFragment, based on the specified QTextFragment ``fragment``.
%End
QString text() const;
%Docstring
Returns the text content of the fragment.
.. seealso:: :py:func:`setText`
%End
void setText( const QString &text );
%Docstring
Sets the ``text`` content of the fragment.
.. seealso:: :py:func:`text`
%End
bool isTab() const;
%Docstring
Returns ``True`` if the fragment consists of just a tab character.
.. versionadded:: 3.38
%End
bool isWhitespace() const;
%Docstring
Returns ``True`` if the fragment consists of just whitespace characters, and does not
contain any content to render.
.. versionadded:: 3.38
%End
const QgsTextCharacterFormat &characterFormat() const;
%Docstring
Returns the character formatting for the fragment.
.. seealso:: :py:func:`setCharacterFormat`
%End
void setCharacterFormat( const QgsTextCharacterFormat &format );
%Docstring
Sets the character ``format`` for the fragment.
.. seealso:: :py:func:`characterFormat`
%End
double horizontalAdvance( const QFont &font, const QgsRenderContext &context, bool fontHasBeenUpdatedForFragment = false, double scaleFactor = 1.0 ) const;
%Docstring
Returns the horizontal advance associated with this fragment, when rendered using
the specified base ``font`` within the specified render ``context``.
Set ``fontHasBeenUpdatedForFragment`` to ``True`` if ``font`` already represents the character
format for this fragment.
The optional ``scaleFactor`` parameter can specify a font size scaling factor. It is recommended to set this to
:py:func:`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.
%End
void applyCapitalization( Qgis::Capitalization capitalization );
%Docstring
Applies a ``capitalization`` style to the fragment's text.
.. versionadded:: 3.16
%End
};
/************************************************************************
* This file has been generated automatically from *
* *
* src/core/textrenderer/qgstextfragment.h *
* *
* Do not edit manually ! Edit header and run scripts/sipify.pl again *
************************************************************************/