499 Commits

Author SHA1 Message Date
Nyall Dawson
99b8a36e9f Cleanups and fixes 2025-05-31 03:50:30 +10:00
Olivier Dalang
97583c82a4 feat: sld supports rastersymbollayers 2025-05-31 03:50:30 +10:00
Nyall Dawson
169657a0fb Sipify 2025-05-04 17:55:25 +10:00
Nyall Dawson
f1b8682e36 Improve API for exporting to SLD
Deprecate old methods and make methods always take QgsSldExportContext.
Add capacity to QgsSldExportContext to collect export errors and
warnings.

The old API had no way to reliably report errors/warnings during
export to users.
2025-05-04 17:55:25 +10:00
Nyall Dawson
35f5280342 Sipify 2025-05-04 07:42:31 +10:00
Nyall Dawson
4a6fef278e Cleanup docs, don't mention QString in python docs 2025-04-19 18:17:34 +10:00
Nyall Dawson
bdb5904283 Fix more malformed docstrings, enforce correct format in sipify 2025-04-09 14:04:24 +10:00
Nyall Dawson
fc76784e09 Misc documentation fixes causing errors in PyQGIS doc builder 2025-04-09 14:04:24 +10:00
Mathieu Pellerin
6771869a30
[symbology] Fix [categorized,graduated] symbol renderer UUID collision leading to unstable experience (#61292) 2025-04-07 15:20:53 +07:00
Nyall Dawson
3f6b490218 Sipify 2025-04-02 11:11:10 +10:00
Nyall Dawson
4a10066b69 Fix grammar errors in class docstrings 2025-04-01 09:44:00 +10:00
Nyall Dawson
afd2e4f42d Fix doxygen class briefs which aren't full sentences 2025-04-01 09:44:00 +10:00
Nyall Dawson
6d122f0038 Sipify 2025-03-30 20:48:07 +10:00
Nyall Dawson
ac71664a83 Fix multiparagraphs in initial class docstrings 2025-03-30 20:48:07 +10:00
Nyall Dawson
29050007d7 Fix class documentation which starts with "this is..."/"a class..." etc 2025-03-30 20:48:07 +10:00
Nyall Dawson
602ef6c691 Don't start class briefs with "This class contains settings..."
It's unncessarily verbose, use just "Contains settings..." instead.
2025-03-30 20:48:07 +10:00
Nyall Dawson
b81e0d83f6 Fix non-compliant class brief documentation 2025-03-30 20:48:07 +10:00
Nyall Dawson
f480c2a04e Add all missing class brief descriptions 2025-03-28 14:23:56 +10:00
Nyall Dawson
1f8a585c5c Make signal const 2025-03-28 10:02:25 +10:00
Nyall Dawson
aa65f01140 Make more symbol factory methods memory safe 2025-03-28 10:02:25 +10:00
Nyall Dawson
596ddb2f4e More memory safety for loading symbols 2025-03-28 10:02:25 +10:00
Nyall Dawson
13aae162f0 Promote marker symbol alignment enums to enum class, move to Qgis 2025-03-05 19:02:47 +10:00
signedav
222f2c61b1 Introducing new VectorAnchorPoint Baseline to align font markers to their baseline. In GUI only exposed to font marker settings. Beautiful VerticalAnchorMode removed because it's an overhead. 2025-03-03 17:12:32 +10:00
signedav
6b5396bd53 introduce VerticalAnchorMode in FontSymbols to have a proper 'hidden' setting for this mode making a differene between legacy and baseline (and future bounds) on the positioning of the characters 2025-03-03 17:12:32 +10:00
signedav
f80df88534 with the parameter fixverticalanchor, the position of the point is calculated with the same offset like the offset of the font. this differed before what leaded to issues. still the old way is available as legacy 2025-03-03 17:12:32 +10:00
Nyall Dawson
632d196e62 Don't show useless "available in python as" notes in PyQGIS docs
Since the method name used in the docs is ALREADY the python version!
2025-02-28 18:32:09 +10:00
Nyall Dawson
46b0436bbc Also fix render order for arrow line 2025-02-14 14:37:04 +10:00
Nyall Dawson
ed0bd43ee0 Also fix render order for filled line 2025-02-14 14:37:04 +10:00
Nyall Dawson
849063d4e5 Fix render order of symbol layers for filled marker subsymbol
If a filled marker had eg a centroid fill marker in the subsymbol,
this would always be rendered on top, regardless of the actual
defined order
2025-02-14 14:37:04 +10:00
Nyall Dawson
8f4893d8b2 Move some useful utility methods to QgsSymbolLayerUtils 2025-02-13 14:54:20 +10:00
Nyall Dawson
60360f9b97 Add method to directly convert QgsAbstractGeometry to QPolygonF lists
This overload avoids creating a QgsGeometry if we only have a
QgsAbstractGeometry pointer object to convert
2025-02-13 14:54:20 +10:00
Julien Cabieces
ed11cc6951 design(MaskSymbolLayer): add clearMasks only in mask symbol layer 2025-02-05 09:48:12 +10:00
Julien Cabieces
87ffd09aff fix(CategorizedRenderer): reset mask information on source symbol
Both symbol layer ids and masks need to be removed from symbol
layers which can be inherited from a converted renderer
2025-02-05 09:48:12 +10:00
Julien Cabieces
ed64834106 api(deprecated): add message to deprecated SIP annotation 2024-12-17 09:06:42 +01:00
JuhoErvasti
c130eb7c3d Add \since to new functions 2024-12-10 09:56:33 +10:00
JuhoErvasti
b373c8b3aa Address review 2024-12-10 09:56:33 +10:00
Juho Ervasti
6b6a4d5549 Add unit selection for extent buffer 2024-12-10 09:56:33 +10:00
Juho Ervasti
bb737f3cac Disallow negative buffer 2024-12-10 09:56:33 +10:00
Juho Ervasti
13ee0bf5cf Apply suggestions from review 2024-12-10 09:56:33 +10:00
Juho Ervasti
e7a27d05c7 Fix style 2024-12-10 09:56:33 +10:00
JuhoErvasti
5c49205bd2 Add maximumExtentBuffer() function to QgsFeatureRenderer 2024-12-10 09:56:33 +10:00
JuhoErvasti
ccc7df5966 Add extent buffer property to QgsSymbol 2024-12-10 09:56:33 +10:00
Denis Rouzaud
76f702e48a sipify 2024-12-05 13:19:50 +01:00
Nyall Dawson
37478db0c1 Fix more function links 2024-12-03 12:57:44 +10:00
Nyall Dawson
2abc9d92ca [sld] Don't try to write rules/categorizes without symbolizers
Only create rules/categorized categories/graduated ranges if the
associated symbol could be converted to SLD, and is not an "empty"
symbol.

Otherwise we do not generate a rule, as SLD spec requires a
Symbolizer element to be present.
2024-11-19 21:06:26 +10:00
Nyall Dawson
f446bda82a [optimisation] Greatly speed up clone of QgsSvgMarkerSymbolLayer
The old method was very inefficient, as it required a re-load and
re-parse of the associated SVG file content with every clone, only
for many of the parsed properties to be immediately overwritten.

Optimise by just directly copying members, avoiding all unnecessary
work.

This is frequently seen as a hotspot when profiling map renders,
as that involves cloning all symbol layers upfront.

Speeds up a benchtest cloning 100k markers from 4.3 seconds to
150ms.
2024-11-19 12:40:44 +10:00
Nyall Dawson
f2f05abca1 Cleanup docs, use \param instead of @param 2024-10-16 13:01:39 +10:00
Nyall Dawson
bc28bfd333 Fix/suppress more duplInheritedMember warnings 2024-10-15 15:00:05 +10:00
Nyall Dawson
6b344cd1fc Remove broken swap methods, replace with standard assignment op
which correctly sets all members
2024-10-15 15:00:05 +10:00
Nyall Dawson
de73f3c975 Add docs 2024-10-15 15:00:05 +10:00