QGIS API Documentation
3.4.15-Madeira (e83d02e274)
|
Handles rendering text using rich formatting options, including drop shadows, buffers and background shapes. More...
#include <qgstextrenderer.h>
Public Types | |
enum | DrawMode { Rect = 0, Point, Label } |
Draw mode to calculate width and height. More... | |
enum | HAlignment { AlignLeft = 0, AlignCenter, AlignRight } |
Horizontal alignment. More... | |
enum | TextPart { Text = 0, Buffer, Background, Shadow } |
Components of text. More... | |
Static Public Member Functions | |
static void | drawPart (const QRectF &rect, double rotation, HAlignment alignment, const QStringList &textLines, QgsRenderContext &context, const QgsTextFormat &format, TextPart part, bool drawAsOutlines=true) |
Draws a single component of rendered text using the specified settings. More... | |
static void | drawPart (QPointF origin, double rotation, HAlignment alignment, const QStringList &textLines, QgsRenderContext &context, const QgsTextFormat &format, TextPart part, bool drawAsOutlines=true) |
Draws a single component of rendered text using the specified settings. More... | |
static void | drawText (const QRectF &rect, double rotation, HAlignment alignment, const QStringList &textLines, QgsRenderContext &context, const QgsTextFormat &format, bool drawAsOutlines=true) |
Draws text within a rectangle using the specified settings. More... | |
static void | drawText (QPointF point, double rotation, HAlignment alignment, const QStringList &textLines, QgsRenderContext &context, const QgsTextFormat &format, bool drawAsOutlines=true) |
Draws text at a point origin using the specified settings. More... | |
static QFontMetricsF | fontMetrics (QgsRenderContext &context, const QgsTextFormat &format) |
Returns the font metrics for the given text format, when rendered in the specified render context. More... | |
static int | sizeToPixel (double size, const QgsRenderContext &c, QgsUnitTypes::RenderUnit unit, const QgsMapUnitScale &mapUnitScale=QgsMapUnitScale()) |
Calculates pixel size (considering output size should be in pixel or map units, scale factors and optionally oversampling) More... | |
static double | textHeight (const QgsRenderContext &context, const QgsTextFormat &format, const QStringList &textLines, DrawMode mode, QFontMetricsF *fontMetrics=nullptr) |
Returns the height of a text based on a given format. More... | |
static double | textWidth (const QgsRenderContext &context, const QgsTextFormat &format, const QStringList &textLines, QFontMetricsF *fontMetrics=nullptr) |
Returns the width of a text based on a given format. More... | |
Friends | |
class | QgsLabelPreview |
class | QgsVectorLayerLabelProvider |
Handles rendering text using rich formatting options, including drop shadows, buffers and background shapes.
Definition at line 1296 of file qgstextrenderer.h.
Draw mode to calculate width and height.
Enumerator | |
---|---|
Rect |
Text within rectangle draw mode. |
Point |
Text at point of origin draw mode. |
Label |
Label-specific draw mode. |
Definition at line 1301 of file qgstextrenderer.h.
Horizontal alignment.
Enumerator | |
---|---|
AlignLeft |
Left align. |
AlignCenter |
Center align. |
AlignRight |
Right align. |
Definition at line 1318 of file qgstextrenderer.h.
Components of text.
Enumerator | |
---|---|
Text |
Text component. |
Buffer |
Buffer component. |
Background |
Background shape. |
Shadow |
Drop shadow. |
Definition at line 1309 of file qgstextrenderer.h.
|
static |
Draws a single component of rendered text using the specified settings.
rect | destination rectangle for text |
rotation | text rotation |
alignment | horizontal alignment |
textLines | list of lines of text to draw |
context | render context |
format | text format |
part | component of text to draw. Note that Shadow parts cannot be drawn individually and instead are drawn with their associated part (e.g., drawn together with the text or background parts) |
drawAsOutlines | set to false to render text as text. This allows outputs to formats like SVG to maintain text as text objects, but at the cost of degraded rendering and may result in side effects like misaligned text buffers. This setting is deprecated and has no effect as of QGIS 3.4.3 and the text format should be set using QgsRenderContext::setTextRenderFormat() instead. |
Definition at line 1766 of file qgstextrenderer.cpp.
|
static |
Draws a single component of rendered text using the specified settings.
origin | origin for start of text. Y coordinate will be used as baseline. |
rotation | text rotation |
alignment | horizontal alignment |
textLines | list of lines of text to draw |
context | render context |
format | text format |
part | component of text to draw. Note that Shadow parts cannot be drawn individually and instead are drawn with their associated part (e.g., drawn together with the text or background parts) |
drawAsOutlines | set to false to render text as text. This allows outputs to formats like SVG to maintain text as text objects, but at the cost of degraded rendering and may result in side effects like misaligned text buffers. This setting is deprecated and has no effect as of QGIS 3.4.3 and the text format should be set using QgsRenderContext::setTextRenderFormat() instead. |
Definition at line 1830 of file qgstextrenderer.cpp.
|
static |
Draws text within a rectangle using the specified settings.
rect | destination rectangle for text |
rotation | text rotation |
alignment | horizontal alignment |
textLines | list of lines of text to draw |
context | render context |
format | text format |
drawAsOutlines | set to false to render text as text. This allows outputs to formats like SVG to maintain text as text objects, but at the cost of degraded rendering and may result in side effects like misaligned text buffers. This setting is deprecated and has no effect as of QGIS 3.4.3 and the text format should be set using QgsRenderContext::setTextRenderFormat() instead. |
Definition at line 1711 of file qgstextrenderer.cpp.
|
static |
Draws text at a point origin using the specified settings.
point | origin of text |
rotation | text rotation |
alignment | horizontal alignment |
textLines | list of lines of text to draw |
context | render context |
format | text format |
drawAsOutlines | set to false to render text as text. This allows outputs to formats like SVG to maintain text as text objects, but at the cost of degraded rendering and may result in side effects like misaligned text buffers. This setting is deprecated and has no effect as of QGIS 3.4.3 and the text format should be set using QgsRenderContext::setTextRenderFormat() instead. |
Definition at line 1728 of file qgstextrenderer.cpp.
|
static |
Returns the font metrics for the given text format, when rendered in the specified render context.
The font metrics will take into account all scaling required by the render context.
Definition at line 1874 of file qgstextrenderer.cpp.
|
static |
Calculates pixel size (considering output size should be in pixel or map units, scale factors and optionally oversampling)
size | size to convert |
c | rendercontext |
unit | size units |
mapUnitScale | a mapUnitScale clamper |
Definition at line 1706 of file qgstextrenderer.cpp.
|
static |
Returns the height of a text based on a given format.
context | render context |
format | text format |
textLines | list of lines of text to calculate width from |
mode | draw mode |
fontMetrics | font metrics |
Definition at line 1970 of file qgstextrenderer.cpp.
|
static |
Returns the width of a text based on a given format.
context | render context |
format | text format |
textLines | list of lines of text to calculate width from |
fontMetrics | font metrics |
Definition at line 1952 of file qgstextrenderer.cpp.
|
friend |
Definition at line 1502 of file qgstextrenderer.h.
|
friend |
Definition at line 1501 of file qgstextrenderer.h.