28 Commits

Author SHA1 Message Date
Nyall Dawson
b7d18c009a Fix dox 2024-09-14 13:25:59 +10:00
Nyall Dawson
957de0c311 Expose private QgsTextRenderer method for drawing document at point
This allows more efficient rendering when the document and metrics
have already been calculated
2024-09-14 13:25:59 +10:00
Nyall Dawson
534ca73c59 Fix missing see also trailing notes in PyQGIS documentation 2024-09-04 06:32:03 +10:00
Nyall Dawson
ef0289f3ec Fix formatting of Python ..deprecated annotations in docstrings
Fixes https://github.com/qgis/pyqgis-api-docs-builder/issues/174
2024-09-02 11:42:12 +10:00
Nyall Dawson
3a578d6712 Header update 2024-08-13 20:28:55 +10:00
Nyall Dawson
be8dce7d0d Valid improvements from new sipify 2024-08-13 20:28:55 +10:00
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
Even Rouault
15ea5c46bc
Header files: remove all mentions of '\since QGIS 3.0' 2024-02-18 20:57:23 +01:00
Nyall Dawson
50c76929e1
Followup 30700f1, ensure links to Qgis members are set in docstrings 2023-03-31 10:46:24 +10:00
Nyall Dawson
107e206ccb Expand documentation 2023-03-27 20:58:08 +10:00
Nyall Dawson
95786c347d Add QgsTextRenderer method to render text along a line/curved path 2023-03-27 20:58:08 +10:00
Nyall Dawson
f9c3da1e06 Move unit enums to Qgis, promote to enum class 2023-02-19 13:29:06 +10:00
Nyall Dawson
cfbf5ef51d Add more efficient method to draw document when a QgsTextDocument is already available 2022-11-24 12:41:24 +10:00
Nyall Dawson
a10b971156 Add additional text renderer rect modes
Adds some text layout modes where the line heights are based
on cap heights or font ascent alone

These are required in order to port additional parts of QGIS
text rendering to the QgsTextRenderer class
2022-11-24 12:41:24 +10:00
Nyall Dawson
b4c9378625 Move text renderer enums to Qgis, promote to enum class, tighten includes 2022-09-06 15:30:00 +10:00
Nyall Dawson
ed9dfa9f5a Move TextOrientation enum from QgsTextFormat and promote to enum class 2022-09-05 17:17:18 +10:00
Nyall Dawson
fadfb477d9 [api] Move text wrapping handling logic from layout table code to QgsTextRenderer
Allows other users of QgsTextRenderer to take advantage of the
automatic line wrapping behaviour
2021-11-29 13:03:13 +10:00
Nyall Dawson
832d5e95ee Cleanup and refactor calculationg of label text metrics for curved
labels, and move methods for calculating curved text placement
out of PAL so that they can be reused elsewhere
2021-04-08 14:26:05 +10:00
Denis Rouzaud
ba8a445850 run sipify 2021-03-22 21:13:52 +01:00
Nyall Dawson
49a3c1047e code cleanup 2020-07-09 13:23:20 +10:00
Nyall Dawson
77dfaae688 Add QgsTextRenderer methods to convert Qt alignment flags 2020-07-09 13:23:20 +10:00
Nyall Dawson
573e46b671 Add a character based text height calculation method to QgsTextRenderer 2020-07-08 17:00:39 +10:00
Nyall Dawson
a49cb7c9f3 [api] Add vertical alignment control to QgsTextRenderer 2020-07-08 08:49:57 +10:00
Nyall Dawson
0dd1490fdc [api] Apply a font scale workaround factor to QgsTextRenderer
This is a hack which has been in place in layouts/composer for a long
time in order to provide more consistent and reliable text rendering
at small font sizes or when "zoomed out". Without this hack the font
rendering and metric based calculations for these small font sizes
can be unstable, leading to font sizes "jumping" around as a layout
is zoomed into or out of.
2020-07-08 08:49:57 +10:00
Nyall Dawson
81a9db9f57 [sipify] Fix creation of cross references 2020-06-15 13:43:58 +10:00
Nyall Dawson
7dfc510771 Fix scalebar text size calculation when HTML formatting is used 2020-05-12 11:37:08 +10:00
Nyall Dawson
0e139992e3 Split massive qgstextrenderer.cpp/.h files into separate files per
contained class

and tighten includes to speed up recompilation
2020-05-12 10:33:30 +10:00
Nyall Dawson
e4b201a414 Code shuffle 2020-05-12 10:33:30 +10:00