Nyall Dawson 15a7079a39 [api] Implementation of labeling engine rules
See https://github.com/qgis/QGIS-Enhancement-Proposals/issues/299

Implements the API framework for setting advanced labeling engine
rules for a project, and implements 4 initial rule types:

- QgsLabelingEngineRuleMinimumDistanceLabelToFeature: prevents labels
  being placed too *close* to features from a different layer
- QgsLabelingEngineRuleMaximumDistanceLabelToFeature: prevents labels
  being placed too *far* from features from a different layer
- QgsLabelingEngineRuleMinimumDistanceLabelToLabel: prevents labels
  being placed too close to labels from a different layer
- QgsLabelingEngineRuleAvoidLabelOverlapWithFeature: prevents labels
  being placed overlapping features from a different layer

(note that the first 3 rules require a build based on GEOS >= 3.10,
they are not available for older GEOS builds)

Also implements a registry for storing available rule classes,
and serialization of rules and configuration in QGIS projects
2024-09-11 02:06:41 +10:00
..
2019-03-13 14:42:59 +01:00
2024-06-25 05:44:40 +10:00
2019-09-10 22:15:22 +02:00
2024-06-21 14:04:59 +02:00
2018-06-27 09:01:37 +02:00
2023-10-27 14:02:22 +02:00
2019-09-10 22:15:22 +02:00
2019-02-24 22:39:40 +01:00
2019-10-26 10:50:30 +10:00
2014-02-07 21:02:11 +01:00