Allows creating of callout lines (or bubble callouts) which
link the text to a map location. To create a callout, users
select the text item and then drag out the central x node
to the desired callout end point.
Callout styles can be modified through the layer styling panel.
Adds a new "Linked layer" setting to the render page for annotation
layers, which allows users to optionally set a linked visibility
layer for the annotation layer. If set, then the annotations will
only be drawn when the linked layer is visible in the map.
This is designed to mimic the similar linked layer option for
the older annotation framework, in order to close the feature
gap between old vs new annotations
Refs https://github.com/qgis/QGIS-Enhancement-Proposals/issues/269
This adds a new annotation item type for rendering paragraphs
of text inside a rectangle
Options are present for:
- Text format
- Horizontal and vertical alignment
- Margins
- Background and frame symbol
Makes the API more flexible for future use. We only expose a single
tolerance value in the UI, but in future we could expose the
separate tolerances if desired (but be wary of UI bloat!!)
Allows pixels with color components just outside of the specified
RGB values to also be treated as transparent pixels
Useful for photographs or compressed rasters where a range of color
values must be made transparent
Can render SVG or raster images as items in an annotation layer.
Options are present for:
- Locking the picture's aspect ratio
- Drawing with a background symbol
- Drawing with a border symbol
- Linked or embedded pictures
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
Sets the coordinate transform which will be used to transform
the feature's geometries.
If this transform is valid then it will always be used to transform
features, regardless of the destinationCrs() setting or the underlying
feature source's actual CRS.
This method should be used with caution, and it is recommended
to use the high-level setDestinationCrs() method instead. Setting a specific
transform should only be done when there is a requirement to use a particular
transform, eg when a specific, non-default coordinate operation
MUST be used for the transformation.
Add a new Qgis::ProcessingAlgorithmDocumentationFlag flag, with
a virtual method in QgsProcessingAlgorithm to return documentation
flags. These flags are used to indicate algorithm behavior which
should be noted in the documentation.
Add initial flags for algorithms which drop and regenerate
primary keys/FIDs, and automatically add a note to the algorithm's
help panel to explain that this will occur
In future this flag could be extended with other helpful warnings,
eg
- Algorithm requires valid geometries
- Algorithm will segmentize curved geometries
- Algorithm will drop Z or M values